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

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

Issue 19828007: Hide knowledge of webkit::ppapi::Plugin from chrome. This is part of moving ppapi implementation fr… (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 17 matching lines...) Expand all
28 #include "ppapi/c/pp_time.h" 28 #include "ppapi/c/pp_time.h"
29 #include "ppapi/c/pp_var.h" 29 #include "ppapi/c/pp_var.h"
30 #include "ppapi/c/ppb_audio_config.h" 30 #include "ppapi/c/ppb_audio_config.h"
31 #include "ppapi/c/ppb_gamepad.h" 31 #include "ppapi/c/ppb_gamepad.h"
32 #include "ppapi/c/ppb_input_event.h" 32 #include "ppapi/c/ppb_input_event.h"
33 #include "ppapi/c/ppp_graphics_3d.h" 33 #include "ppapi/c/ppp_graphics_3d.h"
34 #include "ppapi/c/ppp_input_event.h" 34 #include "ppapi/c/ppp_input_event.h"
35 #include "ppapi/c/ppp_messaging.h" 35 #include "ppapi/c/ppp_messaging.h"
36 #include "ppapi/c/ppp_mouse_lock.h" 36 #include "ppapi/c/ppp_mouse_lock.h"
37 #include "ppapi/c/private/ppb_content_decryptor_private.h" 37 #include "ppapi/c/private/ppb_content_decryptor_private.h"
38 #include "ppapi/c/private/ppb_nacl_private.h"
39 #include "ppapi/c/private/ppp_instance_private.h" 38 #include "ppapi/c/private/ppp_instance_private.h"
40 #include "ppapi/shared_impl/ppb_instance_shared.h" 39 #include "ppapi/shared_impl/ppb_instance_shared.h"
41 #include "ppapi/shared_impl/ppb_view_shared.h" 40 #include "ppapi/shared_impl/ppb_view_shared.h"
42 #include "ppapi/shared_impl/singleton_resource_id.h" 41 #include "ppapi/shared_impl/singleton_resource_id.h"
43 #include "ppapi/shared_impl/tracked_callback.h" 42 #include "ppapi/shared_impl/tracked_callback.h"
44 #include "ppapi/thunk/ppb_gamepad_api.h" 43 #include "ppapi/thunk/ppb_gamepad_api.h"
45 #include "ppapi/thunk/resource_creation_api.h" 44 #include "ppapi/thunk/resource_creation_api.h"
46 #include "skia/ext/refptr.h" 45 #include "skia/ext/refptr.h"
47 #include "third_party/WebKit/public/platform/WebCanvas.h" 46 #include "third_party/WebKit/public/platform/WebCanvas.h"
48 #include "third_party/WebKit/public/platform/WebString.h" 47 #include "third_party/WebKit/public/platform/WebString.h"
49 #include "third_party/WebKit/public/platform/WebURLLoaderClient.h" 48 #include "third_party/WebKit/public/platform/WebURLLoaderClient.h"
50 #include "third_party/WebKit/public/platform/WebURLResponse.h" 49 #include "third_party/WebKit/public/platform/WebURLResponse.h"
51 #include "third_party/WebKit/public/web/WebPlugin.h" 50 #include "third_party/WebKit/public/web/WebPlugin.h"
52 #include "third_party/WebKit/public/web/WebUserGestureToken.h" 51 #include "third_party/WebKit/public/web/WebUserGestureToken.h"
53 #include "ui/base/ime/text_input_type.h" 52 #include "ui/base/ime/text_input_type.h"
54 #include "ui/gfx/rect.h" 53 #include "ui/gfx/rect.h"
55 #include "url/gurl.h" 54 #include "url/gurl.h"
56 #include "webkit/plugins/ppapi/plugin_delegate.h" 55 #include "webkit/plugins/ppapi/plugin_delegate.h"
57 #include "webkit/plugins/ppapi/ppp_pdf.h" 56 #include "webkit/plugins/ppapi/ppp_pdf.h"
58 #include "webkit/plugins/webkit_plugins_export.h" 57 #include "webkit/plugins/webkit_plugins_export.h"
59 58
60 struct PP_Point; 59 struct PP_Point;
61 struct _NPP; 60 struct _NPP;
62 61
63 class SkBitmap; 62 class SkBitmap;
64 class TransportDIB; 63 class TransportDIB;
65 64
65 namespace IPC {
66 struct ChannelHandle;
67 }
68
66 namespace WebKit { 69 namespace WebKit {
67 class WebInputEvent; 70 class WebInputEvent;
68 class WebLayer; 71 class WebLayer;
69 class WebMouseEvent; 72 class WebMouseEvent;
70 class WebPluginContainer; 73 class WebPluginContainer;
71 class WebURLLoader; 74 class WebURLLoader;
72 class WebURLResponse; 75 class WebURLResponse;
73 struct WebCompositionUnderline; 76 struct WebCompositionUnderline;
74 struct WebCursorInfo; 77 struct WebCursorInfo;
75 struct WebURLError; 78 struct WebURLError;
76 struct WebPrintParams; 79 struct WebPrintParams;
77 } 80 }
78 81
79 namespace cc { 82 namespace cc {
80 class TextureLayer; 83 class TextureLayer;
81 } 84 }
82 85
83 namespace content { 86 namespace content {
84 class RenderView; 87 class RenderView;
85 } 88 }
86 89
87 namespace gfx { 90 namespace gfx {
88 class ImageSkia; 91 class ImageSkia;
89 } 92 }
90 93
91 namespace ppapi { 94 namespace ppapi {
95 class PpapiPermissions;
96 class Resource;
92 struct InputEventData; 97 struct InputEventData;
93 struct PPP_Instance_Combined; 98 struct PPP_Instance_Combined;
94 class Resource;
95 struct URLRequestInfoData; 99 struct URLRequestInfoData;
96 } 100 }
97 101
98 namespace ui { 102 namespace ui {
99 class Range; 103 class Range;
100 } 104 }
101 105
102 namespace v8 { 106 namespace v8 {
103 class Isolate; 107 class Isolate;
104 } 108 }
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 virtual void DeliverFrame(PP_Instance instance, 493 virtual void DeliverFrame(PP_Instance instance,
490 PP_Resource decrypted_frame, 494 PP_Resource decrypted_frame,
491 const PP_DecryptedFrameInfo* frame_info) OVERRIDE; 495 const PP_DecryptedFrameInfo* frame_info) OVERRIDE;
492 virtual void DeliverSamples(PP_Instance instance, 496 virtual void DeliverSamples(PP_Instance instance,
493 PP_Resource audio_frames, 497 PP_Resource audio_frames,
494 const PP_DecryptedBlockInfo* block_info) OVERRIDE; 498 const PP_DecryptedBlockInfo* block_info) OVERRIDE;
495 499
496 // Reset this instance as proxied. Assigns the instance a new module, resets 500 // Reset this instance as proxied. Assigns the instance a new module, resets
497 // cached interfaces to point to the out-of-process proxy and re-sends 501 // cached interfaces to point to the out-of-process proxy and re-sends
498 // DidCreate, DidChangeView, and HandleDocumentLoad (if necessary). 502 // DidCreate, DidChangeView, and HandleDocumentLoad (if necessary).
499 // This should be used only when switching a trusted NaCl in-process instance 503 // This should be used only when switching a trusted NaCl in-process instance
bbudge 2013/07/23 23:59:58 s/NaCl//
500 // to an untrusted NaCl out-of-process instance. 504 // to an untrusted NaCl out-of-process instance.
501 PP_NaClResult ResetAsProxied(scoped_refptr<PluginModule> module); 505 PP_ExternalPluginResult ResetAsProxied(scoped_refptr<PluginModule> module);
502 506
503 // Checks whether this is a valid instance of the given module. After calling 507 // Checks whether this is a valid instance of the given module. After calling
504 // ResetAsProxied above, a NaCl plugin instance's module changes, so external 508 // ResetAsProxied above, a NaCl plugin instance's module changes, so external
bbudge 2013/07/23 23:59:58 s/a NaCl/an external/
jam 2013/07/24 05:07:39 Done.
505 // hosts won't recognize it as a valid instance of the original module. This 509 // hosts won't recognize it as a valid instance of the original module. This
506 // method fixes that be checking that either module_ or original_module_ match 510 // method fixes that be checking that either module_ or original_module_ match
507 // the given module. 511 // the given module.
508 bool IsValidInstanceOf(PluginModule* module); 512 bool IsValidInstanceOf(PluginModule* module);
509 513
510 // Returns the plugin NPP identifier that this plugin will use to identify 514 // Returns the plugin NPP identifier that this plugin will use to identify
511 // itself when making NPObject scripting calls to WebBindings. 515 // itself when making NPObject scripting calls to WebBindings.
512 struct _NPP* instanceNPP(); 516 struct _NPP* instanceNPP();
513 517
514 // Returns the v8::Isolate that was current when this Instance was created. 518 // Returns the v8::Isolate that was current when this Instance was created.
515 // This is not inlined so as to avoid an unnecessary header include of v8.h. 519 // This is not inlined so as to avoid an unnecessary header include of v8.h.
516 v8::Isolate* GetIsolate() const; 520 v8::Isolate* GetIsolate() const;
517 521
518 // Returns a reference to a file with the given path. 522 // Returns a reference to a file with the given path.
519 // The returned object will have a refcount of 0 (just like "new"). 523 // The returned object will have a refcount of 0 (just like "new").
520 PP_Resource CreateExternalFileReference( 524 PP_Resource CreateExternalFileReference(
521 const base::FilePath& external_file_path); 525 const base::FilePath& external_file_path);
522 526
523 // Creates a PPB_ImageData given a Skia image. 527 // Creates a PPB_ImageData given a Skia image.
524 PP_Resource CreateImage(gfx::ImageSkia* source_image, float scale); 528 PP_Resource CreateImage(gfx::ImageSkia* source_image, float scale);
525 529
530 // Returns the location of this module.
531 base::FilePath GetModulePath();
532
533 // Switches this instance with one that uses the out of process IPC proxy.
534 PP_ExternalPluginResult SwitchToOutOfProcessProxy(
535 const base::FilePath& file_path,
536 ::ppapi::PpapiPermissions permissions,
537 const IPC::ChannelHandle& channel_handle,
538 base::ProcessId plugin_pid,
539 int plugin_child_id);
540
526 private: 541 private:
527 friend class PpapiUnittest; 542 friend class PpapiUnittest;
528 543
529 // Class to record document load notifications and play them back once the 544 // Class to record document load notifications and play them back once the
530 // real document loader becomes available. Used only by NaCl instances. 545 // real document loader becomes available. Used only by NaCl instances.
531 class NaClDocumentLoader : public WebKit::WebURLLoaderClient { 546 class NaClDocumentLoader : public WebKit::WebURLLoaderClient {
532 public: 547 public:
533 NaClDocumentLoader(); 548 NaClDocumentLoader();
534 virtual ~NaClDocumentLoader(); 549 virtual ~NaClDocumentLoader();
535 550
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
866 v8::Isolate* isolate_; 881 v8::Isolate* isolate_;
867 882
868 friend class PpapiPluginInstanceTest; 883 friend class PpapiPluginInstanceTest;
869 DISALLOW_COPY_AND_ASSIGN(PluginInstance); 884 DISALLOW_COPY_AND_ASSIGN(PluginInstance);
870 }; 885 };
871 886
872 } // namespace ppapi 887 } // namespace ppapi
873 } // namespace webkit 888 } // namespace webkit
874 889
875 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_ 890 #endif // WEBKIT_PLUGINS_PPAPI_PPAPI_PLUGIN_INSTANCE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698