OLD | NEW |
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 Loading... |
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 Loading... |
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(¤t_print_settings_, 0, sizeof(current_print_settings_)); | 1466 memset(¤t_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 Loading... |
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 |
OLD | NEW |