| 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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 // default. | 79 // default. |
| 80 net::IPEndPoint devtools_endpoint; | 80 net::IPEndPoint devtools_endpoint; |
| 81 | 81 |
| 82 // Address of the HTTP/HTTPS proxy server to use. The system proxy settings | 82 // Address of the HTTP/HTTPS proxy server to use. The system proxy settings |
| 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 |
| 90 // chrome::switches::kHostRules for a description for the format. |
| 91 std::string host_resolver_rules; |
| 92 |
| 89 private: | 93 private: |
| 90 Options(int argc, const char** argv); | 94 Options(int argc, const char** argv); |
| 91 }; | 95 }; |
| 92 | 96 |
| 93 class HeadlessBrowser::Options::Builder { | 97 class HeadlessBrowser::Options::Builder { |
| 94 public: | 98 public: |
| 95 Builder(int argc, const char** argv); | 99 Builder(int argc, const char** argv); |
| 96 Builder(); | 100 Builder(); |
| 97 ~Builder(); | 101 ~Builder(); |
| 98 | 102 |
| 99 Builder& SetUserAgent(const std::string& user_agent); | 103 Builder& SetUserAgent(const std::string& user_agent); |
| 100 Builder& EnableDevToolsServer(const net::IPEndPoint& endpoint); | 104 Builder& EnableDevToolsServer(const net::IPEndPoint& endpoint); |
| 101 Builder& SetMessagePump(base::MessagePump* message_pump); | 105 Builder& SetMessagePump(base::MessagePump* message_pump); |
| 102 Builder& SetProxyServer(const net::HostPortPair& proxy_server); | 106 Builder& SetProxyServer(const net::HostPortPair& proxy_server); |
| 107 Builder& SetHostResolverRules(const std::string& host_resolver_rules); |
| 103 | 108 |
| 104 Options Build(); | 109 Options Build(); |
| 105 | 110 |
| 106 private: | 111 private: |
| 107 Options options_; | 112 Options options_; |
| 108 | 113 |
| 109 DISALLOW_COPY_AND_ASSIGN(Builder); | 114 DISALLOW_COPY_AND_ASSIGN(Builder); |
| 110 }; | 115 }; |
| 111 | 116 |
| 112 // Main entry point for running the headless browser. This function constructs | 117 // Main entry point for running the headless browser. This function constructs |
| 113 // the headless browser instance, passing it to the given | 118 // the headless browser instance, passing it to the given |
| 114 // |on_browser_start_callback| callback. Note that since this function executes | 119 // |on_browser_start_callback| callback. Note that since this function executes |
| 115 // the main loop, it will only return after HeadlessBrowser::Shutdown() is | 120 // the main loop, it will only return after HeadlessBrowser::Shutdown() is |
| 116 // called, returning the exit code for the process. | 121 // called, returning the exit code for the process. |
| 117 int HeadlessBrowserMain( | 122 int HeadlessBrowserMain( |
| 118 const HeadlessBrowser::Options& options, | 123 const HeadlessBrowser::Options& options, |
| 119 const base::Callback<void(HeadlessBrowser*)>& on_browser_start_callback); | 124 const base::Callback<void(HeadlessBrowser*)>& on_browser_start_callback); |
| 120 | 125 |
| 121 } // namespace headless | 126 } // namespace headless |
| 122 | 127 |
| 123 #endif // HEADLESS_PUBLIC_HEADLESS_BROWSER_H_ | 128 #endif // HEADLESS_PUBLIC_HEADLESS_BROWSER_H_ |
| OLD | NEW |