OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "headless/lib/browser/headless_browser_context_options.h" |
| 6 |
| 7 #include <string> |
| 8 #include <utility> |
| 9 |
| 10 namespace headless { |
| 11 |
| 12 namespace { |
| 13 |
| 14 template <class T> |
| 15 const T& ReturnOverriddenValue(const base::Optional<T>& value, |
| 16 const T& default_value) { |
| 17 if (value) { |
| 18 return *value; |
| 19 } else { |
| 20 return default_value; |
| 21 } |
| 22 } |
| 23 |
| 24 } // namespace |
| 25 |
| 26 HeadlessBrowserContextOptions::HeadlessBrowserContextOptions( |
| 27 HeadlessBrowserContextOptions&& options) = default; |
| 28 |
| 29 HeadlessBrowserContextOptions::~HeadlessBrowserContextOptions() = default; |
| 30 |
| 31 HeadlessBrowserContextOptions& HeadlessBrowserContextOptions::operator=( |
| 32 HeadlessBrowserContextOptions&& options) = default; |
| 33 |
| 34 HeadlessBrowserContextOptions::HeadlessBrowserContextOptions( |
| 35 HeadlessBrowser::Options* options) |
| 36 : browser_options_(options) {} |
| 37 |
| 38 const std::string& HeadlessBrowserContextOptions::user_agent() const { |
| 39 return ReturnOverriddenValue(user_agent_, browser_options_->user_agent); |
| 40 } |
| 41 |
| 42 const net::HostPortPair& HeadlessBrowserContextOptions::proxy_server() const { |
| 43 return ReturnOverriddenValue(proxy_server_, browser_options_->proxy_server); |
| 44 } |
| 45 |
| 46 const std::string& HeadlessBrowserContextOptions::host_resolver_rules() const { |
| 47 return ReturnOverriddenValue(host_resolver_rules_, |
| 48 browser_options_->host_resolver_rules); |
| 49 } |
| 50 |
| 51 const gfx::Size& HeadlessBrowserContextOptions::window_size() const { |
| 52 return ReturnOverriddenValue(window_size_, browser_options_->window_size); |
| 53 } |
| 54 |
| 55 const base::FilePath& HeadlessBrowserContextOptions::user_data_dir() const { |
| 56 return ReturnOverriddenValue(user_data_dir_, browser_options_->user_data_dir); |
| 57 } |
| 58 |
| 59 const ProtocolHandlerMap& HeadlessBrowserContextOptions::protocol_handlers() |
| 60 const { |
| 61 return protocol_handlers_; |
| 62 } |
| 63 |
| 64 ProtocolHandlerMap HeadlessBrowserContextOptions::TakeProtocolHandlers() { |
| 65 return std::move(protocol_handlers_); |
| 66 } |
| 67 |
| 68 } // namespace headless |
OLD | NEW |