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

Unified Diff: android_webview/renderer/aw_content_renderer_client.cc

Issue 135443002: Fix race condition introduced in r242200 where AwContentsIoThreadClient is queried before a subfram… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 6 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « android_webview/native/aw_contents_io_thread_client_impl.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: android_webview/renderer/aw_content_renderer_client.cc
===================================================================
--- android_webview/renderer/aw_content_renderer_client.cc (revision 244357)
+++ android_webview/renderer/aw_content_renderer_client.cc (working copy)
@@ -21,6 +21,7 @@
#include "content/public/renderer/navigation_state.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_thread.h"
+#include "content/public/renderer/render_view.h"
#include "net/base/net_errors.h"
#include "third_party/WebKit/public/platform/WebString.h"
#include "third_party/WebKit/public/platform/WebURL.h"
@@ -116,6 +117,17 @@
void AwContentRendererClient::RenderFrameCreated(
content::RenderFrame* render_frame) {
new AwPermissionClient(render_frame);
+
+ // TODO(jam): when a RenderFrame is per WebFrame, this can be simplified by
+ // getting a RenderFrame's WebFrame and calling its parent() method.
+ content::RenderFrame* parent_frame =
+ render_frame->GetRenderView()->GetMainRenderFrame();
+ if (parent_frame && parent_frame != render_frame) {
+ // Avoid any race conditions from having the browser's UI thread tell the IO
+ // thread that a subframe was created.
+ RenderThread::Get()->Send(new AwViewHostMsg_SubFrameCreated(
+ parent_frame->GetRoutingID(), render_frame->GetRoutingID()));
+ }
}
void AwContentRendererClient::RenderViewCreated(
« no previous file with comments | « android_webview/native/aw_contents_io_thread_client_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698