summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-20 19:04:08 +0000
committerdmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-20 19:04:08 +0000
commit901d507270dd085e687813523509085e495ab66c (patch)
treeb16ac113f435a957cdc894b3163d359e259cb42f
parenteea855f570bcca90fddda82a951fc86c8a2c6060 (diff)
downloadchromium_src-901d507270dd085e687813523509085e495ab66c.zip
chromium_src-901d507270dd085e687813523509085e495ab66c.tar.gz
chromium_src-901d507270dd085e687813523509085e495ab66c.tar.bz2
Merge 118197 - Fix accessible scrolling methods.
Use bounds from visible portion of window instead of whole document, and use gfx::Rect::Intersect correctly. Now any element can be scrolled to become visible. BUG=110603 TEST=Manual testing with accProbe Review URL: http://codereview.chromium.org/9100004 TBR=dmazzoni@chromium.org Review URL: https://chromiumcodereview.appspot.com/9141019 git-svn-id: svn://svn.chromium.org/chrome/branches/963/src@118462 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--content/browser/accessibility/browser_accessibility.cc4
-rw-r--r--content/browser/accessibility/browser_accessibility_win.cc11
2 files changed, 6 insertions, 9 deletions
diff --git a/content/browser/accessibility/browser_accessibility.cc b/content/browser/accessibility/browser_accessibility.cc
index d365628..dd81f7c 100644
--- a/content/browser/accessibility/browser_accessibility.cc
+++ b/content/browser/accessibility/browser_accessibility.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// 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.
@@ -182,7 +182,7 @@ void BrowserAccessibility::ScrollToMakeVisible(const gfx::Rect& subfocus,
}
gfx::Rect final_viewport(0, 0, location_.width(), location_.height());
- final_viewport.Intersect(viewport);
+ final_viewport = final_viewport.Intersect(viewport);
int new_scroll_x = ComputeBestScrollOffset(
scroll_x,
diff --git a/content/browser/accessibility/browser_accessibility_win.cc b/content/browser/accessibility/browser_accessibility_win.cc
index 4e88ac0..c8ccc1d 100644
--- a/content/browser/accessibility/browser_accessibility_win.cc
+++ b/content/browser/accessibility/browser_accessibility_win.cc
@@ -1,11 +1,9 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// 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 "content/browser/accessibility/browser_accessibility_win.h"
-#include <limits>
-
#include "base/string_number_conversions.h"
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
@@ -739,10 +737,9 @@ STDMETHODIMP BrowserAccessibilityWin::scrollTo(enum IA2ScrollType scroll_type) {
root = root->parent();
gfx::Rect r = location_;
- gfx::Rect view(std::numeric_limits<int>::min(),
- std::numeric_limits<int>::min(),
- std::numeric_limits<int>::max(),
- std::numeric_limits<int>::max());
+ gfx::Rect view = manager_->GetViewBounds();
+ view.set_origin(gfx::Point(0, 0));
+
switch(scroll_type) {
case IA2_SCROLL_TYPE_TOP_LEFT:
root->ScrollToMakeVisible(