electron/shell/browser/electron_javascript_dialog_manager.h

52 lines
1.8 KiB
C
Raw Normal View History

// Copyright (c) 2013 GitHub, Inc.
2014-04-25 09:49:37 +00:00
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ELECTRON_SHELL_BROWSER_ELECTRON_JAVASCRIPT_DIALOG_MANAGER_H_
#define ELECTRON_SHELL_BROWSER_ELECTRON_JAVASCRIPT_DIALOG_MANAGER_H_
#include <map>
#include <string>
#include "content/public/browser/javascript_dialog_manager.h"
namespace content {
2017-04-28 00:28:48 +00:00
class WebContents;
}
namespace electron {
class ElectronJavaScriptDialogManager
: public content::JavaScriptDialogManager {
public:
ElectronJavaScriptDialogManager();
~ElectronJavaScriptDialogManager() override;
2017-04-28 00:28:48 +00:00
// content::JavaScriptDialogManager implementations.
2018-04-18 01:44:10 +00:00
void RunJavaScriptDialog(content::WebContents* web_contents,
content::RenderFrameHost* rfh,
2018-04-18 01:44:10 +00:00
content::JavaScriptDialogType dialog_type,
const std::u16string& message_text,
const std::u16string& default_prompt_text,
2018-04-18 01:44:10 +00:00
DialogClosedCallback callback,
bool* did_suppress_message) override;
void RunBeforeUnloadDialog(content::WebContents* web_contents,
content::RenderFrameHost* rfh,
2018-04-18 01:44:10 +00:00
bool is_reload,
DialogClosedCallback callback) override;
2017-01-24 03:18:56 +00:00
void CancelDialogs(content::WebContents* web_contents,
bool reset_state) override;
private:
void OnMessageBoxCallback(DialogClosedCallback callback,
const std::string& origin,
int code,
bool checkbox_checked);
2018-03-06 02:31:56 +00:00
std::map<std::string, int> origin_counts_;
};
} // namespace electron
#endif // ELECTRON_SHELL_BROWSER_ELECTRON_JAVASCRIPT_DIALOG_MANAGER_H_