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 876be95cdc802db462bc1876df03d2d11e8597b5..93d6918a76c8d022a1f46f57296f2c8f5da45f1a 100644 |
--- a/headless/lib/browser/headless_browser_impl.cc |
+++ b/headless/lib/browser/headless_browser_impl.cc |
@@ -54,6 +54,7 @@ HeadlessBrowserImpl::HeadlessBrowserImpl( |
: on_start_callback_(on_start_callback), |
options_(std::move(options)), |
browser_main_parts_(nullptr), |
+ default_browser_context_(nullptr), |
weak_ptr_factory_(this) {} |
HeadlessBrowserImpl::~HeadlessBrowserImpl() {} |
@@ -158,6 +159,19 @@ void HeadlessBrowserImpl::DestroyBrowserContext( |
auto it = browser_contexts_.find(browser_context->Id()); |
DCHECK(it != browser_contexts_.end()); |
browser_contexts_.erase(it); |
+ if (default_browser_context_ == browser_context) |
+ SetDefaultBrowserContext(nullptr); |
+} |
+ |
+void HeadlessBrowserImpl::SetDefaultBrowserContext( |
+ HeadlessBrowserContext* browser_context) { |
+ DCHECK(!browser_context || |
+ this == HeadlessBrowserContextImpl::From(browser_context)->browser()); |
+ default_browser_context_ = browser_context; |
+} |
+ |
+HeadlessBrowserContext* HeadlessBrowserImpl::GetDefaultBrowserContext() { |
+ return default_browser_context_; |
} |
base::WeakPtr<HeadlessBrowserImpl> HeadlessBrowserImpl::GetWeakPtr() { |