Cache the BrowserContext::GetUserAgent

This commit is contained in:
Cheng Zhao 2016-06-22 15:46:46 +09:00
parent b0f04de50c
commit 9c8e64f268
2 changed files with 15 additions and 11 deletions

View file

@ -68,16 +68,7 @@ AtomBrowserContext::AtomBrowserContext(const std::string& partition,
: brightray::BrowserContext(partition, in_memory),
cert_verifier_(new AtomCertVerifier),
network_delegate_(new AtomNetworkDelegate) {
}
AtomBrowserContext::~AtomBrowserContext() {
}
net::NetworkDelegate* AtomBrowserContext::CreateNetworkDelegate() {
return network_delegate_;
}
std::string AtomBrowserContext::GetUserAgent() {
// Construct user agent string.
Browser* browser = Browser::Get();
std::string name = RemoveWhitespace(browser->GetName());
std::string user_agent;
@ -91,7 +82,19 @@ std::string AtomBrowserContext::GetUserAgent() {
browser->GetVersion().c_str(),
CHROME_VERSION_STRING);
}
return content::BuildUserAgentFromProduct(user_agent);
user_agent_ = content::BuildUserAgentFromProduct(user_agent);
}
AtomBrowserContext::~AtomBrowserContext() {
}
net::NetworkDelegate* AtomBrowserContext::CreateNetworkDelegate() {
return network_delegate_;
}
std::string AtomBrowserContext::GetUserAgent() {
LOG(ERROR) << "GetUserAgent";
return user_agent_;
}
std::unique_ptr<net::URLRequestJobFactory>

View file

@ -47,6 +47,7 @@ class AtomBrowserContext : public brightray::BrowserContext {
std::unique_ptr<AtomDownloadManagerDelegate> download_manager_delegate_;
std::unique_ptr<WebViewManager> guest_manager_;
std::unique_ptr<AtomPermissionManager> permission_manager_;
std::string user_agent_;
// Managed by brightray::BrowserContext.
AtomCertVerifier* cert_verifier_;