Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / browser_action_test_util.h
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
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_EXTENSIONS_BROWSER_ACTION_TEST_UTIL_H_
6 #define CHROME_BROWSER_EXTENSIONS_BROWSER_ACTION_TEST_UTIL_H_
7
8 #include <string>
9
10 #include "build/build_config.h"
11 #include "ui/gfx/native_widget_types.h"
12
13 class Browser;
14 class ExtensionAction;
15
16 namespace gfx {
17 class Image;
18 class Rect;
19 class Size;
20 }  // namespace gfx
21
22 class BrowserActionTestUtil {
23  public:
24   explicit BrowserActionTestUtil(Browser* browser) : browser_(browser) {}
25
26   // Returns the number of browser action buttons in the window toolbar.
27   int NumberOfBrowserActions();
28
29   // Returns the number of browser action currently visible.
30   int VisibleBrowserActions();
31
32   // Inspects the extension popup for the action at the given index.
33   void InspectPopup(int index);
34
35   // Returns whether the browser action at |index| has a non-null icon. Note
36   // that the icon is loaded asynchronously, in which case you can wait for it
37   // to load by calling WaitForBrowserActionUpdated.
38   bool HasIcon(int index);
39
40   // Returns icon for the browser action at |index|.
41   gfx::Image GetIcon(int index);
42
43   // Simulates a user click on the browser action button at |index|.
44   void Press(int index);
45
46   // Returns the extension id of the extension at |index|.
47   std::string GetExtensionId(int index);
48
49   // Returns the current tooltip for the browser action button.
50   std::string GetTooltip(int index);
51
52   gfx::NativeView GetPopupNativeView();
53
54   // Returns whether a browser action popup is being shown currently.
55   bool HasPopup();
56
57   // Returns the size of the current browser action popup.
58   gfx::Size GetPopupSize();
59
60   // Hides the given popup and returns whether the hide was successful.
61   bool HidePopup();
62
63   // Set how many icons should be visible.
64   void SetIconVisibilityCount(size_t icons);
65
66   // Disables animation.
67   static void DisableAnimations();
68
69   // Enables animation.
70   static void EnableAnimations();
71
72   // Returns the minimum allowed size of an extension popup.
73   static gfx::Size GetMinPopupSize();
74
75   // Returns the maximum allowed size of an extension popup.
76   static gfx::Size GetMaxPopupSize();
77
78  private:
79   Browser* browser_;  // weak
80 };
81
82 #endif  // CHROME_BROWSER_EXTENSIONS_BROWSER_ACTION_TEST_UTIL_H_