Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(33)

Unified Diff: net/base/capturing_net_log.h

Issue 16137008: Refactor net::NetLog to provide implementation of observer pattern, not just the interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/chrome_tests_unit.gypi ('k') | net/base/capturing_net_log.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/capturing_net_log.h
diff --git a/net/base/capturing_net_log.h b/net/base/capturing_net_log.h
index d3586d1d44f51642f92af0a424c564193607303e..d23beb96b27ffaa5f33b6bd662512f1d6ac26cef 100644
--- a/net/base/capturing_net_log.h
+++ b/net/base/capturing_net_log.h
@@ -23,9 +23,10 @@ class DictionaryValue;
namespace net {
-// CapturingNetLog is an implementation of NetLog that saves messages to a
-// bounded buffer. It is intended for testing only, and is part of the
-// net_test_support project.
+// CapturingNetLog is a NetLog which instantiates Observer that saves messages
+// to a bounded buffer. It is intended for testing only, and is part of the
+// net_test_support project. This is provided for convinience and compatilbility
+// with the old unittests.
class CapturingNetLog : public NetLog {
public:
struct CapturedEntry {
@@ -71,40 +72,48 @@ class CapturingNetLog : public NetLog {
CapturingNetLog();
virtual ~CapturingNetLog();
- // Returns the list of all entries in the log.
+ void SetLogLevel(LogLevel log_level);
+
+ // Below methods are forwarded to capturing_net_log_observer_.
void GetEntries(CapturedEntryList* entry_list) const;
+ void GetEntriesForSource(Source source, CapturedEntryList* entry_list) const;
+ size_t GetSize() const;
+ void Clear();
- // Fills |entry_list| with all entries in the log from the specified Source.
- void GetEntriesForSource(NetLog::Source source,
- CapturedEntryList* entry_list) const;
+ private:
+ // Observer is an implementation of NetLog::ThreadSafeObserver
+ // that saves messages to a bounded buffer. It is intended for testing only,
+ // and is part of the net_test_support project.
+ class Observer : public NetLog::ThreadSafeObserver {
+ public:
+ Observer();
+ virtual ~Observer();
- // Returns number of entries in the log.
- size_t GetSize() const;
+ // Returns the list of all entries in the log.
+ void GetEntries(CapturedEntryList* entry_list) const;
- void Clear();
+ // Fills |entry_list| with all entries in the log from the specified Source.
+ void GetEntriesForSource(Source source,
+ CapturedEntryList* entry_list) const;
- void SetLogLevel(NetLog::LogLevel log_level);
+ // Returns number of entries in the log.
+ size_t GetSize() const;
- // NetLog implementation:
- virtual void OnAddEntry(const net::NetLog::Entry& entry) OVERRIDE;
- virtual uint32 NextID() OVERRIDE;
- virtual LogLevel GetLogLevel() const OVERRIDE;
- virtual void AddThreadSafeObserver(ThreadSafeObserver* observer,
- LogLevel log_level) OVERRIDE;
- virtual void SetObserverLogLevel(ThreadSafeObserver* observer,
- LogLevel log_level) OVERRIDE;
- virtual void RemoveThreadSafeObserver(ThreadSafeObserver* observer) OVERRIDE;
+ void Clear();
- private:
- // Needs to be "mutable" so can use it in GetEntries().
- mutable base::Lock lock_;
+ private:
+ // ThreadSafeObserver implementation:
+ virtual void OnAddEntry(const Entry& entry) OVERRIDE;
+
+ // Needs to be "mutable" so can use it in GetEntries().
+ mutable base::Lock lock_;
- // Last assigned source ID. Incremented to get the next one.
- base::subtle::Atomic32 last_id_;
+ CapturedEntryList captured_entries_;
- CapturedEntryList captured_entries_;
+ DISALLOW_COPY_AND_ASSIGN(Observer);
+ };
- NetLog::LogLevel log_level_;
+ Observer capturing_net_log_observer_;
DISALLOW_COPY_AND_ASSIGN(CapturingNetLog);
};
« no previous file with comments | « chrome/chrome_tests_unit.gypi ('k') | net/base/capturing_net_log.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698