| 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 <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 // ResourceTracker. | 97 // ResourceTracker. |
| 98 class WEBKIT_PLUGINS_EXPORT PluginInstance : | 98 class WEBKIT_PLUGINS_EXPORT PluginInstance : |
| 99 public base::RefCounted<PluginInstance>, | 99 public base::RefCounted<PluginInstance>, |
| 100 public base::SupportsWeakPtr<PluginInstance>, | 100 public base::SupportsWeakPtr<PluginInstance>, |
| 101 public ::ppapi::PPB_Instance_Shared { | 101 public ::ppapi::PPB_Instance_Shared { |
| 102 public: | 102 public: |
| 103 // Create and return a PluginInstance object which supports the most recent | 103 // Create and return a PluginInstance object which supports the most recent |
| 104 // version of PPP_Instance possible by querying the given get_plugin_interface | 104 // version of PPP_Instance possible by querying the given get_plugin_interface |
| 105 // function. If the plugin does not support any valid PPP_Instance interface, | 105 // function. If the plugin does not support any valid PPP_Instance interface, |
| 106 // returns NULL. | 106 // returns NULL. |
| 107 static PluginInstance* Create(PluginDelegate* delegate, PluginModule* module); | 107 static PluginInstance* Create(PluginDelegate* delegate, |
| 108 PluginModule* module, |
| 109 WebKit::WebPluginContainer* container, |
| 110 const GURL& plugin_url); |
| 108 // Delete should be called by the WebPlugin before this destructor. | 111 // Delete should be called by the WebPlugin before this destructor. |
| 109 virtual ~PluginInstance(); | 112 virtual ~PluginInstance(); |
| 110 | 113 |
| 111 PluginDelegate* delegate() const { return delegate_; } | 114 PluginDelegate* delegate() const { return delegate_; } |
| 112 PluginModule* module() const { return module_.get(); } | 115 PluginModule* module() const { return module_.get(); } |
| 113 MessageChannel& message_channel() { return *message_channel_; } | 116 MessageChannel& message_channel() { return *message_channel_; } |
| 114 | 117 |
| 115 WebKit::WebPluginContainer* container() const { return container_; } | 118 WebKit::WebPluginContainer* container() const { return container_; } |
| 116 | 119 |
| 117 void set_always_on_top(bool on_top) { always_on_top_ = on_top; } | 120 void set_always_on_top(bool on_top) { always_on_top_ = on_top; } |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 156 | 159 |
| 157 // Called when the out-of-process plugin implementing this instance crashed. | 160 // Called when the out-of-process plugin implementing this instance crashed. |
| 158 void InstanceCrashed(); | 161 void InstanceCrashed(); |
| 159 | 162 |
| 160 // PPB_Instance and PPB_Instance_Private implementation. | 163 // PPB_Instance and PPB_Instance_Private implementation. |
| 161 const GURL& plugin_url() const { return plugin_url_; } | 164 const GURL& plugin_url() const { return plugin_url_; } |
| 162 bool full_frame() const { return full_frame_; } | 165 bool full_frame() const { return full_frame_; } |
| 163 const ::ppapi::ViewData& view_data() const { return view_data_; } | 166 const ::ppapi::ViewData& view_data() const { return view_data_; } |
| 164 | 167 |
| 165 // PPP_Instance and PPP_Instance_Private pass-through. | 168 // PPP_Instance and PPP_Instance_Private pass-through. |
| 166 bool Initialize(WebKit::WebPluginContainer* container, | 169 bool Initialize(const std::vector<std::string>& arg_names, |
| 167 const std::vector<std::string>& arg_names, | |
| 168 const std::vector<std::string>& arg_values, | 170 const std::vector<std::string>& arg_values, |
| 169 const GURL& plugin_url, | |
| 170 bool full_frame); | 171 bool full_frame); |
| 171 bool HandleDocumentLoad(PPB_URLLoader_Impl* loader); | 172 bool HandleDocumentLoad(PPB_URLLoader_Impl* loader); |
| 172 bool HandleInputEvent(const WebKit::WebInputEvent& event, | 173 bool HandleInputEvent(const WebKit::WebInputEvent& event, |
| 173 WebKit::WebCursorInfo* cursor_info); | 174 WebKit::WebCursorInfo* cursor_info); |
| 174 PP_Var GetInstanceObject(); | 175 PP_Var GetInstanceObject(); |
| 175 void ViewChanged(const gfx::Rect& position, const gfx::Rect& clip, | 176 void ViewChanged(const gfx::Rect& position, const gfx::Rect& clip, |
| 176 const std::vector<gfx::Rect>& cut_outs_rects); | 177 const std::vector<gfx::Rect>& cut_outs_rects); |
| 177 | 178 |
| 178 // Handlers for composition events. | 179 // Handlers for composition events. |
| 179 bool HandleCompositionStart(const string16& text); | 180 bool HandleCompositionStart(const string16& text); |
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 private: | 472 private: |
| 472 PluginDelegate* delegate_; | 473 PluginDelegate* delegate_; |
| 473 }; | 474 }; |
| 474 | 475 |
| 475 // See the static Create functions above for creating PluginInstance objects. | 476 // See the static Create functions above for creating PluginInstance objects. |
| 476 // This constructor is private so that we can hide the PPP_Instance_Combined | 477 // This constructor is private so that we can hide the PPP_Instance_Combined |
| 477 // details while still having 1 constructor to maintain for member | 478 // details while still having 1 constructor to maintain for member |
| 478 // initialization. | 479 // initialization. |
| 479 PluginInstance(PluginDelegate* delegate, | 480 PluginInstance(PluginDelegate* delegate, |
| 480 PluginModule* module, | 481 PluginModule* module, |
| 481 ::ppapi::PPP_Instance_Combined* instance_interface); | 482 ::ppapi::PPP_Instance_Combined* instance_interface, |
| 483 WebKit::WebPluginContainer* container, |
| 484 const GURL& plugin_url); |
| 482 | 485 |
| 483 bool LoadFindInterface(); | 486 bool LoadFindInterface(); |
| 484 bool LoadInputEventInterface(); | 487 bool LoadInputEventInterface(); |
| 485 bool LoadMessagingInterface(); | 488 bool LoadMessagingInterface(); |
| 486 bool LoadMouseLockInterface(); | 489 bool LoadMouseLockInterface(); |
| 487 bool LoadPdfInterface(); | 490 bool LoadPdfInterface(); |
| 488 bool LoadPrintInterface(); | 491 bool LoadPrintInterface(); |
| 489 bool LoadPrivateInterface(); | 492 bool LoadPrivateInterface(); |
| 490 bool LoadSelectionInterface(); | 493 bool LoadSelectionInterface(); |
| 491 bool LoadTextInputInterface(); | 494 bool LoadTextInputInterface(); |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 759 // calls and handles PPB_ContentDecryptor_Private calls. | 762 // calls and handles PPB_ContentDecryptor_Private calls. |
| 760 scoped_ptr<ContentDecryptorDelegate> content_decryptor_delegate_; | 763 scoped_ptr<ContentDecryptorDelegate> content_decryptor_delegate_; |
| 761 | 764 |
| 762 DISALLOW_COPY_AND_ASSIGN(PluginInstance); | 765 DISALLOW_COPY_AND_ASSIGN(PluginInstance); |
| 763 }; | 766 }; |
| 764 | 767 |
| 765 } // namespace ppapi | 768 } // namespace ppapi |
| 766 } // namespace webkit | 769 } // namespace webkit |
| 767 | 770 |
| 768 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ | 771 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ |
| OLD | NEW |