Skip to content

Latest commit

History

History
111 lines (80 loc) · 3.44 KB

File metadata and controls

111 lines (80 loc) · 3.44 KB

API categories | API index

JavascriptDialogHandler (interface)

Implement this interface to handle events related to Javascript dialogs. The methods of this class will be called on the UI thread.

Table of contents:

JavascriptDialogCallback

Callback interface used for asynchronous continuation of Javascript dialog requests.

Continue

ParameterType
allowbool
user_inputstr
Returnvoid

Continue the javascript dialog request. Set |allow| to true if the OK button was pressed. The |user_input| value should be specified for prompt dialogs.

Callbacks

OnJavascriptDialog

ParameterType
browserBrowser
origin_urlstr
dialog_typeint
message_textstr
default_prompt_textstr
callbackJavascriptDialogCallback
suppress_message_outlist
Returnbool

Called to run a JavaScript dialog. If |origin_url| is non-empty it can be passed to the CefFormatUrlForSecurityDisplay function to retrieve a secure and user-friendly display string. The |default_prompt_text| value will be specified for prompt dialogs only. Set |suppress_message_out[0]| to true and return false to suppress the message (suppressing messages is preferable to immediately executing the callback as this is used to detect presumably malicious behavior like spamming alert messages in onbeforeunload). Set |suppress_message_out[0]| to false and return false to use the default implementation (the default implementation will show one modal dialog at a time and suppress any additional dialog requests until the displayed dialog is dismissed). Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

The dialog_type constants available in the cefpython module:

  • JSDIALOGTYPE_ALERT
  • JSDIALOGTYPE_CONFIRM
  • JSDIALOGTYPE_PROMPT

OnBeforeUnloadJavascriptDialog

ParameterType
browserBrowser
message_textstr
is_reloadbool
callbackJavascriptDialogCallback
Returnbool

Called to run a dialog asking the user if they want to leave a page. Return false to use the default dialog implementation. Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

OnResetJavascriptDialogState

ParameterType
browserBrowser
Returnvoid

Called to cancel any pending dialogs and reset any saved dialog state. Will be called due to events like page navigation irregardless of whether any dialogs are currently pending.

OnJavascriptDialogClosed

ParameterType
browserBrowser
Returnvoid

Called when the default implementation dialog is closed.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
cefpython/api/JavascriptDialogHandler.md at master · Toroto006/cefpython · GitHub
Skip to content

Latest commit

History

History
111 lines (80 loc) · 3.44 KB

File metadata and controls

111 lines (80 loc) · 3.44 KB

API categories | API index

JavascriptDialogHandler (interface)

Implement this interface to handle events related to Javascript dialogs. The methods of this class will be called on the UI thread.

Table of contents:

JavascriptDialogCallback

Callback interface used for asynchronous continuation of Javascript dialog requests.

Continue

ParameterType
allowbool
user_inputstr
Returnvoid

Continue the javascript dialog request. Set |allow| to true if the OK button was pressed. The |user_input| value should be specified for prompt dialogs.

Callbacks

OnJavascriptDialog

ParameterType
browserBrowser
origin_urlstr
dialog_typeint
message_textstr
default_prompt_textstr
callbackJavascriptDialogCallback
suppress_message_outlist
Returnbool

Called to run a JavaScript dialog. If |origin_url| is non-empty it can be passed to the CefFormatUrlForSecurityDisplay function to retrieve a secure and user-friendly display string. The |default_prompt_text| value will be specified for prompt dialogs only. Set |suppress_message_out[0]| to true and return false to suppress the message (suppressing messages is preferable to immediately executing the callback as this is used to detect presumably malicious behavior like spamming alert messages in onbeforeunload). Set |suppress_message_out[0]| to false and return false to use the default implementation (the default implementation will show one modal dialog at a time and suppress any additional dialog requests until the displayed dialog is dismissed). Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

The dialog_type constants available in the cefpython module:

  • JSDIALOGTYPE_ALERT
  • JSDIALOGTYPE_CONFIRM
  • JSDIALOGTYPE_PROMPT

OnBeforeUnloadJavascriptDialog

ParameterType
browserBrowser
message_textstr
is_reloadbool
callbackJavascriptDialogCallback
Returnbool

Called to run a dialog asking the user if they want to leave a page. Return false to use the default dialog implementation. Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

OnResetJavascriptDialogState

ParameterType
browserBrowser
Returnvoid

Called to cancel any pending dialogs and reset any saved dialog state. Will be called due to events like page navigation irregardless of whether any dialogs are currently pending.

OnJavascriptDialogClosed

ParameterType
browserBrowser
Returnvoid

Called when the default implementation dialog is closed.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' cefpython/api/JavascriptDialogHandler.md at master · Toroto006/cefpython · GitHub
Skip to content

