Index: content/renderer/web_frame_utils.cc |
diff --git a/content/renderer/web_frame_utils.cc b/content/renderer/web_frame_utils.cc |
index 6cc52aacd379c0ea38646f07c00a3afe95fba76f..ee721478c55805817f9bdc51e69edaeefdfaa339 100644 |
--- a/content/renderer/web_frame_utils.cc |
+++ b/content/renderer/web_frame_utils.cc |
@@ -8,6 +8,8 @@ |
#include "content/renderer/render_frame_proxy.h" |
#include "ipc/ipc_message.h" |
#include "third_party/WebKit/public/web/WebFrame.h" |
+#include "third_party/WebKit/public/web/WebLocalFrame.h" |
+#include "third_party/WebKit/public/web/WebRemoteFrame.h" |
namespace content { |
@@ -19,4 +21,16 @@ int GetRoutingIdForFrameOrProxy(blink::WebFrame* web_frame) { |
return RenderFrameImpl::FromWebFrame(web_frame)->GetRoutingID(); |
} |
+blink::WebFrame* GetWebFrameFromRoutingIdForFrameOrProxy(int routing_id) { |
+ auto* render_frame = RenderFrameImpl::FromRoutingID(routing_id); |
+ if (render_frame) |
+ return render_frame->GetWebFrame(); |
+ |
+ auto* render_frame_proxy = RenderFrameProxy::FromRoutingID(routing_id); |
+ if (render_frame_proxy) |
+ return render_frame_proxy->web_frame(); |
+ |
+ return nullptr; |
+} |
+ |
} // namespace content |