Home | History | Annotate | Download | only in extensions
      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 #pragma once
      8 
      9 #include <string>
     10 
     11 #include "build/build_config.h"
     12 
     13 class Browser;
     14 
     15 namespace gfx {
     16 class Rect;
     17 class Size;
     18 }  // namespace gfx
     19 
     20 class BrowserActionTestUtil {
     21  public:
     22   explicit BrowserActionTestUtil(Browser* browser) : browser_(browser) {}
     23 
     24   // Returns the number of browser action buttons in the window toolbar.
     25   int NumberOfBrowserActions();
     26 
     27   // Returns the number of browser action currently visible.
     28   int VisibleBrowserActions();
     29 
     30 #if defined(TOOLKIT_VIEWS)
     31   // Waits for a browser action at |index| to get updated.
     32   void WaitForBrowserActionUpdated(int index);
     33 #endif
     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   // Simulates a user click on the browser action button at |index|.
     41   void Press(int index);
     42 
     43   // Returns the extension id of the extension at |index|.
     44   std::string GetExtensionId(int index);
     45 
     46   // Returns the current tooltip for the browser action button.
     47   std::string GetTooltip(int index);
     48 
     49   // Returns whether a browser action popup is being shown currently.
     50   bool HasPopup();
     51 
     52   // Returns the bounds of the current browser action popup.
     53   gfx::Rect GetPopupBounds();
     54 
     55   // Hides the given popup and returns whether the hide was successful.
     56   bool HidePopup();
     57 
     58   // Set how many icons should be visible.
     59   void SetIconVisibilityCount(size_t icons);
     60 
     61   // Returns the minimum allowed size of an extension popup.
     62   static gfx::Size GetMinPopupSize();
     63 
     64   // Returns the maximum allowed size of an extension popup.
     65   static gfx::Size GetMaxPopupSize();
     66 
     67  private:
     68   Browser* browser_;  // weak
     69 };
     70 
     71 #endif  // CHROME_BROWSER_EXTENSIONS_BROWSER_ACTION_TEST_UTIL_H_
     72