diff options
author | trchen@chromium.org <trchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-18 09:40:45 +0000 |
---|---|---|
committer | trchen@chromium.org <trchen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-18 09:40:45 +0000 |
commit | 47b3782fa5c60f5a914b7cb00a86614373106b66 (patch) | |
tree | 56052319335809efcf943079f4d9ccfc22a3f4ac | |
parent | 584abe77f84b1bf56e9633e63d4fe60947eabe27 (diff) | |
download | chromium_src-47b3782fa5c60f5a914b7cb00a86614373106b66.zip chromium_src-47b3782fa5c60f5a914b7cb00a86614373106b66.tar.gz chromium_src-47b3782fa5c60f5a914b7cb00a86614373106b66.tar.bz2 |
Correct scroll offset range for WebFrame in AutomationRendererHelper
This patch needs to be landed at the same time as
https://chromiumcodereview.appspot.com/14703004/
Since WebFrame now uses the non-shifted(ranges [minPos, maxPos]) scroll offset.
BUG=232063
TEST=AutomationRendererHelperTest.RTLSnapshot
R=darin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/15006004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200990 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/renderer/automation/automation_renderer_helper.cc | 7 | ||||
-rw-r--r-- | chrome/renderer/automation/automation_renderer_helper_browsertest.cc | 2 |
2 files changed, 3 insertions, 6 deletions
diff --git a/chrome/renderer/automation/automation_renderer_helper.cc b/chrome/renderer/automation/automation_renderer_helper.cc index 71f1340..e856f63 100644 --- a/chrome/renderer/automation/automation_renderer_helper.cc +++ b/chrome/renderer/automation/automation_renderer_helper.cc @@ -54,8 +54,6 @@ bool AutomationRendererHelper::SnapshotEntirePage( WebFrame* frame = view->mainFrame(); WebSize old_size = view->size(); WebSize new_size = frame->contentsSize(); - // For RTL, the minimum scroll offset may be negative. - WebSize min_scroll = frame->minimumScrollOffset(); WebSize old_scroll = frame->scrollOffset(); bool fixed_layout_enabled = view->isFixedLayoutModeEnabled(); WebSize fixed_size = view->fixedLayoutSize(); @@ -65,7 +63,7 @@ bool AutomationRendererHelper::SnapshotEntirePage( view->enableFixedLayoutMode(true); view->resize(new_size); view->layout(); - frame->setScrollOffset(WebSize(0, 0)); + frame->setScrollOffset(frame->minimumScrollOffset()); skia::RefPtr<SkCanvas> canvas = skia::AdoptRef( skia::CreatePlatformCanvas(new_size.width, new_size.height, true)); @@ -78,8 +76,7 @@ bool AutomationRendererHelper::SnapshotEntirePage( view->enableFixedLayoutMode(fixed_layout_enabled); view->resize(old_size); view->layout(); - frame->setScrollOffset(WebSize(old_scroll.width - min_scroll.width, - old_scroll.height - min_scroll.height)); + frame->setScrollOffset(old_scroll); const SkBitmap& bmp = skia::GetTopDevice(*canvas)->accessBitmap(false); SkAutoLockPixels lock_pixels(bmp); diff --git a/chrome/renderer/automation/automation_renderer_helper_browsertest.cc b/chrome/renderer/automation/automation_renderer_helper_browsertest.cc index 3665038..65bd018 100644 --- a/chrome/renderer/automation/automation_renderer_helper_browsertest.cc +++ b/chrome/renderer/automation/automation_renderer_helper_browsertest.cc @@ -66,7 +66,7 @@ TEST_F(AutomationRendererHelperTest, ScrollingSnapshot) { CompareSnapshot(png_data, kThreeBoxesMD5); } -TEST_F(AutomationRendererHelperTest, DISABLED_RTLSnapshot) { +TEST_F(AutomationRendererHelperTest, RTLSnapshot) { GetWebWidget()->resize(WebKit::WebSize(40, 90)); const char kThreeBoxesRTLHTML[] = "<style> * { margin:0px; padding:0px } </style>" |