Summary: | Clean up PassRefPtr uses in Modules/encryptedmedia, Modules/speech, and Modules/quota | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Gyuyoung Kim <gyuyoung.kim> | ||||||||||||||
Component: | New Bugs | Assignee: | Gyuyoung Kim <gyuyoung.kim> | ||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||
Severity: | Normal | CC: | commit-queue | ||||||||||||||
Priority: | P2 | ||||||||||||||||
Version: | WebKit Nightly Build | ||||||||||||||||
Hardware: | Unspecified | ||||||||||||||||
OS: | Unspecified | ||||||||||||||||
Attachments: |
|
Description
Gyuyoung Kim
2016-07-12 23:09:57 PDT
Created attachment 283490 [details]
Patch
Created attachment 283501 [details]
Patch
Comment on attachment 283501 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=283501&action=review > Source/WebCore/Modules/quota/StorageErrorCallback.cpp:45 > -StorageErrorCallback::CallbackTask::CallbackTask(PassRefPtr<StorageErrorCallback> callback, ExceptionCode ec) > +StorageErrorCallback::CallbackTask::CallbackTask(StorageErrorCallback* callback, ExceptionCode ec) > : ScriptExecutionContext::Task([callback, ec] (ScriptExecutionContext*) { > if (callback) > callback->handleEvent(DOMCoreException::create(ExceptionCodeDescription(ec)).get()); This feels like it should be a RefPtr<StorageErrorCallback>&& that is WTFMoved into the lambda so we are sure there is still a reference when we call the callback. Otherwise, it's not obvious that there couldn't be a use after free. > Source/WebCore/Modules/speech/SpeechSynthesis.cpp:189 > +void SpeechSynthesis::boundaryEventOccurred(PlatformSpeechSynthesisUtterance* utterance, SpeechBoundary boundary, unsigned charIndex) This should definitely be a PlatformSpeechSynthesisUtterance& > Source/WebCore/Modules/speech/SpeechSynthesis.cpp:209 > +void SpeechSynthesis::didStartSpeaking(PlatformSpeechSynthesisUtterance* utterance) ditto > Source/WebCore/Modules/speech/SpeechSynthesis.cpp:215 > +void SpeechSynthesis::didPauseSpeaking(PlatformSpeechSynthesisUtterance* utterance) ditto > Source/WebCore/Modules/speech/SpeechSynthesis.cpp:235 > +void SpeechSynthesis::speakingErrorOccurred(PlatformSpeechSynthesisUtterance* utterance) etc. > Source/WebCore/Modules/speech/SpeechSynthesisVoice.h:53 > RefPtr<PlatformSpeechSynthesisVoice> m_platformVoice; This should be made a Ref. Created attachment 283621 [details]
Patch
Created attachment 283748 [details]
Patch
Comment on attachment 283748 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=283748&action=review > Source/WebCore/Modules/speech/SpeechSynthesisVoice.cpp:39 > +SpeechSynthesisVoice::SpeechSynthesisVoice(PlatformSpeechSynthesisVoice* voice) > + : m_platformVoice(adoptRef(*voice)) This should be a PlatformSpeechSynthesisVoice&. PlatformSpeechSynthesizer.m_voiceList should be Refs. Comment on attachment 283748 [details] Patch Attachment 283748 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/1694508 New failing tests: transitions/default-timing-function.html Created attachment 283859 [details]
Archive of layout-test-results from ews116 for mac-yosemite
The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews116 Port: mac-yosemite Platform: Mac OS X 10.10.5
Created attachment 283881 [details]
Patch for landing
Comment on attachment 283881 [details]
Patch for landing
Looks like win-ews is being failed regardless of this patch.
Comment on attachment 283881 [details] Patch for landing Clearing flags on attachment: 283881 Committed r203340: <http://trac.webkit.org/changeset/203340> All reviewed patches have been landed. Closing bug. |