Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4830)

Unified Diff: chrome/browser/views/tabs/tab_overview_message_listener.cc

Issue 151169: Improves tab overview. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/views/tabs/tab_overview_grid.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/views/tabs/tab_overview_message_listener.cc
===================================================================
--- chrome/browser/views/tabs/tab_overview_message_listener.cc (revision 19730)
+++ chrome/browser/views/tabs/tab_overview_message_listener.cc (working copy)
@@ -62,14 +62,43 @@
case TabOverviewTypes::Message::CHROME_NOTIFY_LAYOUT_MODE: {
if (message.param(0) == 0) {
new_browser_window_.reset(NULL);
+ controller_.reset(NULL);
} else if (BrowserList::size() > 0) {
Browser* browser = *BrowserList::begin();
+ controller_.reset(new TabOverviewController(
+ browser->window()->GetNormalBounds().origin()));
new_browser_window_.reset(
new NewBrowserWindowWidget(browser->profile()));
}
break;
}
+ case TabOverviewTypes::Message::CHROME_NOTIFY_FLOATING_TAB_OVER_TOPLEVEL: {
+ if (!controller_.get())
+ return;
+
+ bool over_mini_window = message.param(1) == 1;
+ controller_->SetMouseOverMiniWindow(over_mini_window);
+ if (!over_mini_window)
+ return;
+
+ // Not over a mini-window, make sure the controller is showing the
+ // contents of the browser the mouse is over.
+ BrowserWindowGtk* browser_window =
+ BrowserWindowGtk::GetBrowserWindowForNativeWindow(
+ BrowserWindowGtk::GetBrowserWindowForXID(message.param(0)));
+ if (!browser_window)
+ return;
+
+ if (controller_->browser()->window() == browser_window)
+ return;
+
+ TabOverviewTypes::Message select_message;
+ select_message.set_type(TabOverviewTypes::Message::WM_MOVE_FLOATING_TAB);
+ select_message.set_param(0, message.param(1));
+ TabOverviewTypes::instance()->SendMessage(select_message);
+ }
+
default:
break;
}
@@ -86,5 +115,5 @@
}
void TabOverviewMessageListener::HideOverview() {
- controller_.reset(NULL);
+ controller_->SetBrowser(NULL, -1);
}
« no previous file with comments | « chrome/browser/views/tabs/tab_overview_grid.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698