| 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
|
| + // 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);
|
| };
|
|
|
|
|