diff options
Diffstat (limited to 'chrome/test/automation')
-rw-r--r-- | chrome/test/automation/automation_proxy.h | 42 | ||||
-rw-r--r-- | chrome/test/automation/automation_proxy_uitest.cc | 39 | ||||
-rw-r--r-- | chrome/test/automation/browser_proxy.h | 93 | ||||
-rw-r--r-- | chrome/test/automation/tab_proxy.h | 115 |
4 files changed, 159 insertions, 130 deletions
diff --git a/chrome/test/automation/automation_proxy.h b/chrome/test/automation/automation_proxy.h index 281de66..35c6d6e 100644 --- a/chrome/test/automation/automation_proxy.h +++ b/chrome/test/automation/automation_proxy.h @@ -10,6 +10,7 @@ #include "app/message_box_flags.h" #include "app/gfx/native_widget_types.h" #include "base/basictypes.h" +#include "base/compiler_specific.h" #include "base/process_util.h" #include "base/scoped_ptr.h" #include "base/time.h" @@ -80,54 +81,57 @@ class AutomationProxy : public IPC::Channel::Listener, // Waits for any initial page loads to complete. // NOTE: this only fires once for a run of the application. // Returns true if the load is successful - bool WaitForInitialLoads(); + bool WaitForInitialLoads() WARN_UNUSED_RESULT; // Waits for the initial destinations tab to report that it has finished // querying. |load_time| is filled in with how long it took, in milliseconds. // NOTE: this only fires once for a run of the application. // Returns true if the load is successful. - bool WaitForInitialNewTabUILoad(int* load_time); + bool WaitForInitialNewTabUILoad(int* load_time) WARN_UNUSED_RESULT; // Open a new browser window of type |type|, returning true on success. |show| // identifies whether the window should be shown. Returns true on success. - bool OpenNewBrowserWindow(Browser::Type type, bool show); + bool OpenNewBrowserWindow(Browser::Type type, bool show) WARN_UNUSED_RESULT; // Fills the number of open browser windows into the given variable, returning // true on success. False likely indicates an IPC error. - bool GetBrowserWindowCount(int* num_windows); + bool GetBrowserWindowCount(int* num_windows) WARN_UNUSED_RESULT; // Block the thread until the window count becomes the provided value. // Returns true on success. - bool WaitForWindowCountToBecome(int target_count, int wait_timeout); + bool WaitForWindowCountToBecome(int target_count, + int wait_timeout) WARN_UNUSED_RESULT; // Fills the number of open normal browser windows (normal type and // non-incognito mode) into the given variable, returning true on success. // False likely indicates an IPC error. - bool GetNormalBrowserWindowCount(int* num_windows); + bool GetNormalBrowserWindowCount(int* num_windows) WARN_UNUSED_RESULT; // Gets the locale of the chrome browser, currently all browsers forked from // the main chrome share the same UI locale, returning true on success. // False likely indicates an IPC error. - bool GetBrowserLocale(string16* locale); + bool GetBrowserLocale(string16* locale) WARN_UNUSED_RESULT; // Returns whether an app modal dialog window is showing right now (i.e., a // javascript alert), and what buttons it contains. bool GetShowingAppModalDialog(bool* showing_app_modal_dialog, - MessageBoxFlags::DialogButton* button); + MessageBoxFlags::DialogButton* button) WARN_UNUSED_RESULT; // Simulates a click on a dialog button. - bool ClickAppModalDialogButton(MessageBoxFlags::DialogButton button); + bool ClickAppModalDialogButton( + MessageBoxFlags::DialogButton button) WARN_UNUSED_RESULT; // Block the thread until a modal dialog is displayed. Returns true on // success. - bool WaitForAppModalDialog(int wait_timeout); + bool WaitForAppModalDialog(int wait_timeout) WARN_UNUSED_RESULT; // Returns true if one of the tabs in any window displays given url. - bool IsURLDisplayed(GURL url); + bool IsURLDisplayed(GURL url) WARN_UNUSED_RESULT; // Get the duration of the last |event_name| in the browser. Returns // false if the IPC failed to send. - bool GetMetricEventDuration(const std::string& event_name, int* duration_ms); + bool GetMetricEventDuration(const std::string& event_name, + int* duration_ms) WARN_UNUSED_RESULT; // Returns the BrowserProxy for the browser window at the given index, // transferring ownership of the pointer to the caller. @@ -158,7 +162,7 @@ class AutomationProxy : public IPC::Channel::Listener, // Tells the browser to enable or disable network request filtering. Returns // false if the message fails to send to the browser. - bool SetFilteredInet(bool enabled); + bool SetFilteredInet(bool enabled) WARN_UNUSED_RESULT; // Returns the number of times a network request filter was used to service a // network request. Returns -1 on error. @@ -166,7 +170,7 @@ class AutomationProxy : public IPC::Channel::Listener, // Sends the browser a new proxy configuration to start using. Returns true // if the proxy config was successfully sent, false otherwise. - bool SendProxyConfig(const std::string& new_proxy_config); + bool SendProxyConfig(const std::string& new_proxy_config) WARN_UNUSED_RESULT; // These methods are intended to be called by the background thread // to signal that the given event has occurred, and that any corresponding @@ -179,12 +183,12 @@ class AutomationProxy : public IPC::Channel::Listener, // Set whether or not running the save page as... command show prompt the // user for a download path. Returns true if the message is successfully // sent. - bool SavePackageShouldPromptUser(bool should_prompt); + bool SavePackageShouldPromptUser(bool should_prompt) WARN_UNUSED_RESULT; // Installs the extension crx. Returns true only if extension was installed // and loaded successfully. // Note: Overinstalls will fail. - bool InstallExtension(const FilePath& crx_file); + bool InstallExtension(const FilePath& crx_file) WARN_UNUSED_RESULT; // Gets a list of all enabled extensions' base directories. // Returns true on success. @@ -194,7 +198,7 @@ class AutomationProxy : public IPC::Channel::Listener, // Logs in through the Chrome OS login wizard with given |username| // and |password|. Returns true on success. bool LoginWithUserAndPass(const std::string& username, - const std::string& password); + const std::string& password) WARN_UNUSED_RESULT; #endif // Returns the ID of the automation IPC channel, so that it can be // passed to the app as a launch parameter. @@ -205,9 +209,9 @@ class AutomationProxy : public IPC::Channel::Listener, #endif // AutomationMessageSender implementations. - virtual bool Send(IPC::Message* message); + virtual bool Send(IPC::Message* message) WARN_UNUSED_RESULT; virtual bool SendWithTimeout(IPC::Message* message, int timeout, - bool* is_timeout); + bool* is_timeout) WARN_UNUSED_RESULT; // Wrapper over AutomationHandleTracker::InvalidateHandle. Receives the // message from AutomationProxy, unpacks the messages and routes that call to diff --git a/chrome/test/automation/automation_proxy_uitest.cc b/chrome/test/automation/automation_proxy_uitest.cc index 4c08fe2..0767ca7 100644 --- a/chrome/test/automation/automation_proxy_uitest.cc +++ b/chrome/test/automation/automation_proxy_uitest.cc @@ -281,7 +281,8 @@ TEST_F(AutomationProxyTest, NavigateToURL) { FilePath filename(test_data_directory_); filename = filename.AppendASCII("title2.html"); - tab->NavigateToURL(net::FilePathToFileURL(filename)); + ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, + tab->NavigateToURL(net::FilePathToFileURL(filename))); ASSERT_TRUE(tab->GetTabTitle(&title)); ASSERT_STREQ(L"Title Of Awesomeness", title.c_str()); @@ -298,8 +299,9 @@ TEST_F(AutomationProxyTest, NavigateToURLWithTimeout1) { filename = filename.AppendASCII("title2.html"); bool is_timeout; - tab->NavigateToURLWithTimeout(net::FilePathToFileURL(filename), - 1, 5000, &is_timeout); + ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, + tab->NavigateToURLWithTimeout(net::FilePathToFileURL(filename), + 1, 5000, &is_timeout)); ASSERT_FALSE(is_timeout); std::wstring title; @@ -309,9 +311,10 @@ TEST_F(AutomationProxyTest, NavigateToURLWithTimeout1) { // Use timeout high enough to allow the browser to create a url request job. const int kLowTimeoutMs = 250; ASSERT_GE(URLRequestSlowHTTPJob::kDelayMs, kLowTimeoutMs); - tab->NavigateToURLWithTimeout( - URLRequestSlowHTTPJob::GetMockUrl(filename), - 1, kLowTimeoutMs, &is_timeout); + ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_ERROR, + tab->NavigateToURLWithTimeout( + URLRequestSlowHTTPJob::GetMockUrl(filename), + 1, kLowTimeoutMs, &is_timeout)); ASSERT_TRUE(is_timeout); } @@ -329,15 +332,17 @@ TEST_F(AutomationProxyTest, NavigateToURLWithTimeout2) { // Use timeout high enough to allow the browser to create a url request job. const int kLowTimeoutMs = 250; ASSERT_GE(URLRequestSlowHTTPJob::kDelayMs, kLowTimeoutMs); - tab->NavigateToURLWithTimeout( - URLRequestSlowHTTPJob::GetMockUrl(filename1), - 1, kLowTimeoutMs, &is_timeout); + ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_ERROR, + tab->NavigateToURLWithTimeout( + URLRequestSlowHTTPJob::GetMockUrl(filename1), + 1, kLowTimeoutMs, &is_timeout)); ASSERT_TRUE(is_timeout); FilePath filename2(test_data_directory_); filename2 = filename2.AppendASCII("title1.html"); - tab->NavigateToURLWithTimeout(net::FilePathToFileURL(filename2), - 1, 5000, &is_timeout); + ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, + tab->NavigateToURLWithTimeout(net::FilePathToFileURL(filename2), + 1, 5000, &is_timeout)); ASSERT_FALSE(is_timeout); } @@ -1431,7 +1436,8 @@ TEST_F(AutomationProxyTest, DISABLED_AppModalDialogTest) { "data:text/html,<html><head><script>function onload() {" "setTimeout(\"alert('hello');\", 1000); }</script></head>" "<body onload='onload()'></body></html>"; - tab->NavigateToURL(GURL(content)); + ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, + tab->NavigateToURL(GURL(content))); EXPECT_TRUE(automation()->WaitForAppModalDialog(3000)); EXPECT_TRUE(automation()->GetShowingAppModalDialog(&modal_dialog_showing, &button)); @@ -1458,7 +1464,8 @@ TEST_F(AutomationProxyTest, DISABLED_AppModalDialogTest) { "data:text/html,<html><head><script>var result = -1; function onload() {" "setTimeout(\"result = confirm('hello') ? 0 : 1;\", 1000);} </script>" "</head><body onload='onload()'></body></html>"; - tab->NavigateToURL(GURL(content)); + ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, + tab->NavigateToURL(GURL(content))); EXPECT_TRUE(automation()->WaitForAppModalDialog(3000)); EXPECT_TRUE(automation()->GetShowingAppModalDialog(&modal_dialog_showing, &button)); @@ -1478,7 +1485,8 @@ TEST_F(AutomationProxyTest, DISABLED_AppModalDialogTest) { EXPECT_EQ(0, result); // Try again. - tab->NavigateToURL(GURL(content)); + ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, + tab->NavigateToURL(GURL(content))); EXPECT_TRUE(automation()->WaitForAppModalDialog(3000)); EXPECT_TRUE(automation()->GetShowingAppModalDialog(&modal_dialog_showing, &button)); @@ -1518,7 +1526,8 @@ TEST_F(AutomationProxyTest5, TestLifetimeOfDomAutomationController) { FilePath filename(test_data_directory_); filename = filename.AppendASCII("dom_automation_test_with_popup.html"); - tab->NavigateToURL(net::FilePathToFileURL(filename)); + ASSERT_EQ(AUTOMATION_MSG_NAVIGATION_SUCCESS, + tab->NavigateToURL(net::FilePathToFileURL(filename))); // Allow some time for the popup to show up and close. PlatformThread::Sleep(2000); diff --git a/chrome/test/automation/browser_proxy.h b/chrome/test/automation/browser_proxy.h index 04e6288..674cf83 100644 --- a/chrome/test/automation/browser_proxy.h +++ b/chrome/test/automation/browser_proxy.h @@ -13,6 +13,7 @@ #include <string> +#include "base/compiler_specific.h" #include "chrome/browser/browser.h" #include "chrome/common/content_settings.h" #include "chrome/test/automation/automation_handle_tracker.h" @@ -40,55 +41,56 @@ class BrowserProxy : public AutomationResourceProxy { // Activates the tab corresponding to (zero-based) tab_index. Returns true if // successful. - bool ActivateTab(int tab_index); + bool ActivateTab(int tab_index) WARN_UNUSED_RESULT; // Like ActivateTab, but returns false if response is not received before // the specified timeout. bool ActivateTabWithTimeout(int tab_index, uint32 timeout_ms, - bool* is_timeout); + bool* is_timeout) WARN_UNUSED_RESULT; // Bring the browser window to the front, activating it. Returns true on // success. - bool BringToFront(); + bool BringToFront() WARN_UNUSED_RESULT; // Like BringToFront, but returns false if action is not completed before // the specified timeout. - bool BringToFrontWithTimeout(uint32 timeout_ms, bool* is_timeout); + bool BringToFrontWithTimeout(uint32 timeout_ms, + bool* is_timeout) WARN_UNUSED_RESULT; // Checks to see if a navigation command is active or not. Can also // return false if action is not completed before the specified // timeout; is_timeout will be set in those cases. bool IsPageMenuCommandEnabledWithTimeout(int id, uint32 timeout_ms, - bool* is_timeout); + bool* is_timeout) WARN_UNUSED_RESULT; // Append a new tab to the TabStrip. The new tab is selected. // The new tab navigates to the given tab_url. // Returns true if successful. // TODO(mpcomplete): If the navigation results in an auth challenge, the // TabProxy we attach won't know about it. See bug 666730. - bool AppendTab(const GURL& tab_url); + bool AppendTab(const GURL& tab_url) WARN_UNUSED_RESULT; // Gets the (zero-based) index of the currently active tab. Returns true if // successful. - bool GetActiveTabIndex(int* active_tab_index) const; + bool GetActiveTabIndex(int* active_tab_index) const WARN_UNUSED_RESULT; // Like GetActiveTabIndex, but returns false if active tab is not received // before the specified timeout. bool GetActiveTabIndexWithTimeout(int* active_tab_index, uint32 timeout_ms, - bool* is_timeout) const; + bool* is_timeout) const WARN_UNUSED_RESULT; // Returns the number of tabs in the given window. Returns true if // the call was successful. - bool GetTabCount(int* num_tabs) const; + bool GetTabCount(int* num_tabs) const WARN_UNUSED_RESULT; // Like GetTabCount, but returns false if tab count is not received within the // before timeout. bool GetTabCountWithTimeout(int* num_tabs, uint32 timeout_ms, - bool* is_timeout) const; + bool* is_timeout) const WARN_UNUSED_RESULT; // Returns the type of the given window. Returns true if the call was // successful. - bool GetType(Browser::Type* type) const; + bool GetType(Browser::Type* type) const WARN_UNUSED_RESULT; // Returns the TabProxy for the tab at the given index, transferring // ownership of the pointer to the caller. On failure, returns NULL. @@ -127,7 +129,7 @@ class BrowserProxy : public AutomationResourceProxy { // focus. This leads to a flaky test behavior in circumstances when the // desktop screen is locked or the test is being executed over a remote // desktop. - bool ApplyAccelerator(int id); + bool ApplyAccelerator(int id) WARN_UNUSED_RESULT; // Performs a drag operation between the start and end points (both defined // in window coordinates). |flags| specifies which buttons are pressed for @@ -135,7 +137,7 @@ class BrowserProxy : public AutomationResourceProxy { virtual bool SimulateDrag(const gfx::Point& start, const gfx::Point& end, int flags, - bool press_escape_en_route); + bool press_escape_en_route) WARN_UNUSED_RESULT; // Like SimulateDrag, but returns false if response is not received before // the specified timeout. @@ -143,106 +145,113 @@ class BrowserProxy : public AutomationResourceProxy { const gfx::Point& end, int flags, uint32 timeout_ms, bool* is_timeout, - bool press_escape_en_route); + bool press_escape_en_route) + WARN_UNUSED_RESULT; // Block the thread until the tab count is |count|. // |wait_timeout| is the timeout, in milliseconds, for waiting. // Returns true on success. - bool WaitForTabCountToBecome(int count, int wait_timeout); + bool WaitForTabCountToBecome(int count, int wait_timeout) WARN_UNUSED_RESULT; // Block the thread until the specified tab is the active tab. // |wait_timeout| is the timeout, in milliseconds, for waiting. // Returns false if the tab does not become active. - bool WaitForTabToBecomeActive(int tab, int wait_timeout); + bool WaitForTabToBecomeActive(int tab, int wait_timeout) WARN_UNUSED_RESULT; // Opens the FindInPage box. Note: If you just want to search within a tab // you don't need to call this function, just use FindInPage(...) directly. - bool OpenFindInPage(); + bool OpenFindInPage() WARN_UNUSED_RESULT; // Get the x, y coordinates for the Find window. If animating, |x| and |y| // will be -1, -1. Returns false on failure. - bool GetFindWindowLocation(int* x, int* y); + bool GetFindWindowLocation(int* x, int* y) WARN_UNUSED_RESULT; // Returns whether the Find window is fully visible If animating, |is_visible| // will be false. Returns false on failure. - bool IsFindWindowFullyVisible(bool* is_visible); + bool IsFindWindowFullyVisible(bool* is_visible) WARN_UNUSED_RESULT; // Run the specified command in the browser (see browser_commands.cc for the // list of supported commands). Returns true if the command was successfully // dispatched, false otherwise. - bool RunCommandAsync(int browser_command) const; + bool RunCommandAsync(int browser_command) const WARN_UNUSED_RESULT; // Run the specified command in the browser (see browser_commands.cc for the // list of supported commands). Returns true if the command was successfully // dispatched and executed, false otherwise. - bool RunCommand(int browser_command) const; + bool RunCommand(int browser_command) const WARN_UNUSED_RESULT; // Returns whether the Bookmark bar is visible and whether we are animating // it into position. Returns false on failure. - bool GetBookmarkBarVisibility(bool* is_visible, bool* is_animating); + bool GetBookmarkBarVisibility(bool* is_visible, + bool* is_animating) WARN_UNUSED_RESULT; // Get the bookmarks as a JSON string and put it in |json_string|. // Return true on success. - bool GetBookmarksAsJSON(std::string* json_string); + bool GetBookmarksAsJSON(std::string* json_string) WARN_UNUSED_RESULT; // Wait for the bookmarks to load. Called implicitly by GetBookmarksAsJSON(). - bool WaitForBookmarkModelToLoad(); + bool WaitForBookmarkModelToLoad() WARN_UNUSED_RESULT; // Editing of the bookmark model. Bookmarks are referenced by id. // Bookmark or group (folder) creation: - bool AddBookmarkGroup(int64 parent_id, int index, std::wstring& title); + bool AddBookmarkGroup(int64 parent_id, int index, + std::wstring& title) WARN_UNUSED_RESULT; bool AddBookmarkURL(int64 parent_id, int index, - std::wstring& title, const GURL& url); + std::wstring& title, const GURL& url) WARN_UNUSED_RESULT; // Bookmark editing: - bool ReparentBookmark(int64 id, int64 new_parent_id, int index); - bool SetBookmarkTitle(int64 id, std::wstring& title); - bool SetBookmarkURL(int64 id, const GURL& url); + bool ReparentBookmark(int64 id, int64 new_parent_id, + int index) WARN_UNUSED_RESULT; + bool SetBookmarkTitle(int64 id, std::wstring& title) WARN_UNUSED_RESULT; + bool SetBookmarkURL(int64 id, const GURL& url) WARN_UNUSED_RESULT; // Finally, bookmark deletion: - bool RemoveBookmark(int64 id); + bool RemoveBookmark(int64 id) WARN_UNUSED_RESULT; // Fills |*is_visible| with whether the browser's download shelf is currently // visible. The return value indicates success. On failure, |*is_visible| is // unchanged. - bool IsShelfVisible(bool* is_visible); + bool IsShelfVisible(bool* is_visible) WARN_UNUSED_RESULT; // Shows or hides the download shelf. - bool SetShelfVisible(bool is_visible); + bool SetShelfVisible(bool is_visible) WARN_UNUSED_RESULT; // Sets the int value of the specified preference. - bool SetIntPreference(const std::wstring& name, int value); + bool SetIntPreference(const std::wstring& name, int value) WARN_UNUSED_RESULT; // Sets the string value of the specified preference. - bool SetStringPreference(const std::wstring& name, const std::wstring& value); + bool SetStringPreference(const std::wstring& name, + const std::wstring& value) WARN_UNUSED_RESULT; // Gets the boolean value of the specified preference. - bool GetBooleanPreference(const std::wstring& name, bool* value); + bool GetBooleanPreference(const std::wstring& name, + bool* value) WARN_UNUSED_RESULT; // Sets the boolean value of the specified preference. - bool SetBooleanPreference(const std::wstring& name, bool value); + bool SetBooleanPreference(const std::wstring& name, + bool value) WARN_UNUSED_RESULT; // Sets default content settings. bool SetDefaultContentSetting(ContentSettingsType content_type, - ContentSetting setting); + ContentSetting setting) WARN_UNUSED_RESULT; // Sets content settings for a particular host (overriding the default). bool SetContentSetting(const std::string& host, ContentSettingsType content_type, - ContentSetting setting); + ContentSetting setting) WARN_UNUSED_RESULT; // Simulates a termination the browser session (as if the user logged off the // mahine). - bool TerminateSession(); + bool TerminateSession() WARN_UNUSED_RESULT; // Sets |is_fullscreen| to whether the browser is currently in fullscreen // mode. - bool IsFullscreen(bool* is_fullscreen); + bool IsFullscreen(bool* is_fullscreen) WARN_UNUSED_RESULT; // Sets |is_visible| to whether the browser's fullscreen bubble is visible. - bool IsFullscreenBubbleVisible(bool* is_visible); + bool IsFullscreenBubbleVisible(bool* is_visible) WARN_UNUSED_RESULT; // Shuts down the session service for the browser's profile. Returns true // on success. - bool ShutdownSessionService(); + bool ShutdownSessionService() WARN_UNUSED_RESULT; protected: virtual ~BrowserProxy() {} diff --git a/chrome/test/automation/tab_proxy.h b/chrome/test/automation/tab_proxy.h index 326f0dc..8fe9318 100644 --- a/chrome/test/automation/tab_proxy.h +++ b/chrome/test/automation/tab_proxy.h @@ -14,6 +14,7 @@ #include <string> #include <vector> +#include "base/compiler_specific.h" #include "base/observer_list.h" #include "chrome/browser/download/save_package.h" #include "chrome/browser/tab_contents/navigation_entry.h" @@ -55,16 +56,16 @@ class TabProxy : public AutomationResourceProxy { : AutomationResourceProxy(tracker, sender, handle) {} // Gets the current url of the tab. - bool GetCurrentURL(GURL* url) const; + bool GetCurrentURL(GURL* url) const WARN_UNUSED_RESULT; // Gets the title of the tab. - bool GetTabTitle(std::wstring* title) const; + bool GetTabTitle(std::wstring* title) const WARN_UNUSED_RESULT; // Gets the tabstrip index of the tab. - bool GetTabIndex(int* index) const; + bool GetTabIndex(int* index) const WARN_UNUSED_RESULT; // Gets the number of constrained window for this tab. - bool GetConstrainedWindowCount(int* count) const; + bool GetConstrainedWindowCount(int* count) const WARN_UNUSED_RESULT; // Executes a javascript in a frame's context whose xpath is provided as the // first parameter and extract the values from the resulting json string. @@ -75,16 +76,16 @@ class TabProxy : public AutomationResourceProxy { // will result in value = 24 bool ExecuteAndExtractString(const std::wstring& frame_xpath, const std::wstring& jscript, - std::wstring* value); + std::wstring* value) WARN_UNUSED_RESULT; bool ExecuteAndExtractBool(const std::wstring& frame_xpath, const std::wstring& jscript, - bool* value); + bool* value) WARN_UNUSED_RESULT; bool ExecuteAndExtractInt(const std::wstring& frame_xpath, const std::wstring& jscript, - int* value); + int* value) WARN_UNUSED_RESULT; bool ExecuteAndExtractValue(const std::wstring& frame_xpath, const std::wstring& jscript, - Value** value); + Value** value) WARN_UNUSED_RESULT; // Configure extension automation mode. When extension automation // mode is turned on, the automation host can overtake extension API calls @@ -108,20 +109,20 @@ class TabProxy : public AutomationResourceProxy { // write tests where some functionality continues to function as normal, // and other functionality is mocked out by the test. bool SetEnableExtensionAutomation( - const std::vector<std::string>& functions_enabled); + const std::vector<std::string>& functions_enabled) WARN_UNUSED_RESULT; // Navigates to a url. This method accepts the same kinds of URL input that // can be passed to Chrome on the command line. This is a synchronous call and // hence blocks until the navigation completes. AutomationMsg_NavigationResponseValues NavigateToURL( - const GURL& url); + const GURL& url) WARN_UNUSED_RESULT; // Navigates to a url. This method accepts the same kinds of URL input that // can be passed to Chrome on the command line. This is a synchronous call and // hence blocks until the |number_of_navigations| navigations complete. AutomationMsg_NavigationResponseValues - NavigateToURLBlockUntilNavigationsComplete(const GURL& url, - int number_of_navigations); + NavigateToURLBlockUntilNavigationsComplete( + const GURL& url, int number_of_navigations) WARN_UNUSED_RESULT; // Navigates to a url. This is same as NavigateToURL with a timeout option. // The function blocks until the |number_of_navigations| navigations @@ -129,16 +130,17 @@ class TabProxy : public AutomationResourceProxy { // is_timeout is set to true. AutomationMsg_NavigationResponseValues NavigateToURLWithTimeout( const GURL& url, int number_of_navigations, uint32 timeout_ms, - bool* is_timeout); + bool* is_timeout) WARN_UNUSED_RESULT; // Navigates to a url in an externally hosted tab. // This method accepts the same kinds of URL input that // can be passed to Chrome on the command line. This is a synchronous call and // hence blocks until the navigation completes. AutomationMsg_NavigationResponseValues NavigateInExternalTab( - const GURL& url, const GURL& referrer); + const GURL& url, const GURL& referrer) WARN_UNUSED_RESULT; - AutomationMsg_NavigationResponseValues NavigateExternalTabAtIndex(int index); + AutomationMsg_NavigationResponseValues NavigateExternalTabAtIndex( + int index) WARN_UNUSED_RESULT; // Navigates to a url. This is an asynchronous version of NavigateToURL. // The function returns immediately after sending the LoadURL notification @@ -146,42 +148,43 @@ class TabProxy : public AutomationResourceProxy { // TODO(vibhor): Add a callback if needed in future. // TODO(mpcomplete): If the navigation results in an auth challenge, the // TabProxy we attach won't know about it. See bug 666730. - bool NavigateToURLAsync(const GURL& url); + bool NavigateToURLAsync(const GURL& url) WARN_UNUSED_RESULT; // Replaces a vector contents with the redirect chain out of the given URL. // Returns true on success. Failure may be due to being unable to send the // message, parse the response, or a failure of the history system in the // browser. - bool GetRedirectsFrom(const GURL& source_url, std::vector<GURL>* redirects); + bool GetRedirectsFrom(const GURL& source_url, + std::vector<GURL>* redirects) WARN_UNUSED_RESULT; // Equivalent to hitting the Back button. This is a synchronous call and // hence blocks until the navigation completes. - AutomationMsg_NavigationResponseValues GoBack(); + AutomationMsg_NavigationResponseValues GoBack() WARN_UNUSED_RESULT; // Equivalent to hitting the Back button. This is a synchronous call and // hence blocks until the |number_of_navigations| navigations complete. AutomationMsg_NavigationResponseValues GoBackBlockUntilNavigationsComplete( - int number_of_navigations); + int number_of_navigations) WARN_UNUSED_RESULT; // Equivalent to hitting the Forward button. This is a synchronous call and // hence blocks until the navigation completes. - AutomationMsg_NavigationResponseValues GoForward(); + AutomationMsg_NavigationResponseValues GoForward() WARN_UNUSED_RESULT; // Equivalent to hitting the Forward button. This is a synchronous call and // hence blocks until the |number_of_navigations| navigations complete. AutomationMsg_NavigationResponseValues GoForwardBlockUntilNavigationsComplete( - int number_of_navigations); + int number_of_navigations) WARN_UNUSED_RESULT; // Equivalent to hitting the Reload button. This is a synchronous call and // hence blocks until the navigation completes. - AutomationMsg_NavigationResponseValues Reload(); + AutomationMsg_NavigationResponseValues Reload() WARN_UNUSED_RESULT; // Closes the tab. This is synchronous, but does NOT block until the tab has // closed, rather it blocks until the browser has initiated the close. Use // Close(true) if you need to block until tab completely closes. // // Note that this proxy is invalid after this call. - bool Close(); + bool Close() WARN_UNUSED_RESULT; // Variant of close that allows you to specify whether you want to block // until the tab has completely closed (wait_until_closed == true) or block @@ -193,27 +196,28 @@ class TabProxy : public AutomationResourceProxy { // when closing the last tab it is possible for the browser to shutdown BEFORE // the tab has completely closed. In other words, this may NOT be sent for // the last tab. - bool Close(bool wait_until_closed); + bool Close(bool wait_until_closed) WARN_UNUSED_RESULT; #if defined(OS_WIN) // TODO(port): Use portable replacement for HWND. // Gets the HWND that corresponds to the content area of this tab. // Returns true if the call was successful. - bool GetHWND(HWND* hwnd) const; + bool GetHWND(HWND* hwnd) const WARN_UNUSED_RESULT; #endif // defined(OS_WIN) // Gets the process ID that corresponds to the content area of this tab. // Returns true if the call was successful. If the specified tab has no // separate process for rendering its content, the return value is true but // the process_id is 0. - bool GetProcessID(int* process_id) const; + bool GetProcessID(int* process_id) const WARN_UNUSED_RESULT; // Supply or cancel authentication to a login prompt. These are synchronous // calls and hence block until the load finishes (or another login prompt // appears, in the case of invalid login info). - bool SetAuth(const std::wstring& username, const std::wstring& password); - bool CancelAuth(); + bool SetAuth(const std::wstring& username, + const std::wstring& password) WARN_UNUSED_RESULT; + bool CancelAuth() WARN_UNUSED_RESULT; // Checks if this tab has a login prompt waiting for auth. This will be // true if a navigation results in a login prompt, and if an attempted login @@ -224,7 +228,7 @@ class TabProxy : public AutomationResourceProxy { // TODO(mpcomplete): we have no way of knowing if auth is needed after either // NavigateToURLAsync, or after appending a tab with an URL that triggers // auth. - bool NeedsAuth() const; + bool NeedsAuth() const WARN_UNUSED_RESULT; // Starts a search within the current tab. The parameter |search_string| // specifies what string to search for, |forward| specifies whether to search @@ -236,11 +240,11 @@ class TabProxy : public AutomationResourceProxy { int FindInPage(const std::wstring& search_string, FindInPageDirection forward, FindInPageCase match_case, bool find_next, int* ordinal); - bool GetCookies(const GURL& url, std::string* cookies); + bool GetCookies(const GURL& url, std::string* cookies) WARN_UNUSED_RESULT; bool GetCookieByName(const GURL& url, const std::string& name, - std::string* cookies); - bool SetCookie(const GURL& url, const std::string& value); + std::string* cookies) WARN_UNUSED_RESULT; + bool SetCookie(const GURL& url, const std::string& value) WARN_UNUSED_RESULT; // Sends a InspectElement message for the current tab. |x| and |y| are the // coordinates that we want to simulate that the user is trying to inspect. @@ -252,24 +256,26 @@ class TabProxy : public AutomationResourceProxy { // The third parameter specifies the timeout length for the wait loop. // Returns false if the count does not change. bool WaitForChildWindowCountToChange(int count, int* new_count, - int wait_timeout); + int wait_timeout) WARN_UNUSED_RESULT; // Gets the number of popups blocked from this tab. - bool GetBlockedPopupCount(int* count) const; + bool GetBlockedPopupCount(int* count) const WARN_UNUSED_RESULT; // Blocks the thread until the number of blocked popup is equal to // |target_count|. - bool WaitForBlockedPopupCountToChangeTo(int target_count, int wait_timeout); + bool WaitForBlockedPopupCountToChangeTo(int target_count, + int wait_timeout) WARN_UNUSED_RESULT; - bool GetDownloadDirectory(FilePath* download_directory); + bool GetDownloadDirectory(FilePath* download_directory) WARN_UNUSED_RESULT; // Shows an interstitial page. Blocks until the interstitial page // has been loaded. Return false if a failure happens.3 - bool ShowInterstitialPage(const std::string& html_text, int timeout_ms); + bool ShowInterstitialPage(const std::string& html_text, + int timeout_ms) WARN_UNUSED_RESULT; // Hides the currently shown interstitial page. Blocks until the interstitial // page has been hidden. Return false if a failure happens. - bool HideInterstitialPage(); + bool HideInterstitialPage() WARN_UNUSED_RESULT; #if defined(OS_WIN) // TODO(port): Use something portable. @@ -277,41 +283,41 @@ class TabProxy : public AutomationResourceProxy { // The container of an externally hosted tab calls this to reflect any // accelerator keys that it did not process. This gives the tab a chance // to handle the keys - bool ProcessUnhandledAccelerator(const MSG& msg); + bool ProcessUnhandledAccelerator(const MSG& msg) WARN_UNUSED_RESULT; #endif // defined(OS_WIN) // Ask the tab to set focus to either the first or last element on the page. - bool SetInitialFocus(bool reverse); + bool SetInitialFocus(bool reverse) WARN_UNUSED_RESULT; // Waits for the tab to finish being restored. Returns true on success. // timeout_ms gives the max amount of time to wait for restore to complete. - bool WaitForTabToBeRestored(uint32 timeout_ms); + bool WaitForTabToBeRestored(uint32 timeout_ms) WARN_UNUSED_RESULT; // Retrieves the different security states for the current tab. bool GetSecurityState(SecurityStyle* security_style, int* ssl_cert_status, - int* mixed_content_state); + int* mixed_content_state) WARN_UNUSED_RESULT; // Returns the type of the page currently showing (normal, interstitial, // error). - bool GetPageType(NavigationEntry::PageType* page_type); + bool GetPageType(NavigationEntry::PageType* page_type) WARN_UNUSED_RESULT; // Simulates the user action on the SSL blocking page. if |proceed| is true, // this is equivalent to clicking the 'Proceed' button, if false to 'Take me // out of there' button. - bool TakeActionOnSSLBlockingPage(bool proceed); + bool TakeActionOnSSLBlockingPage(bool proceed) WARN_UNUSED_RESULT; // Prints the current page without user intervention. - bool PrintNow(); + bool PrintNow() WARN_UNUSED_RESULT; // Sends off an asynchronous request for printing. - bool PrintAsync(); + bool PrintAsync() WARN_UNUSED_RESULT; // Save the current web page. |file_name| is the HTML file name, and // |dir_path| is the directory for saving resource files. |type| indicates // which type we're saving as: HTML only or the complete web page. bool SavePage(const FilePath& file_name, const FilePath& dir_path, - SavePackage::SavePackageType type); + SavePackage::SavePackageType type) WARN_UNUSED_RESULT; // Posts a message to the external tab. void HandleMessageFromExternalHost(const std::string& message, @@ -319,21 +325,22 @@ class TabProxy : public AutomationResourceProxy { const std::string& target); // Retrieves the number of info-bars currently showing in |count|. - bool GetInfoBarCount(int* count); + bool GetInfoBarCount(int* count) WARN_UNUSED_RESULT; // Waits for up to |wait_timeout| ms until the infobar count is |count|. // Returns false if a timeout occurred before the count matched, or an // error occurred retrieving the count. - bool WaitForInfoBarCount(int count, int wait_timeout); + bool WaitForInfoBarCount(int count, int wait_timeout) WARN_UNUSED_RESULT; // Causes a click on the "accept" button of the info-bar at |info_bar_index|. // If |wait_for_navigation| is true, this call does not return until a // navigation has occured. - bool ClickInfoBarAccept(int info_bar_index, bool wait_for_navigation); + bool ClickInfoBarAccept(int info_bar_index, + bool wait_for_navigation) WARN_UNUSED_RESULT; // Retrieves the time at which the last navigation occured. This is intended // to be used with WaitForNavigation (see below). - bool GetLastNavigationTime(int64* last_navigation_time); + bool GetLastNavigationTime(int64* last_navigation_time) WARN_UNUSED_RESULT; // Waits for a new navigation if none as occurred since |last_navigation_time| // The purpose of this function is for operations that causes asynchronous @@ -343,13 +350,13 @@ class TabProxy : public AutomationResourceProxy { // tab_proxy->GetLastNavigationTime(&last_nav_time); // tab_proxy->SomeOperationThatTriggersAnAsynchronousNavigation(); // tab_proxy->WaitForNavigation(last_nav_time); - bool WaitForNavigation(int64 last_navigation_time); + bool WaitForNavigation(int64 last_navigation_time) WARN_UNUSED_RESULT; // Gets the current used encoding of the page in the tab. - bool GetPageCurrentEncoding(std::string* encoding); + bool GetPageCurrentEncoding(std::string* encoding) WARN_UNUSED_RESULT; // Uses the specified encoding to override encoding of the page in the tab. - bool OverrideEncoding(const std::string& encoding); + bool OverrideEncoding(const std::string& encoding) WARN_UNUSED_RESULT; #if defined(OS_WIN) // Resizes the tab window. |