Chromium Code Reviews| Index: android_webview/renderer/aw_render_view_ext.cc |
| diff --git a/android_webview/renderer/aw_render_view_ext.cc b/android_webview/renderer/aw_render_view_ext.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..46190b32f95986d24fa9d1c92c15daa126622937 |
| --- /dev/null |
| +++ b/android_webview/renderer/aw_render_view_ext.cc |
| @@ -0,0 +1,57 @@ |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "android_webview/renderer/aw_render_view_ext.h" |
| + |
| +#include "android_webview/common/render_view_messages.h" |
| +#include "content/public/renderer/render_view.h" |
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" |
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebElement.h" |
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" |
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" |
| +#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h" |
| + |
| +namespace android_webview { |
| + |
| +namespace { |
| + |
| +} // namespace |
| + |
| + |
| +AwRenderViewExt::AwRenderViewExt(content::RenderView* render_view) |
| + : content::RenderViewObserver(render_view) { |
| +} |
| + |
| +AwRenderViewExt::~AwRenderViewExt() {} |
| + |
| +// static |
| +void AwRenderViewExt::RenderViewCreated(content::RenderView* render_view) { |
| + new AwRenderViewExt(render_view); // |render_view| takes ownership. |
| +} |
| + |
| +bool AwRenderViewExt::OnMessageReceived(const IPC::Message& message) { |
| + bool handled = true; |
| + IPC_BEGIN_MESSAGE_MAP(AwRenderViewExt, message) |
| + IPC_MESSAGE_HANDLER(AwViewMsg_DocumentHasImages, OnDocumentHasImagesRequest) |
| + IPC_MESSAGE_UNHANDLED(handled = false) |
| + IPC_END_MESSAGE_MAP() |
| + return handled; |
| +} |
| + |
| + |
|
benm (inactive)
2012/08/30 13:30:46
extra new line?
joth
2012/08/30 17:26:53
Done.
|
| +void AwRenderViewExt::OnDocumentHasImagesRequest(int id) { |
| + bool hasImages = false; |
| + if (render_view()) { |
| + WebKit::WebView* webview = render_view()->GetWebView(); |
| + if (webview) { |
| + WebKit::WebVector<WebKit::WebElement> images; |
| + webview->mainFrame()->document().images(images); |
| + hasImages = !images.isEmpty(); |
| + } |
| + } |
| + Send(new AwViewHostMsg_DocumentHasImagesResponse(routing_id(), id, |
| + hasImages)); |
| +} |
| + |
| +} // namespace android_webview |