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

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

Issue 1318793005: [part 2] Make classes and structures in modules fast-allocated. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 3 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/frame/DOMWindowProperty.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 Storage; 16 class Storage;
17 17
18 class DOMWindowStorage final : public NoBaseWillBeGarbageCollected<DOMWindowStor age>, public WillBeHeapSupplement<LocalDOMWindow>, public DOMWindowProperty { 18 class DOMWindowStorage final : public NoBaseWillBeGarbageCollected<DOMWindowStor age>, public WillBeHeapSupplement<LocalDOMWindow>, public DOMWindowProperty {
19 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DOMWindowStorage); 19 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(DOMWindowStorage);
20 DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(DOMWindowStorage); 20 DECLARE_EMPTY_VIRTUAL_DESTRUCTOR_WILL_BE_REMOVED(DOMWindowStorage);
21 WTF_MAKE_FAST_ALLOCATED_WILL_BE_REMOVED(DOMWindowStorage);
21 public: 22 public:
22 static DOMWindowStorage& from(LocalDOMWindow&); 23 static DOMWindowStorage& from(LocalDOMWindow&);
23 static Storage* sessionStorage(DOMWindow&, ExceptionState&); 24 static Storage* sessionStorage(DOMWindow&, ExceptionState&);
24 static Storage* localStorage(DOMWindow&, ExceptionState&); 25 static Storage* localStorage(DOMWindow&, ExceptionState&);
25 26
26 Storage* sessionStorage(ExceptionState&) const; 27 Storage* sessionStorage(ExceptionState&) const;
27 Storage* localStorage(ExceptionState&) const; 28 Storage* localStorage(ExceptionState&) const;
28 Storage* optionalSessionStorage() const { return m_sessionStorage.get(); } 29 Storage* optionalSessionStorage() const { return m_sessionStorage.get(); }
29 Storage* optionalLocalStorage() const { return m_localStorage.get(); } 30 Storage* optionalLocalStorage() const { return m_localStorage.get(); }
30 31
31 DECLARE_TRACE(); 32 DECLARE_TRACE();
32 33
33 private: 34 private:
34 explicit DOMWindowStorage(LocalDOMWindow&); 35 explicit DOMWindowStorage(LocalDOMWindow&);
35 static const char* supplementName(); 36 static const char* supplementName();
36 37
37 RawPtrWillBeMember<LocalDOMWindow> m_window; 38 RawPtrWillBeMember<LocalDOMWindow> m_window;
38 mutable PersistentWillBeMember<Storage> m_sessionStorage; 39 mutable PersistentWillBeMember<Storage> m_sessionStorage;
39 mutable PersistentWillBeMember<Storage> m_localStorage; 40 mutable PersistentWillBeMember<Storage> m_localStorage;
40 41
41 }; 42 };
42 43
43 } // namespace blink 44 } // namespace blink
44 45
45 #endif // DOMWindowStorage_h 46 #endif // DOMWindowStorage_h
OLDNEW
« no previous file with comments | « Source/modules/speech/testing/InternalsSpeechSynthesis.h ('k') | Source/modules/storage/DOMWindowStorageController.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698