Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3947)

Unified Diff: chrome/browser/ui/extensions/extension_action_platform_delegate.h

Issue 670463004: Make a platform-independent ToolbarActionViewController (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/extensions/extension_action_platform_delegate.h
diff --git a/chrome/browser/ui/extensions/extension_action_platform_delegate.h b/chrome/browser/ui/extensions/extension_action_platform_delegate.h
new file mode 100644
index 0000000000000000000000000000000000000000..19618e348d3f45bcdf7a6dbe1df0d4642abca629
--- /dev/null
+++ b/chrome/browser/ui/extensions/extension_action_platform_delegate.h
@@ -0,0 +1,51 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_UI_EXTENSIONS_EXTENSION_ACTION_PLATFORM_DELEGATE_H_
+#define CHROME_BROWSER_UI_EXTENSIONS_EXTENSION_ACTION_PLATFORM_DELEGATE_H_
+
+#include "chrome/browser/ui/extensions/extension_action_view_controller.h"
+
+class GURL;
+
+class ExtensionActionPlatformDelegate {
+ public:
+ virtual ~ExtensionActionPlatformDelegate() {}
+
+ // Returns a created ExtensionActionPlatformDelegate. This is defined in the
+ // platform-specific implementation for the class.
+ static scoped_ptr<ExtensionActionPlatformDelegate> Create(
+ ExtensionActionViewController* controller);
+
+ // The following are forwarded from ToolbarActionViewController. See that
+ // class for the definitions.
+ virtual gfx::NativeView GetPopupNativeView() = 0;
+ virtual bool IsMenuRunning() const = 0;
+ virtual void RegisterCommand() = 0;
+
+ // Called once the delegate is set, in order to do any extra initialization.
+ virtual void OnDelegateSet() = 0;
+
+ // Returns true if there is currently a popup for this extension action.
+ virtual bool IsShowingPopup() const = 0;
+
+ // Closes the active popup (whether it was this action's popup or not).
+ virtual void CloseActivePopup() = 0;
+
+ // Closes this action's popup. This will only be called if the popup is
+ // showing.
+ virtual void CloseOwnPopup() = 0;
+
+ // Shows the popup for the extension action, given the associated |popup_url|.
+ // |grant_tab_permissions| is true if active tab permissions should be given
+ // to the extension; this is only true if the popup is opened through a user
+ // action.
+ // Returns true if a popup is successfully shown.
+ virtual bool ShowPopupWithUrl(
+ ExtensionActionViewController::PopupShowAction show_action,
+ const GURL& popup_url,
+ bool grant_tab_permissions) = 0;
+};
+
+#endif // CHROME_BROWSER_UI_EXTENSIONS_EXTENSION_ACTION_PLATFORM_DELEGATE_H_

Powered by Google App Engine
This is Rietveld 408576698