| 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_EXTENSIONS_EXTENSION_POPUP_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_POPUP_H_ |
| 6 #define CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_POPUP_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_POPUP_H_ |
| 7 | 7 |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" |
| 10 #include "chrome/browser/ui/views/extensions/extension_view_views.h" | 11 #include "chrome/browser/ui/views/extensions/extension_view_views.h" |
| 11 #include "content/public/browser/notification_observer.h" | 12 #include "content/public/browser/notification_observer.h" |
| 12 #include "content/public/browser/notification_registrar.h" | 13 #include "content/public/browser/notification_registrar.h" |
| 13 #include "ui/views/bubble/bubble_delegate.h" | 14 #include "ui/views/bubble/bubble_delegate.h" |
| 14 #include "ui/views/focus/widget_focus_manager.h" | 15 #include "ui/views/focus/widget_focus_manager.h" |
| 15 #include "url/gurl.h" | 16 #include "url/gurl.h" |
| 16 | 17 |
| 17 #if defined(USE_AURA) | 18 #if defined(USE_AURA) |
| 18 #include "ui/aura/client/activation_change_observer.h" | 19 #include "ui/aura/client/activation_change_observer.h" |
| 19 #endif | 20 #endif |
| 20 | 21 |
| 21 class Browser; | 22 class Browser; |
| 22 namespace views { | 23 namespace views { |
| 23 class Widget; | 24 class Widget; |
| 24 } | 25 } |
| 25 | 26 |
| 26 namespace content { | 27 namespace content { |
| 27 class DevToolsAgentHost; | 28 class DevToolsAgentHost; |
| 28 } | 29 } |
| 29 | 30 |
| 30 namespace extensions { | 31 namespace extensions { |
| 31 class ExtensionViewHost; | 32 class ExtensionViewHost; |
| 32 } | 33 } |
| 33 | 34 |
| 34 class ExtensionPopup : public views::BubbleDelegateView, | 35 class ExtensionPopup : public views::BubbleDelegateView, |
| 35 #if defined(USE_AURA) | 36 #if defined(USE_AURA) |
| 36 public aura::client::ActivationChangeObserver, | 37 public aura::client::ActivationChangeObserver, |
| 37 #endif | 38 #endif |
| 38 public ExtensionViewViews::Container, | 39 public ExtensionViewViews::Container, |
| 39 public content::NotificationObserver { | 40 public content::NotificationObserver, |
| 41 public TabStripModelObserver { |
| 40 public: | 42 public: |
| 41 enum ShowAction { | 43 enum ShowAction { |
| 42 SHOW, | 44 SHOW, |
| 43 SHOW_AND_INSPECT | 45 SHOW_AND_INSPECT |
| 44 }; | 46 }; |
| 45 | 47 |
| 46 virtual ~ExtensionPopup(); | 48 virtual ~ExtensionPopup(); |
| 47 | 49 |
| 48 // Create and show a popup with |url| positioned adjacent to |anchor_view|. | 50 // Create and show a popup with |url| positioned adjacent to |anchor_view|. |
| 49 // |browser| is the browser to which the pop-up will be attached. NULL is a | 51 // |browser| is the browser to which the pop-up will be attached. NULL is a |
| (...skipping 27 matching lines...) Expand all Loading... |
| 77 virtual void OnWidgetDestroying(views::Widget* widget) OVERRIDE; | 79 virtual void OnWidgetDestroying(views::Widget* widget) OVERRIDE; |
| 78 virtual void OnWidgetActivationChanged(views::Widget* widget, | 80 virtual void OnWidgetActivationChanged(views::Widget* widget, |
| 79 bool active) OVERRIDE; | 81 bool active) OVERRIDE; |
| 80 | 82 |
| 81 #if defined(USE_AURA) | 83 #if defined(USE_AURA) |
| 82 // aura::client::ActivationChangeObserver overrides. | 84 // aura::client::ActivationChangeObserver overrides. |
| 83 virtual void OnWindowActivated(aura::Window* gained_active, | 85 virtual void OnWindowActivated(aura::Window* gained_active, |
| 84 aura::Window* lost_active) OVERRIDE; | 86 aura::Window* lost_active) OVERRIDE; |
| 85 #endif | 87 #endif |
| 86 | 88 |
| 89 // TabStripModelObserver overrides. |
| 90 virtual void ActiveTabChanged(content::WebContents* old_contents, |
| 91 content::WebContents* new_contents, |
| 92 int index, |
| 93 int reason) OVERRIDE; |
| 94 |
| 87 // The min/max height of popups. | 95 // The min/max height of popups. |
| 88 static const int kMinWidth; | 96 static const int kMinWidth; |
| 89 static const int kMinHeight; | 97 static const int kMinHeight; |
| 90 static const int kMaxWidth; | 98 static const int kMaxWidth; |
| 91 static const int kMaxHeight; | 99 static const int kMaxHeight; |
| 92 | 100 |
| 93 private: | 101 private: |
| 94 ExtensionPopup(extensions::ExtensionViewHost* host, | 102 ExtensionPopup(extensions::ExtensionViewHost* host, |
| 95 views::View* anchor_view, | 103 views::View* anchor_view, |
| 96 views::BubbleBorder::Arrow arrow, | 104 views::BubbleBorder::Arrow arrow, |
| (...skipping 12 matching lines...) Expand all Loading... |
| 109 bool inspect_with_devtools_; | 117 bool inspect_with_devtools_; |
| 110 | 118 |
| 111 content::NotificationRegistrar registrar_; | 119 content::NotificationRegistrar registrar_; |
| 112 | 120 |
| 113 base::Callback<void(content::DevToolsAgentHost*, bool)> devtools_callback_; | 121 base::Callback<void(content::DevToolsAgentHost*, bool)> devtools_callback_; |
| 114 | 122 |
| 115 DISALLOW_COPY_AND_ASSIGN(ExtensionPopup); | 123 DISALLOW_COPY_AND_ASSIGN(ExtensionPopup); |
| 116 }; | 124 }; |
| 117 | 125 |
| 118 #endif // CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_POPUP_H_ | 126 #endif // CHROME_BROWSER_UI_VIEWS_EXTENSIONS_EXTENSION_POPUP_H_ |
| OLD | NEW |