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/lib/browser/headless_web_contents_impl.h" | 5 #include "headless/lib/browser/headless_web_contents_impl.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
95 false /* used_policy_installed_certificate */, | 95 false /* used_policy_installed_certificate */, |
96 base::Bind(&content::IsOriginSecure), &security_info); | 96 base::Bind(&content::IsOriginSecure), &security_info); |
97 return security_state::GetSecurityStyle(security_info, | 97 return security_state::GetSecurityStyle(security_info, |
98 security_style_explanations); | 98 security_style_explanations); |
99 } | 99 } |
100 | 100 |
101 void ActivateContents(content::WebContents* contents) override { | 101 void ActivateContents(content::WebContents* contents) override { |
102 contents->GetRenderViewHost()->GetWidget()->Focus(); | 102 contents->GetRenderViewHost()->GetWidget()->Focus(); |
103 } | 103 } |
104 | 104 |
105 void CloseContents(content::WebContents* source) override { | |
106 std::vector<HeadlessWebContents*> all_contents = | |
107 browser_context_->GetAllWebContents(); | |
108 | |
109 for (HeadlessWebContents* wc : all_contents) { | |
110 if (wc == nullptr) { | |
Sami
2017/03/13 12:40:28
nit: You can just do "if (!wc)"
| |
111 continue; | |
112 } | |
113 HeadlessWebContentsImpl* hwc = HeadlessWebContentsImpl::From(wc); | |
114 if (hwc->web_contents() == source) { | |
115 wc->Close(); | |
116 return; | |
117 } | |
118 } | |
119 } | |
120 | |
105 private: | 121 private: |
106 HeadlessBrowserContextImpl* browser_context_; // Not owned. | 122 HeadlessBrowserContextImpl* browser_context_; // Not owned. |
107 DISALLOW_COPY_AND_ASSIGN(Delegate); | 123 DISALLOW_COPY_AND_ASSIGN(Delegate); |
108 }; | 124 }; |
109 | 125 |
110 // static | 126 // static |
111 std::unique_ptr<HeadlessWebContentsImpl> HeadlessWebContentsImpl::Create( | 127 std::unique_ptr<HeadlessWebContentsImpl> HeadlessWebContentsImpl::Create( |
112 HeadlessWebContents::Builder* builder) { | 128 HeadlessWebContents::Builder* builder) { |
113 content::WebContents::CreateParams create_params(builder->browser_context_, | 129 content::WebContents::CreateParams create_params(builder->browser_context_, |
114 nullptr); | 130 nullptr); |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
299 HeadlessWebContents::Builder::MojoService::MojoService() {} | 315 HeadlessWebContents::Builder::MojoService::MojoService() {} |
300 | 316 |
301 HeadlessWebContents::Builder::MojoService::MojoService( | 317 HeadlessWebContents::Builder::MojoService::MojoService( |
302 const std::string& service_name, | 318 const std::string& service_name, |
303 const base::Callback<void(mojo::ScopedMessagePipeHandle)>& service_factory) | 319 const base::Callback<void(mojo::ScopedMessagePipeHandle)>& service_factory) |
304 : service_name(service_name), service_factory(service_factory) {} | 320 : service_name(service_name), service_factory(service_factory) {} |
305 | 321 |
306 HeadlessWebContents::Builder::MojoService::~MojoService() {} | 322 HeadlessWebContents::Builder::MojoService::~MojoService() {} |
307 | 323 |
308 } // namespace headless | 324 } // namespace headless |
OLD | NEW |