Latest commit

History

History
111 lines (80 loc) · 3.44 KB

File metadata and controls

111 lines (80 loc) · 3.44 KB

API categories | API index

JavascriptDialogHandler (interface)

Implement this interface to handle events related to Javascript dialogs. The methods of this class will be called on the UI thread.

Table of contents:

JavascriptDialogCallback

Callback interface used for asynchronous continuation of Javascript dialog requests.

Continue

ParameterType
allowbool
user_inputstr
Returnvoid

Continue the javascript dialog request. Set |allow| to true if the OK button was pressed. The |user_input| value should be specified for prompt dialogs.

Callbacks

OnJavascriptDialog

ParameterType
browserBrowser
origin_urlstr
dialog_typeint
message_textstr
default_prompt_textstr
callbackJavascriptDialogCallback
suppress_message_outlist
Returnbool

Called to run a JavaScript dialog. If |origin_url| is non-empty it can be passed to the CefFormatUrlForSecurityDisplay function to retrieve a secure and user-friendly display string. The |default_prompt_text| value will be specified for prompt dialogs only. Set |suppress_message_out[0]| to true and return false to suppress the message (suppressing messages is preferable to immediately executing the callback as this is used to detect presumably malicious behavior like spamming alert messages in onbeforeunload). Set |suppress_message_out[0]| to false and return false to use the default implementation (the default implementation will show one modal dialog at a time and suppress any additional dialog requests until the displayed dialog is dismissed). Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

The dialog_type constants available in the cefpython module:

  • JSDIALOGTYPE_ALERT
  • JSDIALOGTYPE_CONFIRM
  • JSDIALOGTYPE_PROMPT

OnBeforeUnloadJavascriptDialog

ParameterType
browserBrowser
message_textstr
is_reloadbool
callbackJavascriptDialogCallback
Returnbool

Called to run a dialog asking the user if they want to leave a page. Return false to use the default dialog implementation. Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

OnResetJavascriptDialogState

ParameterType
browserBrowser
Returnvoid

Called to cancel any pending dialogs and reset any saved dialog state. Will be called due to events like page navigation irregardless of whether any dialogs are currently pending.

OnJavascriptDialogClosed

ParameterType
browserBrowser
Returnvoid

Called when the default implementation dialog is closed.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' cefpython/api/JavascriptDialogHandler.md at master · Toroto006/cefpython · GitHub
Skip to content

Latest commit

History

History
111 lines (80 loc) · 3.44 KB

File metadata and controls

111 lines (80 loc) · 3.44 KB

API categories | API index

JavascriptDialogHandler (interface)

Implement this interface to handle events related to Javascript dialogs. The methods of this class will be called on the UI thread.

Table of contents:

JavascriptDialogCallback

Callback interface used for asynchronous continuation of Javascript dialog requests.

Continue

ParameterType
allowbool
user_inputstr
Returnvoid

Continue the javascript dialog request. Set |allow| to true if the OK button was pressed. The |user_input| value should be specified for prompt dialogs.

Callbacks

OnJavascriptDialog

ParameterType
browserBrowser
origin_urlstr
dialog_typeint
message_textstr
default_prompt_textstr
callbackJavascriptDialogCallback
suppress_message_outlist
Returnbool

Called to run a JavaScript dialog. If |origin_url| is non-empty it can be passed to the CefFormatUrlForSecurityDisplay function to retrieve a secure and user-friendly display string. The |default_prompt_text| value will be specified for prompt dialogs only. Set |suppress_message_out[0]| to true and return false to suppress the message (suppressing messages is preferable to immediately executing the callback as this is used to detect presumably malicious behavior like spamming alert messages in onbeforeunload). Set |suppress_message_out[0]| to false and return false to use the default implementation (the default implementation will show one modal dialog at a time and suppress any additional dialog requests until the displayed dialog is dismissed). Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

The dialog_type constants available in the cefpython module:

  • JSDIALOGTYPE_ALERT
  • JSDIALOGTYPE_CONFIRM
  • JSDIALOGTYPE_PROMPT

OnBeforeUnloadJavascriptDialog

ParameterType
browserBrowser
message_textstr
is_reloadbool
callbackJavascriptDialogCallback
Returnbool

Called to run a dialog asking the user if they want to leave a page. Return false to use the default dialog implementation. Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

OnResetJavascriptDialogState

ParameterType
browserBrowser
Returnvoid

Called to cancel any pending dialogs and reset any saved dialog state. Will be called due to events like page navigation irregardless of whether any dialogs are currently pending.

OnJavascriptDialogClosed

ParameterType
browserBrowser
Returnvoid

Called when the default implementation dialog is closed.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' cefpython/api/JavascriptDialogHandler.md at master · Toroto006/cefpython · GitHub
Skip to content

Latest commit

History

