diff options
author | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-05 19:50:25 +0000 |
---|---|---|
committer | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-05 19:50:25 +0000 |
commit | 4512cb5735330f497d018191595d9bd5ce902ac2 (patch) | |
tree | d04b9acc4a922eabe275548b04bc14e144ab5379 | |
parent | b3b41da6c01454f8a743f83c1055350751fc2c3c (diff) | |
download | chromium_src-4512cb5735330f497d018191595d9bd5ce902ac2.zip chromium_src-4512cb5735330f497d018191595d9bd5ce902ac2.tar.gz chromium_src-4512cb5735330f497d018191595d9bd5ce902ac2.tar.bz2 |
Fix pyauto test on ChromeOS withOUT introducing a perf regression on XP.
BUG=http://crbug.com/39559
BUG=http://crbug.com/40225
Review URL: http://codereview.chromium.org/1540015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43638 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/automation/automation_provider.cc | 13 | ||||
-rw-r--r-- | chrome/browser/views/frame/browser_view.cc | 2 |
2 files changed, 13 insertions, 2 deletions
diff --git a/chrome/browser/automation/automation_provider.cc b/chrome/browser/automation/automation_provider.cc index 2b88a29..aac48f9 100644 --- a/chrome/browser/automation/automation_provider.cc +++ b/chrome/browser/automation/automation_provider.cc @@ -1307,6 +1307,8 @@ void AutomationProvider::HandleFindWindowLocationRequest(int handle, int* x, *y = position.y(); } +// Bookmark bar visibility is based on the pref (e.g. is it in the toolbar). +// Presence in the NTP is NOT considered visible by this call. void AutomationProvider::GetBookmarkBarVisibility(int handle, bool* visible, bool* animating) { @@ -1316,7 +1318,16 @@ void AutomationProvider::GetBookmarkBarVisibility(int handle, if (browser_tracker_->ContainsHandle(handle)) { Browser* browser = browser_tracker_->GetResource(handle); if (browser) { - *visible = browser->window()->IsBookmarkBarVisible(); + // The commented-out IsBookmarkBarVisible() line looks correct + // but is not consistent across platforms. Specifically, on + // Mac/Linux, it returns false if the bar is hidden in a pref + // (even if visible on the NTP). On ChromeOS, it returned true + // if on NTP independent of the pref. Making the code more + // consistent caused a perf bot regression on Windows (which + // shares views). See http://crbug.com/40225 + // // *visible = browser->window()->IsBookmarkBarVisible(); + *visible = browser->profile()->GetPrefs()->GetBoolean( + prefs::kShowBookmarkBar); *animating = browser->window()->IsBookmarkBarAnimating(); } } diff --git a/chrome/browser/views/frame/browser_view.cc b/chrome/browser/views/frame/browser_view.cc index 3ab122d..65c5391c 100644 --- a/chrome/browser/views/frame/browser_view.cc +++ b/chrome/browser/views/frame/browser_view.cc @@ -866,7 +866,7 @@ void BrowserView::DestroyBrowser() { bool BrowserView::IsBookmarkBarVisible() const { return browser_->SupportsWindowFeature(Browser::FEATURE_BOOKMARKBAR) && active_bookmark_bar_ && - browser_->profile()->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); + (active_bookmark_bar_->GetPreferredSize().height() != 0); } bool BrowserView::IsBookmarkBarAnimating() const { |