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

Side by Side Diff: third_party/WebKit/Source/modules/storage/DOMWindowStorage.h

Issue 2598463004: Replace DOMWindowProperty in DOMWindow's supplements with ContextClient (Closed)
Patch Set: Created 3 years, 12 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef DOMWindowStorage_h 5 #ifndef DOMWindowStorage_h
6 #define DOMWindowStorage_h 6 #define DOMWindowStorage_h
7 7
8 #include "core/frame/DOMWindowProperty.h" 8 #include "core/dom/ContextLifecycleObserver.h"
9 #include "platform/Supplementable.h" 9 #include "platform/Supplementable.h"
10 #include "platform/heap/Handle.h" 10 #include "platform/heap/Handle.h"
11 11
12 namespace blink { 12 namespace blink {
13 13
14 class DOMWindow; 14 class DOMWindow;
15 class ExceptionState; 15 class ExceptionState;
16 class LocalDOMWindow; 16 class LocalDOMWindow;
17 class Storage; 17 class Storage;
18 18
19 class DOMWindowStorage final : public GarbageCollected<DOMWindowStorage>, 19 class DOMWindowStorage final : public GarbageCollected<DOMWindowStorage>,
20 public Supplement<LocalDOMWindow>, 20 public Supplement<LocalDOMWindow>,
21 public DOMWindowProperty { 21 public ContextClient {
22 USING_GARBAGE_COLLECTED_MIXIN(DOMWindowStorage); 22 USING_GARBAGE_COLLECTED_MIXIN(DOMWindowStorage);
23 23
24 public: 24 public:
25 static DOMWindowStorage& from(LocalDOMWindow&); 25 static DOMWindowStorage& from(LocalDOMWindow&);
26 static Storage* sessionStorage(DOMWindow&, ExceptionState&); 26 static Storage* sessionStorage(DOMWindow&, ExceptionState&);
27 static Storage* localStorage(DOMWindow&, ExceptionState&); 27 static Storage* localStorage(DOMWindow&, ExceptionState&);
28 28
29 Storage* sessionStorage(ExceptionState&) const; 29 Storage* sessionStorage(ExceptionState&) const;
30 Storage* localStorage(ExceptionState&) const; 30 Storage* localStorage(ExceptionState&) const;
31 Storage* optionalSessionStorage() const { return m_sessionStorage.get(); } 31 Storage* optionalSessionStorage() const { return m_sessionStorage.get(); }
32 Storage* optionalLocalStorage() const { return m_localStorage.get(); } 32 Storage* optionalLocalStorage() const { return m_localStorage.get(); }
33 33
34 DECLARE_TRACE(); 34 DECLARE_TRACE();
35 35
36 private: 36 private:
37 explicit DOMWindowStorage(LocalDOMWindow&); 37 explicit DOMWindowStorage(LocalDOMWindow&);
38 static const char* supplementName(); 38 static const char* supplementName();
39 39
40 Member<LocalDOMWindow> m_window; 40 Member<LocalDOMWindow> m_window;
41 mutable Member<Storage> m_sessionStorage; 41 mutable Member<Storage> m_sessionStorage;
42 mutable Member<Storage> m_localStorage; 42 mutable Member<Storage> m_localStorage;
43 }; 43 };
44 44
45 } // namespace blink 45 } // namespace blink
46 46
47 #endif // DOMWindowStorage_h 47 #endif // DOMWindowStorage_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698