| Index: content/browser/frame_host/render_frame_host_impl.h
|
| diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h
|
| index c155890899f092079a805428334ff323ac41d32a..2d36c0fe72300a69b391225c34058d47afdddb7b 100644
|
| --- a/content/browser/frame_host/render_frame_host_impl.h
|
| +++ b/content/browser/frame_host/render_frame_host_impl.h
|
| @@ -19,6 +19,7 @@
|
| #include "base/gtest_prod_util.h"
|
| #include "base/macros.h"
|
| #include "base/memory/weak_ptr.h"
|
| +#include "base/optional.h"
|
| #include "base/strings/string16.h"
|
| #include "base/supports_user_data.h"
|
| #include "base/time/time.h"
|
| @@ -135,6 +136,10 @@ class CONTENT_EXPORT RenderFrameHostImpl
|
| static RenderFrameHostImpl* FromID(int process_id, int routing_id);
|
| static RenderFrameHostImpl* FromAXTreeID(
|
| ui::AXTreeIDRegistry::AXTreeID ax_tree_id);
|
| +#if defined(OS_ANDROID)
|
| + static RenderFrameHostImpl* FromOverlayRoutingToken(
|
| + const base::UnguessableToken& token);
|
| +#endif
|
|
|
| ~RenderFrameHostImpl() override;
|
|
|
| @@ -633,6 +638,14 @@ class CONTENT_EXPORT RenderFrameHostImpl
|
| #if defined(OS_ANDROID)
|
| base::android::ScopedJavaLocalRef<jobject> GetJavaRenderFrameHost();
|
| service_manager::InterfaceProvider* GetJavaInterfaces() override;
|
| +
|
| + // Returns an unguessable token for this RFHI. This provides a temporary way
|
| + // to identify a RenderFrameHost that's compatible with IPC. Else, one needs
|
| + // to send pid + RoutingID, but one cannot send pid. One can get it from the
|
| + // channel, but this makes it much harder to get wrong.
|
| + // Once media switches to mojo, we should be able to remove this in favor of
|
| + // sending a mojo overlay factory.
|
| + const base::UnguessableToken& GetOverlayRoutingToken();
|
| #endif
|
|
|
| protected:
|
| @@ -791,6 +804,10 @@ class CONTENT_EXPORT RenderFrameHostImpl
|
| void OnNavigationHandledByEmbedder();
|
| void ForwardGetInterfaceToRenderFrame(const std::string& interface_name,
|
| mojo::ScopedMessagePipeHandle pipe);
|
| +
|
| + // Called when the frame would like an overlay routing token. This will
|
| + // create one if needed. Either way, it will send it to the frame.
|
| + void OnRequestOverlayRoutingToken();
|
| #endif
|
| void OnShowCreatedWindow(int pending_widget_routing_id,
|
| WindowOpenDisposition disposition,
|
| @@ -1177,6 +1194,10 @@ class CONTENT_EXPORT RenderFrameHostImpl
|
| // RenderFrame. This provides access to interfaces implemented in the renderer
|
| // to Java code in the browser process.
|
| std::unique_ptr<service_manager::InterfaceRegistry> java_interface_registry_;
|
| +
|
| + // IPC-friendly token that represents this host for AndroidOverlays, if we
|
| + // have created one yet.
|
| + base::Optional<base::UnguessableToken> overlay_routing_token_;
|
| #endif
|
|
|
| // NOTE: This must be the last member.
|
|
|