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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 #include "grit/webkit_resources.h" | 75 #include "grit/webkit_resources.h" |
76 #include "views/controls/single_split_view.h" | 76 #include "views/controls/single_split_view.h" |
77 #include "views/focus/external_focus_tracker.h" | 77 #include "views/focus/external_focus_tracker.h" |
78 #include "views/focus/view_storage.h" | 78 #include "views/focus/view_storage.h" |
79 #include "views/grid_layout.h" | 79 #include "views/grid_layout.h" |
80 #include "views/widget/root_view.h" | 80 #include "views/widget/root_view.h" |
81 #include "views/window/dialog_delegate.h" | 81 #include "views/window/dialog_delegate.h" |
82 #include "views/window/window.h" | 82 #include "views/window/window.h" |
83 | 83 |
84 #if defined(OS_WIN) | 84 #if defined(OS_WIN) |
85 #include "app/view_prop.h" | |
86 #include "app/win_util.h" | 85 #include "app/win_util.h" |
87 #include "chrome/browser/aeropeek_manager.h" | 86 #include "chrome/browser/aeropeek_manager.h" |
88 #include "chrome/browser/jumplist_win.h" | 87 #include "chrome/browser/jumplist_win.h" |
89 #elif defined(OS_LINUX) | 88 #elif defined(OS_LINUX) |
90 #include "chrome/browser/views/accelerator_table_gtk.h" | 89 #include "chrome/browser/views/accelerator_table_gtk.h" |
91 #include "views/window/hit_test.h" | 90 #include "views/window/hit_test.h" |
92 #include "views/window/window_gtk.h" | 91 #include "views/window/window_gtk.h" |
93 #endif | 92 #endif |
94 | 93 |
95 using base::TimeDelta; | 94 using base::TimeDelta; |
96 using views::ColumnSet; | 95 using views::ColumnSet; |
97 using views::GridLayout; | 96 using views::GridLayout; |
98 | 97 |
99 // The height of the status bubble. | 98 // The height of the status bubble. |
100 static const int kStatusBubbleHeight = 20; | 99 static const int kStatusBubbleHeight = 20; |
101 // The name of a key to store on the window handle so that other code can | 100 // The name of a key to store on the window handle so that other code can |
102 // locate this object using just the handle. | 101 // locate this object using just the handle. |
103 static const char* const kBrowserViewKey = "__BROWSER_VIEW__"; | 102 #if defined(OS_WIN) |
| 103 static const wchar_t* kBrowserViewKey = L"__BROWSER_VIEW__"; |
| 104 #else |
| 105 static const char* kBrowserViewKey = "__BROWSER_VIEW__"; |
| 106 #endif |
104 // How frequently we check for hung plugin windows. | 107 // How frequently we check for hung plugin windows. |
105 static const int kDefaultHungPluginDetectFrequency = 2000; | 108 static const int kDefaultHungPluginDetectFrequency = 2000; |
106 // How long do we wait before we consider a window hung (in ms). | 109 // How long do we wait before we consider a window hung (in ms). |
107 static const int kDefaultPluginMessageResponseTimeout = 30000; | 110 static const int kDefaultPluginMessageResponseTimeout = 30000; |
108 // The number of milliseconds between loading animation frames. | 111 // The number of milliseconds between loading animation frames. |
109 static const int kLoadingAnimationFrameTimeMs = 30; | 112 static const int kLoadingAnimationFrameTimeMs = 30; |
110 // The amount of space we expect the window border to take up. | 113 // The amount of space we expect the window border to take up. |
111 static const int kWindowBorderWidth = 5; | 114 static const int kWindowBorderWidth = 5; |
112 | 115 |
113 // If not -1, windows are shown with this state. | 116 // If not -1, windows are shown with this state. |
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
476 | 479 |
477 // Explicitly set browser_ to NULL. | 480 // Explicitly set browser_ to NULL. |
478 browser_.reset(); | 481 browser_.reset(); |
479 } | 482 } |
480 | 483 |
481 // static | 484 // static |
482 BrowserView* BrowserView::GetBrowserViewForNativeWindow( | 485 BrowserView* BrowserView::GetBrowserViewForNativeWindow( |
483 gfx::NativeWindow window) { | 486 gfx::NativeWindow window) { |
484 #if defined(OS_WIN) | 487 #if defined(OS_WIN) |
485 if (IsWindow(window)) { | 488 if (IsWindow(window)) { |
486 return reinterpret_cast<BrowserView*>( | 489 HANDLE data = GetProp(window, kBrowserViewKey); |
487 app::ViewProp::GetValue(window, kBrowserViewKey)); | 490 if (data) |
| 491 return reinterpret_cast<BrowserView*>(data); |
488 } | 492 } |
489 #else | 493 #else |
490 if (window) { | 494 if (window) { |
491 return static_cast<BrowserView*>( | 495 return static_cast<BrowserView*>( |
492 g_object_get_data(G_OBJECT(window), kBrowserViewKey)); | 496 g_object_get_data(G_OBJECT(window), kBrowserViewKey)); |
493 } | 497 } |
494 #endif | 498 #endif |
495 return NULL; | 499 return NULL; |
496 } | 500 } |
497 | 501 |
(...skipping 1380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1878 /////////////////////////////////////////////////////////////////////////////// | 1882 /////////////////////////////////////////////////////////////////////////////// |
1879 // BrowserView, private: | 1883 // BrowserView, private: |
1880 | 1884 |
1881 void BrowserView::Init() { | 1885 void BrowserView::Init() { |
1882 accessible_view_helper_.reset(new AccessibleViewHelper( | 1886 accessible_view_helper_.reset(new AccessibleViewHelper( |
1883 this, browser_->profile())); | 1887 this, browser_->profile())); |
1884 | 1888 |
1885 SetLayoutManager(CreateLayoutManager()); | 1889 SetLayoutManager(CreateLayoutManager()); |
1886 // Stow a pointer to this object onto the window handle so that we can get | 1890 // Stow a pointer to this object onto the window handle so that we can get |
1887 // at it later when all we have is a native view. | 1891 // at it later when all we have is a native view. |
| 1892 #if defined(OS_WIN) |
1888 GetWidget()->SetNativeWindowProperty(kBrowserViewKey, this); | 1893 GetWidget()->SetNativeWindowProperty(kBrowserViewKey, this); |
| 1894 #else |
| 1895 g_object_set_data(G_OBJECT(GetWidget()->GetNativeView()), |
| 1896 kBrowserViewKey, this); |
| 1897 #endif |
1889 | 1898 |
1890 // Start a hung plugin window detector for this browser object (as long as | 1899 // Start a hung plugin window detector for this browser object (as long as |
1891 // hang detection is not disabled). | 1900 // hang detection is not disabled). |
1892 if (!CommandLine::ForCurrentProcess()->HasSwitch( | 1901 if (!CommandLine::ForCurrentProcess()->HasSwitch( |
1893 switches::kDisableHangMonitor)) { | 1902 switches::kDisableHangMonitor)) { |
1894 InitHangMonitor(); | 1903 InitHangMonitor(); |
1895 } | 1904 } |
1896 | 1905 |
1897 LoadAccelerators(); | 1906 LoadAccelerators(); |
1898 SetAccessibleName(l10n_util::GetString(IDS_PRODUCT_NAME)); | 1907 SetAccessibleName(l10n_util::GetString(IDS_PRODUCT_NAME)); |
(...skipping 605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2504 SetAccessibleName(l10n_util::GetString(IDS_PRODUCT_NAME)); | 2513 SetAccessibleName(l10n_util::GetString(IDS_PRODUCT_NAME)); |
2505 | 2514 |
2506 return view; | 2515 return view; |
2507 } | 2516 } |
2508 #endif | 2517 #endif |
2509 | 2518 |
2510 // static | 2519 // static |
2511 FindBar* BrowserWindow::CreateFindBar(Browser* browser) { | 2520 FindBar* BrowserWindow::CreateFindBar(Browser* browser) { |
2512 return browser::CreateFindBar(static_cast<BrowserView*>(browser->window())); | 2521 return browser::CreateFindBar(static_cast<BrowserView*>(browser->window())); |
2513 } | 2522 } |
OLD | NEW |