summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authormmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-29 12:43:23 +0000
committermmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-29 12:43:23 +0000
commitd5cbd92ad951a1c2c24cafebab8bbf3d084b1378 (patch)
tree2c48c137de27922fe1da18620568c4d442ddbe2c /content
parent679a319c1fbb027fff52dee50a381ea054092b00 (diff)
downloadchromium_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.cc17
-rw-r--r--content/browser/debugger/devtools_netlog_observer.h5
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;