Title: [265243] trunk
Revision
265243
Author
commit-qu...@webkit.org
Date
2020-08-04 00:40:12 -0700 (Tue, 04 Aug 2020)

Log Message

Performance.getEntriesByName/Type should match case sensitive
https://bugs.webkit.org/show_bug.cgi?id=214960

Patch by Rob Buis <rb...@igalia.com> on 2020-08-04
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Import relevant test.

* web-platform-tests/performance-timeline/case-sensitivity.any-expected.txt: Added.
* web-platform-tests/performance-timeline/case-sensitivity.any.html: Added.
* web-platform-tests/performance-timeline/case-sensitivity.any.js: Added.
(test):
* web-platform-tests/performance-timeline/case-sensitivity.any.worker-expected.txt: Added.
* web-platform-tests/performance-timeline/case-sensitivity.any.worker.html: Added.

Source/WebCore:

Performance.getEntriesByName/Type should match case sensitive [1].

Behavior matches Firefox and Chrome.

Tests: imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.html
       imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.worker.html

[1] https://w3c.github.io/performance-timeline/#getentriesbytype-method

* page/Performance.cpp:
(WebCore::Performance::getEntriesByType const):
(WebCore::Performance::getEntriesByName const):

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (265242 => 265243)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2020-08-04 05:57:39 UTC (rev 265242)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2020-08-04 07:40:12 UTC (rev 265243)
@@ -1,3 +1,19 @@
+2020-08-04  Rob Buis  <rb...@igalia.com>
+
+        Performance.getEntriesByName/Type should match case sensitive
+        https://bugs.webkit.org/show_bug.cgi?id=214960
+
+        Reviewed by Youenn Fablet.
+
+        Import relevant test.
+
+        * web-platform-tests/performance-timeline/case-sensitivity.any-expected.txt: Added.
+        * web-platform-tests/performance-timeline/case-sensitivity.any.html: Added.
+        * web-platform-tests/performance-timeline/case-sensitivity.any.js: Added.
+        (test):
+        * web-platform-tests/performance-timeline/case-sensitivity.any.worker-expected.txt: Added.
+        * web-platform-tests/performance-timeline/case-sensitivity.any.worker.html: Added.
+
 2020-08-03  Lauro Moura  <lmo...@igalia.com>
 
         [GTK][WPE] Gardening some failures and rebaseline.

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any-expected.txt (0 => 265243)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any-expected.txt	2020-08-04 07:40:12 UTC (rev 265243)
@@ -0,0 +1,4 @@
+
+PASS getEntriesByType values are case sensitive 
+PASS getEntriesByName values are case sensitive 
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.html (0 => 265243)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.html	2020-08-04 07:40:12 UTC (rev 265243)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.js (0 => 265243)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.js	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.js	2020-08-04 07:40:12 UTC (rev 265243)
@@ -0,0 +1,29 @@
+  test(function () {
+    assert_equals(typeof self.performance, "object");
+    assert_equals(typeof self.performance.getEntriesByType, "function");
+    var lowerList = self.performance.getEntriesByType("resource");
+    var upperList = self.performance.getEntriesByType("RESOURCE");
+    var mixedList = self.performance.getEntriesByType("ReSoUrCe");
+
+    assert_not_equals(lowerList.length, 0, "Resource entries exist");
+    assert_equals(upperList.length, 0, "getEntriesByType('RESOURCE').length");
+    assert_equals(mixedList.length, 0, "getEntriesByType('ReSoUrCe').length");
+
+  }, "getEntriesByType values are case sensitive");
+
+  test(function () {
+    assert_equals(typeof self.performance, "object");
+    assert_equals(typeof self.performance.getEntriesByName, "function");
+    var origin = self.location.protocol + "//" + self.location.host;
+    var location1 = origin.toUpperCase() + "/resources/testharness.js";
+    var location2 = self.location.protocol + "//"
+     + self.location.host.toUpperCase() + "/resources/testharness.js";
+    var lowerList = self.performance.getEntriesByName(origin + "/resources/testharness.js");
+    var upperList = self.performance.getEntriesByName(location1);
+    var mixedList = self.performance.getEntriesByName(location2);
+
+    assert_equals(lowerList.length, 1, "Resource entry exist");
+    assert_equals(upperList.length, 0, "getEntriesByName('" + location1 + "').length");
+    assert_equals(mixedList.length, 0, "getEntriesByName('" + location2 + "').length");
+
+  }, "getEntriesByName values are case sensitive");

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.worker-expected.txt (0 => 265243)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.worker-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.worker-expected.txt	2020-08-04 07:40:12 UTC (rev 265243)
@@ -0,0 +1,4 @@
+
+PASS getEntriesByType values are case sensitive 
+PASS getEntriesByName values are case sensitive 
+

