Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: webkit/plugins/ppapi/ppapi_plugin_instance.cc

Issue 15004024: Only use skia::RefPtr for refcounting (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comment changes, SharePtr Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h" 5 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback_helpers.h" 8 #include "base/callback_helpers.h"
9 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 1381 matching lines...) Expand 10 before | Expand all | Expand 10 after
1392 print_settings.orientation = PP_PRINTORIENTATION_NORMAL; 1392 print_settings.orientation = PP_PRINTORIENTATION_NORMAL;
1393 print_settings.grayscale = PP_FALSE; 1393 print_settings.grayscale = PP_FALSE;
1394 print_settings.print_scaling_option = static_cast<PP_PrintScalingOption_Dev>( 1394 print_settings.print_scaling_option = static_cast<PP_PrintScalingOption_Dev>(
1395 print_params.printScalingOption); 1395 print_params.printScalingOption);
1396 print_settings.format = format; 1396 print_settings.format = format;
1397 num_pages = plugin_print_interface_->Begin(pp_instance(), 1397 num_pages = plugin_print_interface_->Begin(pp_instance(),
1398 &print_settings); 1398 &print_settings);
1399 if (!num_pages) 1399 if (!num_pages)
1400 return 0; 1400 return 0;
1401 current_print_settings_ = print_settings; 1401 current_print_settings_ = print_settings;
1402 canvas_ = NULL; 1402 canvas_.clear();
1403 ranges_.clear(); 1403 ranges_.clear();
1404 return num_pages; 1404 return num_pages;
1405 } 1405 }
1406 1406
1407 bool PluginInstance::PrintPage(int page_number, WebKit::WebCanvas* canvas) { 1407 bool PluginInstance::PrintPage(int page_number, WebKit::WebCanvas* canvas) {
1408 #if defined(ENABLE_PRINTING) 1408 #if defined(ENABLE_PRINTING)
1409 DCHECK(plugin_print_interface_); 1409 DCHECK(plugin_print_interface_);
1410 PP_PrintPageNumberRange_Dev page_range; 1410 PP_PrintPageNumberRange_Dev page_range;
1411 page_range.first_page_number = page_range.last_page_number = page_number; 1411 page_range.first_page_number = page_range.last_page_number = page_number;
1412 // The canvas only has a metafile on it for print preview. 1412 // The canvas only has a metafile on it for print preview.
1413 bool save_for_later = 1413 bool save_for_later =
1414 (printing::MetafileSkiaWrapper::GetMetafileFromCanvas(*canvas) != NULL); 1414 (printing::MetafileSkiaWrapper::GetMetafileFromCanvas(*canvas) != NULL);
1415 #if defined(OS_MACOSX) || defined(OS_WIN) 1415 #if defined(OS_MACOSX) || defined(OS_WIN)
1416 save_for_later = save_for_later && skia::IsPreviewMetafile(*canvas); 1416 save_for_later = save_for_later && skia::IsPreviewMetafile(*canvas);
1417 #endif 1417 #endif
1418 if (save_for_later) { 1418 if (save_for_later) {
1419 ranges_.push_back(page_range); 1419 ranges_.push_back(page_range);
1420 canvas_ = canvas; 1420 canvas_ = skia::SharePtr(canvas);
1421 return true; 1421 return true;
1422 } else { 1422 } else {
1423 return PrintPageHelper(&page_range, 1, canvas); 1423 return PrintPageHelper(&page_range, 1, canvas);
1424 } 1424 }
1425 #else // defined(ENABLED_PRINTING) 1425 #else // defined(ENABLED_PRINTING)
1426 return false; 1426 return false;
1427 #endif 1427 #endif
1428 } 1428 }
1429 1429
1430 bool PluginInstance::PrintPageHelper(PP_PrintPageNumberRange_Dev* page_ranges, 1430 bool PluginInstance::PrintPageHelper(PP_PrintPageNumberRange_Dev* page_ranges,
(...skipping 18 matching lines...) Expand all
1449 PluginModule::GetCore()->ReleaseResource(print_output); 1449 PluginModule::GetCore()->ReleaseResource(print_output);
1450 1450
1451 return ret; 1451 return ret;
1452 } 1452 }
1453 1453
1454 void PluginInstance::PrintEnd() { 1454 void PluginInstance::PrintEnd() {
1455 // Keep a reference on the stack. See NOTE above. 1455 // Keep a reference on the stack. See NOTE above.
1456 scoped_refptr<PluginInstance> ref(this); 1456 scoped_refptr<PluginInstance> ref(this);
1457 if (!ranges_.empty()) 1457 if (!ranges_.empty())
1458 PrintPageHelper(&(ranges_.front()), ranges_.size(), canvas_.get()); 1458 PrintPageHelper(&(ranges_.front()), ranges_.size(), canvas_.get());
1459 canvas_ = NULL; 1459 canvas_.clear();
1460 ranges_.clear(); 1460 ranges_.clear();
1461 1461
1462 DCHECK(plugin_print_interface_); 1462 DCHECK(plugin_print_interface_);
1463 if (plugin_print_interface_) 1463 if (plugin_print_interface_)
1464 plugin_print_interface_->End(pp_instance()); 1464 plugin_print_interface_->End(pp_instance());
1465 1465
1466 memset(&current_print_settings_, 0, sizeof(current_print_settings_)); 1466 memset(&current_print_settings_, 0, sizeof(current_print_settings_));
1467 #if defined(OS_MACOSX) 1467 #if defined(OS_MACOSX)
1468 last_printed_page_ = NULL; 1468 last_printed_page_ = NULL;
1469 #endif // defined(OS_MACOSX) 1469 #endif // defined(OS_MACOSX)
(...skipping 1138 matching lines...) Expand 10 before | Expand all | Expand 10 after
2608 screen_size_for_fullscreen_ = gfx::Size(); 2608 screen_size_for_fullscreen_ = gfx::Size();
2609 WebElement element = container_->element(); 2609 WebElement element = container_->element();
2610 element.setAttribute(WebString::fromUTF8(kWidth), width_before_fullscreen_); 2610 element.setAttribute(WebString::fromUTF8(kWidth), width_before_fullscreen_);
2611 element.setAttribute(WebString::fromUTF8(kHeight), height_before_fullscreen_); 2611 element.setAttribute(WebString::fromUTF8(kHeight), height_before_fullscreen_);
2612 element.setAttribute(WebString::fromUTF8(kBorder), border_before_fullscreen_); 2612 element.setAttribute(WebString::fromUTF8(kBorder), border_before_fullscreen_);
2613 element.setAttribute(WebString::fromUTF8(kStyle), style_before_fullscreen_); 2613 element.setAttribute(WebString::fromUTF8(kStyle), style_before_fullscreen_);
2614 } 2614 }
2615 2615
2616 } // namespace ppapi 2616 } // namespace ppapi
2617 } // namespace webkit 2617 } // namespace webkit
OLDNEW
« no previous file with comments | « webkit/plugins/ppapi/ppapi_plugin_instance.h ('k') | webkit/renderer/compositor_bindings/web_layer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698