summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-05 19:50:25 +0000
committerjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-05 19:50:25 +0000
commit4512cb5735330f497d018191595d9bd5ce902ac2 (patch)
treed04b9acc4a922eabe275548b04bc14e144ab5379
parentb3b41da6c01454f8a743f83c1055350751fc2c3c (diff)
downloadchromium_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.cc13
-rw-r--r--chrome/browser/views/frame/browser_view.cc2
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 {