Molybden API
Loading...
Searching...
No Matches
browser_delegates.hpp
1// Copyright (c) 2000-2023 TeamDev Ltd. All rights reserved.
2// TeamDev PROPRIETARY and CONFIDENTIAL.
3// Use is subject to license terms.
4
5#ifndef MOLYBDEN_BROWSER_DELEGATES_HPP
6#define MOLYBDEN_BROWSER_DELEGATES_HPP
7
8#include <memory>
9#include <vector>
10
11#include "molybden/base/delegate.hpp"
12#include "molybden/base/delegate_action.hpp"
13#include "molybden/browser/browser_command.hpp"
14#include "molybden/browser/input_events.hpp"
15#include "molybden/capture/capture_sources.hpp"
16#include "molybden/card/credit_card.hpp"
17#include "molybden/js/js_object.hpp"
18#include "molybden/menu/context_menu.hpp"
19#include "molybden/menu/menu.hpp"
20#include "molybden/network/network.hpp"
21#include "molybden/network/tls/certificate.hpp"
22#include "molybden/ui/geometry.hpp"
23#include "molybden/user/user_profile.hpp"
24
25namespace molybden {
26
27class Frame;
28class Browser;
29class Download;
30
31enum class MediaType;
32
33struct HostPort;
34
42 std::shared_ptr<Browser> browser;
43
47 std::shared_ptr<Frame> frame;
48
52 std::shared_ptr<JsObject> window;
53};
54
58class InjectJsAction : public Action {
59 public:
60 explicit InjectJsAction(std::unique_ptr<rpc::internal::Callback> callback);
61
65 void proceed();
66};
67
75 std::shared_ptr<Browser> browser;
76
80 std::shared_ptr<Frame> frame;
81};
82
86class InjectCssAction : public Action {
87 public:
88 explicit InjectCssAction(std::unique_ptr<rpc::internal::Callback> callback);
89
98 void inject(const std::string& css);
99
103 void proceed();
104};
105
113 std::shared_ptr<Browser> browser;
114
119 NetError error;
120
125 std::string url;
126
131
137};
138
142class CertErrorAction : public Action {
143 public:
144 explicit CertErrorAction(std::unique_ptr<rpc::internal::Callback> callback);
145
149 void ignore();
150
155};
156
164 std::shared_ptr<Browser> browser;
165
169 std::string host;
170
175
180 std::vector<Certificate> intermediate_certs;
181
185 std::vector<CertVerificationError> verification_errors;
186};
187
191class VerifyCertAction : public Action {
192 public:
193 explicit VerifyCertAction(
194 std::unique_ptr<rpc::internal::Callback> callback);
195
199 void valid();
200
204 void invalid(const std::vector<CertVerificationStatus>& statuses);
205
210};
211
219 std::shared_ptr<Browser> browser;
220
225};
226
230class EnterMouseAction : public Action {
231 public:
232 explicit EnterMouseAction(std::unique_ptr<rpc::internal::Callback> callback);
233
237 void proceed();
238
242 void suppress();
243};
244
252 std::shared_ptr<Browser> browser;
253
258};
259
263class ExitMouseAction : public Action {
264 public:
265 explicit ExitMouseAction(std::unique_ptr<rpc::internal::Callback> callback);
266
270 void proceed();
271
275 void suppress();
276};
277
285 std::shared_ptr<Browser> browser;
286
291};
292
296class MoveMouseAction : public Action {
297 public:
298 explicit MoveMouseAction(std::unique_ptr<rpc::internal::Callback> callback);
299
303 void proceed();
304
308 void suppress();
309};
310
318 std::shared_ptr<Browser> browser;
319
324};
325
330 public:
331 explicit MoveMouseWheelAction(
332 std::unique_ptr<rpc::internal::Callback> callback);
333
337 void proceed();
338
342 void suppress();
343};
344
352 std::shared_ptr<Browser> browser;
353
358};
359
363class PressMouseAction : public Action {
364 public:
365 explicit PressMouseAction(std::unique_ptr<rpc::internal::Callback> callback);
366
370 void proceed();
371
375 void suppress();
376};
377
385 std::shared_ptr<Browser> browser;
386
391};
392
397 public:
398 explicit ReleaseMouseAction(
399 std::unique_ptr<rpc::internal::Callback> callback);
400
404 void proceed();
405
409 void suppress();
410};
411
419 std::shared_ptr<Browser> browser;
420
425};
426
430class PressKeyAction : public Action {
431 public:
432 explicit PressKeyAction(std::unique_ptr<rpc::internal::Callback> callback);
433
437 void proceed();
438
442 void suppress();
443};
444
452 std::shared_ptr<Browser> browser;
453
458};
459
463class ReleaseKeyAction : public Action {
464 public:
465 explicit ReleaseKeyAction(std::unique_ptr<rpc::internal::Callback> callback);
466
470 void proceed();
471
475 void suppress();
476};
477
485 std::shared_ptr<Browser> browser;
486
491};
492
496class TypeKeyAction : public Action {
497 public:
498 explicit TypeKeyAction(std::unique_ptr<rpc::internal::Callback> callback);
499
503 void proceed();
504
508 void suppress();
509};
510
518 std::shared_ptr<Browser> browser;
519
523 std::shared_ptr<Browser> popup_browser;
524
528 std::string target_name;
529
533 std::string target_url;
534
543
549};
550
554class OpenPopupAction : public Action {
555 public:
556 explicit OpenPopupAction(std::unique_ptr<rpc::internal::Callback> callback);
557
561 void open();
562
566 void close();
567};
568
576 std::shared_ptr<Browser> browser;
577
581 std::string link_url;
582
586 std::string link_text;
587
591 std::string src_url;
592
596 std::string page_url;
597
601 std::string frame_url;
602
606 std::string selected_text;
607
612};
613
618 public:
619 explicit ShowContextMenuAction(
620 std::unique_ptr<rpc::internal::Callback> callback);
621
625 void show(std::shared_ptr<CustomContextMenu> context_menu);
626};
627
631struct AlertArgs {
635 std::shared_ptr<Browser> browser;
636
640 std::string title;
641
645 std::string message;
646
650 std::string ok_action_text;
651
655 std::string url;
656};
657
661class AlertAction : public Action {
662 public:
663 explicit AlertAction(std::unique_ptr<rpc::internal::Callback> callback);
664
668 void prompt();
669
673 void ok();
674};
675
683 std::shared_ptr<Browser> browser;
684
688 std::string title;
689
693 std::string message;
694
698 std::string ok_action_text;
699
704
708 std::string url;
709};
710
714class ConfirmAction : public Action {
715 public:
716 explicit ConfirmAction(std::unique_ptr<rpc::internal::Callback> callback);
717
721 void prompt();
722
726 void ok();
727
731 void cancel();
732};
733
741 std::shared_ptr<Browser> browser;
742
746 std::string title;
747
751 std::string message;
752
756 std::string ok_action_text;
757
762};
763
767class PromptAction : public Action {
768 public:
769 explicit PromptAction(std::unique_ptr<rpc::internal::Callback> callback);
770
774 void prompt();
775
780 void ok(const std::string& text);
781
785 void cancel();
786};
787
795 std::shared_ptr<Browser> browser;
796
800 std::string title;
801
805 std::string message;
806
810 std::string stay_action_text;
811
815 std::string leave_action_text;
816
822};
823
828 public:
829 explicit BeforeUnloadAction(
830 std::unique_ptr<rpc::internal::Callback> callback);
831
835 void prompt();
836
840 void stay();
841
845 void leave();
846};
847
855 std::shared_ptr<Browser> browser;
856
860 std::string title;
861
865 std::string message;
866
871
876};
877
882 public:
883 explicit BeforeFormRepostAction(
884 std::unique_ptr<rpc::internal::Callback> callback);
885
889 void repost();
890
894 void cancel();
895
899 void prompt();
900};
901
909 std::shared_ptr<Browser> browser;
910
915
921};
922
926class SaveAsPdfAction : public Action {
927 public:
928 explicit SaveAsPdfAction(std::unique_ptr<rpc::internal::Callback> callback);
929
934 void save(const std::string& file_path);
935
939 void cancel();
940
945 void prompt();
946};
947
955 std::shared_ptr<Browser> browser;
956
960 BrowserCommandId command_id;
961};
962
967 public:
969 std::unique_ptr<rpc::internal::Callback> callback);
970
974 void can();
975
979 void cannot();
980};
981
989 std::shared_ptr<Browser> browser;
990
999 std::shared_ptr<Frame> frame;
1000
1004 std::shared_ptr<Download> download;
1005};
1006
1011 public:
1012 explicit StartDownloadAction(
1013 std::unique_ptr<rpc::internal::Callback> callback);
1014
1022 void download(const std::string& file_path);
1023
1027 void cancel();
1028
1033 void prompt();
1034};
1035
1043 std::shared_ptr<Browser> browser;
1044
1048 std::string url;
1049
1053 std::string login;
1054};
1055
1060 public:
1061 explicit SavePasswordAction(
1062 std::unique_ptr<rpc::internal::Callback> callback);
1063
1067 void save();
1068
1075
1079 void cancel();
1080
1086 void prompt();
1087};
1088
1096 std::shared_ptr<Browser> browser;
1097
1101 std::string url;
1102
1106 std::string login;
1107};
1108
1113 public:
1114 explicit UpdatePasswordAction(
1115 std::unique_ptr<rpc::internal::Callback> callback);
1116
1120 void update();
1121
1125 void cancel();
1126
1131 void prompt();
1132};
1133
1141 std::shared_ptr<Browser> browser;
1142
1146 std::string url;
1147
1154 std::string scheme;
1155
1160
1165};
1166
1171 public:
1172 explicit AuthenticateAction(
1173 std::unique_ptr<rpc::internal::Callback> callback);
1174
1178 void authenticate(const std::string& user_name, const std::string& password);
1179
1183 void cancel();
1184
1189 void prompt();
1190};
1191
1199 std::shared_ptr<Browser> browser;
1200
1204 std::shared_ptr<Frame> frame;
1205
1209 std::string url;
1210};
1211
1216 public:
1217 explicit RequestPdfPasswordAction(
1218 std::unique_ptr<rpc::internal::Callback> callback);
1219
1226 void password(const std::string& password);
1227
1234 void cancel();
1235
1240 void prompt();
1241};
1242
1250 std::shared_ptr<Browser> browser;
1251
1255 std::shared_ptr<Frame> frame;
1256
1260 std::string url;
1261
1266
1271};
1272
1277 public:
1279 std::unique_ptr<rpc::internal::Callback> callback);
1280
1290 void selectSource(const CaptureSource& source, bool capture_audio);
1291
1295 void selectSource(std::shared_ptr<Browser> browser, bool capture_audio);
1296
1300 void cancel();
1301
1305 void prompt();
1306};
1307
1315 std::shared_ptr<Browser> browser;
1316
1321};
1322
1327 public:
1328 explicit SaveCreditCardAction(
1329 std::unique_ptr<rpc::internal::Callback> callback);
1330
1334 void save();
1335
1339 void cancel();
1340
1346 void prompt();
1347};
1348
1356 std::shared_ptr<Browser> browser;
1357
1362};
1363
1368 public:
1369 explicit SaveUserProfileAction(
1370 std::unique_ptr<rpc::internal::Callback> callback);
1371
1375 void save();
1376
1380 void cancel();
1381
1387 void prompt();
1388};
1389
1409
1414 public:
1415 explicit UpdateUserProfileAction(
1416 std::unique_ptr<rpc::internal::Callback> callback);
1417
1421 void update();
1422
1426 void cancel();
1427
1433 void prompt();
1434};
1435
1440 public:
1458
1478
1495
1512
1531
1550
1569
1606
1625
1644
1663
1682
1699
1716
1733
1750
1768
1786
1804
1823
1840
1857
1875
1893
1912
1930
1948
1969
1990
2010};
2011
2012} // namespace molybden
2013
2014#endif // MOLYBDEN_BROWSER_DELEGATES_HPP
The base API that implements classes which represent delegate's action.
Definition delegate_action.hpp:18
The BrowserDelegates::onAlert action.
Definition browser_delegates.hpp:661
void prompt()
Show the native JavaScript alert dialog.
void ok()
Close the dialog as if the OK button was pressed.
The BrowserDelegates::onAuthenticate action.
Definition browser_delegates.hpp:1170
void authenticate(const std::string &user_name, const std::string &password)
Authenticate with the given username and password.
void prompt()
Display a native authentication dialog where the end user can provide username and password.
void cancel()
Cancel the authentication request.
The BrowserDelegates::onBeforeFormRepost action arguments.
Definition browser_delegates.hpp:881
void prompt()
Show the dialog.
void cancel()
Cancel the web page reload.
void repost()
Resubmit the POST data.
The BrowserDelegates::onBeforeUnload action.
Definition browser_delegates.hpp:827
void leave()
Leave the current page.
void prompt()
Show the native JavaScript before unload dialog.
void stay()
Stay on the current page.
A class that contains all browser delegates.
Definition browser_delegates.hpp:1439
Delegate< PromptArgs, PromptAction > onPrompt
Invoked when the JavaScript dialog prompting the user to input some text should be displayed.
Definition browser_delegates.hpp:1767
Delegate< StartCaptureSessionArgs, StartCaptureSessionAction > onStartCaptureSession
Invoked when a web page requests permission to start a capture session.
Definition browser_delegates.hpp:1947
Delegate< ExitMouseArgs, ExitMouseAction > onExitMouse
Invoked when a MouseExited event is about to be processed by the browser.
Definition browser_delegates.hpp:1605
Delegate< UpdatePasswordArgs, UpdatePasswordAction > onUpdatePassword
Invoked when the the user is prompted to update the password credentials in the password store after ...
Definition browser_delegates.hpp:1892
Delegate< StartDownloadArgs, StartDownloadAction > onStartDownload
Invoked when the browser is about to start downloading a file.
Definition browser_delegates.hpp:1856
Delegate< TypeKeyArgs, TypeKeyAction > onTypeKey
Invoked when a KeyTyped event is about to be processed by the browser.
Definition browser_delegates.hpp:1568
Delegate< ConfirmArgs, ConfirmAction > onConfirm
Invoked when the JavaScript confirmation dialog should be displayed.
Definition browser_delegates.hpp:1749
Delegate< AuthenticateArgs, AuthenticateAction > onAuthenticate
Invoked when an HTTP request receives an authentication challenge and it is unable to respond using t...
Definition browser_delegates.hpp:1911
Delegate< MoveMouseArgs, MoveMouseAction > onMoveMouse
Invoked when a MouseMoved event is about to be processed by the browser.
Definition browser_delegates.hpp:1624
Delegate< MoveMouseWheelArgs, MoveMouseWheelAction > onMoveMouseWheel
Invoked when a MouseWheel event is about to be processed by the browser.
Definition browser_delegates.hpp:1681
Delegate< BeforeUnloadArgs, BeforeUnloadAction > onBeforeUnload
Invoked when the webpage is about to be unloaded and the JavaScript before unload confirmation dialog...
Definition browser_delegates.hpp:1785
Delegate< SavePasswordArgs, SavePasswordAction > onSavePassword
Invoked when the the user is prompted to save the password credentials in the password store after we...
Definition browser_delegates.hpp:1874
Delegate< PressMouseArgs, PressMouseAction > onPressMouse
Invoked when a MousePressed event is about to be processed by the browser.
Definition browser_delegates.hpp:1662
Delegate< OpenPopupArgs, OpenPopupAction > onOpenPopup
Invoked when a new popup window has been created and can be displayed.
Definition browser_delegates.hpp:1698
Delegate< SaveUserProfileArgs, SaveUserProfileAction > onSaveUserProfile
Invoked when user is prompted to save the user profile in the user profile store after web form submi...
Definition browser_delegates.hpp:1989
Delegate< RequestPdfPasswordArgs, RequestPdfPasswordAction > onRequestPdfPassword
Invoked when a web page needs a password to open an encrypted PDF document.
Definition browser_delegates.hpp:1929
Delegate< PressKeyArgs, PressKeyAction > onPressKey
Invoked when a KeyPressed event is about to be processed by the browser.
Definition browser_delegates.hpp:1530
Delegate< SaveCreditCardArgs, SaveCreditCardAction > onSaveCreditCard
Invoked when user is prompted to save the credit card credentials in the credit card store after web ...
Definition browser_delegates.hpp:1968
Delegate< SaveAsPdfArgs, SaveAsPdfAction > onSaveAsPdf
Invoked when the currently loaded web page is about to save as PDF document and the browser wants to ...
Definition browser_delegates.hpp:1822
Delegate< UpdateUserProfileArgs, UpdateUserProfileAction > onUpdateUserProfile
Invoked when user is prompted to update the user profile in the user profile store after web form sub...
Definition browser_delegates.hpp:2009
Delegate< BeforeFormRepostArgs, BeforeFormRepostAction > onBeforeFormRepost
Invoked when the web page with POST data is going to be reloaded and the user must confirm that the P...
Definition browser_delegates.hpp:1803
Delegate< ShowContextMenuArgs, ShowContextMenuAction > onShowContextMenu
Invoked when context menu on the loaded web page should be shown.
Definition browser_delegates.hpp:1715
Delegate< EnterMouseArgs, EnterMouseAction > onEnterMouse
Invoked when a MouseEntered event is about to be processed by the browser.
Definition browser_delegates.hpp:1587
Delegate< InjectJsArgs, InjectJsAction > onInjectJs
Invoked when a document element has been created and a custom JavaScript can be executed before any o...
Definition browser_delegates.hpp:1457
Delegate< ReleaseMouseArgs, ReleaseMouseAction > onReleaseMouse
Invoked when a MouseReleased event is about to be processed by the browser.
Definition browser_delegates.hpp:1643
Delegate< CertErrorArgs, CertErrorAction > onCertError
Invoked when an SSL certificate error occurs during loading a web page.
Definition browser_delegates.hpp:1494
Delegate< ReleaseKeyArgs, ReleaseKeyAction > onReleaseKey
Invoked when a KeyReleased event is about to be processed by the browser.
Definition browser_delegates.hpp:1549
Delegate< CanExecuteCommandArgs, CanExecuteCommandAction > onCanExecuteCommand
Invoked to check if a browser command can be executed or not.
Definition browser_delegates.hpp:1839
Delegate< VerifyCertArgs, VerifyCertAction > onVerifyCert
Invoked when certificate verification is required.
Definition browser_delegates.hpp:1511
Delegate< AlertArgs, AlertAction > onAlert
Invoked when the JavaScript alert dialog should be displayed.
Definition browser_delegates.hpp:1732
Delegate< InjectCssArgs, InjectCssAction > onInjectCss
Invoked when a web page frame's document element has been created and a custom style sheet can be inj...
Definition browser_delegates.hpp:1477
The BrowserDelegates::onShowBeforeFormRepost action arguments.
Definition browser_delegates.hpp:966
void can()
The command can be executed.
void cannot()
The command is not supported and must be suppressed.
The source for a content capture session.
Definition capture_source.hpp:39
The BrowserDelegates::onCertError action.
Definition browser_delegates.hpp:142
void ignore()
Ignore the certificate error and load the requested resource.
void showErrorPage()
Display the error page with the certificate error details.
The BrowserDelegates::onConfirm action.
Definition browser_delegates.hpp:714
void cancel()
Close the dialog as if the cancel button was pressed.
void ok()
Close the dialog as if the OK button was pressed.
void prompt()
Show the native JavaScript confirm dialog.
Delegates allow you to make decisions that affect the application behavior.
Definition delegate.hpp:30
The BrowserDelegates::onEnterMouse action.
Definition browser_delegates.hpp:230
void suppress()
Suppress the mouse event.
void proceed()
Continue processing the mouse event.
The BrowserDelegates::onExitMouse action.
Definition browser_delegates.hpp:263
void proceed()
Continue processing the mouse event.
void suppress()
Suppress the mouse event.
The BrowserDelegates::onInjectCss action.
Definition browser_delegates.hpp:86
void inject(const std::string &css)
Inject the given custom style sheet into the frame's document.
void proceed()
Continue without injecting a custom style sheet.
The BrowserDelegates::onInjectJs action.
Definition browser_delegates.hpp:58
void proceed()
Continue processing DOM and JavaScript on the frame.
The BrowserDelegates::onMoveMouse action.
Definition browser_delegates.hpp:296
void proceed()
Continue processing the mouse event.
void suppress()
Suppress the mouse event.
The BrowserDelegates::onMoveMouseWheel action.
Definition browser_delegates.hpp:329
void proceed()
Continue processing the mouse event.
void suppress()
Suppress the mouse event.
The BrowserDelegates::onOpenPopup action.
Definition browser_delegates.hpp:554
void close()
Close the popup browser window.
void open()
Open the popup browser window and load the required resource.
The BrowserDelegate::OnPressKey action.
Definition browser_delegates.hpp:430
void suppress()
Suppress the keyboard event.
void proceed()
Continue processing the keyboard event.
The BrowserDelegates::onPressMouse action.
Definition browser_delegates.hpp:363
void suppress()
Suppress the mouse event.
void proceed()
Continue processing the mouse event.
The BrowserDelegates::onPrompt action.
Definition browser_delegates.hpp:767
void cancel()
Close the dialog as if the cancel button was pressed.
void prompt()
Show the native JavaScript prompt dialog.
void ok(const std::string &text)
Close the dialog as if the given text was entered and the OK button was pressed.
The BrowserDelegates::onReleaseKey action arguments.
Definition browser_delegates.hpp:463
void suppress()
Suppress the keyboard event.
void proceed()
Continue processing the keyboard event.
The BrowserDelegates::onReleaseMouse action.
Definition browser_delegates.hpp:396
void proceed()
Continue processing the mouse event.
void suppress()
Suppress the mouse event.
The BrowserDelegates::onRequestPdfPassword action.
Definition browser_delegates.hpp:1215
void prompt()
Display a native prompt dialog where the end user can provide the password to open the encrypted PDF ...
void password(const std::string &password)
Use the given password to load the encrypted PDF document.
void cancel()
Cancel the request for the password.
The BrowserDelegates::onSaveAsPdf action arguments.
Definition browser_delegates.hpp:926
void cancel()
Cancel request to save the PDF file.
void save(const std::string &file_path)
Save the PDF file into the given target file path without displaying a Save File dialog.
void prompt()
Show the native Save File dialog when the user can select the directory where to save the PDF file.
The BrowserDelegates::onSaveCreditCard action.
Definition browser_delegates.hpp:1326
void save()
Save the credit card information in the credit card store.
void prompt()
Display the native prompt dialog where the end user can decide whether the credit card information sh...
void cancel()
Cancel the save credit card request.
The BrowserDelegates::onSavePassword action.
Definition browser_delegates.hpp:1059
void save()
Save the password credentials in the password store.
void cancel()
Cancel the save password credentials request.
void prompt()
Display the native prompt dialog where the end user can decide whether the password credentials shoul...
void neverSave()
Associate the password credentials with the current web page and remember it as "never-saved".
The BrowserDelegates::onSaveUserProfile action.
Definition browser_delegates.hpp:1367
void prompt()
Display the native prompt dialog where the end user can decide whether the user profile should be sav...
void cancel()
Cancel the save user profile request.
void save()
Save the user profile in the user profile store.
The BrowserDelegates::onShowContextMenu action.
Definition browser_delegates.hpp:617
void show(std::shared_ptr< CustomContextMenu > context_menu)
Show the given context menu.
The BrowserDelegates::onStartCaptureSession action.
Definition browser_delegates.hpp:1276
void selectSource(const CaptureSource &source, bool capture_audio)
Use the given capture source.
void selectSource(std::shared_ptr< Browser > browser, bool capture_audio)
Use the given browser instance as the capture source.
void cancel()
Cancel the capture session request.
void prompt()
Display the default dialog for choosing the capture source.
The BrowserDelegates::onStartDownload action.
Definition browser_delegates.hpp:1010
void prompt()
Display the native Save File dialog where the end user can select the directory where to save the fil...
void download(const std::string &file_path)
Download and save the file at the given file path without displaying the Save File dialog.
void cancel()
Cancel file download.
The BrowserDelegates::onTypeKey action arguments.
Definition browser_delegates.hpp:496
void suppress()
Suppress the keyboard event.
void proceed()
Continue processing the keyboard event.
The BrowserDelegates::onUpdatePassword action.
Definition browser_delegates.hpp:1112
void update()
Update the password credentials in the password store.
void prompt()
Display the native prompt dialog where the end user can decide whether the password credentials shoul...
void cancel()
Cancel the update password credentials request.
The BrowserDelegates::onUpdateUserProfile action.
Definition browser_delegates.hpp:1413
void update()
Update the user profile in the user profile store.
void prompt()
Display the native prompt dialog where the end user can decide whether the user profile should be upd...
void cancel()
Cancel the update user profile request.
The BrowserDelegates::onVerifyCert action.
Definition browser_delegates.hpp:191
void valid()
Mark the given certificate as valid.
void invalid(const std::vector< CertVerificationStatus > &statuses)
Mark the given certificate as invalid with the specific statuses.
void defaultAction()
Use the default behavior and let Chromium verify the certificate.
The BrowserDelegates::onAlert action arguments.
Definition browser_delegates.hpp:631
std::string ok_action_text
The localized text of the "OK" action.
Definition browser_delegates.hpp:650
std::string message
The text passed to the window.alert() JavaScript function.
Definition browser_delegates.hpp:645
std::string title
The localized dialog title.
Definition browser_delegates.hpp:640
std::shared_ptr< Browser > browser
The browser instance initiated this action.
Definition browser_delegates.hpp:635
std::string url
The URL of the web page that requested to display the alert dialog.
Definition browser_delegates.hpp:655
The BrowserDelegates::onAuthenticate action arguments.
Definition browser_delegates.hpp:1137
HostPort host_port
The host-port pair identifying the resource requesting authentication.
Definition browser_delegates.hpp:1159
std::string url
The address of a resource requesting authentication.
Definition browser_delegates.hpp:1146
bool is_proxy
Indicates if the authentication request is issued by a proxy server.
Definition browser_delegates.hpp:1164
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:1141
std::string scheme
The authentication scheme such as "basic" or "digest".
Definition browser_delegates.hpp:1154
The BrowserDelegates::onBeforeFormRepost action arguments.
Definition browser_delegates.hpp:851
std::string title
The localized dialog title.
Definition browser_delegates.hpp:860
std::string cancel_action_text
The localized text of the "Cancel" action.
Definition browser_delegates.hpp:875
std::string repost_action_text
The localized text of the "Repost" action.
Definition browser_delegates.hpp:870
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:855
std::string message
The localized text of the form repost warning.
Definition browser_delegates.hpp:865
The BrowserDelegates::onBeforeUnload action arguments.
Definition browser_delegates.hpp:791
std::string title
The localized dialog title.
Definition browser_delegates.hpp:800
std::shared_ptr< Browser > browser
The browser instance initiated this action.
Definition browser_delegates.hpp:795
std::string leave_action_text
The localized text of the "Leave" action.
Definition browser_delegates.hpp:815
std::string stay_action_text
The localized text of the "Stay" action.
Definition browser_delegates.hpp:810
bool is_reload
Determines whether this callback is invoked as a result of reloading the current web page.
Definition browser_delegates.hpp:821
std::string message
The text passed to the window.onbeforeunload() JavaScript function.
Definition browser_delegates.hpp:805
The BrowserDelegates::onCanExecuteCommand action arguments.
Definition browser_delegates.hpp:951
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:955
BrowserCommandId command_id
The standard browser command id.
Definition browser_delegates.hpp:960
Provides access to the sources available for content capture.
Definition capture_sources.hpp:17
The BrowserDelegates::onCertError action arguments.
Definition browser_delegates.hpp:109
bool is_main_frame
Indicates whether the navigation is taking place in the main frame.
Definition browser_delegates.hpp:130
std::string url
Represents the URL of the request that required the client certificate selection.
Definition browser_delegates.hpp:125
Certificate certificate
The SSL certificate bound to the request which the certificate error occurred in.
Definition browser_delegates.hpp:136
NetError error
Returns the network error code which describes the reason of the certificate error.
Definition browser_delegates.hpp:119
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:113
Definition certificate.hpp:37
The BrowserDelegates::onConfirm action arguments.
Definition browser_delegates.hpp:679
std::string url
The URL of the web page that requested to display a confirmation dialog.
Definition browser_delegates.hpp:708
std::string message
The text passed to the window.confirm() JavaScript function.
Definition browser_delegates.hpp:693
std::shared_ptr< Browser > browser
The browser instance initiated this action.
Definition browser_delegates.hpp:683
std::string title
The localized dialog title.
Definition browser_delegates.hpp:688
std::string ok_action_text
The localized text of the "OK" action.
Definition browser_delegates.hpp:698
std::string cancel_action_text
The localized text of the "Cancel" action.
Definition browser_delegates.hpp:703
Definition context_menu.hpp:18
The credit card information persisted in the credit card store.
Definition credit_card.hpp:38
The BrowserDelegates::onEnterMouse action arguments.
Definition browser_delegates.hpp:215
MouseEntered event
The MouseEntered event that is about to be processed by the browser.
Definition browser_delegates.hpp:224
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:219
The BrowserDelegates::onExitMouse action arguments.
Definition browser_delegates.hpp:248
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:252
MouseExited event
The MouseExited event that is about to be processed by the browser.
Definition browser_delegates.hpp:257
A host/port pair of the URI.
Definition url_request.hpp:233
The BrowserDelegates::onInjectCss action arguments.
Definition browser_delegates.hpp:71
std::shared_ptr< Frame > frame
The frame which DOM document has been created.
Definition browser_delegates.hpp:80
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:75
The BrowserDelegates::onInjectJs action arguments.
Definition browser_delegates.hpp:38
std::shared_ptr< Frame > frame
The frame which DOM document has been loaded.
Definition browser_delegates.hpp:47
std::shared_ptr< JsObject > window
The Window JavaScript object of the frame.
Definition browser_delegates.hpp:52
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:42
An event indicating that a keyboard key has been pressed.
Definition input_events.hpp:343
An event indicating that a keyboard key has been released.
Definition input_events.hpp:377
An event indicating that a keyboard character key has been typed.
Definition input_events.hpp:360
An event indicating that the mouse has been moved over the web page.
Definition input_events.hpp:543
An event indicating that the mouse has been moved out of the web page.
Definition input_events.hpp:565
An event indicating that the mouse has been moved.
Definition input_events.hpp:429
An event indicating that the mouse button has been pressed.
Definition input_events.hpp:481
An event indicating that the mouse button has been released.
Definition input_events.hpp:512
An event indicating that the mouse wheel button has been rotated.
Definition input_events.hpp:449
The BrowserDelegates::onMoveMouse action arguments.
Definition browser_delegates.hpp:281
MouseMoved event
The MouseMoved event that is about to be processed by the browser.
Definition browser_delegates.hpp:290
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:285
The BrowserDelegates::onMoveMouseWheel action arguments.
Definition browser_delegates.hpp:314
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:318
MouseWheel event
The MouseWheel event that is about to be processed by the browser.
Definition browser_delegates.hpp:323
The BrowserDelegates::onOpenPopup action arguments.
Definition browser_delegates.hpp:514
float scale_factor
The scale factor of the display where the parent browser window initiated this action is displayed.
Definition browser_delegates.hpp:548
std::string target_url
The target URL that will be loaded in the popup.
Definition browser_delegates.hpp:533
Rect initial_bounds
The initial bounds of the popup.
Definition browser_delegates.hpp:542
std::string target_name
The window target name.
Definition browser_delegates.hpp:528
std::shared_ptr< Browser > browser
The browser instance initiated this action.
Definition browser_delegates.hpp:518
std::shared_ptr< Browser > popup_browser
The browser instance of the created popup.
Definition browser_delegates.hpp:523
The BrowserDelegates::onPressKey action arguments.
Definition browser_delegates.hpp:415
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:419
KeyPressed event
The KeyPressed event that is about to be processed by the browser.
Definition browser_delegates.hpp:424
The BrowserDelegates::onPressMouse action arguments.
Definition browser_delegates.hpp:348
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:352
MousePressed event
The MousePressed event that is about to be processed by the browser.
Definition browser_delegates.hpp:357
The BrowserDelegates::onPrompt action arguments.
Definition browser_delegates.hpp:737
std::string title
The localized dialog title.
Definition browser_delegates.hpp:746
std::string message
The text passed to the window.prompt() JavaScript function.
Definition browser_delegates.hpp:751
std::shared_ptr< Browser > browser
The browser instance initiated this action.
Definition browser_delegates.hpp:741
std::string ok_action_text
The localized text of the "Ok" action.
Definition browser_delegates.hpp:756
std::string cancel_action_text
The localized text of the "Cancel" action.
Definition browser_delegates.hpp:761
A rectangle described by the location and dimensions.
Definition geometry.hpp:75
The BrowserDelegates::onReleaseKey action arguments.
Definition browser_delegates.hpp:448
KeyReleased event
The KeyReleased event that is about to be processed by the browser.
Definition browser_delegates.hpp:457
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:452
The BrowserDelegates::onReleaseMouse action arguments.
Definition browser_delegates.hpp:381
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:385
MouseReleased event
The MouseReleased event that is about to be processed by the browser.
Definition browser_delegates.hpp:390
The BrowserDelegates::onRequestPdfPassword action arguments.
Definition browser_delegates.hpp:1195
std::shared_ptr< Frame > frame
The frame containing the encrypted PDF document.
Definition browser_delegates.hpp:1204
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:1199
std::string url
The URL of the encrypted PDF document.
Definition browser_delegates.hpp:1209
The BrowserDelegates::onSaveAsPdf action arguments.
Definition browser_delegates.hpp:905
std::string suggested_directory_path
The absolute path to the directory where the target PDF file is suggested to be saved.
Definition browser_delegates.hpp:920
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:909
std::string suggested_file_name
The suggested name of the target PDF file.
Definition browser_delegates.hpp:914
The BrowserDelegates::onSaveCreditCard action arguments.
Definition browser_delegates.hpp:1311
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:1315
CreditCard credit_card
The credit card information entered in the web form.
Definition browser_delegates.hpp:1320
The BrowserDelegates::onSavePassword action arguments.
Definition browser_delegates.hpp:1039
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:1043
std::string login
The login value passed in the form.
Definition browser_delegates.hpp:1053
std::string url
The URL of the resource where the form is located.
Definition browser_delegates.hpp:1048
The BrowserDelegates::onSaveUserProfile action arguments.
Definition browser_delegates.hpp:1352
UserProfile user_profile
The user data entered in the web form.
Definition browser_delegates.hpp:1361
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:1356
The BrowserDelegates::onShowContextMenu action arguments.
Definition browser_delegates.hpp:572
std::string link_text
The text associated with the link.
Definition browser_delegates.hpp:586
std::string page_url
The source URL of the top level page that the context menu is invoked on.
Definition browser_delegates.hpp:596
ContextMenuContentType content_type
The content type of the node the context menu is invoked on.
Definition browser_delegates.hpp:611
std::string src_url
The source URL of the HTML element that the context menu is invoked on.
Definition browser_delegates.hpp:591
std::string link_url
The URL of the link that encloses the node the context menu is invoked on.
Definition browser_delegates.hpp:581
std::string frame_url
The URL of the sub-frame that the context menu is invoked on.
Definition browser_delegates.hpp:601
std::string selected_text
The text of the selection that the context menu is invoked on.
Definition browser_delegates.hpp:606
std::shared_ptr< Browser > browser
The browser instance initiated this action.
Definition browser_delegates.hpp:576
The BrowserDelegates::onStartCaptureSession action arguments.
Definition browser_delegates.hpp:1246
bool audio_capture_requested
Indicates if the page requests audio capture as well as the video content.
Definition browser_delegates.hpp:1270
CaptureSources sources
The available capture sources.
Definition browser_delegates.hpp:1265
std::string url
The URL of the web page.
Definition browser_delegates.hpp:1260
std::shared_ptr< Frame > frame
The frame starting the capture session.
Definition browser_delegates.hpp:1255
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:1250
The BrowserDelegates::onStartDownload action arguments.
Definition browser_delegates.hpp:985
std::shared_ptr< Frame > frame
The frame initiated this download or an empty std::shared_ptr if the frame is already closed and dest...
Definition browser_delegates.hpp:999
std::shared_ptr< Download > download
The download activity instance.
Definition browser_delegates.hpp:1004
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:989
The BrowserDelegates::onTypeKey action arguments.
Definition browser_delegates.hpp:481
KeyTyped event
The KeyTyped event that is about to be processed by the browser.
Definition browser_delegates.hpp:490
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:485
The BrowserDelegates::onUpdatePassword action arguments.
Definition browser_delegates.hpp:1092
std::string login
The login value passed in the form.
Definition browser_delegates.hpp:1106
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:1096
std::string url
The URL of the resource where the form is located.
Definition browser_delegates.hpp:1101
The BrowserDelegates::onUpdateUserProfile action arguments.
Definition browser_delegates.hpp:1393
UserProfile user_profile
The new user data entered in the web form.
Definition browser_delegates.hpp:1402
UserProfile original_user_profile
The original user data that is about to update.
Definition browser_delegates.hpp:1407
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:1397
The collected data entered by the user to a form and persisted to the user data store.
Definition user_profile.hpp:16
The BrowserDelegates::onVerifyCert action arguments.
Definition browser_delegates.hpp:160
std::vector< CertVerificationError > verification_errors
The list of errors found by the default SSL certificate verifier.
Definition browser_delegates.hpp:185
std::vector< Certificate > intermediate_certs
The list of intermediate certificates in the chain of the validated certificate.
Definition browser_delegates.hpp:180
std::shared_ptr< Browser > browser
The browser instance initiated this callback.
Definition browser_delegates.hpp:164
std::string host
The host name of the SSL server that requests the certificate verification.
Definition browser_delegates.hpp:169
Certificate certificate
The certificate that is requested to be verified.
Definition browser_delegates.hpp:174