summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk
diff options
context:
space:
mode:
authorjcivelli@chromium.org <jcivelli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-23 23:58:12 +0000
committerjcivelli@chromium.org <jcivelli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-23 23:58:12 +0000
commitea42e778f31ab38a5e0d7e172c90e9abc2fd1588 (patch)
tree62844f3402bf776da1a52e4145c3ed40ede95d03 /chrome/browser/gtk
parent769e9080186fa376091519fcec8f2f01ea61ab14 (diff)
downloadchromium_src-ea42e778f31ab38a5e0d7e172c90e9abc2fd1588.zip
chromium_src-ea42e778f31ab38a5e0d7e172c90e9abc2fd1588.tar.gz
chromium_src-ea42e778f31ab38a5e0d7e172c90e9abc2fd1588.tar.bz2
Relanding a previous CL (I fixed the ChromeOS build):
Making window.focus()/blur() work only when there is a user gesture. Also making window.focus() select tab if it is not visible. The RenderViewHost now calls ActivateContent and the new DeactivateContent (instead of using the recently added TabContentsDelegate::Activate/Deactivate methods which have been removed). TBR=darin,sky BUG=29643,52346 TEST=Create a page with buttons that call window.focus()/blur() directly and with a timeout. When called directly, the calls should succeed (the browser should be activated/deactivated). When called with a timeout, nothing should happen. Also test that a popup calling window.opener.focus() cause the opening tab to become selected when it is not the current tab. Review URL: http://codereview.chromium.org/3174030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57124 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk')
-rw-r--r--chrome/browser/gtk/tabs/dragged_tab_controller_gtk.cc4
-rw-r--r--chrome/browser/gtk/tabs/dragged_tab_controller_gtk.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/chrome/browser/gtk/tabs/dragged_tab_controller_gtk.cc b/chrome/browser/gtk/tabs/dragged_tab_controller_gtk.cc
index 64c314d..551aeb8 100644
--- a/chrome/browser/gtk/tabs/dragged_tab_controller_gtk.cc
+++ b/chrome/browser/gtk/tabs/dragged_tab_controller_gtk.cc
@@ -146,6 +146,10 @@ void DraggedTabControllerGtk::ActivateContents(TabContents* contents) {
// Ignored.
}
+void DraggedTabControllerGtk::DeactivateContents(TabContents* contents) {
+ // Ignored.
+}
+
void DraggedTabControllerGtk::LoadingStateChanged(TabContents* source) {
// TODO(jhawkins): It would be nice to respond to this message by changing the
// screen shot in the dragged tab.
diff --git a/chrome/browser/gtk/tabs/dragged_tab_controller_gtk.h b/chrome/browser/gtk/tabs/dragged_tab_controller_gtk.h
index a9fba9d..b8b8eb3 100644
--- a/chrome/browser/gtk/tabs/dragged_tab_controller_gtk.h
+++ b/chrome/browser/gtk/tabs/dragged_tab_controller_gtk.h
@@ -82,6 +82,7 @@ class DraggedTabControllerGtk : public NotificationObserver,
const gfx::Rect& initial_pos,
bool user_gesture);
virtual void ActivateContents(TabContents* contents);
+ virtual void DeactivateContents(TabContents* contents);
virtual void LoadingStateChanged(TabContents* source);
virtual void CloseContents(TabContents* source);
virtual void MoveContents(TabContents* source, const gfx::Rect& pos);