Index: Source/modules/filesystem/InspectorFileSystemAgent.cpp |
diff --git a/Source/modules/filesystem/InspectorFileSystemAgent.cpp b/Source/modules/filesystem/InspectorFileSystemAgent.cpp |
index 5f3fe2ffe230bf2e09071b451ed7cc92fe65fdf5..60cdd6c115800f45566181a992c0593d14ab8737 100644 |
--- a/Source/modules/filesystem/InspectorFileSystemAgent.cpp |
+++ b/Source/modules/filesystem/InspectorFileSystemAgent.cpp |
@@ -86,7 +86,7 @@ class CallbackDispatcher final : public BaseCallback { |
public: |
typedef bool (Handler::*HandlingMethod)(Argument); |
- static CallbackDispatcher* create(PassRefPtr<Handler> handler, HandlingMethod handlingMethod) |
+ static CallbackDispatcher* create(PassRefPtrWillBeRawPtr<Handler> handler, HandlingMethod handlingMethod) |
{ |
return new CallbackDispatcher(handler, handlingMethod); |
} |
@@ -96,12 +96,26 @@ public: |
(m_handler.get()->*m_handlingMethod)(argument); |
} |
+ typedef int HasInlinedTraceMethodMarker; |
+ GC_PLUGIN_IGNORE("") |
haraken
2015/07/17 02:44:28
Hmm, this doesn't work either. I don't know how we
|
+ virtual void trace(Visitor* visitor) |
+ { |
+ visitor->trace(m_handler); |
+ BaseCallback::trace(visitor); |
+ } |
+ GC_PLUGIN_IGNORE("") |
+ virtual void trace(InlinedGlobalMarkingVisitor visitor) |
+ { |
+ visitor->trace(m_handler); |
+ BaseCallback::trace(visitor); |
+ } |
+ |
private: |
- CallbackDispatcher(PassRefPtr<Handler> handler, HandlingMethod handlingMethod) |
+ CallbackDispatcher(PassRefPtrWillBeRawPtr<Handler> handler, HandlingMethod handlingMethod) |
: m_handler(handler) |
, m_handlingMethod(handlingMethod) { } |
- RefPtr<Handler> m_handler; |
+ RefPtrWillBeMember<Handler> m_handler; |
HandlingMethod m_handlingMethod; |
}; |
@@ -111,20 +125,25 @@ public: |
template<typename Handler, typename Argument> |
static CallbackDispatcher<BaseCallback, Handler, Argument>* create(Handler* handler, bool (Handler::*handlingMethod)(Argument)) |
{ |
- return CallbackDispatcher<BaseCallback, Handler, Argument>::create(PassRefPtr<Handler>(handler), handlingMethod); |
+ return CallbackDispatcher<BaseCallback, Handler, Argument>::create(PassRefPtrWillBeRawPtr<Handler>(handler), handlingMethod); |
} |
}; |
-class FileSystemRootRequest : public RefCounted<FileSystemRootRequest> { |
+class FileSystemRootRequest final : public RefCountedWillBeGarbageCollectedFinalized<FileSystemRootRequest> { |
WTF_MAKE_NONCOPYABLE(FileSystemRootRequest); |
public: |
- static PassRefPtr<FileSystemRootRequest> create(PassRefPtrWillBeRawPtr<RequestFileSystemRootCallback> requestCallback, const String& type) |
+ static PassRefPtrWillBeRawPtr<FileSystemRootRequest> create(PassRefPtrWillBeRawPtr<RequestFileSystemRootCallback> requestCallback, const String& type) |
{ |
- return adoptRef(new FileSystemRootRequest(requestCallback, type)); |
+ return adoptRefWillBeNoop(new FileSystemRootRequest(requestCallback, type)); |
} |
void start(ExecutionContext*); |
+ DEFINE_INLINE_TRACE() |
+ { |
+ visitor->trace(m_requestCallback); |
+ } |
+ |
private: |
bool didHitError(FileError* error) |
{ |
@@ -143,7 +162,7 @@ private: |
: m_requestCallback(requestCallback) |
, m_type(type) { } |
- RefPtrWillBePersistent<RequestFileSystemRootCallback> m_requestCallback; |
+ RefPtrWillBeMember<RequestFileSystemRootCallback> m_requestCallback; |
String m_type; |
}; |
@@ -180,12 +199,12 @@ bool FileSystemRootRequest::didGetEntry(Entry* entry) |
return true; |
} |
-class DirectoryContentRequest final : public RefCounted<DirectoryContentRequest> { |
+class DirectoryContentRequest final : public RefCountedWillBeGarbageCollectedFinalized<DirectoryContentRequest> { |
WTF_MAKE_NONCOPYABLE(DirectoryContentRequest); |
public: |
- static PassRefPtr<DirectoryContentRequest> create(PassRefPtrWillBeRawPtr<RequestDirectoryContentCallback> requestCallback, const String& url) |
+ static PassRefPtrWillBeRawPtr<DirectoryContentRequest> create(PassRefPtrWillBeRawPtr<RequestDirectoryContentCallback> requestCallback, const String& url) |
{ |
- return adoptRef(new DirectoryContentRequest(requestCallback, url)); |
+ return adoptRefWillBeNoop(new DirectoryContentRequest(requestCallback, url)); |
} |
~DirectoryContentRequest() |
@@ -195,6 +214,12 @@ public: |
void start(ExecutionContext*); |
+ DEFINE_INLINE_VIRTUAL_TRACE() |
+ { |
+ visitor->trace(m_requestCallback); |
+ visitor->trace(m_directoryReader); |
+ } |
+ |
private: |
bool didHitError(FileError* error) |
{ |
@@ -216,10 +241,10 @@ private: |
void readDirectoryEntries(); |
- RefPtrWillBePersistent<RequestDirectoryContentCallback> m_requestCallback; |
+ RefPtrWillBeMember<RequestDirectoryContentCallback> m_requestCallback; |
KURL m_url; |
RefPtr<Array<TypeBuilder::FileSystem::Entry>> m_entries; |
- Persistent<DirectoryReader> m_directoryReader; |
+ PersistentWillBeMember<DirectoryReader> m_directoryReader; |
}; |
void DirectoryContentRequest::start(ExecutionContext* executionContext) |
@@ -301,12 +326,12 @@ bool DirectoryContentRequest::didReadDirectoryEntries(const EntryHeapVector& ent |
return true; |
} |
-class MetadataRequest final : public RefCounted<MetadataRequest> { |
+class MetadataRequest final : public RefCountedWillBeGarbageCollectedFinalized<MetadataRequest> { |
WTF_MAKE_NONCOPYABLE(MetadataRequest); |
public: |
- static PassRefPtr<MetadataRequest> create(PassRefPtrWillBeRawPtr<RequestMetadataCallback> requestCallback, const String& url) |
+ static PassRefPtrWillBeRawPtr<MetadataRequest> create(PassRefPtrWillBeRawPtr<RequestMetadataCallback> requestCallback, const String& url) |
{ |
- return adoptRef(new MetadataRequest(requestCallback, url)); |
+ return adoptRefWillBeNoop(new MetadataRequest(requestCallback, url)); |
} |
~MetadataRequest() |
@@ -316,6 +341,11 @@ public: |
void start(ExecutionContext*); |
+ DEFINE_INLINE_VIRTUAL_TRACE() |
+ { |
+ visitor->trace(m_requestCallback); |
+ } |
+ |
private: |
bool didHitError(FileError* error) |
{ |
@@ -335,7 +365,7 @@ private: |
: m_requestCallback(requestCallback) |
, m_url(ParsedURLString, url) { } |
- RefPtrWillBePersistent<RequestMetadataCallback> m_requestCallback; |
+ RefPtrWillBeMember<RequestMetadataCallback> m_requestCallback; |
KURL m_url; |
bool m_isDirectory; |
}; |
@@ -377,9 +407,9 @@ bool MetadataRequest::didGetMetadata(Metadata* metadata) |
class FileContentRequest final : public EventListener { |
WTF_MAKE_NONCOPYABLE(FileContentRequest); |
public: |
- static PassRefPtr<FileContentRequest> create(PassRefPtrWillBeRawPtr<RequestFileContentCallback> requestCallback, const String& url, bool readAsText, long long start, long long end, const String& charset) |
+ static PassRefPtrWillBeRawPtr<FileContentRequest> create(PassRefPtrWillBeRawPtr<RequestFileContentCallback> requestCallback, const String& url, bool readAsText, long long start, long long end, const String& charset) |
{ |
- return adoptRef(new FileContentRequest(requestCallback, url, readAsText, start, end, charset)); |
+ return adoptRefWillBeNoop(new FileContentRequest(requestCallback, url, readAsText, start, end, charset)); |
} |
~FileContentRequest() override |
@@ -402,6 +432,13 @@ public: |
didHitError(m_reader->error()); |
} |
+ DEFINE_INLINE_VIRTUAL_TRACE() |
+ { |
+ visitor->trace(m_requestCallback); |
+ visitor->trace(m_reader); |
+ EventListener::trace(visitor); |
+ } |
+ |
private: |
bool didHitError(FileError* error) |
{ |
@@ -427,7 +464,7 @@ private: |
, m_end(end) |
, m_charset(charset) { } |
- RefPtrWillBePersistent<RequestFileContentCallback> m_requestCallback; |
+ RefPtrWillBeMember<RequestFileContentCallback> m_requestCallback; |
KURL m_url; |
bool m_readAsText; |
int m_start; |
@@ -435,7 +472,7 @@ private: |
String m_mimeType; |
String m_charset; |
- Persistent<FileReader> m_reader; |
+ PersistentWillBeMember<FileReader> m_reader; |
}; |
void FileContentRequest::start(ExecutionContext* executionContext) |
@@ -500,11 +537,11 @@ void FileContentRequest::didRead() |
reportResult(static_cast<FileError::ErrorCode>(0), &result, &m_charset); |
} |
-class DeleteEntryRequest final : public RefCounted<DeleteEntryRequest> { |
+class DeleteEntryRequest final : public RefCountedWillBeGarbageCollectedFinalized<DeleteEntryRequest> { |
public: |
- static PassRefPtr<DeleteEntryRequest> create(PassRefPtrWillBeRawPtr<DeleteEntryCallback> requestCallback, const KURL& url) |
+ static PassRefPtrWillBeRawPtr<DeleteEntryRequest> create(PassRefPtrWillBeRawPtr<DeleteEntryCallback> requestCallback, const KURL& url) |
{ |
- return adoptRef(new DeleteEntryRequest(requestCallback, url)); |
+ return adoptRefWillBeNoop(new DeleteEntryRequest(requestCallback, url)); |
} |
~DeleteEntryRequest() |
@@ -514,11 +551,16 @@ public: |
void start(ExecutionContext*); |
+ DEFINE_INLINE_TRACE() |
+ { |
+ visitor->trace(m_requestCallback); |
+ } |
+ |
private: |
// CallbackDispatcherFactory doesn't handle 0-arg handleEvent methods |
class VoidCallbackImpl final : public VoidCallback { |
public: |
- explicit VoidCallbackImpl(PassRefPtr<DeleteEntryRequest> handler) |
+ explicit VoidCallbackImpl(PassRefPtrWillBeRawPtr<DeleteEntryRequest> handler) |
: m_handler(handler) |
{ |
} |
@@ -528,8 +570,14 @@ private: |
m_handler->didDeleteEntry(); |
} |
+ DEFINE_INLINE_VIRTUAL_TRACE() |
+ { |
+ visitor->trace(m_handler); |
+ VoidCallback::trace(visitor); |
+ } |
+ |
private: |
- RefPtr<DeleteEntryRequest> m_handler; |
+ RefPtrWillBeMember<DeleteEntryRequest> m_handler; |
}; |
bool didHitError(FileError* error) |
@@ -550,7 +598,7 @@ private: |
: m_requestCallback(requestCallback) |
, m_url(url) { } |
- RefPtrWillBePersistent<DeleteEntryCallback> m_requestCallback; |
+ RefPtrWillBeMember<DeleteEntryCallback> m_requestCallback; |
KURL m_url; |
}; |