| 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 #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 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 66 | 66 |
| 67 namespace WebKit { | 67 namespace WebKit { |
| 68 class WebInputEvent; | 68 class WebInputEvent; |
| 69 class WebMouseEvent; | 69 class WebMouseEvent; |
| 70 class WebPluginContainer; | 70 class WebPluginContainer; |
| 71 struct WebCompositionUnderline; | 71 struct WebCompositionUnderline; |
| 72 struct WebCursorInfo; | 72 struct WebCursorInfo; |
| 73 struct WebPrintParams; | 73 struct WebPrintParams; |
| 74 } | 74 } |
| 75 | 75 |
| 76 namespace content { |
| 77 class PepperGraphics2DHost; |
| 78 } |
| 79 |
| 76 namespace media { | 80 namespace media { |
| 77 class AudioDecoderConfig; | 81 class AudioDecoderConfig; |
| 78 class DecoderBuffer; | 82 class DecoderBuffer; |
| 79 class DecryptorClient; | 83 class DecryptorClient; |
| 80 class VideoDecoderConfig; | 84 class VideoDecoderConfig; |
| 81 } | 85 } |
| 82 | 86 |
| 83 namespace ppapi { | 87 namespace ppapi { |
| 84 struct InputEventData; | 88 struct InputEventData; |
| 85 struct PPP_Instance_Combined; | 89 struct PPP_Instance_Combined; |
| 86 class Resource; | 90 class Resource; |
| 87 struct URLRequestInfoData; | 91 struct URLRequestInfoData; |
| 88 } | 92 } |
| 89 | 93 |
| 90 namespace ui { | 94 namespace ui { |
| 91 class Range; | 95 class Range; |
| 92 } | 96 } |
| 93 | 97 |
| 94 namespace webkit { | 98 namespace webkit { |
| 95 namespace ppapi { | 99 namespace ppapi { |
| 96 | 100 |
| 97 class FullscreenContainer; | 101 class FullscreenContainer; |
| 98 class MessageChannel; | 102 class MessageChannel; |
| 99 class PluginDelegate; | 103 class PluginDelegate; |
| 100 class PluginModule; | 104 class PluginModule; |
| 101 class PluginObject; | 105 class PluginObject; |
| 102 class PPB_Graphics2D_Impl; | |
| 103 class PPB_Graphics3D_Impl; | 106 class PPB_Graphics3D_Impl; |
| 104 class PPB_ImageData_Impl; | 107 class PPB_ImageData_Impl; |
| 105 class PPB_URLLoader_Impl; | 108 class PPB_URLLoader_Impl; |
| 106 | 109 |
| 107 // Represents one time a plugin appears on one web page. | 110 // Represents one time a plugin appears on one web page. |
| 108 // | 111 // |
| 109 // Note: to get from a PP_Instance to a PluginInstance*, use the | 112 // Note: to get from a PP_Instance to a PluginInstance*, use the |
| 110 // ResourceTracker. | 113 // ResourceTracker. |
| 111 class WEBKIT_PLUGINS_EXPORT PluginInstance : | 114 class WEBKIT_PLUGINS_EXPORT PluginInstance : |
| 112 public base::RefCounted<PluginInstance>, | 115 public base::RefCounted<PluginInstance>, |
| (...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 554 void ReportGeometry(); | 557 void ReportGeometry(); |
| 555 | 558 |
| 556 // Queries the plugin for supported print formats and sets |format| to the | 559 // Queries the plugin for supported print formats and sets |format| to the |
| 557 // best format to use. Returns false if the plugin does not support any | 560 // best format to use. Returns false if the plugin does not support any |
| 558 // print format that we can handle (we can handle only PDF). | 561 // print format that we can handle (we can handle only PDF). |
| 559 bool GetPreferredPrintOutputFormat(PP_PrintOutputFormat_Dev* format); | 562 bool GetPreferredPrintOutputFormat(PP_PrintOutputFormat_Dev* format); |
| 560 bool PrintPDFOutput(PP_Resource print_output, WebKit::WebCanvas* canvas); | 563 bool PrintPDFOutput(PP_Resource print_output, WebKit::WebCanvas* canvas); |
| 561 | 564 |
| 562 // Get the bound graphics context as a concrete 2D graphics context or returns | 565 // Get the bound graphics context as a concrete 2D graphics context or returns |
| 563 // null if the context is not 2D. | 566 // null if the context is not 2D. |
| 564 PPB_Graphics2D_Impl* GetBoundGraphics2D() const; | 567 PluginDelegate::PlatformGraphics2D* GetBoundGraphics2D() const; |
| 565 | 568 |
| 566 // Get the bound 3D graphics context. | 569 // Get the bound 3D graphics context. |
| 567 // Returns NULL if bound graphics is not a 3D context. | 570 // Returns NULL if bound graphics is not a 3D context. |
| 568 PPB_Graphics3D_Impl* GetBoundGraphics3D() const; | 571 PPB_Graphics3D_Impl* GetBoundGraphics3D() const; |
| 569 | 572 |
| 570 // Sets the id of the texture that the plugin draws to. The id is in the | 573 // Sets the id of the texture that the plugin draws to. The id is in the |
| 571 // compositor space so it can use it to composite with rest of the page. | 574 // compositor space so it can use it to composite with rest of the page. |
| 572 // A value of zero indicates the plugin is not backed by a texture. | 575 // A value of zero indicates the plugin is not backed by a texture. |
| 573 // is_opaque is true if the plugin contents are always opaque. | 576 // is_opaque is true if the plugin contents are always opaque. |
| 574 void setBackingTextureId(unsigned int id, bool is_opaque); | 577 void setBackingTextureId(unsigned int id, bool is_opaque); |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 637 // same as the default values. | 640 // same as the default values. |
| 638 bool sent_initial_did_change_view_; | 641 bool sent_initial_did_change_view_; |
| 639 | 642 |
| 640 // We use a weak ptr factory for scheduling DidChangeView events so that we | 643 // We use a weak ptr factory for scheduling DidChangeView events so that we |
| 641 // can tell whether updates are pending and consolidate them. When there's | 644 // can tell whether updates are pending and consolidate them. When there's |
| 642 // already a weak ptr pending (HasWeakPtrs is true), code should update the | 645 // already a weak ptr pending (HasWeakPtrs is true), code should update the |
| 643 // view_data_ but not send updates. This also allows us to cancel scheduled | 646 // view_data_ but not send updates. This also allows us to cancel scheduled |
| 644 // view change events. | 647 // view change events. |
| 645 base::WeakPtrFactory<PluginInstance> view_change_weak_ptr_factory_; | 648 base::WeakPtrFactory<PluginInstance> view_change_weak_ptr_factory_; |
| 646 | 649 |
| 647 // The current device context for painting in 2D or 3D. | 650 // The current device context for painting in 2D and 3D. |
| 648 scoped_refptr< ::ppapi::Resource> bound_graphics_; | 651 scoped_refptr< ::ppapi::Resource> bound_graphics_3d_; |
| 652 PluginDelegate::PlatformGraphics2D* bound_graphics_2d_platform_; |
| 649 | 653 |
| 650 // We track two types of focus, one from WebKit, which is the focus among | 654 // We track two types of focus, one from WebKit, which is the focus among |
| 651 // all elements of the page, one one from the browser, which is whether the | 655 // all elements of the page, one one from the browser, which is whether the |
| 652 // tab/window has focus. We tell the plugin it has focus only when both of | 656 // tab/window has focus. We tell the plugin it has focus only when both of |
| 653 // these values are set to true. | 657 // these values are set to true. |
| 654 bool has_webkit_focus_; | 658 bool has_webkit_focus_; |
| 655 bool has_content_area_focus_; | 659 bool has_content_area_focus_; |
| 656 | 660 |
| 657 // The id of the current find operation, or -1 if none is in process. | 661 // The id of the current find operation, or -1 if none is in process. |
| 658 int find_identifier_; | 662 int find_identifier_; |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 822 uint32_t pending_video_decode_request_id_; | 826 uint32_t pending_video_decode_request_id_; |
| 823 media::Decryptor::VideoDecodeCB pending_video_decode_cb_; | 827 media::Decryptor::VideoDecodeCB pending_video_decode_cb_; |
| 824 | 828 |
| 825 DISALLOW_COPY_AND_ASSIGN(PluginInstance); | 829 DISALLOW_COPY_AND_ASSIGN(PluginInstance); |
| 826 }; | 830 }; |
| 827 | 831 |
| 828 } // namespace ppapi | 832 } // namespace ppapi |
| 829 } // namespace webkit | 833 } // namespace webkit |
| 830 | 834 |
| 831 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ | 835 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ |
| OLD | NEW |