Added: trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.worker.html (0 => 265243)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.worker.html	                        (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.worker.html	2020-08-04 07:40:12 UTC (rev 265243)
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file

Modified: trunk/Source/WebCore/ChangeLog (265242 => 265243)


--- trunk/Source/WebCore/ChangeLog	2020-08-04 05:57:39 UTC (rev 265242)
+++ trunk/Source/WebCore/ChangeLog	2020-08-04 07:40:12 UTC (rev 265243)
@@ -1,3 +1,23 @@
+2020-08-04  Rob Buis  <rb...@igalia.com>
+
+        Performance.getEntriesByName/Type should match case sensitive
+        https://bugs.webkit.org/show_bug.cgi?id=214960
+
+        Reviewed by Youenn Fablet.
+
+        Performance.getEntriesByName/Type should match case sensitive [1].
+
+        Behavior matches Firefox and Chrome.
+
+        Tests: imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.html
+               imported/w3c/web-platform-tests/performance-timeline/case-sensitivity.any.worker.html
+
+        [1] https://w3c.github.io/performance-timeline/#getentriesbytype-method
+
+        * page/Performance.cpp:
+        (WebCore::Performance::getEntriesByType const):
+        (WebCore::Performance::getEntriesByName const):
+
 2020-08-03  Simon Fraser  <simon.fra...@apple.com>
 
         m_isEditableRegionEnabled should be reset in didCommitLoad, not didFinishLoad

Modified: trunk/Source/WebCore/page/Performance.cpp (265242 => 265243)


--- trunk/Source/WebCore/page/Performance.cpp	2020-08-04 05:57:39 UTC (rev 265242)
+++ trunk/Source/WebCore/page/Performance.cpp	2020-08-04 07:40:12 UTC (rev 265243)
@@ -140,16 +140,16 @@
 {
     Vector<RefPtr<PerformanceEntry>> entries;
 
-    if (equalLettersIgnoringASCIICase(entryType, "resource"))
+    if (entryType == "resource")
         entries.appendVector(m_resourceTimingBuffer);
 
-    if (m_firstContentfulPaint && equalLettersIgnoringASCIICase(entryType, "paint"))
+    if (m_firstContentfulPaint && entryType == "paint")
         entries.append(m_firstContentfulPaint);
 
     if (m_userTiming) {
-        if (equalLettersIgnoringASCIICase(entryType, "mark"))
+        if (entryType == "mark")
             entries.appendVector(m_userTiming->getMarks());
-        else if (equalLettersIgnoringASCIICase(entryType, "measure"))
+        else if (entryType == "measure")
             entries.appendVector(m_userTiming->getMeasures());
     }
 
@@ -161,7 +161,7 @@
 {
     Vector<RefPtr<PerformanceEntry>> entries;
 
-    if (entryType.isNull() || equalLettersIgnoringASCIICase(entryType, "resource")) {
+    if (entryType.isNull() || entryType == "resource") {
         for (auto& resource : m_resourceTimingBuffer) {
             if (resource->name() == name)
                 entries.append(resource);
@@ -168,13 +168,13 @@
         }
     }
 
-    if (m_firstContentfulPaint && (entryType.isNull() || equalLettersIgnoringASCIICase(entryType, "paint")) && name == "first-contentful-paint")
+    if (m_firstContentfulPaint && (entryType.isNull() || entryType == "paint") && name == "first-contentful-paint")
         entries.append(m_firstContentfulPaint);
 
     if (m_userTiming) {
-        if (entryType.isNull() || equalLettersIgnoringASCIICase(entryType, "mark"))
+        if (entryType.isNull() || entryType == "mark")
             entries.appendVector(m_userTiming->getMarks(name));
-        if (entryType.isNull() || equalLettersIgnoringASCIICase(entryType, "measure"))
+        if (entryType.isNull() || entryType == "measure")
             entries.appendVector(m_userTiming->getMeasures(name));
     }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to