[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 15:36:39 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 0cad5f9c576159a55e957d6894dd02d0fa5a1dc9
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 9 07:02:28 2010 +0000

    2010-11-08  James Simonsen  <simonjam at chromium.org>
    
            Reviewed by Dimitri Glazkov.
    
            [Web Timing] Split domContentLoaded into start/end
            https://bugs.webkit.org/show_bug.cgi?id=48920
    
            * fast/dom/script-tests/webtiming.js:
            (checkTimingBeforeLoad):
            (checkTimingWhileDeferred):
            (checkWebTimingOnDOMContentLoaded): Added.
            (checkWebTimingWhileAsync):
            (checkWebTimingOnLoad):
            (checkWebTimingAfterLoad):
            * fast/dom/webtiming-document-open-expected.txt:
            * fast/dom/webtiming-expected.txt:
    2010-11-08  James Simonsen  <simonjam at chromium.org>
    
            Reviewed by Dimitri Glazkov.
    
            [Web Timing] Split domContentLoaded into start/end
            https://bugs.webkit.org/show_bug.cgi?id=48920
    
            * dom/Document.cpp:
            (WebCore::Document::finishedParsing):
            * dom/DocumentTiming.h:
            (WebCore::DocumentTiming::DocumentTiming):
            * page/Timing.cpp:
            (WebCore::Timing::domContentLoadedStart):
            (WebCore::Timing::domContentLoadedEnd):
            * page/Timing.h:
            * page/Timing.idl:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71608 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 288f612..7ee106e 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,20 @@
+2010-11-08  James Simonsen  <simonjam at chromium.org>
+
+        Reviewed by Dimitri Glazkov.
+
+        [Web Timing] Split domContentLoaded into start/end
+        https://bugs.webkit.org/show_bug.cgi?id=48920
+
+        * fast/dom/script-tests/webtiming.js:
+        (checkTimingBeforeLoad):
+        (checkTimingWhileDeferred):
+        (checkWebTimingOnDOMContentLoaded): Added.
+        (checkWebTimingWhileAsync):
+        (checkWebTimingOnLoad):
+        (checkWebTimingAfterLoad):
+        * fast/dom/webtiming-document-open-expected.txt:
+        * fast/dom/webtiming-expected.txt:
+
 2010-11-08  Chang Shu  <chang.shu at nokia.com>
 
         Reviewed by Antonio Gomes.
diff --git a/LayoutTests/fast/dom/script-tests/webtiming.js b/LayoutTests/fast/dom/script-tests/webtiming.js
index 29b206f..0718385 100644
--- a/LayoutTests/fast/dom/script-tests/webtiming.js
+++ b/LayoutTests/fast/dom/script-tests/webtiming.js
@@ -40,7 +40,8 @@ function checkTimingBeforeLoad()
 
     shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
     shouldBe("timing.domInteractive", "0");
-    shouldBe("timing.domContentLoaded", "0");
+    shouldBe("timing.domContentLoadedStart", "0");
+    shouldBe("timing.domContentLoadedEnd", "0");
     shouldBe("timing.domComplete", "0");
 
     shouldBe("timing.loadEventStart", "0");
@@ -72,7 +73,42 @@ function checkTimingWhileDeferred()
 
     shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
     shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.domLoading");
-    shouldBe("timing.domContentLoaded", "0");
+    shouldBe("timing.domContentLoadedStart", "0");
+    shouldBe("timing.domContentLoadedEnd", "0");
+    shouldBe("timing.domComplete", "0");
+
+    shouldBe("timing.loadEventStart", "0");
+    shouldBe("timing.loadEventEnd", "0");
+
+    window.addEventListener("DOMContentLoaded", checkWebTimingOnDOMContentLoaded, false);
+}
+
+function checkWebTimingOnDOMContentLoaded() {
+    shouldBeGreaterThanOrEqual("timing.navigationStart", "oneHourAgoUTC");
+
+    shouldBeGreaterThanOrEqual("timing.unloadEventEnd", "timing.navigationStart");
+
+    shouldBe("timing.redirectStart", "0");
+    shouldBe("timing.redirectEnd", "0");
+    shouldBe("navigation.redirectCount", "0");
+
+    shouldBeGreaterThanOrEqual("timing.fetchStart", "timing.navigationStart");
+
+    shouldBeGreaterThanOrEqual("timing.domainLookupStart", "timing.fetchStart");
+    shouldBeGreaterThanOrEqual("timing.domainLookupEnd", "timing.domainLookupStart");
+
+    shouldBeGreaterThanOrEqual("timing.connectStart", "timing.domainLookupEnd");
+    shouldBeGreaterThanOrEqual("timing.connectEnd", "timing.connectStart");
+
+    shouldBeGreaterThanOrEqual("timing.requestStart", "timing.connectEnd");
+    shouldBeGreaterThanOrEqual("timing.requestEnd", "timing.requestStart");
+
+    shouldBe("timing.responseStart", "timing.requestEnd");
+
+    shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
+    shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.domLoading");
+    shouldBeGreaterThanOrEqual("timing.domContentLoadedStart", "timing.domInteractive");
+    shouldBe("timing.domContentLoadedEnd", "0");
     shouldBe("timing.domComplete", "0");
 
     shouldBe("timing.loadEventStart", "0");
@@ -111,7 +147,8 @@ function checkWebTimingWhileAsync()
 
     shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
     shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.responseEnd");
-    shouldBeGreaterThanOrEqual("timing.domContentLoaded", "timing.domInteractive");
+    shouldBeGreaterThanOrEqual("timing.domContentLoadedStart", "timing.domInteractive");
+    shouldBeGreaterThanOrEqual("timing.domContentLoadedEnd", "timing.domContentLoadedStart");
     shouldBe("timing.domComplete", "0");
 
     shouldBe("timing.loadEventStart", "0");
@@ -146,8 +183,9 @@ function checkWebTimingOnLoad()
 
     shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
     shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.responseEnd");
-    shouldBeGreaterThanOrEqual("timing.domContentLoaded", "timing.domInteractive");
-    shouldBeGreaterThanOrEqual("timing.domComplete", "timing.domContentLoaded");
+    shouldBeGreaterThanOrEqual("timing.domContentLoadedStart", "timing.domInteractive");
+    shouldBeGreaterThanOrEqual("timing.domContentLoadedEnd", "timing.domContentLoadedStart");
+    shouldBeGreaterThanOrEqual("timing.domComplete", "timing.domContentLoadedEnd");
 
     shouldBeGreaterThanOrEqual("timing.loadEventStart", "timing.responseEnd");
     shouldBe("timing.loadEventEnd", "0");
@@ -181,8 +219,9 @@ function checkWebTimingAfterLoad()
 
     shouldBeGreaterThanOrEqual("timing.domLoading", "timing.fetchStart");
     shouldBeGreaterThanOrEqual("timing.domInteractive", "timing.responseEnd");
-    shouldBeGreaterThanOrEqual("timing.domContentLoaded", "timing.domInteractive");
-    shouldBeGreaterThanOrEqual("timing.domComplete", "timing.domContentLoaded");
+    shouldBeGreaterThanOrEqual("timing.domContentLoadedStart", "timing.domInteractive");
+    shouldBeGreaterThanOrEqual("timing.domContentLoadedEnd", "timing.domContentLoadedStart");
+    shouldBeGreaterThanOrEqual("timing.domComplete", "timing.domContentLoadedEnd");
 
     shouldBeGreaterThanOrEqual("timing.loadEventStart", "timing.responseEnd");
     shouldBeGreaterThanOrEqual("timing.loadEventEnd", "timing.loadEventStart + 50");
diff --git a/LayoutTests/fast/dom/webtiming-document-open-expected.txt b/LayoutTests/fast/dom/webtiming-document-open-expected.txt
index 0fc8249..183e6d0 100644
--- a/LayoutTests/fast/dom/webtiming-document-open-expected.txt
+++ b/LayoutTests/fast/dom/webtiming-document-open-expected.txt
@@ -6,7 +6,8 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 PASS timing.connectEnd is originalTiming.connectEnd
 PASS timing.connectStart is originalTiming.connectStart
 PASS timing.domComplete is originalTiming.domComplete
-PASS timing.domContentLoaded is originalTiming.domContentLoaded
+PASS timing.domContentLoadedEnd is originalTiming.domContentLoadedEnd
+PASS timing.domContentLoadedStart is originalTiming.domContentLoadedStart
 PASS timing.domInteractive is originalTiming.domInteractive
 PASS timing.domLoading is originalTiming.domLoading
 PASS timing.domainLookupEnd is originalTiming.domainLookupEnd
diff --git a/LayoutTests/fast/dom/webtiming-expected.txt b/LayoutTests/fast/dom/webtiming-expected.txt
index af7faea..db1d94d 100644
--- a/LayoutTests/fast/dom/webtiming-expected.txt
+++ b/LayoutTests/fast/dom/webtiming-expected.txt
@@ -18,7 +18,8 @@ PASS timing.requestEnd is >= timing.requestStart
 PASS timing.responseStart is timing.requestEnd
 PASS timing.domLoading is >= timing.fetchStart
 PASS timing.domInteractive is 0
-PASS timing.domContentLoaded is 0
+PASS timing.domContentLoadedStart is 0
+PASS timing.domContentLoadedEnd is 0
 PASS timing.domComplete is 0
 PASS timing.loadEventStart is 0
 PASS timing.loadEventEnd is 0
@@ -37,7 +38,28 @@ PASS timing.requestEnd is >= timing.requestStart
 PASS timing.responseStart is timing.requestEnd
 PASS timing.domLoading is >= timing.fetchStart
 PASS timing.domInteractive is >= timing.domLoading
-PASS timing.domContentLoaded is 0
+PASS timing.domContentLoadedStart is 0
+PASS timing.domContentLoadedEnd is 0
+PASS timing.domComplete is 0
+PASS timing.loadEventStart is 0
+PASS timing.loadEventEnd is 0
+PASS timing.navigationStart is >= oneHourAgoUTC
+PASS timing.unloadEventEnd is >= timing.navigationStart
+PASS timing.redirectStart is 0
+PASS timing.redirectEnd is 0
+PASS navigation.redirectCount is 0
+PASS timing.fetchStart is >= timing.navigationStart
+PASS timing.domainLookupStart is >= timing.fetchStart
+PASS timing.domainLookupEnd is >= timing.domainLookupStart
+PASS timing.connectStart is >= timing.domainLookupEnd
+PASS timing.connectEnd is >= timing.connectStart
+PASS timing.requestStart is >= timing.connectEnd
+PASS timing.requestEnd is >= timing.requestStart
+PASS timing.responseStart is timing.requestEnd
+PASS timing.domLoading is >= timing.fetchStart
+PASS timing.domInteractive is >= timing.domLoading
+PASS timing.domContentLoadedStart is >= timing.domInteractive
+PASS timing.domContentLoadedEnd is 0
 PASS timing.domComplete is 0
 PASS timing.loadEventStart is 0
 PASS timing.loadEventEnd is 0
@@ -56,7 +78,8 @@ PASS timing.requestEnd is >= timing.requestStart
 PASS timing.responseStart is timing.requestEnd
 PASS timing.domLoading is >= timing.fetchStart
 PASS timing.domInteractive is >= timing.responseEnd
-PASS timing.domContentLoaded is >= timing.domInteractive
+PASS timing.domContentLoadedStart is >= timing.domInteractive
+PASS timing.domContentLoadedEnd is >= timing.domContentLoadedStart
 PASS timing.domComplete is 0
 PASS timing.loadEventStart is 0
 PASS timing.loadEventEnd is 0
@@ -76,8 +99,9 @@ PASS timing.responseStart is timing.requestEnd
 PASS timing.responseEnd is >= timing.responseStart
 PASS timing.domLoading is >= timing.fetchStart
 PASS timing.domInteractive is >= timing.responseEnd
-PASS timing.domContentLoaded is >= timing.domInteractive
-PASS timing.domComplete is >= timing.domContentLoaded
+PASS timing.domContentLoadedStart is >= timing.domInteractive
+PASS timing.domContentLoadedEnd is >= timing.domContentLoadedStart
+PASS timing.domComplete is >= timing.domContentLoadedEnd
 PASS timing.loadEventStart is >= timing.responseEnd
 PASS timing.loadEventEnd is 0
 PASS timing.navigationStart is >= oneHourAgoUTC
@@ -96,8 +120,9 @@ PASS timing.responseStart is timing.requestEnd
 PASS timing.responseEnd is >= timing.responseStart
 PASS timing.domLoading is >= timing.fetchStart
 PASS timing.domInteractive is >= timing.responseEnd
-PASS timing.domContentLoaded is >= timing.domInteractive
-PASS timing.domComplete is >= timing.domContentLoaded
+PASS timing.domContentLoadedStart is >= timing.domInteractive
+PASS timing.domContentLoadedEnd is >= timing.domContentLoadedStart
+PASS timing.domComplete is >= timing.domContentLoadedEnd
 PASS timing.loadEventStart is >= timing.responseEnd
 PASS timing.loadEventEnd is >= timing.loadEventStart + 50
 PASS successfullyParsed is true
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 85eb7ce..87d246b 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-11-08  James Simonsen  <simonjam at chromium.org>
+
+        Reviewed by Dimitri Glazkov.
+
+        [Web Timing] Split domContentLoaded into start/end
+        https://bugs.webkit.org/show_bug.cgi?id=48920
+
+        * dom/Document.cpp:
+        (WebCore::Document::finishedParsing):
+        * dom/DocumentTiming.h:
+        (WebCore::DocumentTiming::DocumentTiming):
+        * page/Timing.cpp:
+        (WebCore::Timing::domContentLoadedStart):
+        (WebCore::Timing::domContentLoadedEnd):
+        * page/Timing.h:
+        * page/Timing.idl:
+
 2010-11-08  Nate Chapin  <japhet at chromium.org>
 
         Reviewed by Adam Barth.
diff --git a/WebCore/dom/Document.cpp b/WebCore/dom/Document.cpp
index 61a6f1f..31d7d1f 100644
--- a/WebCore/dom/Document.cpp
+++ b/WebCore/dom/Document.cpp
@@ -4191,9 +4191,11 @@ void Document::finishedParsing()
     ASSERT(!scriptableDocumentParser() || !m_parser->isParsing());
     ASSERT(!scriptableDocumentParser() || m_readyState != Loading);
     setParsing(false);
-    if (!m_documentTiming.domContentLoaded)
-        m_documentTiming.domContentLoaded = currentTime();
+    if (!m_documentTiming.domContentLoadedStart)
+        m_documentTiming.domContentLoadedStart = currentTime();
     dispatchEvent(Event::create(eventNames().DOMContentLoadedEvent, true, false));
+    if (!m_documentTiming.domContentLoadedEnd)
+        m_documentTiming.domContentLoadedEnd = currentTime();
 
     if (Frame* f = frame()) {
         // FrameLoader::finishedParsing() might end up calling Document::implicitClose() if all
diff --git a/WebCore/dom/DocumentTiming.h b/WebCore/dom/DocumentTiming.h
index a0bbb8c..7abc219 100644
--- a/WebCore/dom/DocumentTiming.h
+++ b/WebCore/dom/DocumentTiming.h
@@ -32,14 +32,16 @@ struct DocumentTiming {
     DocumentTiming()
         : domLoading(0.0)
         , domInteractive(0.0)
-        , domContentLoaded(0.0)
+        , domContentLoadedStart(0.0)
+        , domContentLoadedEnd(0.0)
         , domComplete(0.0)
     {
     }
 
     double domLoading;
     double domInteractive;
-    double domContentLoaded;
+    double domContentLoadedStart;
+    double domContentLoadedEnd;
     double domComplete;
 };
 
diff --git a/WebCore/page/Timing.cpp b/WebCore/page/Timing.cpp
index 3d98dc2..49b34c2 100644
--- a/WebCore/page/Timing.cpp
+++ b/WebCore/page/Timing.cpp
@@ -265,13 +265,22 @@ unsigned long long Timing::domInteractive() const
     return toIntegerMilliseconds(timing->domInteractive);
 }
 
-unsigned long long Timing::domContentLoaded() const
+unsigned long long Timing::domContentLoadedStart() const
 {
     const DocumentTiming* timing = documentTiming();
     if (!timing)
         return 0;
 
-    return toIntegerMilliseconds(timing->domContentLoaded);
+    return toIntegerMilliseconds(timing->domContentLoadedStart);
+}
+
+unsigned long long Timing::domContentLoadedEnd() const
+{
+    const DocumentTiming* timing = documentTiming();
+    if (!timing)
+        return 0;
+
+    return toIntegerMilliseconds(timing->domContentLoadedEnd);
 }
 
 unsigned long long Timing::domComplete() const
diff --git a/WebCore/page/Timing.h b/WebCore/page/Timing.h
index 3e3485f..4d69225 100644
--- a/WebCore/page/Timing.h
+++ b/WebCore/page/Timing.h
@@ -66,7 +66,8 @@ public:
     unsigned long long responseEnd() const;
     unsigned long long domLoading() const;
     unsigned long long domInteractive() const;
-    unsigned long long domContentLoaded() const;
+    unsigned long long domContentLoadedStart() const;
+    unsigned long long domContentLoadedEnd() const;
     unsigned long long domComplete() const;
     unsigned long long loadEventStart() const;
     unsigned long long loadEventEnd() const;
diff --git a/WebCore/page/Timing.idl b/WebCore/page/Timing.idl
index 00d3e24..a5ab1eb 100644
--- a/WebCore/page/Timing.idl
+++ b/WebCore/page/Timing.idl
@@ -47,7 +47,8 @@ module window {
         readonly attribute unsigned long long responseEnd;
         readonly attribute unsigned long long domLoading;
         readonly attribute unsigned long long domInteractive;
-        readonly attribute unsigned long long domContentLoaded;
+        readonly attribute unsigned long long domContentLoadedStart;
+        readonly attribute unsigned long long domContentLoadedEnd;
         readonly attribute unsigned long long domComplete;
         readonly attribute unsigned long long loadEventStart;
         readonly attribute unsigned long long loadEventEnd;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list