| OLD | NEW | 
|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef HEADLESS_PUBLIC_HEADLESS_BROWSER_H_ | 5 #ifndef HEADLESS_PUBLIC_HEADLESS_BROWSER_H_ | 
| 6 #define HEADLESS_PUBLIC_HEADLESS_BROWSER_H_ | 6 #define HEADLESS_PUBLIC_HEADLESS_BROWSER_H_ | 
| 7 | 7 | 
| 8 #include <memory> | 8 #include <memory> | 
| 9 #include <string> | 9 #include <string> | 
| 10 | 10 | 
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 83   // are used by default. | 83   // are used by default. | 
| 84   net::HostPortPair proxy_server; | 84   net::HostPortPair proxy_server; | 
| 85 | 85 | 
| 86   // Optional message pump that overrides the default. Must outlive the browser. | 86   // Optional message pump that overrides the default. Must outlive the browser. | 
| 87   base::MessagePump* message_pump; | 87   base::MessagePump* message_pump; | 
| 88 | 88 | 
| 89   // Comma-separated list of rules that control how hostnames are mapped. See | 89   // Comma-separated list of rules that control how hostnames are mapped. See | 
| 90   // chrome::switches::kHostRules for a description for the format. | 90   // chrome::switches::kHostRules for a description for the format. | 
| 91   std::string host_resolver_rules; | 91   std::string host_resolver_rules; | 
| 92 | 92 | 
|  | 93   // Run the browser in single process mode instead of using separate renderer | 
|  | 94   // processes as per default. Note that this also disables any sandboxing of | 
|  | 95   // web content, which can be a security risk. | 
|  | 96   bool single_process_mode; | 
|  | 97 | 
| 93  private: | 98  private: | 
| 94   Options(int argc, const char** argv); | 99   Options(int argc, const char** argv); | 
| 95 }; | 100 }; | 
| 96 | 101 | 
| 97 class HeadlessBrowser::Options::Builder { | 102 class HeadlessBrowser::Options::Builder { | 
| 98  public: | 103  public: | 
| 99   Builder(int argc, const char** argv); | 104   Builder(int argc, const char** argv); | 
| 100   Builder(); | 105   Builder(); | 
| 101   ~Builder(); | 106   ~Builder(); | 
| 102 | 107 | 
| 103   Builder& SetUserAgent(const std::string& user_agent); | 108   Builder& SetUserAgent(const std::string& user_agent); | 
| 104   Builder& EnableDevToolsServer(const net::IPEndPoint& endpoint); | 109   Builder& EnableDevToolsServer(const net::IPEndPoint& endpoint); | 
| 105   Builder& SetMessagePump(base::MessagePump* message_pump); | 110   Builder& SetMessagePump(base::MessagePump* message_pump); | 
| 106   Builder& SetProxyServer(const net::HostPortPair& proxy_server); | 111   Builder& SetProxyServer(const net::HostPortPair& proxy_server); | 
| 107   Builder& SetHostResolverRules(const std::string& host_resolver_rules); | 112   Builder& SetHostResolverRules(const std::string& host_resolver_rules); | 
|  | 113   Builder& SetSingleProcessMode(bool single_process_mode); | 
| 108 | 114 | 
| 109   Options Build(); | 115   Options Build(); | 
| 110 | 116 | 
| 111  private: | 117  private: | 
| 112   Options options_; | 118   Options options_; | 
| 113 | 119 | 
| 114   DISALLOW_COPY_AND_ASSIGN(Builder); | 120   DISALLOW_COPY_AND_ASSIGN(Builder); | 
| 115 }; | 121 }; | 
| 116 | 122 | 
| 117 // Main entry point for running the headless browser. This function constructs | 123 // Main entry point for running the headless browser. This function constructs | 
| 118 // the headless browser instance, passing it to the given | 124 // the headless browser instance, passing it to the given | 
| 119 // |on_browser_start_callback| callback. Note that since this function executes | 125 // |on_browser_start_callback| callback. Note that since this function executes | 
| 120 // the main loop, it will only return after HeadlessBrowser::Shutdown() is | 126 // the main loop, it will only return after HeadlessBrowser::Shutdown() is | 
| 121 // called, returning the exit code for the process. | 127 // called, returning the exit code for the process. | 
| 122 int HeadlessBrowserMain( | 128 int HeadlessBrowserMain( | 
| 123     const HeadlessBrowser::Options& options, | 129     const HeadlessBrowser::Options& options, | 
| 124     const base::Callback<void(HeadlessBrowser*)>& on_browser_start_callback); | 130     const base::Callback<void(HeadlessBrowser*)>& on_browser_start_callback); | 
| 125 | 131 | 
| 126 }  // namespace headless | 132 }  // namespace headless | 
| 127 | 133 | 
| 128 #endif  // HEADLESS_PUBLIC_HEADLESS_BROWSER_H_ | 134 #endif  // HEADLESS_PUBLIC_HEADLESS_BROWSER_H_ | 
| OLD | NEW | 
|---|