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

Side by Side Diff: chrome/browser/ui/views/frame/browser_frame_win.cc

Issue 10560015: Implement base::win::IsMetroProcess. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 8 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/views/frame/browser_frame_win.h" 5 #include "chrome/browser/ui/views/frame/browser_frame_win.h"
6 6
7 #include <dwmapi.h> 7 #include <dwmapi.h>
8 #include <shellapi.h> 8 #include <shellapi.h>
9 9
10 #include <set> 10 #include <set>
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 /////////////////////////////////////////////////////////////////////////////// 89 ///////////////////////////////////////////////////////////////////////////////
90 // BrowserFrameWin, public: 90 // BrowserFrameWin, public:
91 91
92 BrowserFrameWin::BrowserFrameWin(BrowserFrame* browser_frame, 92 BrowserFrameWin::BrowserFrameWin(BrowserFrame* browser_frame,
93 BrowserView* browser_view) 93 BrowserView* browser_view)
94 : views::NativeWidgetWin(browser_frame), 94 : views::NativeWidgetWin(browser_frame),
95 browser_view_(browser_view), 95 browser_view_(browser_view),
96 browser_frame_(browser_frame), 96 browser_frame_(browser_frame),
97 system_menu_delegate_(new SystemMenuModelDelegate(browser_view, 97 system_menu_delegate_(new SystemMenuModelDelegate(browser_view,
98 browser_view->browser())) { 98 browser_view->browser())) {
99 if (base::win::GetMetroModule()) { 99 if (base::win::IsMetroProcess()) {
100 browser_view->SetWindowSwitcherButton( 100 browser_view->SetWindowSwitcherButton(
101 MakeWindowSwitcherButton(this, browser_view->IsOffTheRecord())); 101 MakeWindowSwitcherButton(this, browser_view->IsOffTheRecord()));
102 } 102 }
103 } 103 }
104 104
105 BrowserFrameWin::~BrowserFrameWin() { 105 BrowserFrameWin::~BrowserFrameWin() {
106 } 106 }
107 107
108 // static 108 // static
109 void BrowserFrameWin::SetShowState(int state) { 109 void BrowserFrameWin::SetShowState(int state) {
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 static const UINT metro_navigation_search_message = 309 static const UINT metro_navigation_search_message =
310 RegisterWindowMessage(chrome::kMetroNavigationAndSearchMessage); 310 RegisterWindowMessage(chrome::kMetroNavigationAndSearchMessage);
311 311
312 static const UINT metro_get_current_tab_info_message = 312 static const UINT metro_get_current_tab_info_message =
313 RegisterWindowMessage(chrome::kMetroGetCurrentTabInfoMessage); 313 RegisterWindowMessage(chrome::kMetroGetCurrentTabInfoMessage);
314 314
315 if (message == metro_navigation_search_message) { 315 if (message == metro_navigation_search_message) {
316 HandleMetroNavSearchRequest(w_param, l_param); 316 HandleMetroNavSearchRequest(w_param, l_param);
317 } else if (message == metro_get_current_tab_info_message) { 317 } else if (message == metro_get_current_tab_info_message) {
318 GetMetroCurrentTabInfo(w_param); 318 GetMetroCurrentTabInfo(w_param);
319 } else if (message == WM_PRINT && base::win::GetMetroModule()) { 319 } else if (message == WM_PRINT && base::win::IsMetroProcess()) {
320 // This message is sent by the AnimateWindow API which is used in metro 320 // This message is sent by the AnimateWindow API which is used in metro
321 // mode to flip between active chrome windows. 321 // mode to flip between active chrome windows.
322 RECT client_rect = {0}; 322 RECT client_rect = {0};
323 ::GetClientRect(GetNativeView(), &client_rect); 323 ::GetClientRect(GetNativeView(), &client_rect);
324 HDC dest_dc = reinterpret_cast<HDC>(w_param); 324 HDC dest_dc = reinterpret_cast<HDC>(w_param);
325 DCHECK(dest_dc); 325 DCHECK(dest_dc);
326 HDC src_dc = ::GetDC(GetNativeView()); 326 HDC src_dc = ::GetDC(GetNativeView());
327 ::BitBlt(dest_dc, 0, 0, client_rect.right - client_rect.left, 327 ::BitBlt(dest_dc, 0, 0, client_rect.right - client_rect.left,
328 client_rect.bottom - client_rect.top, src_dc, 0, 0, 328 client_rect.bottom - client_rect.top, src_dc, 0, 0,
329 SRCCOPY); 329 SRCCOPY);
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 if (CommandLine::ForCurrentProcess()->HasSwitch( 431 if (CommandLine::ForCurrentProcess()->HasSwitch(
432 switches::kDebugEnableFrameToggle)) { 432 switches::kDebugEnableFrameToggle)) {
433 system_menu_contents_->AddSeparator(); 433 system_menu_contents_->AddSeparator();
434 system_menu_contents_->AddItem(IDC_DEBUG_FRAME_TOGGLE, 434 system_menu_contents_->AddItem(IDC_DEBUG_FRAME_TOGGLE,
435 L"Toggle Frame Type"); 435 L"Toggle Frame Type");
436 } 436 }
437 } 437 }
438 438
439 void BrowserFrameWin::HandleMetroNavSearchRequest(WPARAM w_param, 439 void BrowserFrameWin::HandleMetroNavSearchRequest(WPARAM w_param,
440 LPARAM l_param) { 440 LPARAM l_param) {
441 if (!base::win::GetMetroModule()) { 441 if (!base::win::IsMetroProcess()) {
442 NOTREACHED() << "Received unexpected metro navigation request"; 442 NOTREACHED() << "Received unexpected metro navigation request";
443 return; 443 return;
444 } 444 }
445 445
446 if (!w_param && !l_param) { 446 if (!w_param && !l_param) {
447 NOTREACHED() << "Invalid metro request parameters"; 447 NOTREACHED() << "Invalid metro request parameters";
448 return; 448 return;
449 } 449 }
450 450
451 Browser* browser = browser_view()->browser(); 451 Browser* browser = browser_view()->browser();
(...skipping 18 matching lines...) Expand all
470 string16())); 470 string16()));
471 } 471 }
472 } 472 }
473 if (request_url.is_valid()) { 473 if (request_url.is_valid()) {
474 browser->OpenURL(OpenURLParams(request_url, Referrer(), NEW_FOREGROUND_TAB, 474 browser->OpenURL(OpenURLParams(request_url, Referrer(), NEW_FOREGROUND_TAB,
475 content::PAGE_TRANSITION_TYPED, false)); 475 content::PAGE_TRANSITION_TYPED, false));
476 } 476 }
477 } 477 }
478 478
479 void BrowserFrameWin::GetMetroCurrentTabInfo(WPARAM w_param) { 479 void BrowserFrameWin::GetMetroCurrentTabInfo(WPARAM w_param) {
480 if (!base::win::GetMetroModule()) { 480 if (!base::win::IsMetroProcess()) {
481 NOTREACHED() << "Received unexpected metro request"; 481 NOTREACHED() << "Received unexpected metro request";
482 return; 482 return;
483 } 483 }
484 484
485 if (!w_param) { 485 if (!w_param) {
486 NOTREACHED() << "Invalid metro request parameter"; 486 NOTREACHED() << "Invalid metro request parameter";
487 return; 487 return;
488 } 488 }
489 489
490 base::win::CurrentTabInfo* current_tab_info = 490 base::win::CurrentTabInfo* current_tab_info =
(...skipping 27 matching lines...) Expand all
518 518
519 //////////////////////////////////////////////////////////////////////////////// 519 ////////////////////////////////////////////////////////////////////////////////
520 // NativeBrowserFrame, public: 520 // NativeBrowserFrame, public:
521 521
522 // static 522 // static
523 NativeBrowserFrame* NativeBrowserFrame::CreateNativeBrowserFrame( 523 NativeBrowserFrame* NativeBrowserFrame::CreateNativeBrowserFrame(
524 BrowserFrame* browser_frame, 524 BrowserFrame* browser_frame,
525 BrowserView* browser_view) { 525 BrowserView* browser_view) {
526 return new BrowserFrameWin(browser_frame, browser_view); 526 return new BrowserFrameWin(browser_frame, browser_view);
527 } 527 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698