Home | History | Annotate | Download | only in extensions
      1 // Copyright 2013 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_BROWSERTEST_UTIL_H_
      6 #define CHROME_BROWSER_EXTENSIONS_BROWSERTEST_UTIL_H_
      7 
      8 #include <string>
      9 
     10 class Profile;
     11 
     12 namespace extensions {
     13 namespace browsertest_util {
     14 
     15 // Waits until |script| calls "window.domAutomationController.send(result)",
     16 // where |result| is a string, and returns |result|. Fails the test and returns
     17 // an empty string if |extension_id| isn't installed in |profile| or doesn't
     18 // have a background page, or if executing the script fails.
     19 std::string ExecuteScriptInBackgroundPage(Profile* profile,
     20                                           const std::string& extension_id,
     21                                           const std::string& script);
     22 
     23 // Same as ExecuteScriptInBackgroundPage, but doesn't wait for the script
     24 // to return a result. Fails the test and returns false if |extension_id|
     25 // isn't installed in |profile| or doesn't have a background page, or if
     26 // executing the script fails.
     27 bool ExecuteScriptInBackgroundPageNoWait(Profile* profile,
     28                                          const std::string& extension_id,
     29                                          const std::string& script);
     30 
     31 }  // namespace browsertest_util
     32 }  // namespace extensions
     33 
     34 #endif  // CHROME_BROWSER_EXTENSIONS_BROWSERTEST_UTIL_H_
     35