diff --git a/shell/browser/api/electron_api_web_contents.cc b/shell/browser/api/electron_api_web_contents.cc index cf23b419c3fe7..a9d6626339ac9 100644 --- a/shell/browser/api/electron_api_web_contents.cc +++ b/shell/browser/api/electron_api_web_contents.cc @@ -675,10 +675,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)); @@ -884,10 +882,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 0d1532b2b12da..abdf5d21c2d83 100644 --- a/shell/browser/electron_browser_context.cc +++ b/shell/browser/electron_browser_context.cc @@ -307,11 +307,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 844df7f65e65b..36aa70bda6c0d 100644 --- a/shell/browser/electron_browser_context.h +++ b/shell/browser/electron_browser_context.h @@ -91,7 +91,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 4f0b17fc72df8..71ca36b9f94e9 100644 --- a/spec-main/api-web-contents-spec.ts +++ b/spec-main/api-web-contents-spec.ts @@ -903,6 +903,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();