mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-22 15:07:42 +01:00
This change allows the client to directly send and receive DevTools protocol messages (send method calls, and receive method results and events) without requiring a DevTools front-end or remote-debugging session. This change includes additional supporting changes: - Add a new CefRequestHandler::OnDocumentAvailableInMainFrame callback (see issue #1454). - Add a CefParseJSON variant that accepts a UTF8-encoded buffer. - Add a `--devtools-protocol-log-file=<path>` command-line flag for logging protocol messages sent to/from the DevTools front-end while it is displayed. This is useful for understanding existing DevTools protocol usage. - Add a new "libcef_static_unittests" executable target to support light-weight unit tests of libcef_static internals (e.g. without requiring exposure via the CEF API). Files to be unittested are placed in the new "libcef_static_unittested" source_set which is then included by both the existing libcef_static library and the new unittests executable target. - Linux: Remove use_bundled_fontconfig=false, which is no longer required and causes unittest build errors (see issue #2424). This change also adds a cefclient demo for configuring offline mode using the DevTools protocol (fixes issue #245). This is controlled by the "Offline mode" context menu option and the `--offline` command-line switch which will launch cefclient in offline mode. When cefclient is offline all network requests will fail with ERR_INTERNET_DISCONNECTED and navigator.onLine will return false when called from JavaScript in any frame. This mode is per-browser so newly created browser windows will have the default mode. Note that configuring offline mode in this way will not update the Network tab UI ("Throtting" option) in a displayed DevTools front-end instance.
132 lines
4.5 KiB
C++
132 lines
4.5 KiB
C++
// Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights
|
|
// reserved. Use of this source code is governed by a BSD-style license that can
|
|
// be found in the LICENSE file.
|
|
|
|
#include "libcef/common/cef_switches.h"
|
|
|
|
namespace switches {
|
|
|
|
// Severity of messages to log.
|
|
const char kLogSeverity[] = "log-severity";
|
|
const char kLogSeverity_Verbose[] = "verbose";
|
|
const char kLogSeverity_Info[] = "info";
|
|
const char kLogSeverity_Warning[] = "warning";
|
|
const char kLogSeverity_Error[] = "error";
|
|
const char kLogSeverity_Fatal[] = "fatal";
|
|
const char kLogSeverity_Disable[] = "disable";
|
|
|
|
// Path to resources directory.
|
|
const char kResourcesDirPath[] = "resources-dir-path";
|
|
|
|
// Path to locales directory.
|
|
const char kLocalesDirPath[] = "locales-dir-path";
|
|
|
|
// Path to locales directory.
|
|
const char kDisablePackLoading[] = "disable-pack-loading";
|
|
|
|
// Stack size for uncaught exceptions.
|
|
const char kUncaughtExceptionStackSize[] = "uncaught-exception-stack-size";
|
|
|
|
// Default encoding.
|
|
const char kDefaultEncoding[] = "default-encoding";
|
|
|
|
// Disable JavaScript.
|
|
const char kDisableJavascript[] = "disable-javascript";
|
|
|
|
// Disable closing of windows via JavaScript.
|
|
const char kDisableJavascriptCloseWindows[] =
|
|
"disable-javascript-close-windows";
|
|
|
|
// Disable clipboard access via JavaScript.
|
|
const char kDisableJavascriptAccessClipboard[] =
|
|
"disable-javascript-access-clipboard";
|
|
|
|
// Disable DOM paste via JavaScript execCommand("paste").
|
|
const char kDisableJavascriptDomPaste[] = "disable-javascript-dom-paste";
|
|
|
|
// Allow universal access from file URLs.
|
|
const char kAllowUniversalAccessFromFileUrls[] =
|
|
"allow-universal-access-from-files";
|
|
|
|
// Disable loading of images from the network. A cached image will still be
|
|
// rendered if requested.
|
|
const char kDisableImageLoading[] = "disable-image-loading";
|
|
|
|
// Shrink stand-alone images to fit.
|
|
const char kImageShrinkStandaloneToFit[] = "image-shrink-standalone-to-fit";
|
|
|
|
// Disable resizing of text areas.
|
|
const char kDisableTextAreaResize[] = "disable-text-area-resize";
|
|
|
|
// Disable using the tab key to advance focus to links.
|
|
const char kDisableTabToLinks[] = "disable-tab-to-links";
|
|
|
|
// Disable plugins.
|
|
const char kDisablePlugins[] = "disable-plugins";
|
|
|
|
// Persist session cookies.
|
|
const char kPersistSessionCookies[] = "persist-session-cookies";
|
|
|
|
// Persist user preferences.
|
|
const char kPersistUserPreferences[] = "persist-user-preferences";
|
|
|
|
// Enable media (WebRTC audio/video) streaming.
|
|
const char kEnableMediaStream[] = "enable-media-stream";
|
|
|
|
// Enable speech input (x-webkit-speech).
|
|
const char kEnableSpeechInput[] = "enable-speech-input";
|
|
|
|
// Enable the speech input profanity filter.
|
|
const char kEnableProfanityFilter[] = "enable-profanity-filter";
|
|
|
|
// Disable spell checking.
|
|
const char kDisableSpellChecking[] = "disable-spell-checking";
|
|
|
|
// Enable the remote spelling service.
|
|
const char kEnableSpellingService[] = "enable-spelling-service";
|
|
|
|
// Override the default spellchecking language which comes from locales.pak.
|
|
const char kOverrideSpellCheckLang[] = "override-spell-check-lang";
|
|
|
|
// Enable detection and use of a system-wide Pepper Flash install.
|
|
const char kEnableSystemFlash[] = "enable-system-flash";
|
|
|
|
// Disable scroll bounce (rubber-banding) on OS X Lion and newer.
|
|
const char kDisableScrollBounce[] = "disable-scroll-bounce";
|
|
|
|
// Disable the PDF extension.
|
|
const char kDisablePdfExtension[] = "disable-pdf-extension";
|
|
|
|
// Path to Widevine CDM binaries.
|
|
const char kWidevineCdmPath[] = "widevine-cdm-path";
|
|
|
|
// Default plugin policy action.
|
|
const char kPluginPolicy[] = "plugin-policy";
|
|
// Allow the content. This is the default value.
|
|
const char kPluginPolicy_Allow[] = "allow";
|
|
// Allow important content and block unimportant content based on heuristics.
|
|
// The user can manually load blocked content.
|
|
const char kPluginPolicy_Detect[] = "detect";
|
|
// Block the content. The user can manually load blocked content.
|
|
const char kPluginPolicy_Block[] = "block";
|
|
|
|
// Expose preferences used only by unit tests.
|
|
const char kEnablePreferenceTesting[] = "enable-preference-testing";
|
|
|
|
// Enable print preview.
|
|
const char kEnablePrintPreview[] = "enable-print-preview";
|
|
|
|
// Disable the timeout for delivering new browser info to the renderer process.
|
|
const char kDisableNewBrowserInfoTimeout[] = "disable-new-browser-info-timeout";
|
|
|
|
// File used for logging DevTools protocol messages.
|
|
const char kDevToolsProtocolLogFile[] = "devtools-protocol-log-file";
|
|
|
|
#if defined(OS_MACOSX)
|
|
// Path to the framework directory.
|
|
const char kFrameworkDirPath[] = "framework-dir-path";
|
|
const char kMainBundlePath[] = "main-bundle-path";
|
|
#endif
|
|
|
|
} // namespace switches
|