Unreviewed, rolling out r144859.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 6 Mar 2013 09:16:28 +0000 (09:16 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 6 Mar 2013 09:16:28 +0000 (09:16 +0000)
http://trac.webkit.org/changeset/144859
https://bugs.webkit.org/show_bug.cgi?id=111519

Introduced a test that calls non-exist function on non-
Chromium ports and crash on Chromium (Requested by rniwa on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-03-06

Source/WebCore:

* html/HTMLAudioElement.h:
(WebCore::HTMLAudioElement::hasPendingActivity):
(HTMLAudioElement):
* html/HTMLAudioElement.idl:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::hasPendingActivity):
* html/HTMLMediaElement.idl:

LayoutTests:

* http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal-expected.txt: Removed.
* http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html: Removed.
* http/tests/misc/resources/delete-frame-during-readystatechange-frame-with-gc-after-video-removal.html: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@144896 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal-expected.txt [deleted file]
LayoutTests/http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html [deleted file]
LayoutTests/http/tests/misc/resources/delete-frame-during-readystatechange-frame-with-gc-after-video-removal.html [deleted file]
Source/WebCore/ChangeLog
Source/WebCore/html/HTMLAudioElement.h
Source/WebCore/html/HTMLAudioElement.idl
Source/WebCore/html/HTMLMediaElement.cpp
Source/WebCore/html/HTMLMediaElement.idl

index 15646a8..c05b1cd 100644 (file)
@@ -1,3 +1,17 @@
+2013-03-06  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r144859.
+        http://trac.webkit.org/changeset/144859
+        https://bugs.webkit.org/show_bug.cgi?id=111519
+
+        Introduced a test that calls non-exist function on non-
+        Chromium ports and crash on Chromium (Requested by rniwa on
+        #webkit).
+
+        * http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal-expected.txt: Removed.
+        * http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html: Removed.
+        * http/tests/misc/resources/delete-frame-during-readystatechange-frame-with-gc-after-video-removal.html: Removed.
+
 2013-03-06  Tony Chang  <tony@chromium.org>
 
         Crash during middle mouse click when page is removed
diff --git a/LayoutTests/http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal-expected.txt b/LayoutTests/http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal-expected.txt
deleted file mode 100644 (file)
index 4dc1a53..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Test deleting a subframe from within its readystatechange event and garbage collecting right after removing the video element from the document. We pass if we don't crash.
diff --git a/LayoutTests/http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html b/LayoutTests/http/tests/misc/delete-frame-during-readystatechange-with-gc-after-video-removal.html
deleted file mode 100644 (file)
index aa65bc4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<script>
-if (window.testRunner) {
-    testRunner.dumpAsText();
-    testRunner.waitUntilDone();
-}
-
-function r()
-{
-    document.body.removeChild(document.getElementById("f"));
-    setTimeout(function() { testRunner.notifyDone();}, 0);
-}
-</script>
-Test deleting a subframe from within its readystatechange event and garbage collecting right after removing the video element from the document. 
-We pass if we don't crash.
-<iframe id="f" src="resources/delete-frame-during-readystatechange-frame-with-gc-after-video-removal.html"></iframe>
diff --git a/LayoutTests/http/tests/misc/resources/delete-frame-during-readystatechange-frame-with-gc-after-video-removal.html b/LayoutTests/http/tests/misc/resources/delete-frame-during-readystatechange-frame-with-gc-after-video-removal.html
deleted file mode 100644 (file)
index 9d7bc86..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<html>
-<head>
-<script>
-i = 0;
-document.addEventListener('readystatechange', function() {
-    if (i == 1)
-        parent.r();
-    i++;
-});
-
-window.addEventListener('DOMContentLoaded', function() {
-    document.getElementById("v").load(); 
-    document.body.removeChild(document.getElementById("v"));
-    window.gc();
-});
-
-</script>
-</head>
-<body>
-<video id=v src=empty.ogv></video>
-</body>
-</html>
index 79cf902..ec37ef4 100644 (file)
@@ -1,3 +1,21 @@
+2013-03-06  Sheriff Bot  <webkit.review.bot@gmail.com>
+
+        Unreviewed, rolling out r144859.
+        http://trac.webkit.org/changeset/144859
+        https://bugs.webkit.org/show_bug.cgi?id=111519
+
+        Introduced a test that calls non-exist function on non-
+        Chromium ports and crash on Chromium (Requested by rniwa on
+        #webkit).
+
+        * html/HTMLAudioElement.h:
+        (WebCore::HTMLAudioElement::hasPendingActivity):
+        (HTMLAudioElement):
+        * html/HTMLAudioElement.idl:
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::hasPendingActivity):
+        * html/HTMLMediaElement.idl:
+
 2013-03-06  Ilya Tikhonovsky  <loislo@chromium.org>
 
         Web Inspector: Could not open Profiles panel.
index 62c3cc0..b9150f3 100644 (file)
@@ -39,6 +39,8 @@ public:
     static PassRefPtr<HTMLAudioElement> create(const QualifiedName&, Document*, bool);
     static PassRefPtr<HTMLAudioElement> createForJSConstructor(Document*, const String& src);
 
+    virtual bool hasPendingActivity() const { return isPlaying() || HTMLMediaElement::hasPendingActivity(); }
+
     virtual bool isActiveNode() const { return true; }
 
 private:
index d0feced..9b3f8c6 100644 (file)
@@ -24,6 +24,7 @@
  */
 
 [
+    ActiveDOMObject,
     Conditional=VIDEO,
     NamedConstructor=Audio(in [Optional=DefaultIsNullString] DOMString src)
 ] interface HTMLAudioElement : HTMLMediaElement {
index 600ab35..1e89dfc 100644 (file)
@@ -3957,7 +3957,7 @@ void HTMLMediaElement::resume()
 
 bool HTMLMediaElement::hasPendingActivity() const
 {
-    return (hasAudio() && isPlaying()) || m_asyncEventQueue->hasPendingEvents();
+    return m_asyncEventQueue->hasPendingEvents();
 }
 
 void HTMLMediaElement::mediaVolumeDidChange()
index 939452d..5ebf447 100644 (file)
@@ -25,8 +25,7 @@
 
 [
     Conditional=VIDEO,
-    JSGenerateToNativeObject,
-    ActiveDOMObject
+    JSGenerateToNativeObject
 ] interface HTMLMediaElement : HTMLElement {
 
 // error state