Index: android_webview/renderer/aw_content_renderer_client.cc |
diff --git a/android_webview/renderer/aw_content_renderer_client.cc b/android_webview/renderer/aw_content_renderer_client.cc |
index 9ae387b3a5b30efa58fdfc3acca300394919f7ee..f4f0b1efb5811ad1f7b37b3a58173bca3fbc1e96 100644 |
--- a/android_webview/renderer/aw_content_renderer_client.cc |
+++ b/android_webview/renderer/aw_content_renderer_client.cc |
@@ -7,6 +7,7 @@ |
#include "android_webview/common/aw_resource.h" |
#include "android_webview/common/render_view_messages.h" |
#include "android_webview/common/url_constants.h" |
+#include "android_webview/renderer/aw_execution_termination_filter.h" |
#include "android_webview/renderer/aw_key_systems.h" |
#include "android_webview/renderer/aw_permission_client.h" |
#include "android_webview/renderer/aw_render_frame_ext.h" |
@@ -31,6 +32,7 @@ |
#include "third_party/WebKit/public/platform/WebURLError.h" |
#include "third_party/WebKit/public/platform/WebURLRequest.h" |
#include "third_party/WebKit/public/web/WebFrame.h" |
+#include "third_party/WebKit/public/web/WebKit.h" |
#include "third_party/WebKit/public/web/WebNavigationType.h" |
#include "third_party/WebKit/public/web/WebSecurityPolicy.h" |
#include "url/gurl.h" |
@@ -61,6 +63,17 @@ void AwContentRendererClient::RenderThreadStarted() { |
visited_link_slave_.reset(new visitedlink::VisitedLinkSlave); |
thread->AddObserver(visited_link_slave_.get()); |
+ |
+ execution_termination_filter_ = new AwExecutionTerminationFilter( |
+ thread->GetIOMessageLoopProxy(), |
+ thread->GetMessageLoop()->message_loop_proxy()); |
+ thread->AddFilter(execution_termination_filter_.get()); |
+ thread->AddObserver(this); |
+} |
+ |
+void AwContentRendererClient::WebKitInitialized() { |
+ execution_termination_filter_->SetRenderThreadIsolate( |
+ blink::mainThreadIsolate()); |
} |
bool AwContentRendererClient::HandleNavigation( |