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/views/frame/browser_view.h" | 5 #include "chrome/browser/ui/views/frame/browser_view.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 | 133 |
134 #if defined(USE_ASH) | 134 #if defined(USE_ASH) |
135 #include "ash/ash_switches.h" | 135 #include "ash/ash_switches.h" |
136 #include "ash/shelf/shelf.h" | 136 #include "ash/shelf/shelf.h" |
137 #include "ash/shelf/shelf_model.h" | 137 #include "ash/shelf/shelf_model.h" |
138 #include "ash/shell.h" | 138 #include "ash/shell.h" |
139 #include "chrome/browser/ui/ash/ash_util.h" | 139 #include "chrome/browser/ui/ash/ash_util.h" |
140 #endif | 140 #endif |
141 | 141 |
142 #if defined(USE_AURA) | 142 #if defined(USE_AURA) |
| 143 #include "ui/aura/root_window.h" |
143 #include "ui/aura/window.h" | 144 #include "ui/aura/window.h" |
144 #include "ui/gfx/screen.h" | 145 #include "ui/gfx/screen.h" |
145 #elif defined(OS_WIN) // !defined(USE_AURA) | |
146 #include "chrome/browser/jumplist_win.h" | |
147 #include "ui/views/widget/native_widget_win.h" | |
148 #include "ui/views/win/scoped_fullscreen_visibility.h" | |
149 #endif | 146 #endif |
150 | 147 |
151 #if defined(OS_WIN) | 148 #if defined(OS_WIN) |
152 #include "base/win/windows_version.h" | 149 #include "base/win/windows_version.h" |
| 150 #include "chrome/browser/jumplist_win.h" |
| 151 #include "ui/views/widget/native_widget_win.h" |
| 152 #include "ui/views/win/scoped_fullscreen_visibility.h" |
153 #include "win8/util/win8_util.h" | 153 #include "win8/util/win8_util.h" |
154 #endif | 154 #endif |
155 | 155 |
156 #if defined(ENABLE_ONE_CLICK_SIGNIN) | 156 #if defined(ENABLE_ONE_CLICK_SIGNIN) |
157 #include "chrome/browser/ui/sync/one_click_signin_bubble_delegate.h" | 157 #include "chrome/browser/ui/sync/one_click_signin_bubble_delegate.h" |
158 #include "chrome/browser/ui/sync/one_click_signin_bubble_links_delegate.h" | 158 #include "chrome/browser/ui/sync/one_click_signin_bubble_links_delegate.h" |
159 #include "chrome/browser/ui/views/sync/one_click_signin_bubble_view.h" | 159 #include "chrome/browser/ui/views/sync/one_click_signin_bubble_view.h" |
160 #endif | 160 #endif |
161 | 161 |
162 #if defined(OS_CHROMEOS) | 162 #if defined(OS_CHROMEOS) |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
412 tabstrip_(NULL), | 412 tabstrip_(NULL), |
413 toolbar_(NULL), | 413 toolbar_(NULL), |
414 window_switcher_button_(NULL), | 414 window_switcher_button_(NULL), |
415 find_bar_host_view_(NULL), | 415 find_bar_host_view_(NULL), |
416 infobar_container_(NULL), | 416 infobar_container_(NULL), |
417 contents_web_view_(NULL), | 417 contents_web_view_(NULL), |
418 contents_container_(NULL), | 418 contents_container_(NULL), |
419 devtools_window_(NULL), | 419 devtools_window_(NULL), |
420 initialized_(false), | 420 initialized_(false), |
421 in_process_fullscreen_(false), | 421 in_process_fullscreen_(false), |
422 #if defined(OS_WIN) && !defined(USE_AURA) | 422 #if defined(OS_WIN) |
423 hung_window_detector_(&hung_plugin_action_), | 423 hung_window_detector_(&hung_plugin_action_), |
424 ticker_(0), | 424 ticker_(0), |
425 #endif | 425 #endif |
426 force_location_bar_focus_(false), | 426 force_location_bar_focus_(false), |
427 immersive_mode_controller_(chrome::CreateImmersiveModeController()), | 427 immersive_mode_controller_(chrome::CreateImmersiveModeController()), |
428 #if defined(OS_CHROMEOS) | 428 #if defined(OS_CHROMEOS) |
429 scroll_end_effect_controller_(ScrollEndEffectController::Create()), | 429 scroll_end_effect_controller_(ScrollEndEffectController::Create()), |
430 #endif | 430 #endif |
431 color_change_listener_(this), | 431 color_change_listener_(this), |
432 activate_modal_dialog_factory_(this) { | 432 activate_modal_dialog_factory_(this) { |
433 } | 433 } |
434 | 434 |
435 BrowserView::~BrowserView() { | 435 BrowserView::~BrowserView() { |
436 // Immersive mode may need to reparent views before they are removed/deleted. | 436 // Immersive mode may need to reparent views before they are removed/deleted. |
437 immersive_mode_controller_.reset(); | 437 immersive_mode_controller_.reset(); |
438 | 438 |
439 browser_->tab_strip_model()->RemoveObserver(this); | 439 browser_->tab_strip_model()->RemoveObserver(this); |
440 | 440 |
441 #if defined(OS_WIN) && !defined(USE_AURA) | 441 #if defined(OS_WIN) |
442 // Stop hung plugin monitoring. | 442 // Stop hung plugin monitoring. |
443 ticker_.Stop(); | 443 ticker_.Stop(); |
444 ticker_.UnregisterTickHandler(&hung_window_detector_); | 444 ticker_.UnregisterTickHandler(&hung_window_detector_); |
445 | 445 |
446 // Terminate the jumplist (must be called before browser_->profile() is | 446 // Terminate the jumplist (must be called before browser_->profile() is |
447 // destroyed. | 447 // destroyed. |
448 if (jumplist_) { | 448 if (jumplist_) { |
449 jumplist_->Terminate(); | 449 jumplist_->Terminate(); |
450 } | 450 } |
451 #endif | 451 #endif |
(...skipping 1547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1999 this, | 1999 this, |
2000 top_container_, | 2000 top_container_, |
2001 tabstrip_, | 2001 tabstrip_, |
2002 toolbar_, | 2002 toolbar_, |
2003 infobar_container_, | 2003 infobar_container_, |
2004 contents_container_, | 2004 contents_container_, |
2005 GetContentsLayoutManager(), | 2005 GetContentsLayoutManager(), |
2006 immersive_mode_controller_.get()); | 2006 immersive_mode_controller_.get()); |
2007 SetLayoutManager(browser_view_layout); | 2007 SetLayoutManager(browser_view_layout); |
2008 | 2008 |
2009 #if defined(OS_WIN) && !defined(USE_AURA) | 2009 #if defined(OS_WIN) |
2010 // Create a custom JumpList and add it to an observer of TabRestoreService | 2010 // Create a custom JumpList and add it to an observer of TabRestoreService |
2011 // so we can update the custom JumpList when a tab is added or removed. | 2011 // so we can update the custom JumpList when a tab is added or removed. |
2012 if (JumpList::Enabled()) { | 2012 if (JumpList::Enabled()) { |
2013 load_complete_listener_.reset(new LoadCompleteListener(this)); | 2013 load_complete_listener_.reset(new LoadCompleteListener(this)); |
2014 } | 2014 } |
2015 #endif | 2015 #endif |
2016 | 2016 |
2017 GetLocationBar()->GetOmniboxView()->model()->popup_model()->AddObserver(this); | 2017 GetLocationBar()->GetOmniboxView()->model()->popup_model()->AddObserver(this); |
2018 } | 2018 } |
2019 | 2019 |
(...skipping 17 matching lines...) Expand all Loading... |
2037 WebContents* web_contents = | 2037 WebContents* web_contents = |
2038 browser_->tab_strip_model()->GetActiveWebContents(); | 2038 browser_->tab_strip_model()->GetActiveWebContents(); |
2039 // GetActiveWebContents can return NULL for example under Purify when | 2039 // GetActiveWebContents can return NULL for example under Purify when |
2040 // the animations are running slowly and this function is called on a timer | 2040 // the animations are running slowly and this function is called on a timer |
2041 // through LoadingAnimationCallback. | 2041 // through LoadingAnimationCallback. |
2042 frame_->UpdateThrobber(web_contents && web_contents->IsLoading()); | 2042 frame_->UpdateThrobber(web_contents && web_contents->IsLoading()); |
2043 } | 2043 } |
2044 } | 2044 } |
2045 | 2045 |
2046 void BrowserView::OnLoadCompleted() { | 2046 void BrowserView::OnLoadCompleted() { |
2047 #if defined(OS_WIN) && !defined(USE_AURA) | 2047 #if defined(OS_WIN) |
2048 DCHECK(!jumplist_); | 2048 DCHECK(!jumplist_); |
2049 jumplist_ = new JumpList(); | 2049 jumplist_ = new JumpList(); |
2050 jumplist_->AddObserver(browser_->profile()); | 2050 jumplist_->AddObserver(browser_->profile()); |
2051 #endif | 2051 #endif |
2052 } | 2052 } |
2053 | 2053 |
2054 BrowserViewLayout* BrowserView::GetBrowserViewLayout() const { | 2054 BrowserViewLayout* BrowserView::GetBrowserViewLayout() const { |
2055 return static_cast<BrowserViewLayout*>(GetLayoutManager()); | 2055 return static_cast<BrowserViewLayout*>(GetLayoutManager()); |
2056 } | 2056 } |
2057 | 2057 |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2357 case APPCOMMAND_SPELL_CHECK: | 2357 case APPCOMMAND_SPELL_CHECK: |
2358 default: return -1; | 2358 default: return -1; |
2359 } | 2359 } |
2360 #else | 2360 #else |
2361 // App commands are Windows-specific so there's nothing to do here. | 2361 // App commands are Windows-specific so there's nothing to do here. |
2362 return -1; | 2362 return -1; |
2363 #endif | 2363 #endif |
2364 } | 2364 } |
2365 | 2365 |
2366 void BrowserView::InitHangMonitor() { | 2366 void BrowserView::InitHangMonitor() { |
2367 #if defined(OS_WIN) && !defined(USE_AURA) | 2367 #if defined(OS_WIN) |
2368 PrefService* pref_service = g_browser_process->local_state(); | 2368 PrefService* pref_service = g_browser_process->local_state(); |
2369 if (!pref_service) | 2369 if (!pref_service) |
2370 return; | 2370 return; |
2371 | 2371 |
2372 int plugin_message_response_timeout = | 2372 int plugin_message_response_timeout = |
2373 pref_service->GetInteger(prefs::kPluginMessageResponseTimeout); | 2373 pref_service->GetInteger(prefs::kPluginMessageResponseTimeout); |
2374 int hung_plugin_detect_freq = | 2374 int hung_plugin_detect_freq = |
2375 pref_service->GetInteger(prefs::kHungPluginDetectFrequency); | 2375 pref_service->GetInteger(prefs::kHungPluginDetectFrequency); |
| 2376 #if defined(USE_AURA) |
| 2377 HWND window = GetWidget()->GetNativeView()->GetDispatcher()->host()-> |
| 2378 GetAcceleratedWidget(); |
| 2379 #else |
| 2380 HWND window = GetWidget()->GetNativeView(); |
| 2381 #endif |
2376 if ((hung_plugin_detect_freq > 0) && | 2382 if ((hung_plugin_detect_freq > 0) && |
2377 hung_window_detector_.Initialize(GetWidget()->GetNativeView(), | 2383 hung_window_detector_.Initialize(window, |
2378 plugin_message_response_timeout)) { | 2384 plugin_message_response_timeout)) { |
2379 ticker_.set_tick_interval(hung_plugin_detect_freq); | 2385 ticker_.set_tick_interval(hung_plugin_detect_freq); |
2380 ticker_.RegisterTickHandler(&hung_window_detector_); | 2386 ticker_.RegisterTickHandler(&hung_window_detector_); |
2381 ticker_.Start(); | 2387 ticker_.Start(); |
2382 | 2388 |
2383 pref_service->SetInteger(prefs::kPluginMessageResponseTimeout, | 2389 pref_service->SetInteger(prefs::kPluginMessageResponseTimeout, |
2384 plugin_message_response_timeout); | 2390 plugin_message_response_timeout); |
2385 pref_service->SetInteger(prefs::kHungPluginDetectFrequency, | 2391 pref_service->SetInteger(prefs::kHungPluginDetectFrequency, |
2386 hung_plugin_detect_freq); | 2392 hung_plugin_detect_freq); |
2387 } | 2393 } |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2606 !GetLocationBar()->GetOmniboxView()->model()->popup_model()->IsOpen()) { | 2612 !GetLocationBar()->GetOmniboxView()->model()->popup_model()->IsOpen()) { |
2607 gfx::Point icon_bottom( | 2613 gfx::Point icon_bottom( |
2608 toolbar_->location_bar()->GetLocationBarAnchorPoint()); | 2614 toolbar_->location_bar()->GetLocationBarAnchorPoint()); |
2609 ConvertPointToTarget(toolbar_->location_bar(), this, &icon_bottom); | 2615 ConvertPointToTarget(toolbar_->location_bar(), this, &icon_bottom); |
2610 gfx::Point infobar_top(0, infobar_container_->GetVerticalOverlap(NULL)); | 2616 gfx::Point infobar_top(0, infobar_container_->GetVerticalOverlap(NULL)); |
2611 ConvertPointToTarget(infobar_container_, this, &infobar_top); | 2617 ConvertPointToTarget(infobar_container_, this, &infobar_top); |
2612 top_arrow_height = infobar_top.y() - icon_bottom.y(); | 2618 top_arrow_height = infobar_top.y() - icon_bottom.y(); |
2613 } | 2619 } |
2614 return top_arrow_height; | 2620 return top_arrow_height; |
2615 } | 2621 } |
OLD | NEW |