| Index: content/browser/streams/stream_context.h
|
| diff --git a/content/browser/streams/stream_context.h b/content/browser/streams/stream_context.h
|
| index b4c6d307fa50484ef241cb0805d0cb8c998f9e29..7b8adcbdea8edf36888d03465e2e010dc1dd03e4 100644
|
| --- a/content/browser/streams/stream_context.h
|
| +++ b/content/browser/streams/stream_context.h
|
| @@ -13,6 +13,7 @@
|
| namespace content {
|
| class BrowserContext;
|
| class StreamRegistry;
|
| +struct StreamContextDeleter;
|
|
|
| // A context class that keeps track of StreamRegistry used by the chrome.
|
| // There is an instance associated with each BrowserContext. There could be
|
| @@ -23,7 +24,7 @@ class StreamRegistry;
|
| // the IO thread (unless specifically called out in doc comments).
|
| class StreamContext
|
| : public base::RefCountedThreadSafe<StreamContext,
|
| - BrowserThread::DeleteOnIOThread> {
|
| + StreamContextDeleter> {
|
| public:
|
| StreamContext();
|
|
|
| @@ -38,11 +39,21 @@ class StreamContext
|
|
|
| private:
|
| friend class base::DeleteHelper<StreamContext>;
|
| - friend struct BrowserThread::DeleteOnThread<BrowserThread::IO>;
|
| + friend class base::RefCountedThreadSafe<StreamContext,
|
| + StreamContextDeleter>;
|
| + friend struct StreamContextDeleter;
|
| +
|
| + void DeleteOnCorrectThread() const;
|
|
|
| scoped_ptr<StreamRegistry> registry_;
|
| };
|
|
|
| +struct StreamContextDeleter {
|
| + static void Destruct(const StreamContext* context) {
|
| + context->DeleteOnCorrectThread();
|
| + }
|
| +};
|
| +
|
| } // namespace content
|
|
|
| #endif // CONTENT_BROWSER_STREAMS_STREAM_CONTEXT_H_
|
|
|