Adding instrumentation to locate the source of jankiness
[chromium-blink-merge.git] / chrome / browser / extensions / browser_action_test_util.h
blob784cd12ee62dec4c98d849bf5967ed26b8b292ef
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.
5 #ifndef CHROME_BROWSER_EXTENSIONS_BROWSER_ACTION_TEST_UTIL_H_
6 #define CHROME_BROWSER_EXTENSIONS_BROWSER_ACTION_TEST_UTIL_H_
8 #include <string>
10 #include "build/build_config.h"
11 #include "ui/gfx/native_widget_types.h"
13 class Browser;
14 class ExtensionAction;
16 namespace gfx {
17 class Image;
18 class Rect;
19 class Size;
20 } // namespace gfx
22 class BrowserActionTestUtil {
23 public:
24 explicit BrowserActionTestUtil(Browser* browser) : browser_(browser) {}
26 // Returns the number of browser action buttons in the window toolbar.
27 int NumberOfBrowserActions();
29 // Returns the number of browser action currently visible.
30 int VisibleBrowserActions();
32 // Returns the ExtensionAction for the given index.
33 ExtensionAction* GetExtensionAction(int index);
35 // Inspects the extension popup for the action at the given index.
36 void InspectPopup(int index);
38 // Returns whether the browser action at |index| has a non-null icon. Note
39 // that the icon is loaded asynchronously, in which case you can wait for it
40 // to load by calling WaitForBrowserActionUpdated.
41 bool HasIcon(int index);
43 // Returns icon for the browser action at |index|.
44 gfx::Image GetIcon(int index);
46 // Simulates a user click on the browser action button at |index|.
47 void Press(int index);
49 // Returns the extension id of the extension at |index|.
50 std::string GetExtensionId(int index);
52 // Returns the current tooltip for the browser action button.
53 std::string GetTooltip(int index);
55 gfx::NativeView GetPopupNativeView();
57 // Returns whether a browser action popup is being shown currently.
58 bool HasPopup();
60 // Returns the bounds of the current browser action popup.
61 gfx::Rect GetPopupBounds();
63 // Hides the given popup and returns whether the hide was successful.
64 bool HidePopup();
66 // Set how many icons should be visible.
67 void SetIconVisibilityCount(size_t icons);
69 // Disables animation.
70 static void DisableAnimations();
72 // Enables animation.
73 static void EnableAnimations();
75 // Returns the minimum allowed size of an extension popup.
76 static gfx::Size GetMinPopupSize();
78 // Returns the maximum allowed size of an extension popup.
79 static gfx::Size GetMaxPopupSize();
81 private:
82 Browser* browser_; // weak
85 #endif // CHROME_BROWSER_EXTENSIONS_BROWSER_ACTION_TEST_UTIL_H_