Index: headless/public/headless_browser_context.h |
diff --git a/headless/public/headless_browser_context.h b/headless/public/headless_browser_context.h |
index d041c0a3e923056a99c5421e013ee2730a40ffda..b779f6a38da1f8ea3748f5d2dd634a19cd7e3e55 100644 |
--- a/headless/public/headless_browser_context.h |
+++ b/headless/public/headless_browser_context.h |
@@ -11,7 +11,9 @@ |
#include <unordered_map> |
#include <vector> |
+#include "base/callback.h" |
#include "base/optional.h" |
+#include "content/public/common/web_preferences.h" |
#include "headless/public/headless_export.h" |
#include "headless/public/headless_web_contents.h" |
#include "net/base/host_port_pair.h" |
@@ -25,6 +27,10 @@ namespace headless { |
class HeadlessBrowserImpl; |
class HeadlessBrowserContextOptions; |
+// Imported into headless namespace for |
+// Builder::SetOverrideWebPreferencesCallback(). |
+using content::WebPreferences; |
+ |
using ProtocolHandlerMap = std::unordered_map< |
std::string, |
std::unique_ptr<net::URLRequestJobFactory::ProtocolHandler>>; |
@@ -97,6 +103,15 @@ class HEADLESS_EXPORT HeadlessBrowserContext::Builder { |
Builder& EnableUnsafeNetworkAccessWithMojoBindings( |
bool enable_http_and_https_if_mojo_used); |
+ // Set a callback that is invoked to override WebPreferences for RenderViews |
+ // created within this HeadlessBrowserContext. Called whenever the |
+ // WebPreferences of a RenderView change. Executed on the browser main thread. |
+ // |
+ // WARNING: We cannot provide any guarantees about the stability of the |
+ // exposed WebPreferences API, so use with care. |
+ Builder& SetOverrideWebPreferencesCallback( |
+ base::Callback<void(WebPreferences*)> callback); |
+ |
// By default |HeadlessBrowserContext| inherits the following options from |
// the browser instance. The methods below can be used to override these |
// settings. See HeadlessBrowser::Options for their meaning. |