OLD | NEW |
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 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_H_ |
6 #define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 24 matching lines...) Expand all Loading... |
35 #include "components/omnibox/browser/omnibox_popup_model_observer.h" | 35 #include "components/omnibox/browser/omnibox_popup_model_observer.h" |
36 #include "ui/base/accelerators/accelerator.h" | 36 #include "ui/base/accelerators/accelerator.h" |
37 #include "ui/base/models/simple_menu_model.h" | 37 #include "ui/base/models/simple_menu_model.h" |
38 #include "ui/gfx/native_widget_types.h" | 38 #include "ui/gfx/native_widget_types.h" |
39 #include "ui/views/controls/button/button.h" | 39 #include "ui/views/controls/button/button.h" |
40 #include "ui/views/controls/webview/unhandled_keyboard_event_handler.h" | 40 #include "ui/views/controls/webview/unhandled_keyboard_event_handler.h" |
41 #include "ui/views/widget/widget_delegate.h" | 41 #include "ui/views/widget/widget_delegate.h" |
42 #include "ui/views/widget/widget_observer.h" | 42 #include "ui/views/widget/widget_observer.h" |
43 #include "ui/views/window/client_view.h" | 43 #include "ui/views/window/client_view.h" |
44 | 44 |
45 #if defined(OS_WIN) | |
46 #include "chrome/browser/hang_monitor/hung_plugin_action.h" | |
47 #include "chrome/browser/hang_monitor/hung_window_detector.h" | |
48 #endif | |
49 | |
50 // NOTE: For more information about the objects and files in this directory, | 45 // NOTE: For more information about the objects and files in this directory, |
51 // view: http://dev.chromium.org/developers/design-documents/browser-window | 46 // view: http://dev.chromium.org/developers/design-documents/browser-window |
52 | 47 |
53 class BookmarkBarView; | 48 class BookmarkBarView; |
54 class Browser; | 49 class Browser; |
55 class BrowserViewLayout; | 50 class BrowserViewLayout; |
56 class ContentsLayoutManager; | 51 class ContentsLayoutManager; |
57 class DownloadShelfView; | 52 class DownloadShelfView; |
58 class ExclusiveAccessBubbleViews; | 53 class ExclusiveAccessBubbleViews; |
59 class InfoBarContainerView; | 54 class InfoBarContainerView; |
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
556 // for tab-fullscreen and not for app/popup type windows). | 551 // for tab-fullscreen and not for app/popup type windows). |
557 bool ShouldUseImmersiveFullscreenForUrl(const GURL& url) const; | 552 bool ShouldUseImmersiveFullscreenForUrl(const GURL& url) const; |
558 | 553 |
559 // Copy the accelerator table from the app resources into something we can | 554 // Copy the accelerator table from the app resources into something we can |
560 // use. | 555 // use. |
561 void LoadAccelerators(); | 556 void LoadAccelerators(); |
562 | 557 |
563 // Retrieves the command id for the specified Windows app command. | 558 // Retrieves the command id for the specified Windows app command. |
564 int GetCommandIDForAppCommandID(int app_command_id) const; | 559 int GetCommandIDForAppCommandID(int app_command_id) const; |
565 | 560 |
566 // Initialize the hung plugin detector. | |
567 void InitHangMonitor(); | |
568 | |
569 // Possibly records a user metrics action corresponding to the passed-in | 561 // Possibly records a user metrics action corresponding to the passed-in |
570 // accelerator. Only implemented for Chrome OS, where we're interested in | 562 // accelerator. Only implemented for Chrome OS, where we're interested in |
571 // learning about how frequently the top-row keys are used. | 563 // learning about how frequently the top-row keys are used. |
572 void UpdateAcceleratorMetrics(const ui::Accelerator& accelerator, | 564 void UpdateAcceleratorMetrics(const ui::Accelerator& accelerator, |
573 int command_id); | 565 int command_id); |
574 | 566 |
575 // Calls |method| which is either WebContents::Cut, ::Copy, or ::Paste on | 567 // Calls |method| which is either WebContents::Cut, ::Copy, or ::Paste on |
576 // the given WebContents, returning true if it consumed the event. | 568 // the given WebContents, returning true if it consumed the event. |
577 bool DoCutCopyPasteForWebContents( | 569 bool DoCutCopyPasteForWebContents( |
578 content::WebContents* contents, | 570 content::WebContents* contents, |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
679 bool handling_theme_changed_; | 671 bool handling_theme_changed_; |
680 | 672 |
681 // True when in ProcessFullscreen(). The flag is used to avoid reentrance and | 673 // True when in ProcessFullscreen(). The flag is used to avoid reentrance and |
682 // to ignore requests to layout while in ProcessFullscreen() to reduce | 674 // to ignore requests to layout while in ProcessFullscreen() to reduce |
683 // jankiness. | 675 // jankiness. |
684 bool in_process_fullscreen_; | 676 bool in_process_fullscreen_; |
685 | 677 |
686 scoped_ptr<ExclusiveAccessBubbleViews> exclusive_access_bubble_; | 678 scoped_ptr<ExclusiveAccessBubbleViews> exclusive_access_bubble_; |
687 | 679 |
688 #if defined(OS_WIN) | 680 #if defined(OS_WIN) |
689 // This object is used to perform periodic actions in a worker | |
690 // thread. It is currently used to monitor hung plugin windows. | |
691 WorkerThreadTicker ticker_; | |
692 | |
693 // This object is initialized with the frame window HWND. This | |
694 // object is also passed as a tick handler with the ticker_ object. | |
695 // It is used to periodically monitor for hung plugin windows | |
696 HungWindowDetector hung_window_detector_; | |
697 | |
698 // This object is invoked by hung_window_detector_ when it detects a hung | |
699 // plugin window. | |
700 HungPluginAction hung_plugin_action_; | |
701 | |
702 // Helper class to listen for completion of first page load. | 681 // Helper class to listen for completion of first page load. |
703 scoped_ptr<LoadCompleteListener> load_complete_listener_; | 682 scoped_ptr<LoadCompleteListener> load_complete_listener_; |
704 | 683 |
705 // The custom JumpList for Windows 7. | 684 // The custom JumpList for Windows 7. |
706 scoped_refptr<JumpList> jumplist_; | 685 scoped_refptr<JumpList> jumplist_; |
707 #endif | 686 #endif |
708 | 687 |
709 // The timer used to update frames for the Loading Animation. | 688 // The timer used to update frames for the Loading Animation. |
710 base::RepeatingTimer loading_animation_timer_; | 689 base::RepeatingTimer loading_animation_timer_; |
711 | 690 |
(...skipping 14 matching lines...) Expand all Loading... |
726 | 705 |
727 // The class that registers for keyboard shortcuts for extension commands. | 706 // The class that registers for keyboard shortcuts for extension commands. |
728 scoped_ptr<ExtensionKeybindingRegistryViews> extension_keybinding_registry_; | 707 scoped_ptr<ExtensionKeybindingRegistryViews> extension_keybinding_registry_; |
729 | 708 |
730 mutable base::WeakPtrFactory<BrowserView> activate_modal_dialog_factory_; | 709 mutable base::WeakPtrFactory<BrowserView> activate_modal_dialog_factory_; |
731 | 710 |
732 DISALLOW_COPY_AND_ASSIGN(BrowserView); | 711 DISALLOW_COPY_AND_ASSIGN(BrowserView); |
733 }; | 712 }; |
734 | 713 |
735 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_H_ | 714 #endif // CHROME_BROWSER_UI_VIEWS_FRAME_BROWSER_VIEW_H_ |
OLD | NEW |