| OLD | NEW | 
|     1 // Copyright 2012 The Chromium Authors. All rights reserved. |     1 // Copyright 2012 The Chromium Authors. All rights reserved. | 
|     2 // Use of this source code is governed by a BSD-style license that can be |     2 // Use of this source code is governed by a BSD-style license that can be | 
|     3 // found in the LICENSE file. |     3 // found in the LICENSE file. | 
|     4  |     4  | 
|     5 #include "chrome/browser/ui/gtk/browser_window_gtk.h" |     5 #include "chrome/browser/ui/gtk/browser_window_gtk.h" | 
|     6  |     6  | 
|     7 #include <gdk/gdkkeysyms.h> |     7 #include <gdk/gdkkeysyms.h> | 
|     8  |     8  | 
|     9 #include <algorithm> |     9 #include <algorithm> | 
|    10 #include <string> |    10 #include <string> | 
| (...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   783     // the animations are running slowly and this function is called on |   783     // the animations are running slowly and this function is called on | 
|   784     // a timer through LoadingAnimationCallback. |   784     // a timer through LoadingAnimationCallback. | 
|   785     titlebar_->UpdateThrobber(web_contents); |   785     titlebar_->UpdateThrobber(web_contents); | 
|   786   } |   786   } | 
|   787 } |   787 } | 
|   788  |   788  | 
|   789 void BrowserWindowGtk::SetStarredState(bool is_starred) { |   789 void BrowserWindowGtk::SetStarredState(bool is_starred) { | 
|   790   toolbar_->GetLocationBarView()->SetStarred(is_starred); |   790   toolbar_->GetLocationBarView()->SetStarred(is_starred); | 
|   791 } |   791 } | 
|   792  |   792  | 
 |   793 void BrowserWindowGtk::OnActiveTabChanged(WebContents* old_contents, | 
 |   794                                           WebContents* new_contents, | 
 |   795                                           int index, | 
 |   796                                           int reason) { | 
 |   797   TRACE_EVENT0("ui::gtk", "BrowserWindowGtk::ActiveTabChanged"); | 
 |   798   if (old_contents && !old_contents->IsBeingDestroyed()) | 
 |   799     old_contents->GetView()->StoreFocus(); | 
 |   800  | 
 |   801   // Update various elements that are interested in knowing the current | 
 |   802   // WebContents. | 
 |   803   UpdateDevToolsForContents(new_contents); | 
 |   804   infobar_container_->ChangeInfoBarService( | 
 |   805       InfoBarService::FromWebContents(new_contents)); | 
 |   806   contents_container_->SetTab(new_contents); | 
 |   807  | 
 |   808   // TODO(estade): after we manage browser activation, add a check to make sure | 
 |   809   // we are the active browser before calling RestoreFocus(). | 
 |   810   if (!browser_->tab_strip_model()->closing_all()) { | 
 |   811     new_contents->GetView()->RestoreFocus(); | 
 |   812     FindTabHelper* find_tab_helper = | 
 |   813         FindTabHelper::FromWebContents(new_contents); | 
 |   814     if (find_tab_helper->find_ui_active()) | 
 |   815       browser_->GetFindBarController()->find_bar()->SetFocusAndSelection(); | 
 |   816   } | 
 |   817  | 
 |   818   // Update all the UI bits. | 
 |   819   UpdateTitleBar(); | 
 |   820   MaybeShowBookmarkBar(false); | 
 |   821 } | 