History
111 lines (80 loc) · 3.44 KB

File metadata and controls

111 lines (80 loc) · 3.44 KB

API categories | API index

JavascriptDialogHandler (interface)

Implement this interface to handle events related to Javascript dialogs. The methods of this class will be called on the UI thread.

Table of contents:

JavascriptDialogCallback

Callback interface used for asynchronous continuation of Javascript dialog requests.

Continue

ParameterType
allowbool
user_inputstr
Returnvoid

Continue the javascript dialog request. Set |allow| to true if the OK button was pressed. The |user_input| value should be specified for prompt dialogs.

Callbacks

OnJavascriptDialog

ParameterType
browserBrowser
origin_urlstr
dialog_typeint
message_textstr
default_prompt_textstr
callbackJavascriptDialogCallback
suppress_message_outlist
Returnbool

Called to run a JavaScript dialog. If |origin_url| is non-empty it can be passed to the CefFormatUrlForSecurityDisplay function to retrieve a secure and user-friendly display string. The |default_prompt_text| value will be specified for prompt dialogs only. Set |suppress_message_out[0]| to true and return false to suppress the message (suppressing messages is preferable to immediately executing the callback as this is used to detect presumably malicious behavior like spamming alert messages in onbeforeunload). Set |suppress_message_out[0]| to false and return false to use the default implementation (the default implementation will show one modal dialog at a time and suppress any additional dialog requests until the displayed dialog is dismissed). Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

The dialog_type constants available in the cefpython module:

  • JSDIALOGTYPE_ALERT
  • JSDIALOGTYPE_CONFIRM
  • JSDIALOGTYPE_PROMPT

OnBeforeUnloadJavascriptDialog

ParameterType
browserBrowser
message_textstr
is_reloadbool
callbackJavascriptDialogCallback
Returnbool

Called to run a dialog asking the user if they want to leave a page. Return false to use the default dialog implementation. Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

OnResetJavascriptDialogState

ParameterType
browserBrowser
Returnvoid

Called to cancel any pending dialogs and reset any saved dialog state. Will be called due to events like page navigation irregardless of whether any dialogs are currently pending.

OnJavascriptDialogClosed

ParameterType
browserBrowser
Returnvoid

Called when the default implementation dialog is closed.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' cefpython/api/JavascriptDialogHandler.md at master · Toroto006/cefpython · GitHub
Skip to content

Latest commit

History

History
111 lines (80 loc) · 3.44 KB

File metadata and controls

111 lines (80 loc) · 3.44 KB

API categories | API index

JavascriptDialogHandler (interface)

Implement this interface to handle events related to Javascript dialogs. The methods of this class will be called on the UI thread.

Table of contents:

JavascriptDialogCallback

Callback interface used for asynchronous continuation of Javascript dialog requests.

Continue

ParameterType
allowbool
user_inputstr
Returnvoid

Continue the javascript dialog request. Set |allow| to true if the OK button was pressed. The |user_input| value should be specified for prompt dialogs.

Callbacks

OnJavascriptDialog

ParameterType
browserBrowser
origin_urlstr
dialog_typeint
message_textstr
default_prompt_textstr
callbackJavascriptDialogCallback
suppress_message_outlist
Returnbool

Called to run a JavaScript dialog. If |origin_url| is non-empty it can be passed to the CefFormatUrlForSecurityDisplay function to retrieve a secure and user-friendly display string. The |default_prompt_text| value will be specified for prompt dialogs only. Set |suppress_message_out[0]| to true and return false to suppress the message (suppressing messages is preferable to immediately executing the callback as this is used to detect presumably malicious behavior like spamming alert messages in onbeforeunload). Set |suppress_message_out[0]| to false and return false to use the default implementation (the default implementation will show one modal dialog at a time and suppress any additional dialog requests until the displayed dialog is dismissed). Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

The dialog_type constants available in the cefpython module:

  • JSDIALOGTYPE_ALERT
  • JSDIALOGTYPE_CONFIRM
  • JSDIALOGTYPE_PROMPT

OnBeforeUnloadJavascriptDialog

ParameterType
browserBrowser
message_textstr
is_reloadbool
callbackJavascriptDialogCallback
Returnbool

Called to run a dialog asking the user if they want to leave a page. Return false to use the default dialog implementation. Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

OnResetJavascriptDialogState

ParameterType
browserBrowser
Returnvoid

Called to cancel any pending dialogs and reset any saved dialog state. Will be called due to events like page navigation irregardless of whether any dialogs are currently pending.

OnJavascriptDialogClosed

ParameterType
browserBrowser
Returnvoid

Called when the default implementation dialog is closed.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' cefpython/api/JavascriptDialogHandler.md at master · Toroto006/cefpython · GitHub
Skip to content

Latest commit

History

History
111 lines (80 loc) · 3.44 KB

