blob: 9f503ee3f222a80180ed69c09724bbf86b99a8d4 [file] [log] [blame]
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_WEB_PUBLIC_JAVA_SCRIPT_DIALOG_PRESENTER_H_
#define IOS_WEB_PUBLIC_JAVA_SCRIPT_DIALOG_PRESENTER_H_
#import "ios/web/public/java_script_dialog_callback.h"
#include "ios/web/public/java_script_dialog_type.h"
#include "url/gurl.h"
@class NSString;
namespace web {
class WebState;
class JavaScriptDialogPresenter {
public:
// Requests presentation of a JavaScript dialog. Clients must always call
// |callback| even if they choose not to present the dialog.
virtual void RunJavaScriptDialog(WebState* web_state,
const GURL& origin_url,
JavaScriptDialogType java_script_dialog_type,
NSString* message_text,
NSString* default_prompt_text,
const DialogClosedCallback& callback) = 0;
// Informs clients that all requested dialogs associated with |web_state|
// should be dismissed.
virtual void CancelActiveAndPendingDialogs(WebState* web_state) = 0;
};
} // namespace web
#endif // IOS_WEB_PUBLIC_JAVA_SCRIPT_DIALOG_PRESENTER_H_