| Index: headless/public/headless_browser.h
|
| diff --git a/headless/public/headless_browser.h b/headless/public/headless_browser.h
|
| index 4b18f565b9e8fc2f2b8cb91ad0bb885a26a8a64e..b57c21aac9214912e77db31c929e8dfd6916a9d5 100644
|
| --- a/headless/public/headless_browser.h
|
| +++ b/headless/public/headless_browser.h
|
| @@ -22,6 +22,10 @@
|
| #include "net/base/ip_endpoint.h"
|
| #include "ui/gfx/geometry/size.h"
|
|
|
| +#if defined(OS_WIN)
|
| +#include "sandbox/win/src/sandbox_types.h"
|
| +#endif
|
| +
|
| namespace base {
|
| class MessagePump;
|
| class SingleThreadTaskRunner;
|
| @@ -89,7 +93,7 @@
|
| };
|
|
|
| // Embedding API overrides for the headless browser.
|
| -struct HeadlessBrowser::Options {
|
| +struct HEADLESS_EXPORT HeadlessBrowser::Options {
|
| class Builder;
|
|
|
| Options(Options&& options);
|
| @@ -100,6 +104,14 @@
|
| // Command line options to be passed to browser.
|
| int argc;
|
| const char** argv;
|
| +
|
| +#if defined(OS_WIN)
|
| + // Set hardware instance if available, otherwise it defaults to 0.
|
| + HINSTANCE instance;
|
| +
|
| + // Set with sandbox information. This has to be already initialized.
|
| + sandbox::SandboxInterfaceInfo* sandbox_info;
|
| +#endif
|
|
|
| // Address at which DevTools should listen for connections. Disabled by
|
| // default.
|
| @@ -172,7 +184,7 @@
|
| DISALLOW_COPY_AND_ASSIGN(Options);
|
| };
|
|
|
| -class HeadlessBrowser::Options::Builder {
|
| +class HEADLESS_EXPORT HeadlessBrowser::Options::Builder {
|
| public:
|
| Builder(int argc, const char** argv);
|
| Builder();
|
| @@ -186,6 +198,10 @@
|
| Builder& SetDisableSandbox(bool disable_sandbox);
|
| Builder& SetGLImplementation(const std::string& gl_implementation);
|
| Builder& AddMojoServiceName(const std::string& mojo_service_name);
|
| +#if defined(OS_WIN)
|
| + Builder& SetInstance(HINSTANCE instance);
|
| + Builder& SetSandboxInfo(sandbox::SandboxInterfaceInfo* sandbox_info);
|
| +#endif
|
|
|
| // Per-context settings.
|
|
|
| @@ -229,7 +245,9 @@
|
| //
|
| // [1]
|
| // https://chromium.googlesource.com/chromium/src/+/master/docs/linux_zygote.md
|
| -void RunChildProcessIfNeeded(int argc, const char** argv);
|
| +#if !defined(OS_WIN)
|
| +HEADLESS_EXPORT void RunChildProcessIfNeeded(int argc, const char** argv);
|
| +#endif
|
|
|
| // Main entry point for running the headless browser. This function constructs
|
| // the headless browser instance, passing it to the given
|
| @@ -237,7 +255,7 @@
|
| // the main loop, it will only return after HeadlessBrowser::Shutdown() is
|
| // called, returning the exit code for the process. It is not possible to
|
| // initialize the browser again after it has been torn down.
|
| -int HeadlessBrowserMain(
|
| +HEADLESS_EXPORT int HeadlessBrowserMain(
|
| HeadlessBrowser::Options options,
|
| const base::Callback<void(HeadlessBrowser*)>& on_browser_start_callback);
|
|
|
|
|