diff options
author | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-20 19:04:08 +0000 |
---|---|---|
committer | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-20 19:04:08 +0000 |
commit | 901d507270dd085e687813523509085e495ab66c (patch) | |
tree | b16ac113f435a957cdc894b3163d359e259cb42f | |
parent | eea855f570bcca90fddda82a951fc86c8a2c6060 (diff) | |
download | chromium_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.cc | 4 | ||||
-rw-r--r-- | content/browser/accessibility/browser_accessibility_win.cc | 11 |
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( |