Title: [236110] releases/WebKitGTK/webkit-2.22
- Revision
- 236110
- Author
- [email protected]
- Date
- 2018-09-18 02:16:40 -0700 (Tue, 18 Sep 2018)
Log Message
Merge r235438 - MediaDevices should be collectable as soon as its document is stopped
https://bugs.webkit.org/show_bug.cgi?id=189021
Reviewed by Eric Carlson.
Source/WebCore:
Introduce ActiveDOMObject::isContextStopped to check whether the context is stopped.
Use this check in MediaDevices::hasPendingActivity so that it returns false as soon as active dom objects are stopped.
Test: http/tests/media/collect-media-devices.https.html
* Modules/mediastream/MediaDevices.cpp:
(WebCore::MediaDevices::hasPendingActivity const):
* dom/ActiveDOMObject.cpp:
(WebCore::ActiveDOMObject::hasPendingActivity const):
(WebCore::ActiveDOMObject::isContextStopped const):
* dom/ActiveDOMObject.h:
LayoutTests:
* http/tests/media/media-stream/collect-media-devices.https-expected.txt: Added.
* http/tests/media/media-stream/collect-media-devices.https.html: Added.
* http/tests/media/media-stream/resources/mymediadevicesframe.htm: Added.
Modified Paths
Diff
Modified: releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog (236109 => 236110)
--- releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog 2018-09-18 09:16:33 UTC (rev 236109)
+++ releases/WebKitGTK/webkit-2.22/LayoutTests/ChangeLog 2018-09-18 09:16:40 UTC (rev 236110)
@@ -1,3 +1,14 @@
+2018-08-28 Youenn Fablet <[email protected]>
+
+ MediaDevices should be collectable as soon as its document is stopped
+ https://bugs.webkit.org/show_bug.cgi?id=189021
+
+ Reviewed by Eric Carlson.
+
+ * http/tests/media/media-stream/collect-media-devices.https-expected.txt: Added.
+ * http/tests/media/media-stream/collect-media-devices.https.html: Added.
+ * http/tests/media/media-stream/resources/mymediadevicesframe.htm: Added.
+
2018-08-27 Myles C. Maxfield <[email protected]>
Null pointer deref in WidthIterator
Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog (236109 => 236110)
--- releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog 2018-09-18 09:16:33 UTC (rev 236109)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/ChangeLog 2018-09-18 09:16:40 UTC (rev 236110)
@@ -1,3 +1,22 @@
+2018-08-28 Youenn Fablet <[email protected]>
+
+ MediaDevices should be collectable as soon as its document is stopped
+ https://bugs.webkit.org/show_bug.cgi?id=189021
+
+ Reviewed by Eric Carlson.
+
+ Introduce ActiveDOMObject::isContextStopped to check whether the context is stopped.
+ Use this check in MediaDevices::hasPendingActivity so that it returns false as soon as active dom objects are stopped.
+
+ Test: http/tests/media/collect-media-devices.https.html
+
+ * Modules/mediastream/MediaDevices.cpp:
+ (WebCore::MediaDevices::hasPendingActivity const):
+ * dom/ActiveDOMObject.cpp:
+ (WebCore::ActiveDOMObject::hasPendingActivity const):
+ (WebCore::ActiveDOMObject::isContextStopped const):
+ * dom/ActiveDOMObject.h:
+
2018-08-27 Myles C. Maxfield <[email protected]>
Null pointer deref in WidthIterator
Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/mediastream/MediaDevices.cpp (236109 => 236110)
--- releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/mediastream/MediaDevices.cpp 2018-09-18 09:16:33 UTC (rev 236109)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/Modules/mediastream/MediaDevices.cpp 2018-09-18 09:16:40 UTC (rev 236110)
@@ -168,7 +168,7 @@
bool MediaDevices::hasPendingActivity() const
{
- return scriptExecutionContext() && hasEventListeners(m_eventNames.devicechangeEvent);
+ return !isContextStopped() && hasEventListeners(m_eventNames.devicechangeEvent);
}
const char* MediaDevices::activeDOMObjectName() const
Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/ActiveDOMObject.cpp (236109 => 236110)
--- releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/ActiveDOMObject.cpp 2018-09-18 09:16:33 UTC (rev 236109)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/ActiveDOMObject.cpp 2018-09-18 09:16:40 UTC (rev 236110)
@@ -106,4 +106,9 @@
{
}
+bool ActiveDOMObject::isContextStopped() const
+{
+ return !scriptExecutionContext() || scriptExecutionContext()->activeDOMObjectsAreStopped();
+}
+
} // namespace WebCore
Modified: releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/ActiveDOMObject.h (236109 => 236110)
--- releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/ActiveDOMObject.h 2018-09-18 09:16:33 UTC (rev 236109)
+++ releases/WebKitGTK/webkit-2.22/Source/WebCore/dom/ActiveDOMObject.h 2018-09-18 09:16:40 UTC (rev 236110)
@@ -110,6 +110,8 @@
return adoptRef(*new PendingActivity<T>(thisObject));
}
+ bool isContextStopped() const;
+
protected:
explicit ActiveDOMObject(ScriptExecutionContext*);
virtual ~ActiveDOMObject();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes