summaryrefslogtreecommitdiffstats
path: root/chrome/test/automation
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/test/automation')
-rw-r--r--chrome/test/automation/automation_proxy.h42
-rw-r--r--chrome/test/automation/automation_proxy_uitest.cc39
-rw-r--r--chrome/test/automation/browser_proxy.h93
-rw-r--r--chrome/test/automation/tab_proxy.h115
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.