summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa
diff options
context:
space:
mode:
authorpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-23 01:48:58 +0000
committerpkasting@chromium.org <pkasting@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-23 01:48:58 +0000
commita26dc3692818f34a1bb5341931ac2cd26819bb09 (patch)
treec77abccac30298c0d1b55991321466610fb9e15c /chrome/browser/cocoa
parentce53c9e6d9b9211f853e0d6f426a12b0bab6a875 (diff)
downloadchromium_src-a26dc3692818f34a1bb5341931ac2cd26819bb09.zip
chromium_src-a26dc3692818f34a1bb5341931ac2cd26819bb09.tar.gz
chromium_src-a26dc3692818f34a1bb5341931ac2cd26819bb09.tar.bz2
Don't select all when autofocusing the location bar on New Tab creation. Users could already be typing in the omnibox before the load commits (e.g. due to a slow renderer process startup) and this typing would then be selected and overwritten.
BUG=41466 TEST=On a very slow machine, typing before a new tab finishes loading should not be selected or cleared once the tab finishes loading. Review URL: http://codereview.chromium.org/1738004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45406 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa')
-rw-r--r--chrome/browser/cocoa/browser_window_cocoa.h2
-rw-r--r--chrome/browser/cocoa/browser_window_cocoa.mm4
-rw-r--r--chrome/browser/cocoa/browser_window_controller.h2
-rw-r--r--chrome/browser/cocoa/browser_window_controller.mm4
-rw-r--r--chrome/browser/cocoa/location_bar_view_mac.h2
-rw-r--r--chrome/browser/cocoa/location_bar_view_mac.mm4
-rw-r--r--chrome/browser/cocoa/toolbar_controller.h4
-rw-r--r--chrome/browser/cocoa/toolbar_controller.mm7
8 files changed, 14 insertions, 15 deletions
diff --git a/chrome/browser/cocoa/browser_window_cocoa.h b/chrome/browser/cocoa/browser_window_cocoa.h
index 753a645..b0861f1 100644
--- a/chrome/browser/cocoa/browser_window_cocoa.h
+++ b/chrome/browser/cocoa/browser_window_cocoa.h
@@ -52,7 +52,7 @@ class BrowserWindowCocoa : public BrowserWindow,
virtual bool IsFullscreen() const;
virtual bool IsFullscreenBubbleVisible() const;
virtual LocationBar* GetLocationBar() const;
- virtual void SetFocusToLocationBar();
+ virtual void SetFocusToLocationBar(bool select_all);
virtual void UpdateStopGoState(bool is_loading, bool force);
virtual void UpdateToolbar(TabContents* contents,
bool should_restore_state);
diff --git a/chrome/browser/cocoa/browser_window_cocoa.mm b/chrome/browser/cocoa/browser_window_cocoa.mm
index 186ec86..7df9ee1 100644
--- a/chrome/browser/cocoa/browser_window_cocoa.mm
+++ b/chrome/browser/cocoa/browser_window_cocoa.mm
@@ -205,8 +205,8 @@ LocationBar* BrowserWindowCocoa::GetLocationBar() const {
return [controller_ locationBarBridge];
}
-void BrowserWindowCocoa::SetFocusToLocationBar() {
- [controller_ focusLocationBar];
+void BrowserWindowCocoa::SetFocusToLocationBar(bool select_all) {
+ [controller_ focusLocationBar:select_all ? YES : NO];
}
void BrowserWindowCocoa::UpdateStopGoState(bool is_loading, bool force) {
diff --git a/chrome/browser/cocoa/browser_window_controller.h b/chrome/browser/cocoa/browser_window_controller.h
index 975594c..08d9c46 100644
--- a/chrome/browser/cocoa/browser_window_controller.h
+++ b/chrome/browser/cocoa/browser_window_controller.h
@@ -178,7 +178,7 @@ class TabStripModelObserverBridge;
- (void)activate;
// Make the location bar the first responder, if possible.
-- (void)focusLocationBar;
+- (void)focusLocationBar:(BOOL)selectAll;
// Make the (currently-selected) tab contents the first responder, if possible.
- (void)focusTabContents;
diff --git a/chrome/browser/cocoa/browser_window_controller.mm b/chrome/browser/cocoa/browser_window_controller.mm
index 101807d..f482990 100644
--- a/chrome/browser/cocoa/browser_window_controller.mm
+++ b/chrome/browser/cocoa/browser_window_controller.mm
@@ -1111,8 +1111,8 @@
}
// Make the location bar the first responder, if possible.
-- (void)focusLocationBar {
- [toolbarController_ focusLocationBar];
+- (void)focusLocationBar:(BOOL)selectAll {
+ [toolbarController_ focusLocationBar:selectAll];
}
- (void)focusTabContents {
diff --git a/chrome/browser/cocoa/location_bar_view_mac.h b/chrome/browser/cocoa/location_bar_view_mac.h
index 2107ec3..5a82d67 100644
--- a/chrome/browser/cocoa/location_bar_view_mac.h
+++ b/chrome/browser/cocoa/location_bar_view_mac.h
@@ -57,7 +57,7 @@ class LocationBarViewMac : public AutocompleteEditController,
virtual PageTransition::Type GetPageTransition() const;
virtual void AcceptInput();
virtual void AcceptInputWithDisposition(WindowOpenDisposition disposition);
- virtual void FocusLocation();
+ virtual void FocusLocation(bool select_all);
virtual void FocusSearch();
virtual void UpdateContentSettingsIcons();
virtual void UpdatePageActions();
diff --git a/chrome/browser/cocoa/location_bar_view_mac.mm b/chrome/browser/cocoa/location_bar_view_mac.mm
index 62b12d4..dde3095 100644
--- a/chrome/browser/cocoa/location_bar_view_mac.mm
+++ b/chrome/browser/cocoa/location_bar_view_mac.mm
@@ -161,8 +161,8 @@ void LocationBarViewMac::AcceptInputWithDisposition(
edit_view_->model()->AcceptInput(disposition, false);
}
-void LocationBarViewMac::FocusLocation() {
- edit_view_->FocusLocation();
+void LocationBarViewMac::FocusLocation(bool select_all) {
+ edit_view_->FocusLocation(select_all);
}
void LocationBarViewMac::FocusSearch() {
diff --git a/chrome/browser/cocoa/toolbar_controller.h b/chrome/browser/cocoa/toolbar_controller.h
index 3c5086b..0fdd8c4 100644
--- a/chrome/browser/cocoa/toolbar_controller.h
+++ b/chrome/browser/cocoa/toolbar_controller.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 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.
@@ -126,7 +126,7 @@ class ToolbarModel;
- (id)customFieldEditorForObject:(id)obj;
// Make the location bar the first responder, if possible.
-- (void)focusLocationBar;
+- (void)focusLocationBar:(BOOL)selectAll;
// Updates the toolbar (and transitively the location bar) with the states of
// the specified |tab|. If |shouldRestore| is true, we're switching
diff --git a/chrome/browser/cocoa/toolbar_controller.mm b/chrome/browser/cocoa/toolbar_controller.mm
index 0d12ee5..1412fc1 100644
--- a/chrome/browser/cocoa/toolbar_controller.mm
+++ b/chrome/browser/cocoa/toolbar_controller.mm
@@ -371,10 +371,9 @@ class PrefObserverBridge : public NotificationObserver {
return locationBarView_.get();
}
-- (void)focusLocationBar {
- if (locationBarView_.get()) {
- locationBarView_->FocusLocation();
- }
+- (void)focusLocationBar:(BOOL)selectAll {
+ if (locationBarView_.get())
+ locationBarView_->FocusLocation(selectAll ? true : false);
}
// Called when the state for a command changes to |enabled|. Update the