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

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

Issue 7794007: Remove backwards compatibility for PPP_Printing_Dev 0.3 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove unneeded typedef Created 9 years, 3 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
« no previous file with comments | « ppapi/c/dev/ppp_printing_dev.h ('k') | webkit/plugins/ppapi/ppapi_plugin_instance.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #ifndef WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ 5 #ifndef WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_
6 #define WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ 6 #define WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 // (see has_webkit_focus_ below). 299 // (see has_webkit_focus_ below).
300 bool PluginHasFocus() const; 300 bool PluginHasFocus() const;
301 301
302 // Reports the current plugin geometry to the plugin by calling 302 // Reports the current plugin geometry to the plugin by calling
303 // DidChangeView. 303 // DidChangeView.
304 void ReportGeometry(); 304 void ReportGeometry();
305 305
306 // Queries the plugin for supported print formats and sets |format| to the 306 // Queries the plugin for supported print formats and sets |format| to the
307 // best format to use. Returns false if the plugin does not support any 307 // best format to use. Returns false if the plugin does not support any
308 // print format that we can handle (we can handle raster and PDF). 308 // print format that we can handle (we can handle raster and PDF).
309 bool GetPreferredPrintOutputFormat(PP_PrintOutputFormat_Dev_0_4* format); 309 bool GetPreferredPrintOutputFormat(PP_PrintOutputFormat_Dev* format);
310 bool PrintPDFOutput(PP_Resource print_output, WebKit::WebCanvas* canvas); 310 bool PrintPDFOutput(PP_Resource print_output, WebKit::WebCanvas* canvas);
311 bool PrintRasterOutput(PP_Resource print_output, WebKit::WebCanvas* canvas); 311 bool PrintRasterOutput(PP_Resource print_output, WebKit::WebCanvas* canvas);
312 #if defined(OS_WIN) 312 #if defined(OS_WIN)
313 bool DrawJPEGToPlatformDC(const SkBitmap& bitmap, 313 bool DrawJPEGToPlatformDC(const SkBitmap& bitmap,
314 const gfx::Rect& printable_area, 314 const gfx::Rect& printable_area,
315 WebKit::WebCanvas* canvas); 315 WebKit::WebCanvas* canvas);
316 #elif defined(OS_MACOSX) && !defined(USE_SKIA) 316 #elif defined(OS_MACOSX) && !defined(USE_SKIA)
317 // Draws the given kARGB_8888_Config bitmap to the specified canvas starting 317 // Draws the given kARGB_8888_Config bitmap to the specified canvas starting
318 // at the specified destination rect. 318 // at the specified destination rect.
319 void DrawSkBitmapToCanvas(const SkBitmap& bitmap, WebKit::WebCanvas* canvas, 319 void DrawSkBitmapToCanvas(const SkBitmap& bitmap, WebKit::WebCanvas* canvas,
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 const PPP_Selection_Dev* plugin_selection_interface_; 394 const PPP_Selection_Dev* plugin_selection_interface_;
395 const PPP_Zoom_Dev* plugin_zoom_interface_; 395 const PPP_Zoom_Dev* plugin_zoom_interface_;
396 396
397 // Flags indicating whether we have asked this plugin instance for the 397 // Flags indicating whether we have asked this plugin instance for the
398 // corresponding interfaces, so that we can ask only once. 398 // corresponding interfaces, so that we can ask only once.
399 bool checked_for_plugin_input_event_interface_; 399 bool checked_for_plugin_input_event_interface_;
400 bool checked_for_plugin_messaging_interface_; 400 bool checked_for_plugin_messaging_interface_;
401 401
402 // This is only valid between a successful PrintBegin call and a PrintEnd 402 // This is only valid between a successful PrintBegin call and a PrintEnd
403 // call. 403 // call.
404 PP_PrintSettings_Dev_0_4 current_print_settings_; 404 PP_PrintSettings_Dev current_print_settings_;
405 #if defined(OS_MACOSX) 405 #if defined(OS_MACOSX)
406 // On the Mac, when we draw the bitmap to the PDFContext, it seems necessary 406 // On the Mac, when we draw the bitmap to the PDFContext, it seems necessary
407 // to keep the pixels valid until CGContextEndPage is called. We use this 407 // to keep the pixels valid until CGContextEndPage is called. We use this
408 // variable to hold on to the pixels. 408 // variable to hold on to the pixels.
409 scoped_refptr<PPB_ImageData_Impl> last_printed_page_; 409 scoped_refptr<PPB_ImageData_Impl> last_printed_page_;
410 #endif // defined(OS_MACOSX) 410 #endif // defined(OS_MACOSX)
411 #if defined(OS_LINUX) || defined(OS_WIN) 411 #if defined(OS_LINUX) || defined(OS_WIN)
412 // When printing to PDF (print preview, Linux) the entire document goes into 412 // When printing to PDF (print preview, Linux) the entire document goes into
413 // one metafile. However, when users print only a subset of all the pages, 413 // one metafile. However, when users print only a subset of all the pages,
414 // it is impossible to know if a call to PrintPage() is the last call. 414 // it is impossible to know if a call to PrintPage() is the last call.
415 // Thus in PrintPage(), just store the page number in |ranges_|. 415 // Thus in PrintPage(), just store the page number in |ranges_|.
416 // The hack is in PrintEnd(), where a valid |canvas_| is preserved in 416 // The hack is in PrintEnd(), where a valid |canvas_| is preserved in
417 // PrintWebViewHelper::PrintPages. This makes it possible to generate the 417 // PrintWebViewHelper::PrintPages. This makes it possible to generate the
418 // entire PDF given the variables below: 418 // entire PDF given the variables below:
419 // 419 //
420 // The most recently used WebCanvas, guaranteed to be valid. 420 // The most recently used WebCanvas, guaranteed to be valid.
421 SkRefPtr<WebKit::WebCanvas> canvas_; 421 SkRefPtr<WebKit::WebCanvas> canvas_;
422 // An array of page ranges. 422 // An array of page ranges.
423 std::vector<PP_PrintPageNumberRange_Dev> ranges_; 423 std::vector<PP_PrintPageNumberRange_Dev> ranges_;
424 #endif // OS_LINUX || OS_WIN 424 #endif // OS_LINUX || OS_WIN
425 425
426 // The plugin print interface. This nested struct adds functions needed for 426 // The plugin print interface.
427 // backwards compatibility. 427 const PPP_Printing_Dev* plugin_print_interface_;
428 struct PPP_Printing_Dev_Combined : public PPP_Printing_Dev_0_4 {
429 // Conversion constructor for the most current interface. Sets all old
430 // functions to NULL, so we know not to try to use them.
431 PPP_Printing_Dev_Combined(const PPP_Printing_Dev_0_4& base_if)
432 : PPP_Printing_Dev_0_4(base_if),
433 QuerySupportedFormats_0_3(NULL),
434 Begin_0_3(NULL) {}
435
436 // Conversion constructor for version 0.3. Sets unsupported functions to
437 // NULL, so we know not to try to use them.
438 PPP_Printing_Dev_Combined(const PPP_Printing_Dev_0_3& old_if)
439 : PPP_Printing_Dev_0_4(), // NOTE: The parens are important, to zero-
440 // initialize the struct.
441 // Except older version of g++ doesn't!
442 // So do it explicitly in the ctor.
443 QuerySupportedFormats_0_3(old_if.QuerySupportedFormats),
444 Begin_0_3(old_if.Begin) {
445 QuerySupportedFormats = NULL;
446 Begin = NULL;
447 PrintPages = old_if.PrintPages;
448 End = old_if.End;
449 }
450
451 // The 0.3 version of 'QuerySupportedFormats'.
452 PP_PrintOutputFormat_Dev_0_3* (*QuerySupportedFormats_0_3)(
453 PP_Instance instance, uint32_t* format_count);
454 // The 0.3 version of 'Begin'.
455 int32_t (*Begin_0_3)(PP_Instance instance,
456 const PP_PrintSettings_Dev_0_3* print_settings);
457 };
458 scoped_ptr<PPP_Printing_Dev_Combined> plugin_print_interface_;
459 428
460 // The plugin 3D interface. 429 // The plugin 3D interface.
461 const PPP_Graphics3D_Dev* plugin_graphics_3d_interface_; 430 const PPP_Graphics3D_Dev* plugin_graphics_3d_interface_;
462 431
463 // Contains the cursor if it's set by the plugin. 432 // Contains the cursor if it's set by the plugin.
464 scoped_ptr<WebKit::WebCursorInfo> cursor_; 433 scoped_ptr<WebKit::WebCursorInfo> cursor_;
465 434
466 // Set to true if this plugin thinks it will always be on top. This allows us 435 // Set to true if this plugin thinks it will always be on top. This allows us
467 // to use a more optimized painting path in some cases. 436 // to use a more optimized painting path in some cases.
468 bool always_on_top_; 437 bool always_on_top_;
(...skipping 21 matching lines...) Expand all
490 uint32_t input_event_mask_; 459 uint32_t input_event_mask_;
491 uint32_t filtered_input_event_mask_; 460 uint32_t filtered_input_event_mask_;
492 461
493 DISALLOW_COPY_AND_ASSIGN(PluginInstance); 462 DISALLOW_COPY_AND_ASSIGN(PluginInstance);
494 }; 463 };
495 464
496 } // namespace ppapi 465 } // namespace ppapi
497 } // namespace webkit 466 } // namespace webkit
498 467
499 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ 468 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_
OLDNEW
« no previous file with comments | « ppapi/c/dev/ppp_printing_dev.h ('k') | webkit/plugins/ppapi/ppapi_plugin_instance.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698