summaryrefslogtreecommitdiffstats
path: root/android_webview
diff options
context:
space:
mode:
authornduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-13 05:36:37 +0000
committernduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-13 05:36:37 +0000
commit3af0e712abed11b4ee8ff97442e4554094a3279f (patch)
treebcb006897801920a3546c2beb469aaa5d862c598 /android_webview
parenta0203789c00ca108311f34e237e5a979a3995da0 (diff)
downloadchromium_src-3af0e712abed11b4ee8ff97442e4554094a3279f.zip
chromium_src-3af0e712abed11b4ee8ff97442e4554094a3279f.tar.gz
chromium_src-3af0e712abed11b4ee8ff97442e4554094a3279f.tar.bz2
Revert 182106
Failures: http://build.chromium.org/p/chromium.linux/buildstatus?builder=Android%20Tests%20%28dbg%29&number=7589 > Expose the capturePicture feature in RenderView for Android WebView legacy API support. > > These methods are required to implement WebView.capturePicture and WebView.PictureListener.onNewPicture. > - http://developer.android.com/reference/android/webkit/WebView.html#capturePicture() > - http://developer.android.com/reference/android/webkit/WebView.PictureListener.html > > BUG=167908,167913 > > Review URL: https://chromiumcodereview.appspot.com/11861008 TBR=leandrogracia@chromium.org Review URL: https://codereview.chromium.org/12211149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182124 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'android_webview')
-rw-r--r--android_webview/lib/main/aw_main_delegate.cc9
-rw-r--r--android_webview/native/aw_contents.cc5
-rw-r--r--android_webview/renderer/aw_render_view_ext.cc33
-rw-r--r--android_webview/renderer/aw_render_view_ext.h7
4 files changed, 34 insertions, 20 deletions
diff --git a/android_webview/lib/main/aw_main_delegate.cc b/android_webview/lib/main/aw_main_delegate.cc
index 2a8954f..5c6399b 100644
--- a/android_webview/lib/main/aw_main_delegate.cc
+++ b/android_webview/lib/main/aw_main_delegate.cc
@@ -31,6 +31,15 @@ bool AwMainDelegate::BasicStartupComplete(int* exit_code) {
// Set the command line to enable synchronous API compatibility.
command_line->AppendSwitch(switches::kEnableWebViewSynchronousAPIs);
+ // TODO(leandrogracia): enable with the CapturePicture API support.
+ if (false) {
+ // Enable impl-side painting in the compositor.
+ command_line->AppendSwitch(switches::kForceCompositingMode);
+ command_line->AppendSwitch(switches::kEnableThreadedCompositing);
+ command_line->AppendSwitch(switches::kEnableDeferredImageDecoding);
+ command_line->AppendSwitch(cc::switches::kEnableImplSidePainting);
+ }
+
return false;
}
diff --git a/android_webview/native/aw_contents.cc b/android_webview/native/aw_contents.cc
index eb2d6ec..1fd2ec1 100644
--- a/android_webview/native/aw_contents.cc
+++ b/android_webview/native/aw_contents.cc
@@ -554,8 +554,9 @@ void AwContents::Destroy(JNIEnv* env, jobject obj) {
void SetAwDrawSWFunctionTable(JNIEnv* env, jclass, jint function_table) {
g_draw_sw_functions =
reinterpret_cast<AwDrawSWFunctionTable*>(function_table);
- g_is_skia_version_compatible =
- g_draw_sw_functions->is_skia_version_compatible(&SkGraphics::GetVersion);
+ // TODO(leandrogracia): uncomment once the glue layer implements this method.
+ //g_is_skia_version_compatible =
+ // g_draw_sw_functions->is_skia_version_compatible(&SkGraphics::GetVersion);
LOG_IF(WARNING, !g_is_skia_version_compatible) <<
"Skia native versions are not compatible.";
}
diff --git a/android_webview/renderer/aw_render_view_ext.cc b/android_webview/renderer/aw_render_view_ext.cc
index a193d89..b381352 100644
--- a/android_webview/renderer/aw_render_view_ext.cc
+++ b/android_webview/renderer/aw_render_view_ext.cc
@@ -15,7 +15,6 @@
#include "content/public/renderer/android_content_detection_prefixes.h"
#include "content/public/renderer/document_state.h"
#include "content/public/renderer/render_view.h"
-#include "skia/ext/refptr.h"
#include "third_party/WebKit/Source/Platform/chromium/public/WebSize.h"
#include "third_party/WebKit/Source/Platform/chromium/public/WebURL.h"
#include "third_party/WebKit/Source/Platform/chromium/public/WebVector.h"
@@ -28,7 +27,6 @@
#include "third_party/WebKit/Source/WebKit/chromium/public/WebNodeList.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h"
-#include "third_party/skia/include/core/SkPicture.h"
namespace android_webview {
@@ -129,13 +127,18 @@ void PopulateHitTestData(const GURL& absolute_link_url,
AwRenderViewExt::AwRenderViewExt(content::RenderView* render_view)
: content::RenderViewObserver(render_view) {
render_view->GetWebView()->setPermissionClient(this);
+ // TODO(leandrogracia): enable once the feature is available in RenderView.
// TODO(leandrogracia): remove when SW rendering uses Ubercompositor.
// Until then we need the callback enabled for SW mode invalidation.
// http://crbug.com/170086.
- capture_picture_enabled_ = true;
+ //render_view->SetCapturePictureCallback(
+ // base::Bind(&AwRenderViewExt::OnPictureUpdate, AsWeakPtr()));
}
AwRenderViewExt::~AwRenderViewExt() {
+ // TODO(leandrogracia): enable once the feature is available in RenderView.
+ //render_view()->SetCapturePictureCallback(
+ // content::RenderView::CapturePictureCallback());
RendererPictureMap::GetInstance()->ClearRendererPicture(routing_id());
}
@@ -226,15 +229,6 @@ void AwRenderViewExt::FocusedNodeChanged(const WebKit::WebNode& node) {
Send(new AwViewHostMsg_UpdateHitTestData(routing_id(), data));
}
-void AwRenderViewExt::DidCommitCompositorFrame() {
- if (!capture_picture_enabled_)
- return;
-
- skia::RefPtr<SkPicture> picture = render_view()->CapturePicture();
- RendererPictureMap::GetInstance()->SetRendererPicture(routing_id(), picture);
- Send(new AwViewHostMsg_PictureUpdated(routing_id()));
-}
-
void AwRenderViewExt::OnDoHitTest(int view_x, int view_y) {
if (!render_view() || !render_view()->GetWebView())
return;
@@ -257,12 +251,21 @@ void AwRenderViewExt::OnDoHitTest(int view_x, int view_y) {
}
void AwRenderViewExt::OnEnableCapturePictureCallback(bool enable) {
- capture_picture_enabled_ = enable;
+ // TODO(leandrogracia): enable once the feature is available in RenderView.
+ //render_view()->SetCapturePictureCallback(enable ?
+ // base::Bind(&AwRenderViewExt::OnPictureUpdate, AsWeakPtr()) :
+ // content::RenderView::CapturePictureCallback());
+}
+
+void AwRenderViewExt::OnPictureUpdate(skia::RefPtr<SkPicture> picture) {
+ RendererPictureMap::GetInstance()->SetRendererPicture(routing_id(), picture);
+ Send(new AwViewHostMsg_PictureUpdated(routing_id()));
}
void AwRenderViewExt::OnCapturePictureSync() {
- RendererPictureMap::GetInstance()->SetRendererPicture(
- routing_id(), render_view()->CapturePicture());
+ // TODO(leandrogracia): enable once the feature is available in RenderView.
+ //RendererPictureMap::GetInstance()->SetRendererPicture(
+ // routing_id(), render_view()->CapturePicture());
}
} // namespace android_webview
diff --git a/android_webview/renderer/aw_render_view_ext.h b/android_webview/renderer/aw_render_view_ext.h
index 80b9d20..8efa5b3 100644
--- a/android_webview/renderer/aw_render_view_ext.h
+++ b/android_webview/renderer/aw_render_view_ext.h
@@ -9,7 +9,9 @@
#include "base/compiler_specific.h"
#include "base/memory/weak_ptr.h"
#include "content/public/renderer/render_view_observer.h"
+#include "skia/ext/refptr.h"
#include "third_party/WebKit/Source/WebKit/chromium/public/WebPermissionClient.h"
+#include "third_party/skia/include/core/SkPicture.h"
namespace WebKit {
@@ -40,7 +42,6 @@ class AwRenderViewExt : public content::RenderViewObserver,
virtual void DidCommitProvisionalLoad(WebKit::WebFrame* frame,
bool is_new_navigation) OVERRIDE;
virtual void FocusedNodeChanged(const WebKit::WebNode& node) OVERRIDE;
- virtual void DidCommitCompositorFrame() OVERRIDE;
void OnDocumentHasImagesRequest(int id);
@@ -48,6 +49,8 @@ class AwRenderViewExt : public content::RenderViewObserver,
void OnEnableCapturePictureCallback(bool enable);
+ void OnPictureUpdate(skia::RefPtr<SkPicture> picture);
+
void OnCapturePictureSync();
// WebKit::WebPermissionClient implementation.
@@ -55,8 +58,6 @@ class AwRenderViewExt : public content::RenderViewObserver,
bool enabledPerSettings,
const WebKit::WebURL& imageURL) OVERRIDE;
- bool capture_picture_enabled_;
-
DISALLOW_COPY_AND_ASSIGN(AwRenderViewExt);
};