|   793 void BrowserWindowGtk::ZoomChangedForActiveTab(bool can_show_bubble) { |   822 void BrowserWindowGtk::ZoomChangedForActiveTab(bool can_show_bubble) { | 
|   794   toolbar_->GetLocationBarView()->ZoomChangedForActiveTab( |   823   toolbar_->GetLocationBarView()->ZoomChangedForActiveTab( | 
|   795       can_show_bubble && !toolbar_->IsWrenchMenuShowing()); |   824       can_show_bubble && !toolbar_->IsWrenchMenuShowing()); | 
|   796 } |   825 } | 
|   797  |   826  | 
|   798 gfx::Rect BrowserWindowGtk::GetRestoredBounds() const { |   827 gfx::Rect BrowserWindowGtk::GetRestoredBounds() const { | 
|   799   return restored_bounds_; |   828   return restored_bounds_; | 
|   800 } |   829 } | 
|   801  |   830  | 
|   802 ui::WindowShowState BrowserWindowGtk::GetRestoredState() const { |   831 ui::WindowShowState BrowserWindowGtk::GetRestoredState() const { | 
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1209   // the model has already removed |contents| from its list, so |  1238   // the model has already removed |contents| from its list, so | 
|  1210   // browser_->tab_strip_model()->GetActiveWebContents() will return NULL or |  1239   // browser_->tab_strip_model()->GetActiveWebContents() will return NULL or | 
|  1211   // something else. |  1240   // something else. | 
|  1212   if (index == browser_->tab_strip_model()->active_index()) { |  1241   if (index == browser_->tab_strip_model()->active_index()) { | 
|  1213     infobar_container_->ChangeInfoBarService(NULL); |  1242     infobar_container_->ChangeInfoBarService(NULL); | 
|  1214     UpdateDevToolsForContents(NULL); |  1243     UpdateDevToolsForContents(NULL); | 
|  1215   } |  1244   } | 
|  1216   contents_container_->DetachTab(contents); |  1245   contents_container_->DetachTab(contents); | 
|  1217 } |  1246 } | 
|  1218  |  1247  | 
|  1219 void BrowserWindowGtk::ActiveTabChanged(WebContents* old_contents, |  | 
|  1220                                         WebContents* new_contents, |  | 
|  1221                                         int index, |  | 
|  1222                                         int reason) { |  | 
|  1223   TRACE_EVENT0("ui::gtk", "BrowserWindowGtk::ActiveTabChanged"); |  | 
|  1224   if (old_contents && !old_contents->IsBeingDestroyed()) |  | 
|  1225     old_contents->GetView()->StoreFocus(); |  | 
|  1226  |  | 
|  1227   // Update various elements that are interested in knowing the current |  | 
|  1228   // WebContents. |  | 
|  1229   UpdateDevToolsForContents(new_contents); |  | 
|  1230   infobar_container_->ChangeInfoBarService( |  | 
|  1231       InfoBarService::FromWebContents(new_contents)); |  | 
|  1232   contents_container_->SetTab(new_contents); |  | 
|  1233  |  | 
|  1234   // TODO(estade): after we manage browser activation, add a check to make sure |  | 
|  1235   // we are the active browser before calling RestoreFocus(). |  | 
|  1236   if (!browser_->tab_strip_model()->closing_all()) { |  | 
|  1237     new_contents->GetView()->RestoreFocus(); |  | 
|  1238     FindTabHelper* find_tab_helper = |  | 
|  1239         FindTabHelper::FromWebContents(new_contents); |  | 
|  1240     if (find_tab_helper->find_ui_active()) |  | 
|  1241       browser_->GetFindBarController()->find_bar()->SetFocusAndSelection(); |  | 
|  1242   } |  | 
|  1243  |  | 
|  1244   // Update all the UI bits. |  | 
|  1245   UpdateTitleBar(); |  | 
|  1246   MaybeShowBookmarkBar(false); |  | 
|  1247 } |  | 
|  1248  |  | 
|  1249 void BrowserWindowGtk::ActiveWindowChanged(GdkWindow* active_window) { |  1248 void BrowserWindowGtk::ActiveWindowChanged(GdkWindow* active_window) { | 
|  1250   // Do nothing if we're in the process of closing the browser window. |  1249   // Do nothing if we're in the process of closing the browser window. | 
|  1251   if (!window_) |  1250   if (!window_) | 
|  1252     return; |  1251     return; | 
|  1253  |  1252  | 
|  1254   bool is_active = gtk_widget_get_window(GTK_WIDGET(window_)) == active_window; |  1253   bool is_active = gtk_widget_get_window(GTK_WIDGET(window_)) == active_window; | 
|  1255   bool changed = (is_active != is_active_); |  1254   bool changed = (is_active != is_active_); | 
|  1256  |  1255  | 
|  1257   if (is_active && changed) { |  1256   if (is_active && changed) { | 
|  1258     // If there's an app modal dialog (e.g., JS alert), try to redirect |  1257     // If there's an app modal dialog (e.g., JS alert), try to redirect | 
| (...skipping 1155 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  2414           wm_type == ui::WM_OPENBOX || |  2413           wm_type == ui::WM_OPENBOX || | 
|  2415           wm_type == ui::WM_XFWM4); |  2414           wm_type == ui::WM_XFWM4); | 
|  2416 } |  2415 } | 
|  2417  |  2416  | 
|  2418 // static |  2417 // static | 
|  2419 BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) { |  2418 BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) { | 
|  2420   BrowserWindowGtk* browser_window_gtk = new BrowserWindowGtk(browser); |  2419   BrowserWindowGtk* browser_window_gtk = new BrowserWindowGtk(browser); | 
|  2421   browser_window_gtk->Init(); |  2420   browser_window_gtk->Init(); | 
|  2422   return browser_window_gtk; |  2421   return browser_window_gtk; | 
|  2423 } |  2422 } | 
| OLD | NEW |