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

Side by Side Diff: third_party/WebKit/Source/core/html/PublicURLManager.h

Issue 2567913002: Rename ActiveDOMObject to SuspendableObject (Closed)
Patch Set: Created 4 years 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 /* 1 /*
2 * Copyright (C) 2012 Motorola Mobility Inc. 2 * Copyright (C) 2012 Motorola Mobility Inc.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the 11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution. 12 * documentation and/or other materials provided with the distribution.
13 * 13 *
14 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY 14 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY 17 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
18 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 18 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 19 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 20 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */ 24 */
25 25
26 #ifndef PublicURLManager_h 26 #ifndef PublicURLManager_h
27 #define PublicURLManager_h 27 #define PublicURLManager_h
28 28
29 #include "core/dom/ActiveDOMObject.h" 29 #include "core/dom/SuspendableObject.h"
30 #include "platform/heap/Handle.h" 30 #include "platform/heap/Handle.h"
31 #include "wtf/HashMap.h" 31 #include "wtf/HashMap.h"
32 #include "wtf/text/WTFString.h" 32 #include "wtf/text/WTFString.h"
33 33
34 namespace blink { 34 namespace blink {
35 35
36 class KURL; 36 class KURL;
37 class ExecutionContext; 37 class ExecutionContext;
38 class URLRegistry; 38 class URLRegistry;
39 class URLRegistrable; 39 class URLRegistrable;
40 40
41 class PublicURLManager final 41 class PublicURLManager final
42 : public GarbageCollectedFinalized<PublicURLManager>, 42 : public GarbageCollectedFinalized<PublicURLManager>,
43 public ActiveDOMObject { 43 public SuspendableObject {
44 USING_GARBAGE_COLLECTED_MIXIN(PublicURLManager); 44 USING_GARBAGE_COLLECTED_MIXIN(PublicURLManager);
45 45
46 public: 46 public:
47 static PublicURLManager* create(ExecutionContext*); 47 static PublicURLManager* create(ExecutionContext*);
48 48
49 // Generates a new Blob URL and registers the URLRegistrable to the 49 // Generates a new Blob URL and registers the URLRegistrable to the
50 // corresponding URLRegistry with the Blob URL. Returns the serialization 50 // corresponding URLRegistry with the Blob URL. Returns the serialization
51 // of the Blob URL. 51 // of the Blob URL.
52 // 52 //
53 // |uuid| can be used for revoke() to revoke all URLs associated with the 53 // |uuid| can be used for revoke() to revoke all URLs associated with the
54 // |uuid|. It's not the UUID generated and appended to the BlobURL, but an 54 // |uuid|. It's not the UUID generated and appended to the BlobURL, but an
55 // identifier for the object to which URL(s) are generated e.g. ones 55 // identifier for the object to which URL(s) are generated e.g. ones
56 // returned by blink::Blob::uuid(). 56 // returned by blink::Blob::uuid().
57 String registerURL(ExecutionContext*, URLRegistrable*, const String& uuid); 57 String registerURL(ExecutionContext*, URLRegistrable*, const String& uuid);
58 // Revokes the given URL. 58 // Revokes the given URL.
59 void revoke(const KURL&); 59 void revoke(const KURL&);
60 // Revokes all URLs associated with |uuid|. 60 // Revokes all URLs associated with |uuid|.
61 void revoke(const String& uuid); 61 void revoke(const String& uuid);
62 62
63 // ActiveDOMObject interface. 63 // SuspendableObject interface.
64 void contextDestroyed() override; 64 void contextDestroyed() override;
65 65
66 DECLARE_VIRTUAL_TRACE(); 66 DECLARE_VIRTUAL_TRACE();
67 67
68 private: 68 private:
69 explicit PublicURLManager(ExecutionContext*); 69 explicit PublicURLManager(ExecutionContext*);
70 70
71 // One or more URLs can be associated with the same unique ID. 71 // One or more URLs can be associated with the same unique ID.
72 // Objects need be revoked by unique ID in some cases. 72 // Objects need be revoked by unique ID in some cases.
73 typedef String URLString; 73 typedef String URLString;
74 typedef HashMap<URLString, String> URLMap; 74 typedef HashMap<URLString, String> URLMap;
75 // Map from URLRegistry instances to the maps which store association 75 // Map from URLRegistry instances to the maps which store association
76 // between URLs registered with the URLRegistry and UUIDs assigned for 76 // between URLs registered with the URLRegistry and UUIDs assigned for
77 // each of the URLs. 77 // each of the URLs.
78 typedef HashMap<URLRegistry*, URLMap> RegistryURLMap; 78 typedef HashMap<URLRegistry*, URLMap> RegistryURLMap;
79 79
80 RegistryURLMap m_registryToURL; 80 RegistryURLMap m_registryToURL;
81 bool m_isStopped; 81 bool m_isStopped;
82 }; 82 };
83 83
84 } // namespace blink 84 } // namespace blink
85 85
86 #endif // PublicURLManager_h 86 #endif // PublicURLManager_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698