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), : brightray::BrowserContext(partition, in_memory),
cert_verifier_(new AtomCertVerifier), cert_verifier_(new AtomCertVerifier),
network_delegate_(new AtomNetworkDelegate) { network_delegate_(new AtomNetworkDelegate) {
} // Construct user agent string.
AtomBrowserContext::~AtomBrowserContext() {
}
net::NetworkDelegate* AtomBrowserContext::CreateNetworkDelegate() {
return network_delegate_;
}
std::string AtomBrowserContext::GetUserAgent() {
Browser* browser = Browser::Get(); Browser* browser = Browser::Get();
std::string name = RemoveWhitespace(browser->GetName()); std::string name = RemoveWhitespace(browser->GetName());
std::string user_agent; std::string user_agent;
@ -91,7 +82,19 @@ std::string AtomBrowserContext::GetUserAgent() {
browser->GetVersion().c_str(), browser->GetVersion().c_str(),
CHROME_VERSION_STRING); 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> 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<AtomDownloadManagerDelegate> download_manager_delegate_;
std::unique_ptr<WebViewManager> guest_manager_; std::unique_ptr<WebViewManager> guest_manager_;
std::unique_ptr<AtomPermissionManager> permission_manager_; std::unique_ptr<AtomPermissionManager> permission_manager_;
std::string user_agent_;
// Managed by brightray::BrowserContext. // Managed by brightray::BrowserContext.
AtomCertVerifier* cert_verifier_; AtomCertVerifier* cert_verifier_;