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

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

Issue 19800005: Hide knowledge of webkit::ppapi::PluginDelegate from chrome. This is part of moving ppapi implement… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 5 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 #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 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 struct WebCompositionUnderline; 73 struct WebCompositionUnderline;
74 struct WebCursorInfo; 74 struct WebCursorInfo;
75 struct WebURLError; 75 struct WebURLError;
76 struct WebPrintParams; 76 struct WebPrintParams;
77 } 77 }
78 78
79 namespace cc { 79 namespace cc {
80 class TextureLayer; 80 class TextureLayer;
81 } 81 }
82 82
83 namespace content {
84 class RenderView;
85 }
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 }
(...skipping 22 matching lines...) Expand all
115 class WEBKIT_PLUGINS_EXPORT PluginInstance : 119 class WEBKIT_PLUGINS_EXPORT PluginInstance :
116 public base::RefCounted<PluginInstance>, 120 public base::RefCounted<PluginInstance>,
117 public base::SupportsWeakPtr<PluginInstance>, 121 public base::SupportsWeakPtr<PluginInstance>,
118 public ::ppapi::PPB_Instance_Shared { 122 public ::ppapi::PPB_Instance_Shared {
119 public: 123 public:
120 // Create and return a PluginInstance object which supports the most recent 124 // Create and return a PluginInstance object which supports the most recent
121 // version of PPP_Instance possible by querying the given get_plugin_interface 125 // version of PPP_Instance possible by querying the given get_plugin_interface
122 // function. If the plugin does not support any valid PPP_Instance interface, 126 // function. If the plugin does not support any valid PPP_Instance interface,
123 // returns NULL. 127 // returns NULL.
124 static PluginInstance* Create(PluginDelegate* delegate, 128 static PluginInstance* Create(PluginDelegate* delegate,
129 content::RenderView* render_view,
125 PluginModule* module, 130 PluginModule* module,
126 WebKit::WebPluginContainer* container, 131 WebKit::WebPluginContainer* container,
127 const GURL& plugin_url); 132 const GURL& plugin_url);
128 // Delete should be called by the WebPlugin before this destructor. 133 // Delete should be called by the WebPlugin before this destructor.
129 virtual ~PluginInstance(); 134 virtual ~PluginInstance();
130 135
131 PluginDelegate* delegate() const { return delegate_; } 136 PluginDelegate* delegate() const { return delegate_; }
137 content::RenderView* render_view() const {return render_view_; }
132 PluginModule* module() const { return module_.get(); } 138 PluginModule* module() const { return module_.get(); }
133 MessageChannel& message_channel() { return *message_channel_; } 139 MessageChannel& message_channel() { return *message_channel_; }
134 140
135 WebKit::WebPluginContainer* container() const { return container_; } 141 WebKit::WebPluginContainer* container() const { return container_; }
136 142
137 void set_always_on_top(bool on_top) { always_on_top_ = on_top; } 143 void set_always_on_top(bool on_top) { always_on_top_ = on_top; }
138 144
139 // Returns the PP_Instance uniquely identifying this instance. Guaranteed 145 // Returns the PP_Instance uniquely identifying this instance. Guaranteed
140 // nonzero. 146 // nonzero.
141 PP_Instance pp_instance() const { return pp_instance_; } 147 PP_Instance pp_instance() const { return pp_instance_; }
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 PP_GamepadsSampleData* data) OVERRIDE; 551 PP_GamepadsSampleData* data) OVERRIDE;
546 private: 552 private:
547 PluginDelegate* delegate_; 553 PluginDelegate* delegate_;
548 }; 554 };
549 555
550 // See the static Create functions above for creating PluginInstance objects. 556 // See the static Create functions above for creating PluginInstance objects.
551 // This constructor is private so that we can hide the PPP_Instance_Combined 557 // This constructor is private so that we can hide the PPP_Instance_Combined
552 // details while still having 1 constructor to maintain for member 558 // details while still having 1 constructor to maintain for member
553 // initialization. 559 // initialization.
554 PluginInstance(PluginDelegate* delegate, 560 PluginInstance(PluginDelegate* delegate,
561 content::RenderView* render_view,
555 PluginModule* module, 562 PluginModule* module,
556 ::ppapi::PPP_Instance_Combined* instance_interface, 563 ::ppapi::PPP_Instance_Combined* instance_interface,
557 WebKit::WebPluginContainer* container, 564 WebKit::WebPluginContainer* container,
558 const GURL& plugin_url); 565 const GURL& plugin_url);
559 566
560 bool LoadFindInterface(); 567 bool LoadFindInterface();
561 bool LoadInputEventInterface(); 568 bool LoadInputEventInterface();
562 bool LoadMessagingInterface(); 569 bool LoadMessagingInterface();
563 bool LoadMouseLockInterface(); 570 bool LoadMouseLockInterface();
564 bool LoadPdfInterface(); 571 bool LoadPdfInterface();
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 // compositing path. 641 // compositing path.
635 bool IsViewAccelerated(); 642 bool IsViewAccelerated();
636 643
637 // Track, set and reset size attributes to control the size of the plugin 644 // Track, set and reset size attributes to control the size of the plugin
638 // in and out of fullscreen mode. 645 // in and out of fullscreen mode.
639 void KeepSizeAttributesBeforeFullscreen(); 646 void KeepSizeAttributesBeforeFullscreen();
640 void SetSizeAttributesForFullscreen(); 647 void SetSizeAttributesForFullscreen();
641 void ResetSizeAttributesAfterFullscreen(); 648 void ResetSizeAttributesAfterFullscreen();
642 649
643 PluginDelegate* delegate_; 650 PluginDelegate* delegate_;
651 content::RenderView* render_view_;
644 scoped_refptr<PluginModule> module_; 652 scoped_refptr<PluginModule> module_;
645 scoped_ptr< ::ppapi::PPP_Instance_Combined> instance_interface_; 653 scoped_ptr< ::ppapi::PPP_Instance_Combined> instance_interface_;
646 // If this is the NaCl plugin, we create a new module when we switch to the 654 // If this is the NaCl plugin, we create a new module when we switch to the
647 // IPC-based PPAPI proxy. Store the original module and instance interface 655 // IPC-based PPAPI proxy. Store the original module and instance interface
648 // so we can shut down properly. 656 // so we can shut down properly.
649 scoped_refptr<PluginModule> original_module_; 657 scoped_refptr<PluginModule> original_module_;
650 scoped_ptr< ::ppapi::PPP_Instance_Combined> original_instance_interface_; 658 scoped_ptr< ::ppapi::PPP_Instance_Combined> original_instance_interface_;
651 659
652 PP_Instance pp_instance_; 660 PP_Instance pp_instance_;
653 661
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 v8::Isolate* isolate_; 854 v8::Isolate* isolate_;
847 855
848 friend class PpapiPluginInstanceTest; 856 friend class PpapiPluginInstanceTest;
849 DISALLOW_COPY_AND_ASSIGN(PluginInstance); 857 DISALLOW_COPY_AND_ASSIGN(PluginInstance);
850 }; 858 };
851 859
852 } // namespace ppapi 860 } // namespace ppapi
853 } // namespace webkit 861 } // namespace webkit
854 862
855 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ 863 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698