Index: android_webview/browser/renderer_host/aw_render_view_host_ext.cc |
diff --git a/android_webview/browser/renderer_host/aw_render_view_host_ext.cc b/android_webview/browser/renderer_host/aw_render_view_host_ext.cc |
index 38b3a95ac510376e7ed23c4565fa4515980228d0..8ef18b6cc11579548864f025ee7f96ab1333d450 100644 |
--- a/android_webview/browser/renderer_host/aw_render_view_host_ext.cc |
+++ b/android_webview/browser/renderer_host/aw_render_view_host_ext.cc |
@@ -5,11 +5,13 @@ |
#include "android_webview/browser/renderer_host/aw_render_view_host_ext.h" |
#include "android_webview/browser/aw_browser_context.h" |
+#include "android_webview/browser/scoped_allow_wait_for_legacy_web_view_api.h" |
#include "android_webview/common/render_view_messages.h" |
#include "base/android/scoped_java_ref.h" |
#include "base/callback.h" |
#include "base/logging.h" |
#include "content/public/browser/render_process_host.h" |
+#include "content/public/browser/render_view_host.h" |
#include "content/public/browser/user_metrics.h" |
#include "content/public/browser/web_contents.h" |
#include "content/public/common/frame_navigate_params.h" |
@@ -63,6 +65,11 @@ const AwHitTestData& AwRenderViewHostExt::GetLastHitTestData() const { |
return last_hit_test_data_; |
} |
+void AwRenderViewHostExt::EnableCapturePictureCallback(bool enabled) { |
+ Send(new AwViewMsg_EnableCapturePictureCallback( |
+ web_contents()->GetRoutingID(), enabled)); |
+} |
+ |
void AwRenderViewHostExt::RenderViewGone(base::TerminationStatus status) { |
DCHECK(CalledOnValidThread()); |
for (std::map<int, DocumentHasImagesResult>::iterator pending_req = |
@@ -123,4 +130,18 @@ void AwRenderViewHostExt::OnPictureUpdated() { |
routing_id()); |
} |
+bool AwRenderViewHostExt::IsRenderViewReady() const { |
+ return web_contents()->GetRenderProcessHost()->HasConnection() && |
+ web_contents()->GetRenderViewHost() && |
+ web_contents()->GetRenderViewHost()->IsRenderViewLive(); |
+} |
+ |
+void AwRenderViewHostExt::CapturePictureSync() { |
+ if (!IsRenderViewReady()) |
+ return; |
+ |
+ ScopedAllowWaitForLegacyWebViewApi wait; |
+ Send(new AwViewMsg_CapturePictureSync(web_contents()->GetRoutingID())); |
+} |
+ |
} // namespace android_webview |