| 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 #include "headless/public/headless_browser.h" | 5 #include "headless/public/headless_browser.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "content/public/common/user_agent.h" | 9 #include "content/public/common/user_agent.h" |
| 10 #include "headless/public/version.h" | 10 #include "headless/public/version.h" |
| 11 | 11 |
| 12 #if defined(OS_WIN) |
| 13 #include "sandbox/win/src/sandbox_types.h" |
| 14 #endif |
| 15 |
| 12 using Options = headless::HeadlessBrowser::Options; | 16 using Options = headless::HeadlessBrowser::Options; |
| 13 using Builder = headless::HeadlessBrowser::Options::Builder; | 17 using Builder = headless::HeadlessBrowser::Options::Builder; |
| 14 | 18 |
| 15 namespace headless { | 19 namespace headless { |
| 16 | 20 |
| 17 namespace { | 21 namespace { |
| 18 // Product name for building the default user agent string. | 22 // Product name for building the default user agent string. |
| 19 const char kProductName[] = "HeadlessChrome"; | 23 const char kProductName[] = "HeadlessChrome"; |
| 20 constexpr gfx::Size kDefaultWindowSize(800, 600); | 24 constexpr gfx::Size kDefaultWindowSize(800, 600); |
| 21 | 25 |
| 22 std::string GetProductNameAndVersion() { | 26 std::string GetProductNameAndVersion() { |
| 23 return std::string(kProductName) + "/" + PRODUCT_VERSION; | 27 return std::string(kProductName) + "/" + PRODUCT_VERSION; |
| 24 } | 28 } |
| 25 } // namespace | 29 } // namespace |
| 26 | 30 |
| 27 Options::Options(int argc, const char** argv) | 31 Options::Options(int argc, const char** argv) |
| 28 : argc(argc), | 32 : argc(argc), |
| 29 argv(argv), | 33 argv(argv), |
| 34 #if defined(OS_WIN) |
| 35 instance(0), |
| 36 sandbox_info(nullptr), |
| 37 #endif |
| 30 message_pump(nullptr), | 38 message_pump(nullptr), |
| 31 single_process_mode(false), | 39 single_process_mode(false), |
| 32 disable_sandbox(false), | 40 disable_sandbox(false), |
| 33 #if !defined(OS_MACOSX) | 41 #if !defined(OS_MACOSX) |
| 34 gl_implementation("osmesa"), | 42 gl_implementation("osmesa"), |
| 35 #else | 43 #else |
| 36 gl_implementation("any"), | 44 gl_implementation("any"), |
| 37 #endif | 45 #endif |
| 38 product_name_and_version(GetProductNameAndVersion()), | 46 product_name_and_version(GetProductNameAndVersion()), |
| 39 user_agent(content::BuildUserAgentFromProduct(product_name_and_version)), | 47 user_agent(content::BuildUserAgentFromProduct(product_name_and_version)), |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 Builder& Builder::SetGLImplementation(const std::string& gl_implementation) { | 106 Builder& Builder::SetGLImplementation(const std::string& gl_implementation) { |
| 99 options_.gl_implementation = gl_implementation; | 107 options_.gl_implementation = gl_implementation; |
| 100 return *this; | 108 return *this; |
| 101 } | 109 } |
| 102 | 110 |
| 103 Builder& Builder::AddMojoServiceName(const std::string& mojo_service_name) { | 111 Builder& Builder::AddMojoServiceName(const std::string& mojo_service_name) { |
| 104 options_.mojo_service_names.insert(mojo_service_name); | 112 options_.mojo_service_names.insert(mojo_service_name); |
| 105 return *this; | 113 return *this; |
| 106 } | 114 } |
| 107 | 115 |
| 116 #if defined(OS_WIN) |
| 117 Builder& Builder::SetInstance(HINSTANCE instance) { |
| 118 options_.instance = instance; |
| 119 return *this; |
| 120 } |
| 121 |
| 122 Builder& Builder::SetSandboxInfo(sandbox::SandboxInterfaceInfo* sandbox_info) { |
| 123 options_.sandbox_info = sandbox_info; |
| 124 return *this; |
| 125 } |
| 126 #endif // defined(OS_WIN) |
| 127 |
| 108 Builder& Builder::SetUserDataDir(const base::FilePath& user_data_dir) { | 128 Builder& Builder::SetUserDataDir(const base::FilePath& user_data_dir) { |
| 109 options_.user_data_dir = user_data_dir; | 129 options_.user_data_dir = user_data_dir; |
| 110 return *this; | 130 return *this; |
| 111 } | 131 } |
| 112 | 132 |
| 113 Builder& Builder::SetWindowSize(const gfx::Size& window_size) { | 133 Builder& Builder::SetWindowSize(const gfx::Size& window_size) { |
| 114 options_.window_size = window_size; | 134 options_.window_size = window_size; |
| 115 return *this; | 135 return *this; |
| 116 } | 136 } |
| 117 | 137 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 134 Builder& Builder::SetCrashDumpsDir(const base::FilePath& dir) { | 154 Builder& Builder::SetCrashDumpsDir(const base::FilePath& dir) { |
| 135 options_.crash_dumps_dir = dir; | 155 options_.crash_dumps_dir = dir; |
| 136 return *this; | 156 return *this; |
| 137 } | 157 } |
| 138 | 158 |
| 139 Options Builder::Build() { | 159 Options Builder::Build() { |
| 140 return std::move(options_); | 160 return std::move(options_); |
| 141 } | 161 } |
| 142 | 162 |
| 143 } // namespace headless | 163 } // namespace headless |
| OLD | NEW |