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

Side by Side Diff: content/renderer/pepper/pepper_plugin_instance_impl.h

Issue 63253002: Rename WebKit namespace to blink (part 3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_INSTANCE_IMPL_H_ 5 #ifndef CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_INSTANCE_IMPL_H_
6 #define CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_INSTANCE_IMPL_H_ 6 #define CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_INSTANCE_IMPL_H_
7 7
8 #include <list> 8 #include <list>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 #include "ui/base/ime/text_input_type.h" 56 #include "ui/base/ime/text_input_type.h"
57 #include "ui/gfx/rect.h" 57 #include "ui/gfx/rect.h"
58 #include "url/gurl.h" 58 #include "url/gurl.h"
59 59
60 struct PP_Point; 60 struct PP_Point;
61 struct _NPP; 61 struct _NPP;
62 62
63 class SkBitmap; 63 class SkBitmap;
64 class TransportDIB; 64 class TransportDIB;
65 65
66 namespace WebKit { 66 namespace blink {
67 class WebInputEvent; 67 class WebInputEvent;
68 class WebLayer; 68 class WebLayer;
69 class WebMouseEvent; 69 class WebMouseEvent;
70 class WebPluginContainer; 70 class WebPluginContainer;
71 class WebURLLoader; 71 class WebURLLoader;
72 class WebURLResponse; 72 class WebURLResponse;
73 struct WebCompositionUnderline; 73 struct WebCompositionUnderline;
74 struct WebCursorInfo; 74 struct WebCursorInfo;
75 struct WebURLError; 75 struct WebURLError;
76 struct WebPrintParams; 76 struct WebPrintParams;
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 public ppapi::PPB_Instance_Shared, 118 public ppapi::PPB_Instance_Shared,
119 public NON_EXPORTED_BASE(cc::TextureLayerClient) { 119 public NON_EXPORTED_BASE(cc::TextureLayerClient) {
120 public: 120 public:
121 // Create and return a PepperPluginInstanceImpl object which supports the most 121 // Create and return a PepperPluginInstanceImpl object which supports the most
122 // recent version of PPP_Instance possible by querying the given 122 // recent version of PPP_Instance possible by querying the given
123 // get_plugin_interface function. If the plugin does not support any valid 123 // get_plugin_interface function. If the plugin does not support any valid
124 // PPP_Instance interface, returns NULL. 124 // PPP_Instance interface, returns NULL.
125 static PepperPluginInstanceImpl* Create( 125 static PepperPluginInstanceImpl* Create(
126 RenderViewImpl* render_view, 126 RenderViewImpl* render_view,
127 PluginModule* module, 127 PluginModule* module,
128 WebKit::WebPluginContainer* container, 128 blink::WebPluginContainer* container,
129 const GURL& plugin_url); 129 const GURL& plugin_url);
130 RenderViewImpl* render_view() const { return render_view_; } 130 RenderViewImpl* render_view() const { return render_view_; }
131 PluginModule* module() const { return module_.get(); } 131 PluginModule* module() const { return module_.get(); }
132 MessageChannel& message_channel() { return *message_channel_; } 132 MessageChannel& message_channel() { return *message_channel_; }
133 133
134 WebKit::WebPluginContainer* container() const { return container_; } 134 blink::WebPluginContainer* container() const { return container_; }
135 135
136 // Returns the PP_Instance uniquely identifying this instance. Guaranteed 136 // Returns the PP_Instance uniquely identifying this instance. Guaranteed
137 // nonzero. 137 // nonzero.
138 PP_Instance pp_instance() const { return pp_instance_; } 138 PP_Instance pp_instance() const { return pp_instance_; }
139 139
140 ppapi::thunk::ResourceCreationAPI& resource_creation() { 140 ppapi::thunk::ResourceCreationAPI& resource_creation() {
141 return *resource_creation_.get(); 141 return *resource_creation_.get();
142 } 142 }
143 143
144 // Does some pre-destructor cleanup on the instance. This is necessary 144 // Does some pre-destructor cleanup on the instance. This is necessary
145 // because some cleanup depends on the plugin instance still existing (like 145 // because some cleanup depends on the plugin instance still existing (like
146 // calling the plugin's DidDestroy function). This function is called from 146 // calling the plugin's DidDestroy function). This function is called from
147 // the WebPlugin implementation when WebKit is about to remove the plugin. 147 // the WebPlugin implementation when WebKit is about to remove the plugin.
148 void Delete(); 148 void Delete();
149 149
150 // Paints the current backing store to the web page. 150 // Paints the current backing store to the web page.
151 void Paint(WebKit::WebCanvas* canvas, 151 void Paint(blink::WebCanvas* canvas,
152 const gfx::Rect& plugin_rect, 152 const gfx::Rect& plugin_rect,
153 const gfx::Rect& paint_rect); 153 const gfx::Rect& paint_rect);
154 154
155 // Schedules a paint of the page for the given region. The coordinates are 155 // Schedules a paint of the page for the given region. The coordinates are
156 // relative to the top-left of the plugin. This does nothing if the plugin 156 // relative to the top-left of the plugin. This does nothing if the plugin
157 // has not yet been positioned. You can supply an empty gfx::Rect() to 157 // has not yet been positioned. You can supply an empty gfx::Rect() to
158 // invalidate the entire plugin. 158 // invalidate the entire plugin.
159 void InvalidateRect(const gfx::Rect& rect); 159 void InvalidateRect(const gfx::Rect& rect);
160 160
161 // Schedules a scroll of the plugin. This uses optimized scrolling only for 161 // Schedules a scroll of the plugin. This uses optimized scrolling only for
162 // full-frame plugins, as otherwise there could be other elements on top. The 162 // full-frame plugins, as otherwise there could be other elements on top. The
163 // slow path can also be triggered if there is an overlapping frame. 163 // slow path can also be triggered if there is an overlapping frame.
164 void ScrollRect(int dx, int dy, const gfx::Rect& rect); 164 void ScrollRect(int dx, int dy, const gfx::Rect& rect);
165 165
166 // Commit the backing texture to the screen once the side effects some 166 // Commit the backing texture to the screen once the side effects some
167 // rendering up to an offscreen SwapBuffers are visible. 167 // rendering up to an offscreen SwapBuffers are visible.
168 void CommitBackingTexture(); 168 void CommitBackingTexture();
169 169
170 // Called when the out-of-process plugin implementing this instance crashed. 170 // Called when the out-of-process plugin implementing this instance crashed.
171 void InstanceCrashed(); 171 void InstanceCrashed();
172 172
173 // PPB_Instance and PPB_Instance_Private implementation. 173 // PPB_Instance and PPB_Instance_Private implementation.
174 bool full_frame() const { return full_frame_; } 174 bool full_frame() const { return full_frame_; }
175 const ppapi::ViewData& view_data() const { return view_data_; } 175 const ppapi::ViewData& view_data() const { return view_data_; }
176 176
177 // PPP_Instance and PPP_Instance_Private. 177 // PPP_Instance and PPP_Instance_Private.
178 bool Initialize(const std::vector<std::string>& arg_names, 178 bool Initialize(const std::vector<std::string>& arg_names,
179 const std::vector<std::string>& arg_values, 179 const std::vector<std::string>& arg_values,
180 bool full_frame); 180 bool full_frame);
181 bool HandleDocumentLoad(const WebKit::WebURLResponse& response); 181 bool HandleDocumentLoad(const blink::WebURLResponse& response);
182 bool HandleInputEvent(const WebKit::WebInputEvent& event, 182 bool HandleInputEvent(const blink::WebInputEvent& event,
183 WebKit::WebCursorInfo* cursor_info); 183 blink::WebCursorInfo* cursor_info);
184 PP_Var GetInstanceObject(); 184 PP_Var GetInstanceObject();
185 void ViewChanged(const gfx::Rect& position, const gfx::Rect& clip, 185 void ViewChanged(const gfx::Rect& position, const gfx::Rect& clip,
186 const std::vector<gfx::Rect>& cut_outs_rects); 186 const std::vector<gfx::Rect>& cut_outs_rects);
187 187
188 // Handlers for composition events. 188 // Handlers for composition events.
189 bool HandleCompositionStart(const base::string16& text); 189 bool HandleCompositionStart(const base::string16& text);
190 bool HandleCompositionUpdate( 190 bool HandleCompositionUpdate(
191 const base::string16& text, 191 const base::string16& text,
192 const std::vector<WebKit::WebCompositionUnderline>& underlines, 192 const std::vector<blink::WebCompositionUnderline>& underlines,
193 int selection_start, 193 int selection_start,
194 int selection_end); 194 int selection_end);
195 bool HandleCompositionEnd(const base::string16& text); 195 bool HandleCompositionEnd(const base::string16& text);
196 bool HandleTextInput(const base::string16& text); 196 bool HandleTextInput(const base::string16& text);
197 197
198 // Gets the current text input status. 198 // Gets the current text input status.
199 ui::TextInputType text_input_type() const { return text_input_type_; } 199 ui::TextInputType text_input_type() const { return text_input_type_; }
200 gfx::Rect GetCaretBounds() const; 200 gfx::Rect GetCaretBounds() const;
201 bool IsPluginAcceptingCompositionEvents() const; 201 bool IsPluginAcceptingCompositionEvents() const;
202 void GetSurroundingText(base::string16* text, gfx::Range* range) const; 202 void GetSurroundingText(base::string16* text, gfx::Range* range) const;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 void RequestSurroundingText(size_t desired_number_of_characters); 234 void RequestSurroundingText(size_t desired_number_of_characters);
235 void Zoom(double factor, bool text_only); 235 void Zoom(double factor, bool text_only);
236 bool StartFind(const base::string16& search_text, 236 bool StartFind(const base::string16& search_text,
237 bool case_sensitive, 237 bool case_sensitive,
238 int identifier); 238 int identifier);
239 void SelectFindResult(bool forward); 239 void SelectFindResult(bool forward);
240 void StopFind(); 240 void StopFind();
241 241
242 bool SupportsPrintInterface(); 242 bool SupportsPrintInterface();
243 bool IsPrintScalingDisabled(); 243 bool IsPrintScalingDisabled();
244 int PrintBegin(const WebKit::WebPrintParams& print_params); 244 int PrintBegin(const blink::WebPrintParams& print_params);
245 bool PrintPage(int page_number, WebKit::WebCanvas* canvas); 245 bool PrintPage(int page_number, blink::WebCanvas* canvas);
246 void PrintEnd(); 246 void PrintEnd();
247 247
248 bool CanRotateView(); 248 bool CanRotateView();
249 void RotateView(WebKit::WebPlugin::RotationType type); 249 void RotateView(blink::WebPlugin::RotationType type);
250 250
251 // There are 2 implementations of the fullscreen interface 251 // There are 2 implementations of the fullscreen interface
252 // PPB_FlashFullscreen is used by Pepper Flash. 252 // PPB_FlashFullscreen is used by Pepper Flash.
253 // PPB_Fullscreen is intended for other applications including NaCl. 253 // PPB_Fullscreen is intended for other applications including NaCl.
254 // The two interface are mutually exclusive. 254 // The two interface are mutually exclusive.
255 255
256 // Implementation of PPB_FlashFullscreen. 256 // Implementation of PPB_FlashFullscreen.
257 257
258 // Because going to fullscreen is asynchronous (but going out is not), there 258 // Because going to fullscreen is asynchronous (but going out is not), there
259 // are 3 states: 259 // are 3 states:
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
303 bool SetFullscreen(bool fullscreen); 303 bool SetFullscreen(bool fullscreen);
304 304
305 // Implementation of PPP_Messaging. 305 // Implementation of PPP_Messaging.
306 void HandleMessage(PP_Var message); 306 void HandleMessage(PP_Var message);
307 307
308 // Returns true if the plugin is processing a user gesture. 308 // Returns true if the plugin is processing a user gesture.
309 bool IsProcessingUserGesture(); 309 bool IsProcessingUserGesture();
310 310
311 // Returns the user gesture token to use for creating a WebScopedUserGesture, 311 // Returns the user gesture token to use for creating a WebScopedUserGesture,
312 // if IsProcessingUserGesture returned true. 312 // if IsProcessingUserGesture returned true.
313 WebKit::WebUserGestureToken CurrentUserGestureToken(); 313 blink::WebUserGestureToken CurrentUserGestureToken();
314 314
315 // A mouse lock request was pending and this reports success or failure. 315 // A mouse lock request was pending and this reports success or failure.
316 void OnLockMouseACK(bool succeeded); 316 void OnLockMouseACK(bool succeeded);
317 // A mouse lock was in place, but has been lost. 317 // A mouse lock was in place, but has been lost.
318 void OnMouseLockLost(); 318 void OnMouseLockLost();
319 // A mouse lock is enabled and mouse events are being delivered. 319 // A mouse lock is enabled and mouse events are being delivered.
320 void HandleMouseLockedInputEvent(const WebKit::WebMouseEvent& event); 320 void HandleMouseLockedInputEvent(const blink::WebMouseEvent& event);
321 321
322 // Simulates an input event to the plugin by passing it down to WebKit, 322 // Simulates an input event to the plugin by passing it down to WebKit,
323 // which sends it back up to the plugin as if it came from the user. 323 // which sends it back up to the plugin as if it came from the user.
324 void SimulateInputEvent(const ppapi::InputEventData& input_event); 324 void SimulateInputEvent(const ppapi::InputEventData& input_event);
325 325
326 // Simulates an IME event at the level of RenderView which sends it back up to 326 // Simulates an IME event at the level of RenderView which sends it back up to
327 // the plugin as if it came from the user. 327 // the plugin as if it came from the user.
328 bool SimulateIMEEvent(const ppapi::InputEventData& input_event); 328 bool SimulateIMEEvent(const ppapi::InputEventData& input_event);
329 void SimulateImeSetCompositionEvent( 329 void SimulateImeSetCompositionEvent(
330 const ppapi::InputEventData& input_event); 330 const ppapi::InputEventData& input_event);
331 331
332 // The document loader is valid when the plugin is "full-frame" and in this 332 // The document loader is valid when the plugin is "full-frame" and in this
333 // case is non-NULL as long as the corresponding loader resource is alive. 333 // case is non-NULL as long as the corresponding loader resource is alive.
334 // This pointer is non-owning, so the loader must use set_document_loader to 334 // This pointer is non-owning, so the loader must use set_document_loader to
335 // clear itself when it is destroyed. 335 // clear itself when it is destroyed.
336 WebKit::WebURLLoaderClient* document_loader() const { 336 blink::WebURLLoaderClient* document_loader() const {
337 return document_loader_; 337 return document_loader_;
338 } 338 }
339 void set_document_loader(WebKit::WebURLLoaderClient* loader) { 339 void set_document_loader(blink::WebURLLoaderClient* loader) {
340 document_loader_ = loader; 340 document_loader_ = loader;
341 } 341 }
342 342
343 ContentDecryptorDelegate* GetContentDecryptorDelegate(); 343 ContentDecryptorDelegate* GetContentDecryptorDelegate();
344 344
345 // PluginInstance implementation 345 // PluginInstance implementation
346 virtual RenderView* GetRenderView() OVERRIDE; 346 virtual RenderView* GetRenderView() OVERRIDE;
347 virtual WebKit::WebPluginContainer* GetContainer() OVERRIDE; 347 virtual blink::WebPluginContainer* GetContainer() OVERRIDE;
348 virtual v8::Isolate* GetIsolate() const OVERRIDE; 348 virtual v8::Isolate* GetIsolate() const OVERRIDE;
349 virtual ppapi::VarTracker* GetVarTracker() OVERRIDE; 349 virtual ppapi::VarTracker* GetVarTracker() OVERRIDE;
350 virtual const GURL& GetPluginURL() OVERRIDE; 350 virtual const GURL& GetPluginURL() OVERRIDE;
351 virtual base::FilePath GetModulePath() OVERRIDE; 351 virtual base::FilePath GetModulePath() OVERRIDE;
352 virtual PP_Resource CreateImage(gfx::ImageSkia* source_image, 352 virtual PP_Resource CreateImage(gfx::ImageSkia* source_image,
353 float scale) OVERRIDE; 353 float scale) OVERRIDE;
354 virtual PP_ExternalPluginResult SwitchToOutOfProcessProxy( 354 virtual PP_ExternalPluginResult SwitchToOutOfProcessProxy(
355 const base::FilePath& file_path, 355 const base::FilePath& file_path,
356 ppapi::PpapiPermissions permissions, 356 ppapi::PpapiPermissions permissions,
357 const IPC::ChannelHandle& channel_handle, 357 const IPC::ChannelHandle& channel_handle,
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 503
504 private: 504 private:
505 friend class base::RefCounted<PepperPluginInstanceImpl>; 505 friend class base::RefCounted<PepperPluginInstanceImpl>;
506 friend class PpapiUnittest; 506 friend class PpapiUnittest;
507 507
508 // Delete should be called by the WebPlugin before this destructor. 508 // Delete should be called by the WebPlugin before this destructor.
509 virtual ~PepperPluginInstanceImpl(); 509 virtual ~PepperPluginInstanceImpl();
510 510
511 // Class to record document load notifications and play them back once the 511 // Class to record document load notifications and play them back once the
512 // real document loader becomes available. Used only by external instances. 512 // real document loader becomes available. Used only by external instances.
513 class ExternalDocumentLoader : public WebKit::WebURLLoaderClient { 513 class ExternalDocumentLoader : public blink::WebURLLoaderClient {
514 public: 514 public:
515 ExternalDocumentLoader(); 515 ExternalDocumentLoader();
516 virtual ~ExternalDocumentLoader(); 516 virtual ~ExternalDocumentLoader();
517 517
518 void ReplayReceivedData(WebURLLoaderClient* document_loader); 518 void ReplayReceivedData(WebURLLoaderClient* document_loader);
519 519
520 // WebKit::WebURLLoaderClient implementation. 520 // blink::WebURLLoaderClient implementation.
521 virtual void didReceiveData(WebKit::WebURLLoader* loader, 521 virtual void didReceiveData(blink::WebURLLoader* loader,
522 const char* data, 522 const char* data,
523 int data_length, 523 int data_length,
524 int encoded_data_length); 524 int encoded_data_length);
525 virtual void didFinishLoading(WebKit::WebURLLoader* loader, 525 virtual void didFinishLoading(blink::WebURLLoader* loader,
526 double finish_time); 526 double finish_time);
527 virtual void didFail(WebKit::WebURLLoader* loader, 527 virtual void didFail(blink::WebURLLoader* loader,
528 const WebKit::WebURLError& error); 528 const blink::WebURLError& error);
529 529
530 private: 530 private:
531 std::list<std::string> data_; 531 std::list<std::string> data_;
532 bool finished_loading_; 532 bool finished_loading_;
533 scoped_ptr<WebKit::WebURLError> error_; 533 scoped_ptr<blink::WebURLError> error_;
534 }; 534 };
535 535
536 // Implements PPB_Gamepad_API. This is just to avoid having an excessive 536 // Implements PPB_Gamepad_API. This is just to avoid having an excessive
537 // number of interfaces implemented by PepperPluginInstanceImpl. 537 // number of interfaces implemented by PepperPluginInstanceImpl.
538 class GamepadImpl : public ppapi::thunk::PPB_Gamepad_API, 538 class GamepadImpl : public ppapi::thunk::PPB_Gamepad_API,
539 public ppapi::Resource { 539 public ppapi::Resource {
540 public: 540 public:
541 GamepadImpl(); 541 GamepadImpl();
542 // Resource implementation. 542 // Resource implementation.
543 virtual ppapi::thunk::PPB_Gamepad_API* AsPPB_Gamepad_API() OVERRIDE; 543 virtual ppapi::thunk::PPB_Gamepad_API* AsPPB_Gamepad_API() OVERRIDE;
544 virtual void Sample(PP_Instance instance, 544 virtual void Sample(PP_Instance instance,
545 PP_GamepadsSampleData* data) OVERRIDE; 545 PP_GamepadsSampleData* data) OVERRIDE;
546 private: 546 private:
547 virtual ~GamepadImpl(); 547 virtual ~GamepadImpl();
548 }; 548 };
549 549
550 // See the static Create functions above for creating PepperPluginInstanceImpl 550 // See the static Create functions above for creating PepperPluginInstanceImpl
551 // objects. This constructor is private so that we can hide the 551 // objects. This constructor is private so that we can hide the
552 // PPP_Instance_Combined details while still having 1 constructor to maintain 552 // PPP_Instance_Combined details while still having 1 constructor to maintain
553 // for member initialization. 553 // for member initialization.
554 PepperPluginInstanceImpl(RenderViewImpl* render_view, 554 PepperPluginInstanceImpl(RenderViewImpl* render_view,
555 PluginModule* module, 555 PluginModule* module,
556 ppapi::PPP_Instance_Combined* instance_interface, 556 ppapi::PPP_Instance_Combined* instance_interface,
557 WebKit::WebPluginContainer* container, 557 blink::WebPluginContainer* container,
558 const GURL& plugin_url); 558 const GURL& plugin_url);
559 559
560 bool LoadFindInterface(); 560 bool LoadFindInterface();
561 bool LoadInputEventInterface(); 561 bool LoadInputEventInterface();
562 bool LoadMessagingInterface(); 562 bool LoadMessagingInterface();
563 bool LoadMouseLockInterface(); 563 bool LoadMouseLockInterface();
564 bool LoadPdfInterface(); 564 bool LoadPdfInterface();
565 bool LoadPrintInterface(); 565 bool LoadPrintInterface();
566 bool LoadPrivateInterface(); 566 bool LoadPrivateInterface();
567 bool LoadSelectionInterface(); 567 bool LoadSelectionInterface();
(...skipping 15 matching lines...) Expand all
583 void SendDidChangeView(); 583 void SendDidChangeView();
584 584
585 // Reports the current plugin geometry to the plugin by calling 585 // Reports the current plugin geometry to the plugin by calling
586 // DidChangeView. 586 // DidChangeView.
587 void ReportGeometry(); 587 void ReportGeometry();
588 588
589 // Queries the plugin for supported print formats and sets |format| to the 589 // Queries the plugin for supported print formats and sets |format| to the
590 // best format to use. Returns false if the plugin does not support any 590 // best format to use. Returns false if the plugin does not support any
591 // print format that we can handle (we can handle only PDF). 591 // print format that we can handle (we can handle only PDF).
592 bool GetPreferredPrintOutputFormat(PP_PrintOutputFormat_Dev* format); 592 bool GetPreferredPrintOutputFormat(PP_PrintOutputFormat_Dev* format);
593 bool PrintPDFOutput(PP_Resource print_output, WebKit::WebCanvas* canvas); 593 bool PrintPDFOutput(PP_Resource print_output, blink::WebCanvas* canvas);
594 594
595 // Updates the layer for compositing. This creates a layer and attaches to the 595 // Updates the layer for compositing. This creates a layer and attaches to the
596 // container if: 596 // container if:
597 // - we have a bound Graphics3D 597 // - we have a bound Graphics3D
598 // - the Graphics3D has a texture 598 // - the Graphics3D has a texture
599 // - we are not in Flash full-screen mode (or transitioning to it) 599 // - we are not in Flash full-screen mode (or transitioning to it)
600 // Otherwise it destroys the layer. 600 // Otherwise it destroys the layer.
601 // It does either operation lazily. 601 // It does either operation lazily.
602 void UpdateLayer(); 602 void UpdateLayer();
603 603
604 // Internal helper function for PrintPage(). 604 // Internal helper function for PrintPage().
605 bool PrintPageHelper(PP_PrintPageNumberRange_Dev* page_ranges, 605 bool PrintPageHelper(PP_PrintPageNumberRange_Dev* page_ranges,
606 int num_ranges, 606 int num_ranges,
607 WebKit::WebCanvas* canvas); 607 blink::WebCanvas* canvas);
608 608
609 void DoSetCursor(WebKit::WebCursorInfo* cursor); 609 void DoSetCursor(blink::WebCursorInfo* cursor);
610 610
611 // Internal helper functions for HandleCompositionXXX(). 611 // Internal helper functions for HandleCompositionXXX().
612 bool SendCompositionEventToPlugin( 612 bool SendCompositionEventToPlugin(
613 PP_InputEvent_Type type, 613 PP_InputEvent_Type type,
614 const base::string16& text); 614 const base::string16& text);
615 bool SendCompositionEventWithUnderlineInformationToPlugin( 615 bool SendCompositionEventWithUnderlineInformationToPlugin(
616 PP_InputEvent_Type type, 616 PP_InputEvent_Type type,
617 const base::string16& text, 617 const base::string16& text,
618 const std::vector<WebKit::WebCompositionUnderline>& underlines, 618 const std::vector<blink::WebCompositionUnderline>& underlines,
619 int selection_start, 619 int selection_start,
620 int selection_end); 620 int selection_end);
621 621
622 // Internal helper function for XXXInputEvents(). 622 // Internal helper function for XXXInputEvents().
623 void RequestInputEventsHelper(uint32_t event_classes); 623 void RequestInputEventsHelper(uint32_t event_classes);
624 624
625 // Checks if the security origin of the document containing this instance can 625 // Checks if the security origin of the document containing this instance can
626 // assess the security origin of the main frame document. 626 // assess the security origin of the main frame document.
627 bool CanAccessMainFrame() const; 627 bool CanAccessMainFrame() const;
628 628
629 // Returns true if the WebView the plugin is in renders via the accelerated 629 // Returns true if the WebView the plugin is in renders via the accelerated
630 // compositing path. 630 // compositing path.
631 bool IsViewAccelerated(); 631 bool IsViewAccelerated();
632 632
633 // Track, set and reset size attributes to control the size of the plugin 633 // Track, set and reset size attributes to control the size of the plugin
634 // in and out of fullscreen mode. 634 // in and out of fullscreen mode.
635 void KeepSizeAttributesBeforeFullscreen(); 635 void KeepSizeAttributesBeforeFullscreen();
636 void SetSizeAttributesForFullscreen(); 636 void SetSizeAttributesForFullscreen();
637 void ResetSizeAttributesAfterFullscreen(); 637 void ResetSizeAttributesAfterFullscreen();
638 638
639 bool IsMouseLocked(); 639 bool IsMouseLocked();
640 bool LockMouse(); 640 bool LockMouse();
641 MouseLockDispatcher* GetMouseLockDispatcher(); 641 MouseLockDispatcher* GetMouseLockDispatcher();
642 MouseLockDispatcher::LockTarget* GetOrCreateLockTargetAdapter(); 642 MouseLockDispatcher::LockTarget* GetOrCreateLockTargetAdapter();
643 void UnSetAndDeleteLockTargetAdapter(); 643 void UnSetAndDeleteLockTargetAdapter();
644 644
645 void DidDataFromWebURLResponse( 645 void DidDataFromWebURLResponse(
646 const WebKit::WebURLResponse& response, 646 const blink::WebURLResponse& response,
647 int pending_host_id, 647 int pending_host_id,
648 const ppapi::URLResponseInfoData& data); 648 const ppapi::URLResponseInfoData& data);
649 649
650 RenderViewImpl* render_view_; 650 RenderViewImpl* render_view_;
651 scoped_refptr<PluginModule> module_; 651 scoped_refptr<PluginModule> module_;
652 scoped_ptr<ppapi::PPP_Instance_Combined> instance_interface_; 652 scoped_ptr<ppapi::PPP_Instance_Combined> instance_interface_;
653 // If this is the NaCl plugin, we create a new module when we switch to the 653 // If this is the NaCl plugin, we create a new module when we switch to the
654 // IPC-based PPAPI proxy. Store the original module and instance interface 654 // IPC-based PPAPI proxy. Store the original module and instance interface
655 // so we can shut down properly. 655 // so we can shut down properly.
656 scoped_refptr<PluginModule> original_module_; 656 scoped_refptr<PluginModule> original_module_;
657 scoped_ptr<ppapi::PPP_Instance_Combined> original_instance_interface_; 657 scoped_ptr<ppapi::PPP_Instance_Combined> original_instance_interface_;
658 658
659 PP_Instance pp_instance_; 659 PP_Instance pp_instance_;
660 660
661 // NULL until we have been initialized. 661 // NULL until we have been initialized.
662 WebKit::WebPluginContainer* container_; 662 blink::WebPluginContainer* container_;
663 scoped_refptr<cc::TextureLayer> texture_layer_; 663 scoped_refptr<cc::TextureLayer> texture_layer_;
664 scoped_ptr<WebKit::WebLayer> web_layer_; 664 scoped_ptr<blink::WebLayer> web_layer_;
665 bool layer_bound_to_fullscreen_; 665 bool layer_bound_to_fullscreen_;
666 bool layer_is_hardware_; 666 bool layer_is_hardware_;
667 667
668 // Plugin URL. 668 // Plugin URL.
669 GURL plugin_url_; 669 GURL plugin_url_;
670 670
671 // Indicates whether this is a full frame instance, which means it represents 671 // Indicates whether this is a full frame instance, which means it represents
672 // an entire document rather than an embed tag. 672 // an entire document rather than an embed tag.
673 bool full_frame_; 673 bool full_frame_;
674 674
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
730 #endif // defined(OS_MACOSX) 730 #endif // defined(OS_MACOSX)
731 // Always when printing to PDF on Linux and when printing for preview on Mac 731 // Always when printing to PDF on Linux and when printing for preview on Mac
732 // and Win, the entire document goes into one metafile. However, when users 732 // and Win, the entire document goes into one metafile. However, when users
733 // print only a subset of all the pages, it is impossible to know if a call 733 // print only a subset of all the pages, it is impossible to know if a call
734 // to PrintPage() is the last call. Thus in PrintPage(), just store the page 734 // to PrintPage() is the last call. Thus in PrintPage(), just store the page
735 // number in |ranges_|. The hack is in PrintEnd(), where a valid |canvas_| 735 // number in |ranges_|. The hack is in PrintEnd(), where a valid |canvas_|
736 // is preserved in PrintWebViewHelper::PrintPages. This makes it possible 736 // is preserved in PrintWebViewHelper::PrintPages. This makes it possible
737 // to generate the entire PDF given the variables below: 737 // to generate the entire PDF given the variables below:
738 // 738 //
739 // The most recently used WebCanvas, guaranteed to be valid. 739 // The most recently used WebCanvas, guaranteed to be valid.
740 skia::RefPtr<WebKit::WebCanvas> canvas_; 740 skia::RefPtr<blink::WebCanvas> canvas_;
741 // An array of page ranges. 741 // An array of page ranges.
742 std::vector<PP_PrintPageNumberRange_Dev> ranges_; 742 std::vector<PP_PrintPageNumberRange_Dev> ranges_;
743 743
744 scoped_refptr<ppapi::Resource> gamepad_impl_; 744 scoped_refptr<ppapi::Resource> gamepad_impl_;
745 745
746 // The plugin print interface. 746 // The plugin print interface.
747 const PPP_Printing_Dev* plugin_print_interface_; 747 const PPP_Printing_Dev* plugin_print_interface_;
748 748
749 // The plugin 3D interface. 749 // The plugin 3D interface.
750 const PPP_Graphics3D* plugin_graphics_3d_interface_; 750 const PPP_Graphics3D* plugin_graphics_3d_interface_;
751 751
752 // Contains the cursor if it's set by the plugin. 752 // Contains the cursor if it's set by the plugin.
753 scoped_ptr<WebKit::WebCursorInfo> cursor_; 753 scoped_ptr<blink::WebCursorInfo> cursor_;
754 754
755 // Set to true if this plugin thinks it will always be on top. This allows us 755 // Set to true if this plugin thinks it will always be on top. This allows us
756 // to use a more optimized painting path in some cases. 756 // to use a more optimized painting path in some cases.
757 bool always_on_top_; 757 bool always_on_top_;
758 // Even if |always_on_top_| is true, the plugin is not fully visible if there 758 // Even if |always_on_top_| is true, the plugin is not fully visible if there
759 // are some cut-out areas (occupied by iframes higher in the stacking order). 759 // are some cut-out areas (occupied by iframes higher in the stacking order).
760 // This information is used in the optimized painting path. 760 // This information is used in the optimized painting path.
761 std::vector<gfx::Rect> cut_outs_rects_; 761 std::vector<gfx::Rect> cut_outs_rects_;
762 762
763 // Implementation of PPB_FlashFullscreen. 763 // Implementation of PPB_FlashFullscreen.
(...skipping 12 matching lines...) Expand all
776 776
777 // Since entering fullscreen mode is an asynchronous operation, we set this 777 // Since entering fullscreen mode is an asynchronous operation, we set this
778 // variable to the desired state at the time we issue the fullscreen change 778 // variable to the desired state at the time we issue the fullscreen change
779 // request. The plugin will receive a DidChangeView event when it goes 779 // request. The plugin will receive a DidChangeView event when it goes
780 // fullscreen. 780 // fullscreen.
781 bool desired_fullscreen_state_; 781 bool desired_fullscreen_state_;
782 782
783 // WebKit does not resize the plugin when going into fullscreen mode, so we do 783 // WebKit does not resize the plugin when going into fullscreen mode, so we do
784 // this here by modifying the various plugin attributes and then restoring 784 // this here by modifying the various plugin attributes and then restoring
785 // them on exit. 785 // them on exit.
786 WebKit::WebString width_before_fullscreen_; 786 blink::WebString width_before_fullscreen_;
787 WebKit::WebString height_before_fullscreen_; 787 blink::WebString height_before_fullscreen_;
788 WebKit::WebString border_before_fullscreen_; 788 blink::WebString border_before_fullscreen_;
789 WebKit::WebString style_before_fullscreen_; 789 blink::WebString style_before_fullscreen_;
790 gfx::Size screen_size_for_fullscreen_; 790 gfx::Size screen_size_for_fullscreen_;
791 791
792 // The MessageChannel used to implement bidirectional postMessage for the 792 // The MessageChannel used to implement bidirectional postMessage for the
793 // instance. 793 // instance.
794 scoped_ptr<MessageChannel> message_channel_; 794 scoped_ptr<MessageChannel> message_channel_;
795 795
796 // Bitmap for crashed plugin. Lazily initialized, non-owning pointer. 796 // Bitmap for crashed plugin. Lazily initialized, non-owning pointer.
797 SkBitmap* sad_plugin_; 797 SkBitmap* sad_plugin_;
798 798
799 typedef std::set<PluginObject*> PluginObjectSet; 799 typedef std::set<PluginObject*> PluginObjectSet;
(...skipping 13 matching lines...) Expand all
813 // Text selection status. 813 // Text selection status.
814 std::string surrounding_text_; 814 std::string surrounding_text_;
815 size_t selection_caret_; 815 size_t selection_caret_;
816 size_t selection_anchor_; 816 size_t selection_anchor_;
817 817
818 scoped_refptr<ppapi::TrackedCallback> lock_mouse_callback_; 818 scoped_refptr<ppapi::TrackedCallback> lock_mouse_callback_;
819 819
820 // Track pending user gestures so out-of-process plugins can respond to 820 // Track pending user gestures so out-of-process plugins can respond to
821 // a user gesture after it has been processed. 821 // a user gesture after it has been processed.
822 PP_TimeTicks pending_user_gesture_; 822 PP_TimeTicks pending_user_gesture_;
823 WebKit::WebUserGestureToken pending_user_gesture_token_; 823 blink::WebUserGestureToken pending_user_gesture_token_;
824 824
825 // We store the arguments so we can re-send them if we are reset to talk to 825 // We store the arguments so we can re-send them if we are reset to talk to
826 // NaCl via the IPC NaCl proxy. 826 // NaCl via the IPC NaCl proxy.
827 std::vector<std::string> argn_; 827 std::vector<std::string> argn_;
828 std::vector<std::string> argv_; 828 std::vector<std::string> argv_;
829 829
830 // Non-owning pointer to the document loader, if any. 830 // Non-owning pointer to the document loader, if any.
831 WebKit::WebURLLoaderClient* document_loader_; 831 blink::WebURLLoaderClient* document_loader_;
832 // State for deferring document loads. Used only by external instances. 832 // State for deferring document loads. Used only by external instances.
833 WebKit::WebURLResponse external_document_response_; 833 blink::WebURLResponse external_document_response_;
834 scoped_ptr<ExternalDocumentLoader> external_document_loader_; 834 scoped_ptr<ExternalDocumentLoader> external_document_loader_;
835 bool external_document_load_; 835 bool external_document_load_;
836 836
837 // The ContentDecryptorDelegate forwards PPP_ContentDecryptor_Private 837 // The ContentDecryptorDelegate forwards PPP_ContentDecryptor_Private
838 // calls and handles PPB_ContentDecryptor_Private calls. 838 // calls and handles PPB_ContentDecryptor_Private calls.
839 scoped_ptr<ContentDecryptorDelegate> content_decryptor_delegate_; 839 scoped_ptr<ContentDecryptorDelegate> content_decryptor_delegate_;
840 840
841 // Dummy NPP value used when calling in to WebBindings, to allow the bindings 841 // Dummy NPP value used when calling in to WebBindings, to allow the bindings
842 // to correctly track NPObjects belonging to this plugin instance. 842 // to correctly track NPObjects belonging to this plugin instance.
843 scoped_ptr<struct _NPP> npp_; 843 scoped_ptr<struct _NPP> npp_;
(...skipping 11 matching lines...) Expand all
855 // view change events. 855 // view change events.
856 base::WeakPtrFactory<PepperPluginInstanceImpl> view_change_weak_ptr_factory_; 856 base::WeakPtrFactory<PepperPluginInstanceImpl> view_change_weak_ptr_factory_;
857 857
858 friend class PpapiPluginInstanceTest; 858 friend class PpapiPluginInstanceTest;
859 DISALLOW_COPY_AND_ASSIGN(PepperPluginInstanceImpl); 859 DISALLOW_COPY_AND_ASSIGN(PepperPluginInstanceImpl);
860 }; 860 };
861 861
862 } // namespace content 862 } // namespace content
863 863
864 #endif // CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_INSTANCE_IMPL_H_ 864 #endif // CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_INSTANCE_IMPL_H_
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_graphics_2d_host.cc ('k') | content/renderer/pepper/pepper_plugin_instance_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698