| Index: headless/public/headless_browser_context.h
|
| diff --git a/headless/public/headless_browser_context.h b/headless/public/headless_browser_context.h
|
| index f8c581c2fd5fb0a17cfce226cca63e9f380cdaff..2e7badf650c20d975b7b0f853325b38ad75c2861 100644
|
| --- a/headless/public/headless_browser_context.h
|
| +++ b/headless/public/headless_browser_context.h
|
| @@ -5,6 +5,8 @@
|
| #ifndef HEADLESS_PUBLIC_HEADLESS_BROWSER_CONTEXT_H_
|
| #define HEADLESS_PUBLIC_HEADLESS_BROWSER_CONTEXT_H_
|
|
|
| +#include <list>
|
| +
|
| #include "headless/public/headless_export.h"
|
| #include "net/url_request/url_request_job_factory.h"
|
|
|
| @@ -32,6 +34,7 @@ class HEADLESS_EXPORT HeadlessBrowserContext {
|
| DISALLOW_COPY_AND_ASSIGN(HeadlessBrowserContext);
|
| };
|
|
|
| +// TODO(alexclarke): We should support this builder for the default context.
|
| class HEADLESS_EXPORT HeadlessBrowserContext::Builder {
|
| public:
|
| Builder(Builder&&);
|
| @@ -41,15 +44,36 @@ class HEADLESS_EXPORT HeadlessBrowserContext::Builder {
|
| // fetching for different network schemes.
|
| Builder& SetProtocolHandlers(ProtocolHandlerMap protocol_handlers);
|
|
|
| + // Specify JS mojo module bindings to be installed, one per mojom file.
|
| + // Note a single mojom file could potentially define many interfaces.
|
| + // |mojom_name| the name including path of the .mojom file.
|
| + // |js_bindings| compiletime generated javascript bindings. Typically loaded
|
| + // from gen/path/name.mojom.js.
|
| + Builder& AddJsMojoBindings(const std::string& mojom_name,
|
| + const std::string& js_bindings);
|
| +
|
| std::unique_ptr<HeadlessBrowserContext> Build();
|
|
|
| private:
|
| friend class HeadlessBrowserImpl;
|
|
|
| + struct MojoBindings {
|
| + MojoBindings();
|
| + MojoBindings(const std::string& mojom_name, const std::string& js_bindings);
|
| + ~MojoBindings();
|
| +
|
| + std::string mojom_name;
|
| + std::string js_bindings;
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(MojoBindings);
|
| + };
|
| +
|
| explicit Builder(HeadlessBrowserImpl* browser);
|
|
|
| HeadlessBrowserImpl* browser_;
|
| ProtocolHandlerMap protocol_handlers_;
|
| + std::list<MojoBindings> mojo_bindings_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(Builder);
|
| };
|
|
|