Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(320)

Unified Diff: headless/lib/browser/headless_browser_impl.cc

Issue 2119063002: Add commands to manage tabs and contexts to Browser Domain (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix name Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: headless/lib/browser/headless_browser_impl.cc
diff --git a/headless/lib/browser/headless_browser_impl.cc b/headless/lib/browser/headless_browser_impl.cc
index a3eb1ba37406e9ec9a87b979cff65bb23781b0ed..04ce85f1cefe25c00ee2cfc1510108488257882a 100644
--- a/headless/lib/browser/headless_browser_impl.cc
+++ b/headless/lib/browser/headless_browser_impl.cc
@@ -105,10 +105,10 @@ void HeadlessBrowserImpl::Shutdown() {
std::vector<HeadlessWebContents*> HeadlessBrowserImpl::GetAllWebContents() {
std::vector<HeadlessWebContents*> result;
- result.reserve(web_contents_.size());
+ result.reserve(web_contents_map_.size());
- for (const auto& web_contents_pair : web_contents_) {
- result.push_back(web_contents_pair.first);
+ for (const auto& web_contents_pair : web_contents_map_) {
+ result.push_back(web_contents_pair.second.get());
}
return result;
@@ -144,15 +144,24 @@ HeadlessWebContentsImpl* HeadlessBrowserImpl::RegisterWebContents(
std::unique_ptr<HeadlessWebContentsImpl> web_contents) {
DCHECK(web_contents);
HeadlessWebContentsImpl* unowned_web_contents = web_contents.get();
- web_contents_[unowned_web_contents] = std::move(web_contents);
+ web_contents_map_[unowned_web_contents->GetDevtoolsAgentHostId()] =
+ std::move(web_contents);
return unowned_web_contents;
}
void HeadlessBrowserImpl::DestroyWebContents(
HeadlessWebContentsImpl* web_contents) {
- auto it = web_contents_.find(web_contents);
- DCHECK(it != web_contents_.end());
- web_contents_.erase(it);
+ auto it = web_contents_map_.find(web_contents->GetDevtoolsAgentHostId());
+ DCHECK(it != web_contents_map_.end());
+ web_contents_map_.erase(it);
+}
+
+HeadlessWebContents* HeadlessBrowserImpl::GetWebContentsForDevtoolsAgentHostId(
+ const std::string& devtools_agent_host_id) {
+ auto it = web_contents_map_.find(devtools_agent_host_id);
+ if (it == web_contents_map_.end())
+ return nullptr;
+ return it->second.get();
}
void HeadlessBrowserImpl::SetOptionsForTesting(

Powered by Google App Engine
This is Rietveld 408576698