diff --git a/shell/browser/api/electron_api_web_contents.cc b/shell/browser/api/electron_api_web_contents.cc index 5c41235945000..8f3a52aa34ea2 100644 --- a/shell/browser/api/electron_api_web_contents.cc +++ b/shell/browser/api/electron_api_web_contents.cc @@ -659,10 +659,8 @@ WebContents::WebContents(v8::Isolate* isolate, auto session = Session::CreateFrom(isolate, GetBrowserContext()); session_.Reset(isolate, session.ToV8()); - absl::optional user_agent_override = - GetBrowserContext()->GetUserAgentOverride(); - if (user_agent_override) - SetUserAgent(*user_agent_override); + SetUserAgent(GetBrowserContext()->GetUserAgent()); + web_contents->SetUserData(kElectronApiWebContentsKey, std::make_unique(GetWeakPtr())); InitZoomController(web_contents, gin::Dictionary::CreateEmpty(isolate)); @@ -868,10 +866,7 @@ void WebContents::InitWithSessionAndOptions( AutofillDriverFactory::CreateForWebContents(web_contents()); - absl::optional user_agent_override = - GetBrowserContext()->GetUserAgentOverride(); - if (user_agent_override) - SetUserAgent(*user_agent_override); + SetUserAgent(GetBrowserContext()->GetUserAgent()); if (IsGuest()) { NativeWindow* owner_window = nullptr; diff --git a/shell/browser/electron_browser_context.cc b/shell/browser/electron_browser_context.cc index 087df348b8531..488d45af07dd0 100644 --- a/shell/browser/electron_browser_context.cc +++ b/shell/browser/electron_browser_context.cc @@ -308,11 +308,6 @@ std::string ElectronBrowserContext::GetUserAgent() const { return user_agent_.value_or(ElectronBrowserClient::Get()->GetUserAgent()); } -absl::optional ElectronBrowserContext::GetUserAgentOverride() - const { - return user_agent_; -} - predictors::PreconnectManager* ElectronBrowserContext::GetPreconnectManager() { if (!preconnect_manager_.get()) { preconnect_manager_ = diff --git a/shell/browser/electron_browser_context.h b/shell/browser/electron_browser_context.h index c585859ce038f..64ab3fe8c76c1 100644 --- a/shell/browser/electron_browser_context.h +++ b/shell/browser/electron_browser_context.h @@ -85,7 +85,6 @@ class ElectronBrowserContext : public content::BrowserContext { void SetUserAgent(const std::string& user_agent); std::string GetUserAgent() const; - absl::optional GetUserAgentOverride() const; bool CanUseHttpCache() const; int GetMaxCacheSize() const; ResolveProxyHelper* GetResolveProxyHelper(); diff --git a/spec-main/api-web-contents-spec.ts b/spec-main/api-web-contents-spec.ts index 09d6a445f8b01..5172c4f8ecd26 100644 --- a/spec-main/api-web-contents-spec.ts +++ b/spec-main/api-web-contents-spec.ts @@ -847,6 +847,12 @@ describe('webContents module', () => { }); describe('userAgent APIs', () => { + it('is not empty by default', () => { + const w = new BrowserWindow({ show: false }); + const userAgent = w.webContents.getUserAgent(); + expect(userAgent).to.be.a('string').that.is.not.empty(); + }); + it('can set the user agent (functions)', () => { const w = new BrowserWindow({ show: false }); const userAgent = w.webContents.getUserAgent();