190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// found in the LICENSE file. 490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#ifndef CHROME_TEST_CHROMEDRIVER_ALERT_COMMANDS_H_ 690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#define CHROME_TEST_CHROMEDRIVER_ALERT_COMMANDS_H_ 790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "base/callback_forward.h" 990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "base/memory/scoped_ptr.h" 1090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 1190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)namespace base { 1290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class DictionaryValue; 1390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class Value; 1490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 1590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 1690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)struct Session; 1790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class Status; 1890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)class WebView; 1990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)typedef base::Callback<Status( 2190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) Session* session, 2290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WebView* web_view, 2390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const base::DictionaryValue&, 2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) scoped_ptr<base::Value>*)> AlertCommand; 2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Executes an alert command. 2790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)Status ExecuteAlertCommand( 2890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const AlertCommand& alert_command, 2990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) Session* session, 3090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const base::DictionaryValue& params, 3190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) scoped_ptr<base::Value>* value); 3290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 3390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Returns whether an alert is open. 3490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)Status ExecuteGetAlert( 3590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) Session* session, 3690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WebView* web_view, 3790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const base::DictionaryValue& params, 3890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) scoped_ptr<base::Value>* value); 3990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 4090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Returns the text of the open alert. 4190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)Status ExecuteGetAlertText( 4290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) Session* session, 4390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WebView* web_view, 4490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const base::DictionaryValue& params, 4590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) scoped_ptr<base::Value>* value); 4690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 4790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Sets the value of the alert prompt. 4890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)Status ExecuteSetAlertValue( 4990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) Session* session, 5090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WebView* web_view, 5190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const base::DictionaryValue& params, 5290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) scoped_ptr<base::Value>* value); 5390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 5490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Accepts the open alert. 5590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)Status ExecuteAcceptAlert( 5690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) Session* session, 5790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WebView* web_view, 5890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const base::DictionaryValue& params, 5990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) scoped_ptr<base::Value>* value); 6090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 6190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// Dismisses the open alert. 6290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)Status ExecuteDismissAlert( 6390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) Session* session, 6490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) WebView* web_view, 6590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) const base::DictionaryValue& params, 6690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) scoped_ptr<base::Value>* value); 6790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 6890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#endif // CHROME_TEST_CHROMEDRIVER_ALERT_COMMANDS_H_ 69