File metadata and controls

111 lines (80 loc) · 3.44 KB

API categories | API index

JavascriptDialogHandler (interface)

Implement this interface to handle events related to Javascript dialogs. The methods of this class will be called on the UI thread.

Table of contents:

JavascriptDialogCallback

Callback interface used for asynchronous continuation of Javascript dialog requests.

Continue

ParameterType
allowbool
user_inputstr
Returnvoid

Continue the javascript dialog request. Set |allow| to true if the OK button was pressed. The |user_input| value should be specified for prompt dialogs.

Callbacks

OnJavascriptDialog

ParameterType
browserBrowser
origin_urlstr
dialog_typeint
message_textstr
default_prompt_textstr
callbackJavascriptDialogCallback
suppress_message_outlist
Returnbool

Called to run a JavaScript dialog. If |origin_url| is non-empty it can be passed to the CefFormatUrlForSecurityDisplay function to retrieve a secure and user-friendly display string. The |default_prompt_text| value will be specified for prompt dialogs only. Set |suppress_message_out[0]| to true and return false to suppress the message (suppressing messages is preferable to immediately executing the callback as this is used to detect presumably malicious behavior like spamming alert messages in onbeforeunload). Set |suppress_message_out[0]| to false and return false to use the default implementation (the default implementation will show one modal dialog at a time and suppress any additional dialog requests until the displayed dialog is dismissed). Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

The dialog_type constants available in the cefpython module:

  • JSDIALOGTYPE_ALERT
  • JSDIALOGTYPE_CONFIRM
  • JSDIALOGTYPE_PROMPT

OnBeforeUnloadJavascriptDialog

ParameterType
browserBrowser
message_textstr
is_reloadbool
callbackJavascriptDialogCallback
Returnbool

Called to run a dialog asking the user if they want to leave a page. Return false to use the default dialog implementation. Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

OnResetJavascriptDialogState

ParameterType
browserBrowser
Returnvoid

Called to cancel any pending dialogs and reset any saved dialog state. Will be called due to events like page navigation irregardless of whether any dialogs are currently pending.

OnJavascriptDialogClosed

ParameterType
browserBrowser
Returnvoid

Called when the default implementation dialog is closed.

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); cefpython/api/JavascriptDialogHandler.md at master · Toroto006/cefpython · GitHub
Skip to content

Latest commit

History

History
111 lines (80 loc) · 3.44 KB

File metadata and controls

111 lines (80 loc) · 3.44 KB

API categories | API index

JavascriptDialogHandler (interface)

Implement this interface to handle events related to Javascript dialogs. The methods of this class will be called on the UI thread.

Table of contents:

JavascriptDialogCallback

Callback interface used for asynchronous continuation of Javascript dialog requests.

Continue

ParameterType
allowbool
user_inputstr
Returnvoid

Continue the javascript dialog request. Set |allow| to true if the OK button was pressed. The |user_input| value should be specified for prompt dialogs.

Callbacks

OnJavascriptDialog

ParameterType
browserBrowser
origin_urlstr
dialog_typeint
message_textstr
default_prompt_textstr
callbackJavascriptDialogCallback
suppress_message_outlist
Returnbool

Called to run a JavaScript dialog. If |origin_url| is non-empty it can be passed to the CefFormatUrlForSecurityDisplay function to retrieve a secure and user-friendly display string. The |default_prompt_text| value will be specified for prompt dialogs only. Set |suppress_message_out[0]| to true and return false to suppress the message (suppressing messages is preferable to immediately executing the callback as this is used to detect presumably malicious behavior like spamming alert messages in onbeforeunload). Set |suppress_message_out[0]| to false and return false to use the default implementation (the default implementation will show one modal dialog at a time and suppress any additional dialog requests until the displayed dialog is dismissed). Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

The dialog_type constants available in the cefpython module:

  • JSDIALOGTYPE_ALERT
  • JSDIALOGTYPE_CONFIRM
  • JSDIALOGTYPE_PROMPT

OnBeforeUnloadJavascriptDialog

ParameterType
browserBrowser
message_textstr
is_reloadbool
callbackJavascriptDialogCallback
Returnbool

Called to run a dialog asking the user if they want to leave a page. Return false to use the default dialog implementation. Return true if the application will use a custom dialog or if the callback has been executed immediately. Custom dialogs may be either modal or modeless. If a custom dialog is used the application must execute |callback| once the custom dialog is dismissed.

OnResetJavascriptDialogState

ParameterType
browserBrowser
Returnvoid

Called to cancel any pending dialogs and reset any saved dialog state. Will be called due to events like page navigation irregardless of whether any dialogs are currently pending.

OnJavascriptDialogClosed

ParameterType
browserBrowser
Returnvoid

Called when the default implementation dialog is closed.