diff options
author | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-29 12:43:23 +0000 |
---|---|---|
committer | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-29 12:43:23 +0000 |
commit | d5cbd92ad951a1c2c24cafebab8bbf3d084b1378 (patch) | |
tree | 2c48c137de27922fe1da18620568c4d442ddbe2c /content | |
parent | 679a319c1fbb027fff52dee50a381ea054092b00 (diff) | |
download | chromium_src-d5cbd92ad951a1c2c24cafebab8bbf3d084b1378.zip chromium_src-d5cbd92ad951a1c2c24cafebab8bbf3d084b1378.tar.gz chromium_src-d5cbd92ad951a1c2c24cafebab8bbf3d084b1378.tar.bz2 |
Remove the ChromeNetLog observer classes, using NetLog::ThreadSafeObserver
instead, slightly modifying the NetLog interface to do so.
R=eroman@chromium.org
BUG=114611
Review URL: http://codereview.chromium.org/9415013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124176 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content')
-rw-r--r-- | content/browser/debugger/devtools_netlog_observer.cc | 17 | ||||
-rw-r--r-- | content/browser/debugger/devtools_netlog_observer.h | 5 |
2 files changed, 11 insertions, 11 deletions
diff --git a/content/browser/debugger/devtools_netlog_observer.cc b/content/browser/debugger/devtools_netlog_observer.cc index a563a8d..d10c6f1 100644 --- a/content/browser/debugger/devtools_netlog_observer.cc +++ b/content/browser/debugger/devtools_netlog_observer.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -24,14 +24,10 @@ const size_t kMaxNumEntries = 1000; DevToolsNetLogObserver* DevToolsNetLogObserver::instance_ = NULL; -DevToolsNetLogObserver::DevToolsNetLogObserver(net::NetLog* net_log) - : net::NetLog::ThreadSafeObserver(net::NetLog::LOG_ALL_BUT_BYTES), - net_log_(net_log) { - net_log_->AddThreadSafeObserver(this); +DevToolsNetLogObserver::DevToolsNetLogObserver() { } DevToolsNetLogObserver::~DevToolsNetLogObserver() { - net_log_->RemoveThreadSafeObserver(this); } DevToolsNetLogObserver::ResourceInfo* @@ -241,14 +237,19 @@ void DevToolsNetLogObserver::OnAddSocketEntry( void DevToolsNetLogObserver::Attach() { DCHECK(!instance_); net::NetLog* net_log = content::GetContentClient()->browser()->GetNetLog(); - if (net_log) - instance_ = new DevToolsNetLogObserver(net_log); + if (net_log) { + instance_ = new DevToolsNetLogObserver(); + net_log->AddThreadSafeObserver(instance_, net::NetLog::LOG_ALL_BUT_BYTES); + } } void DevToolsNetLogObserver::Detach() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); if (instance_) { + // Safest not to do this in the destructor to maintain thread safety across + // refactorings. + instance_->net_log()->RemoveThreadSafeObserver(instance_); delete instance_; instance_ = NULL; } diff --git a/content/browser/debugger/devtools_netlog_observer.h b/content/browser/debugger/devtools_netlog_observer.h index 0a92dc1..eee61d3 100644 --- a/content/browser/debugger/devtools_netlog_observer.h +++ b/content/browser/debugger/devtools_netlog_observer.h @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -68,12 +68,11 @@ class DevToolsNetLogObserver : public net::NetLog::ThreadSafeObserver { private: static DevToolsNetLogObserver* instance_; - explicit DevToolsNetLogObserver(net::NetLog* net_log); + DevToolsNetLogObserver(); virtual ~DevToolsNetLogObserver(); ResourceInfo* GetResourceInfo(uint32 id); - net::NetLog* net_log_; typedef base::hash_map<uint32, scoped_refptr<ResourceInfo> > RequestToInfoMap; typedef base::hash_map<uint32, int> RequestToEncodedDataLengthMap; typedef base::hash_map<uint32, uint32> HTTPStreamJobToSocketMap; |