| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/views/frame/browser_view.h" | 5 #include "chrome/browser/views/frame/browser_view.h" |
| 6 | 6 |
| 7 #if defined(OS_LINUX) | 7 #if defined(OS_LINUX) |
| 8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
| 9 #endif | 9 #endif |
| 10 | 10 |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 #include "chrome/browser/jumplist.h" | 86 #include "chrome/browser/jumplist.h" |
| 87 #elif defined(OS_LINUX) | 87 #elif defined(OS_LINUX) |
| 88 #include "chrome/browser/views/accelerator_table_gtk.h" | 88 #include "chrome/browser/views/accelerator_table_gtk.h" |
| 89 #include "views/window/hit_test.h" | 89 #include "views/window/hit_test.h" |
| 90 #endif | 90 #endif |
| 91 | 91 |
| 92 using base::TimeDelta; | 92 using base::TimeDelta; |
| 93 using views::ColumnSet; | 93 using views::ColumnSet; |
| 94 using views::GridLayout; | 94 using views::GridLayout; |
| 95 | 95 |
| 96 // static | |
| 97 SkBitmap BrowserView::default_favicon_; | |
| 98 SkBitmap BrowserView::otr_avatar_; | |
| 99 // The height of the status bubble. | 96 // The height of the status bubble. |
| 100 static const int kStatusBubbleHeight = 20; | 97 static const int kStatusBubbleHeight = 20; |
| 101 // The name of a key to store on the window handle so that other code can | 98 // The name of a key to store on the window handle so that other code can |
| 102 // locate this object using just the handle. | 99 // locate this object using just the handle. |
| 103 #if defined(OS_WIN) | 100 #if defined(OS_WIN) |
| 104 static const wchar_t* kBrowserViewKey = L"__BROWSER_VIEW__"; | 101 static const wchar_t* kBrowserViewKey = L"__BROWSER_VIEW__"; |
| 105 #else | 102 #else |
| 106 static const char* kBrowserViewKey = "__BROWSER_VIEW__"; | 103 static const char* kBrowserViewKey = "__BROWSER_VIEW__"; |
| 107 #endif | 104 #endif |
| 108 // How frequently we check for hung plugin windows. | 105 // How frequently we check for hung plugin windows. |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 413 contents_split_(NULL), | 410 contents_split_(NULL), |
| 414 initialized_(false), | 411 initialized_(false), |
| 415 ignore_layout_(false), | 412 ignore_layout_(false), |
| 416 #if defined(OS_WIN) | 413 #if defined(OS_WIN) |
| 417 hung_window_detector_(&hung_plugin_action_), | 414 hung_window_detector_(&hung_plugin_action_), |
| 418 ticker_(0), | 415 ticker_(0), |
| 419 #endif | 416 #endif |
| 420 extension_shelf_(NULL), | 417 extension_shelf_(NULL), |
| 421 last_focused_view_storage_id_( | 418 last_focused_view_storage_id_( |
| 422 views::ViewStorage::GetSharedInstance()->CreateStorageID()) { | 419 views::ViewStorage::GetSharedInstance()->CreateStorageID()) { |
| 423 InitClass(); | |
| 424 browser_->tabstrip_model()->AddObserver(this); | 420 browser_->tabstrip_model()->AddObserver(this); |
| 425 } | 421 } |
| 426 | 422 |
| 427 BrowserView::~BrowserView() { | 423 BrowserView::~BrowserView() { |
| 428 browser_->tabstrip_model()->RemoveObserver(this); | 424 browser_->tabstrip_model()->RemoveObserver(this); |
| 429 | 425 |
| 430 #if defined(OS_WIN) | 426 #if defined(OS_WIN) |
| 431 // Remove this observer. | 427 // Remove this observer. |
| 432 if (aeropeek_manager_.get()) | 428 if (aeropeek_manager_.get()) |
| 433 browser_->tabstrip_model()->RemoveObserver(aeropeek_manager_.get()); | 429 browser_->tabstrip_model()->RemoveObserver(aeropeek_manager_.get()); |
| (...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 614 void BrowserView::ActivationChanged(bool activated) { | 610 void BrowserView::ActivationChanged(bool activated) { |
| 615 if (activated) | 611 if (activated) |
| 616 BrowserList::SetLastActive(browser_.get()); | 612 BrowserList::SetLastActive(browser_.get()); |
| 617 } | 613 } |
| 618 | 614 |
| 619 TabContents* BrowserView::GetSelectedTabContents() const { | 615 TabContents* BrowserView::GetSelectedTabContents() const { |
| 620 return browser_->GetSelectedTabContents(); | 616 return browser_->GetSelectedTabContents(); |
| 621 } | 617 } |
| 622 | 618 |
| 623 SkBitmap BrowserView::GetOTRAvatarIcon() { | 619 SkBitmap BrowserView::GetOTRAvatarIcon() { |
| 624 if (otr_avatar_.isNull()) { | 620 static SkBitmap* otr_avatar_ = new SkBitmap(); |
| 621 |
| 622 if (otr_avatar_->isNull()) { |
| 625 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 623 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 626 otr_avatar_ = *rb.GetBitmapNamed(IDR_OTR_ICON); | 624 *otr_avatar_ = *rb.GetBitmapNamed(IDR_OTR_ICON); |
| 627 } | 625 } |
| 628 return otr_avatar_; | 626 return *otr_avatar_; |
| 629 } | 627 } |
| 630 | 628 |
| 631 #if defined(OS_WIN) | 629 #if defined(OS_WIN) |
| 632 void BrowserView::PrepareToRunSystemMenu(HMENU menu) { | 630 void BrowserView::PrepareToRunSystemMenu(HMENU menu) { |
| 633 system_menu_->UpdateStates(); | 631 system_menu_->UpdateStates(); |
| 634 } | 632 } |
| 635 #endif | 633 #endif |
| 636 | 634 |
| 637 void BrowserView::TraverseNextAccessibleToolbar(bool forward) { | 635 void BrowserView::TraverseNextAccessibleToolbar(bool forward) { |
| 638 // TODO(mohamed) This needs to be smart, that applies to all toolbars. | 636 // TODO(mohamed) This needs to be smart, that applies to all toolbars. |
| (...skipping 1502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2141 ticker_.Start(); | 2139 ticker_.Start(); |
| 2142 | 2140 |
| 2143 pref_service->SetInteger(prefs::kPluginMessageResponseTimeout, | 2141 pref_service->SetInteger(prefs::kPluginMessageResponseTimeout, |
| 2144 plugin_message_response_timeout); | 2142 plugin_message_response_timeout); |
| 2145 pref_service->SetInteger(prefs::kHungPluginDetectFrequency, | 2143 pref_service->SetInteger(prefs::kHungPluginDetectFrequency, |
| 2146 hung_plugin_detect_freq); | 2144 hung_plugin_detect_freq); |
| 2147 } | 2145 } |
| 2148 #endif | 2146 #endif |
| 2149 } | 2147 } |
| 2150 | 2148 |
| 2151 // static | |
| 2152 void BrowserView::InitClass() { | |
| 2153 static bool initialized = false; | |
| 2154 if (!initialized) { | |
| 2155 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | |
| 2156 default_favicon_ = *rb.GetBitmapNamed(IDR_DEFAULT_FAVICON); | |
| 2157 initialized = true; | |
| 2158 } | |
| 2159 } | |
| 2160 | |
| 2161 #if !defined(OS_CHROMEOS) | 2149 #if !defined(OS_CHROMEOS) |
| 2162 // static | 2150 // static |
| 2163 BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) { | 2151 BrowserWindow* BrowserWindow::CreateBrowserWindow(Browser* browser) { |
| 2164 // Create the view and the frame. The frame will attach itself via the view | 2152 // Create the view and the frame. The frame will attach itself via the view |
| 2165 // so we don't need to do anything with the pointer. | 2153 // so we don't need to do anything with the pointer. |
| 2166 BrowserView* view = new BrowserView(browser); | 2154 BrowserView* view = new BrowserView(browser); |
| 2167 BrowserFrame::Create(view, browser->profile()); | 2155 BrowserFrame::Create(view, browser->profile()); |
| 2168 | 2156 |
| 2169 view->GetWindow()->GetNonClientView()-> | 2157 view->GetWindow()->GetNonClientView()-> |
| 2170 SetAccessibleName(l10n_util::GetString(IDS_PRODUCT_NAME)); | 2158 SetAccessibleName(l10n_util::GetString(IDS_PRODUCT_NAME)); |
| 2171 | 2159 |
| 2172 return view; | 2160 return view; |
| 2173 } | 2161 } |
| 2174 #endif | 2162 #endif |
| 2175 | 2163 |
| 2176 // static | 2164 // static |
| 2177 FindBar* BrowserWindow::CreateFindBar(Browser* browser) { | 2165 FindBar* BrowserWindow::CreateFindBar(Browser* browser) { |
| 2178 return browser::CreateFindBar(static_cast<BrowserView*>(browser->window())); | 2166 return browser::CreateFindBar(static_cast<BrowserView*>(browser->window())); |
| 2179 } | 2167 } |
| OLD | NEW |