create netlog for devtoolsnetlogobserver
This commit is contained in:
parent
681e868a5b
commit
7496cb29fe
7 changed files with 44 additions and 31 deletions
|
@ -80,6 +80,10 @@ void BrowserClient::GetAdditionalAllowedSchemesForFileSystem(
|
||||||
additional_schemes->push_back(content::kChromeUIScheme);
|
additional_schemes->push_back(content::kChromeUIScheme);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
net::NetLog* BrowserClient::GetNetLog() {
|
||||||
|
return browser_context()->GetNetLog();
|
||||||
|
}
|
||||||
|
|
||||||
base::FilePath BrowserClient::GetDefaultDownloadDirectory() {
|
base::FilePath BrowserClient::GetDefaultDownloadDirectory() {
|
||||||
// ~/Downloads
|
// ~/Downloads
|
||||||
base::FilePath path;
|
base::FilePath path;
|
||||||
|
|
|
@ -43,6 +43,7 @@ class BrowserClient : public content::ContentBrowserClient {
|
||||||
content::PlatformNotificationService* GetPlatformNotificationService() override;
|
content::PlatformNotificationService* GetPlatformNotificationService() override;
|
||||||
void GetAdditionalAllowedSchemesForFileSystem(
|
void GetAdditionalAllowedSchemesForFileSystem(
|
||||||
std::vector<std::string>* additional_schemes) override;
|
std::vector<std::string>* additional_schemes) override;
|
||||||
|
net::NetLog* GetNetLog() override;
|
||||||
base::FilePath GetDefaultDownloadDirectory() override;
|
base::FilePath GetDefaultDownloadDirectory() override;
|
||||||
content::DevToolsManagerDelegate* GetDevToolsManagerDelegate() override;
|
content::DevToolsManagerDelegate* GetDevToolsManagerDelegate() override;
|
||||||
|
|
||||||
|
|
|
@ -114,6 +114,10 @@ net::URLRequestContextGetter* BrowserContext::CreateRequestContext(
|
||||||
return url_request_getter_.get();
|
return url_request_getter_.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
net::NetLog* BrowserContext::GetNetLog() {
|
||||||
|
return url_request_getter_->net_log();
|
||||||
|
}
|
||||||
|
|
||||||
net::NetworkDelegate* BrowserContext::CreateNetworkDelegate() {
|
net::NetworkDelegate* BrowserContext::CreateNetworkDelegate() {
|
||||||
return new NetworkDelegate;
|
return new NetworkDelegate;
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,6 +48,7 @@ class BrowserContext : public content::BrowserContext,
|
||||||
net::URLRequestContextGetter* CreateRequestContext(
|
net::URLRequestContextGetter* CreateRequestContext(
|
||||||
content::ProtocolHandlerMap* protocol_handlers,
|
content::ProtocolHandlerMap* protocol_handlers,
|
||||||
content::URLRequestInterceptorScopedVector protocol_interceptors);
|
content::URLRequestInterceptorScopedVector protocol_interceptors);
|
||||||
|
net::NetLog* GetNetLog();
|
||||||
|
|
||||||
net::URLRequestContextGetter* url_request_context_getter() const {
|
net::URLRequestContextGetter* url_request_context_getter() const {
|
||||||
return url_request_getter_.get();
|
return url_request_getter_.get();
|
||||||
|
|
|
@ -36,44 +36,48 @@ NetLog::NetLog(net::URLRequestContext* context)
|
||||||
: added_events_(false),
|
: added_events_(false),
|
||||||
context_(context) {
|
context_(context) {
|
||||||
auto command_line = base::CommandLine::ForCurrentProcess();
|
auto command_line = base::CommandLine::ForCurrentProcess();
|
||||||
base::FilePath log_path =
|
if (command_line->HasSwitch(switches::kLogNetLog)) {
|
||||||
command_line->GetSwitchValuePath(switches::kLogNetLog);
|
base::FilePath log_path =
|
||||||
|
command_line->GetSwitchValuePath(switches::kLogNetLog);
|
||||||
|
|
||||||
#if defined(OS_WIN)
|
#if defined(OS_WIN)
|
||||||
log_file_.reset(_wfopen(log_path.value().c_str(), L"w"));
|
log_file_.reset(_wfopen(log_path.value().c_str(), L"w"));
|
||||||
#elif defined(OS_POSIX)
|
#elif defined(OS_POSIX)
|
||||||
log_file_.reset(fopen(log_path.value().c_str(), "w"));
|
log_file_.reset(fopen(log_path.value().c_str(), "w"));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!log_file_) {
|
if (!log_file_) {
|
||||||
LOG(ERROR) << "Could not open file: " << log_path.value()
|
LOG(ERROR) << "Could not open file: " << log_path.value()
|
||||||
<< "for net logging";
|
<< "for net logging";
|
||||||
} else {
|
} else {
|
||||||
std::string json;
|
std::string json;
|
||||||
scoped_ptr<base::Value> constants(GetConstants().Pass());
|
scoped_ptr<base::Value> constants(GetConstants().Pass());
|
||||||
base::JSONWriter::Write(constants.get(), &json);
|
base::JSONWriter::Write(constants.get(), &json);
|
||||||
fprintf(log_file_.get(), "{\"constants\": %s, \n", json.c_str());
|
fprintf(log_file_.get(), "{\"constants\": %s, \n", json.c_str());
|
||||||
fprintf(log_file_.get(), "\"events\": [\n");
|
fprintf(log_file_.get(), "\"events\": [\n");
|
||||||
|
|
||||||
if (context_) {
|
if (context_) {
|
||||||
DCHECK(context_->CalledOnValidThread());
|
DCHECK(context_->CalledOnValidThread());
|
||||||
|
|
||||||
std::set<net::URLRequestContext*> contexts;
|
std::set<net::URLRequestContext*> contexts;
|
||||||
contexts.insert(context_);
|
contexts.insert(context_);
|
||||||
|
|
||||||
net::CreateNetLogEntriesForActiveObjects(contexts, this);
|
net::CreateNetLogEntriesForActiveObjects(contexts, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
DeprecatedAddObserver(this, net::NetLog::LogLevel::LOG_STRIP_PRIVATE_DATA);
|
||||||
}
|
}
|
||||||
|
|
||||||
DeprecatedAddObserver(this, net::NetLog::LogLevel::LOG_STRIP_PRIVATE_DATA);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
NetLog::~NetLog() {
|
NetLog::~NetLog() {
|
||||||
DeprecatedRemoveObserver(this);
|
if (log_file_) {
|
||||||
|
DeprecatedRemoveObserver(this);
|
||||||
|
|
||||||
// Ending events array.
|
// Ending events array.
|
||||||
fprintf(log_file_.get(), "]}");
|
fprintf(log_file_.get(), "]}");
|
||||||
log_file_.reset();
|
log_file_.reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetLog::OnAddEntry(const net::NetLog::Entry& entry) {
|
void NetLog::OnAddEntry(const net::NetLog::Entry& entry) {
|
||||||
|
|
|
@ -150,10 +150,8 @@ net::URLRequestContext* URLRequestContextGetter::GetURLRequestContext() {
|
||||||
url_request_context_.reset(new net::URLRequestContext);
|
url_request_context_.reset(new net::URLRequestContext);
|
||||||
|
|
||||||
// --log-net-log
|
// --log-net-log
|
||||||
if (command_line.HasSwitch(switches::kLogNetLog)) {
|
net_log_.reset(new NetLog(url_request_context_.get()));
|
||||||
net_log_.reset(new NetLog(url_request_context_.get()));
|
url_request_context_->set_net_log(net_log_.get());
|
||||||
url_request_context_->set_net_log(net_log_.get());
|
|
||||||
}
|
|
||||||
|
|
||||||
network_delegate_.reset(delegate_->CreateNetworkDelegate());
|
network_delegate_.reset(delegate_->CreateNetworkDelegate());
|
||||||
url_request_context_->set_network_delegate(network_delegate_.get());
|
url_request_context_->set_network_delegate(network_delegate_.get());
|
||||||
|
|
|
@ -57,6 +57,7 @@ class URLRequestContextGetter : public net::URLRequestContextGetter {
|
||||||
scoped_refptr<base::SingleThreadTaskRunner> GetNetworkTaskRunner() const override;
|
scoped_refptr<base::SingleThreadTaskRunner> GetNetworkTaskRunner() const override;
|
||||||
|
|
||||||
net::HostResolver* host_resolver();
|
net::HostResolver* host_resolver();
|
||||||
|
net::NetLog* net_log() { return net_log_.get(); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Delegate* delegate_;
|
Delegate* delegate_;
|
||||||
|
|
Loading…
Reference in a new issue