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

Unified Diff: chrome/browser/views/frame/browser_view.cc

Issue 27317: Support DWM switching.... (Closed) Base URL: svn://chrome-svn.corp.google.com/chrome/trunk/src/
Patch Set: '' Created 11 years, 10 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/frame/browser_frame.cc ('k') | chrome/browser/views/frame/browser_window_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/views/frame/browser_view.cc
===================================================================
--- chrome/browser/views/frame/browser_view.cc (revision 10688)
+++ chrome/browser/views/frame/browser_view.cc (working copy)
@@ -2,10 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/command_line.h"
-
#include "chrome/browser/views/frame/browser_view.h"
+#include "base/command_line.h"
#include "base/file_version_info.h"
#include "base/time.h"
#include "chrome/app/chrome_dll_resource.h"
@@ -366,19 +365,6 @@
return false;
}
-bool BrowserView::SystemCommandReceived(UINT notification_code,
- const gfx::Point& point) {
- bool handled = false;
-
- if (browser_->command_updater()->SupportsCommand(notification_code) &&
- browser_->command_updater()->IsCommandEnabled(notification_code)) {
- browser_->ExecuteCommand(notification_code);
- handled = true;
- }
-
- return handled;
-}
-
void BrowserView::AddViewToDropList(views::View* view) {
dropable_views_.insert(view);
}
@@ -488,8 +474,8 @@
void BrowserView::Show() {
// If the window is already visible, just activate it.
- if (frame_->GetWindow()->IsVisible()) {
- frame_->GetWindow()->Activate();
+ if (frame_->IsVisible()) {
+ frame_->Activate();
return;
}
@@ -507,32 +493,29 @@
if (selected_tab_contents)
selected_tab_contents->RestoreFocus();
- frame_->GetWindow()->Show();
- int show_state = frame_->GetWindow()->GetShowState();
- if (show_state == SW_SHOWNORMAL || show_state == SW_SHOWMAXIMIZED)
- frame_->GetWindow()->Activate();
+ frame_->Show();
}
void BrowserView::SetBounds(const gfx::Rect& bounds) {
- frame_->GetWindow()->SetBounds(bounds);
+ frame_->SetBounds(bounds);
}
void BrowserView::Close() {
- frame_->GetWindow()->Close();
+ frame_->Close();
}
void BrowserView::Activate() {
- frame_->GetWindow()->Activate();
+ frame_->Activate();
}
bool BrowserView::IsActive() const {
- return frame_->GetWindow()->IsActive();
+ return frame_->IsActive();
}
void BrowserView::FlashFrame() {
FLASHWINFO fwi;
fwi.cbSize = sizeof(fwi);
- fwi.hwnd = frame_->GetWindow()->GetHWND();
+ fwi.hwnd = frame_->GetHWND();
fwi.dwFlags = FLASHW_ALL;
fwi.uCount = 4;
fwi.dwTimeout = 0;
@@ -563,9 +546,9 @@
}
void BrowserView::UpdateTitleBar() {
- frame_->GetWindow()->UpdateWindowTitle();
+ frame_->UpdateWindowTitle();
if (ShouldShowWindowIcon())
- frame_->GetWindow()->UpdateWindowIcon();
+ frame_->UpdateWindowIcon();
}
void BrowserView::UpdateLoadingAnimations(bool should_animate) {
@@ -597,13 +580,13 @@
WINDOWPLACEMENT wp;
wp.length = sizeof(wp);
- const bool ret = !!GetWindowPlacement(frame_->GetWindow()->GetHWND(), &wp);
+ const bool ret = !!GetWindowPlacement(frame_->GetHWND(), &wp);
DCHECK(ret);
return gfx::Rect(wp.rcNormalPosition);
}
bool BrowserView::IsMaximized() const {
- return frame_->GetWindow()->IsMaximized();
+ return frame_->IsMaximized();
}
void BrowserView::SetFullscreen(bool fullscreen) {
@@ -636,7 +619,7 @@
// taskbar if the window is in the maximized state.
saved_window_info_.maximized = IsMaximized();
if (saved_window_info_.maximized)
- frame_->GetWindow()->ExecuteSystemMenuCommand(SC_RESTORE);
+ frame_->ExecuteSystemMenuCommand(SC_RESTORE);
saved_window_info_.style = GetWindowLong(hwnd, GWL_STYLE);
saved_window_info_.ex_style = GetWindowLong(hwnd, GWL_EXSTYLE);
GetWindowRect(hwnd, &saved_window_info_.window_rect);
@@ -666,7 +649,7 @@
new_rect.height(),
SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED);
if (saved_window_info_.maximized)
- frame_->GetWindow()->ExecuteSystemMenuCommand(SC_MAXIMIZE);
+ frame_->ExecuteSystemMenuCommand(SC_MAXIMIZE);
}
// Turn fullscreen bubble on or off.
@@ -998,6 +981,8 @@
}
bool BrowserView::ExecuteWindowsCommand(int command_id) {
+ // This function handles WM_SYSCOMMAND, WM_APPCOMMAND, and WM_COMMAND.
+
// Translate WM_APPCOMMAND command ids into a command id that the browser
// knows how to handle.
int command_id_from_app_command = GetCommandIDForAppCommandID(command_id);
@@ -1046,7 +1031,8 @@
bounds->height() + toolbar_->GetPreferredSize().height());
}
- gfx::Rect window_rect = frame_->GetWindowBoundsForClientBounds(*bounds);
+ gfx::Rect window_rect =
+ frame_->GetWindowBoundsForClientBounds(*bounds);
window_rect.set_origin(bounds->origin());
// When we are given x/y coordinates of 0 on a created popup window,
@@ -1101,7 +1087,7 @@
// Tab strip isn't empty. Hide the frame (so it appears to have closed
// immediately) and close all the tabs, allowing the renderers to shut
// down. When the tab strip is empty we'll be called back again.
- frame_->GetWindow()->Hide();
+ frame_->Hide();
browser_->OnWindowClosing();
return false;
}
@@ -1109,7 +1095,7 @@
// Empty TabStripModel, it's now safe to allow the Window to be closed.
NotificationService::current()->Notify(
NotificationType::WINDOW_CLOSED,
- Source<HWND>(frame_->GetWindow()->GetHWND()),
+ Source<HWND>(frame_->GetHWND()),
NotificationService::NoDetails());
return true;
}
@@ -1122,7 +1108,7 @@
if (CanCurrentlyResize()) {
CRect client_rect;
- ::GetClientRect(frame_->GetWindow()->GetHWND(), &client_rect);
+ ::GetClientRect(frame_->GetHWND(), &client_rect);
gfx::Size resize_corner_size = ResizeCorner::GetSize();
gfx::Rect resize_corner_rect(client_rect.right - resize_corner_size.width(),
client_rect.bottom - resize_corner_size.height(),
@@ -1282,7 +1268,7 @@
// BrowserView, private:
void BrowserView::InitSystemMenu() {
- HMENU system_menu = GetSystemMenu(frame_->GetWindow()->GetHWND(), FALSE);
+ HMENU system_menu = GetSystemMenu(frame_->GetHWND(), FALSE);
system_menu_.reset(new Menu(system_menu));
int insertion_index = std::max(0, system_menu_->ItemCount() - 1);
// We add the menu items in reverse order so that insertion_index never needs
@@ -1433,7 +1419,7 @@
// In restored mode, the client area has a client edge between it and the
// frame.
int overlap = kStatusBubbleOverlap +
- (IsMaximized() ? 0 : views::NonClientView::kClientEdgeThickness);
+ (IsMaximized() ? 0 : views::NonClientFrameView::kClientEdgeThickness);
gfx::Point origin(-overlap, top - kStatusBubbleHeight + overlap);
ConvertPointToView(this, GetParent(), &origin);
status_bubble_->SetBounds(origin.x(), origin.y(), width() / 3,
@@ -1678,3 +1664,11 @@
initialized = true;
}
}
+
+// static
+BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) {
+ BrowserView* browser_view = new BrowserView(browser);
+ (new BrowserFrame(browser_view))->Init();
+ return browser_view;
+}
+
« no previous file with comments | « chrome/browser/views/frame/browser_frame.cc ('k') | chrome/browser/views/frame/browser_window_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698