Chromium Code Reviews| Index: Source/core/speech/SpeechInput.h |
| diff --git a/Source/core/speech/SpeechInput.h b/Source/core/speech/SpeechInput.h |
| index 7fd2448902beb28a452b29d43950850a62683e1b..908fb084a3773186f011ff116613e57bcd76c18d 100644 |
| --- a/Source/core/speech/SpeechInput.h |
| +++ b/Source/core/speech/SpeechInput.h |
| @@ -43,24 +43,23 @@ namespace WebCore { |
| class IntRect; |
| class SecurityOrigin; |
| class SpeechInputClient; |
| -class SpeechInputListener; |
| -class InputFieldSpeechButtonElement; |
| // This class connects the input elements requiring speech input with the platform specific |
| // speech recognition engine. It provides methods for the input elements to activate speech |
| // recognition and methods for the speech recognition engine to return back the results. |
| -class SpeechInput FINAL : public SpeechInputListener, public Supplement<Page> { |
| +class SpeechInput FINAL : public NoBaseWillBeGarbageCollectedFinalized<SpeechInput>, public SpeechInputListener, public WillBeHeapSupplement<Page> { |
| + WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(SpeechInput); |
| WTF_MAKE_NONCOPYABLE(SpeechInput); |
| public: |
| virtual ~SpeechInput(); |
| - static PassOwnPtr<SpeechInput> create(PassOwnPtr<SpeechInputClient>); |
| + static PassOwnPtrWillBeRawPtr<SpeechInput> create(PassOwnPtr<SpeechInputClient>); |
| static const char* supplementName(); |
| - static SpeechInput* from(Page* page) { return static_cast<SpeechInput*>(Supplement<Page>::from(page, supplementName())); } |
| + static SpeechInput* from(Page* page) { return static_cast<SpeechInput*>(WillBeHeapSupplement<Page>::from(page, supplementName())); } |
| // Generates a unique ID for the given listener to be used for speech requests. |
| // This should be the first call made by listeners before anything else. |
| - int registerListener(InputFieldSpeechButtonElement*); |
| + int registerListener(SpeechInputListener*); |
| // Invoked when the listener is done with recording or getting destroyed. |
| // Failure to unregister may result in crashes if there were any pending speech events. |
| @@ -76,18 +75,14 @@ public: |
| virtual void didCompleteRecognition(int) OVERRIDE; |
| virtual void setRecognitionResult(int, const SpeechInputResultArray&) OVERRIDE; |
| - virtual void trace(Visitor*) OVERRIDE { } |
| + virtual void trace(Visitor*) OVERRIDE; |
| void clearWeakMembers(Visitor*); |
| private: |
| explicit SpeechInput(PassOwnPtr<SpeechInputClient>); |
| OwnPtr<SpeechInputClient> m_client; |
| - // FIXME: Oilpan: go back to using SpeechInputListener as the type when |
| - // all SpeechInputListeners (SpeechInput and InputFieldSpeechButtonElement) |
| - // have been moved to the oilpan heap. At that point SpeechInputListener |
| - // will be a GarbageCollectedMixin. |
| - HashMap<int, InputFieldSpeechButtonElement*> m_listeners; |
| + WillBeHeapHashMap<int, RawPtrWillBeWeakMember<SpeechInputListener> > m_listeners; |
|
Mads Ager (chromium)
2014/04/29 14:56:09
Thank you!!! :)
|
| int m_nextListenerId; |
| }; |