Chromium Code Reviews| Index: extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h |
| diff --git a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h |
| index 5fcf51637814afd5ada14b88d104c5dbbcd331e7..facbf041f935cedd9c641f1083f2ed33d0b44f64 100644 |
| --- a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h |
| +++ b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.h |
| @@ -5,10 +5,13 @@ |
| #ifndef EXTENSIONS_RENDERER_GUEST_VIEW_MIME_HANDLER_VIEW_CONTAINER_H_ |
| #define EXTENSIONS_RENDERER_GUEST_VIEW_MIME_HANDLER_VIEW_CONTAINER_H_ |
| +#include "base/memory/weak_ptr.h" |
| #include "extensions/renderer/guest_view/guest_view_container.h" |
| +#include "extensions/renderer/scoped_persistent.h" |
| #include "third_party/WebKit/public/platform/WebURLLoader.h" |
| #include "third_party/WebKit/public/platform/WebURLLoaderClient.h" |
| #include "url/gurl.h" |
| +#include "v8/include/v8.h" |
| namespace extensions { |
| @@ -37,9 +40,10 @@ class MimeHandlerViewContainer : public GuestViewContainer, |
| ~MimeHandlerViewContainer() override; |
| // BrowserPluginDelegate implementation. |
| + void Ready() override; |
| void DidFinishLoading() override; |
| void DidReceiveData(const char* data, int data_length) override; |
| - void Ready() override; |
| + v8::Local<v8::Object> v8ScriptableObject(v8::Isolate*) override; |
| // GuestViewContainer overrides. |
| bool HandlesMessage(const IPC::Message& message) override; |
| @@ -54,9 +58,15 @@ class MimeHandlerViewContainer : public GuestViewContainer, |
| double finish_time, |
| int64_t total_encoded_data_length) override; |
| + // Post a JavaScript message to the guest. |
| + void PostMessage(v8::Isolate* isolate, |
| + v8::Handle<v8::Value> message); |
| + |
| private: |
| // Message handlers. |
| void OnCreateMimeHandlerViewGuestACK(int element_instance_id); |
| + void OnGuestAttached(int element_instance_id, |
| + int guest_proxy_routing_id); |
| void CreateMimeHandlerViewGuest(); |
| @@ -72,10 +82,19 @@ class MimeHandlerViewContainer : public GuestViewContainer, |
| // The original URL of the plugin. |
| GURL original_url_; |
| + // Save the RenderView RoutingID of the guest here so it can be used to route |
|
Sam McNally
2014/12/18 05:36:47
This comment should be where the routing ID is sav
raymes
2014/12/19 00:00:16
Done.
raymes
2014/12/19 00:00:16
Done.
|
| + // PostMessage calls. |
| + int guest_proxy_routing_id_; |
| + |
| // A URL loader to load the |original_url_| when the plugin is embedded. In |
| // the embedded case, no URL request is made automatically. |
| scoped_ptr<blink::WebURLLoader> loader_; |
| + // The scriptable object that backs the plugin. |
| + ScopedPersistent<v8::Object> scriptable_object_; |
| + |
| + base::WeakPtrFactory<MimeHandlerViewContainer> weak_factory_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(MimeHandlerViewContainer); |
| }; |