[webkit-changes] [221719] trunk/Source/WebCore
Title: [221719] trunk/Source/WebCore Revision 221719 Author carlo...@webkit.org Date 2017-09-06 23:20:58 -0700 (Wed, 06 Sep 2017) Log Message Unreviewed. Temporary disable the changes introduced in r221670 for WPE. It caused a lot of test failures. Once WPE upgrades to Freetype 2.8 and removes the 2.4.11 patch, we can enable it again. * platform/graphics/freetype/SimpleFontDataFreeType.cpp: (WebCore::Font::platformInit): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (221718 => 221719) --- trunk/Source/WebCore/ChangeLog 2017-09-07 05:58:32 UTC (rev 221718) +++ trunk/Source/WebCore/ChangeLog 2017-09-07 06:20:58 UTC (rev 221719) @@ -1,3 +1,13 @@ +2017-09-06 Carlos Garcia Campos + +Unreviewed. Temporary disable the changes introduced in r221670 for WPE. + +It caused a lot of test failures. Once WPE upgrades to Freetype 2.8 and removes the 2.4.11 patch, we can enable +it again. + +* platform/graphics/freetype/SimpleFontDataFreeType.cpp: +(WebCore::Font::platformInit): + 2017-09-06 Zan Dobersek [GStreamer] Implement MediaPlayerPrivateGStreamerMSE::attempToDecryptWithInstance() Modified: trunk/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp (221718 => 221719) --- trunk/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp 2017-09-07 05:58:32 UTC (rev 221718) +++ trunk/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp 2017-09-07 06:20:58 UTC (rev 221719) @@ -54,6 +54,8 @@ namespace WebCore { +// FIXME: Remove this ifdef once WPE upgrqades to Freetype 2.8 and removes the patch for 2.4.11. +#if !PLATFORM(WPE) static RefPtr scaledFontWithoutMetricsHinting(cairo_scaled_font_t* scaledFont) { CairoUniquePtr fontOptions(cairo_font_options_create()); @@ -65,6 +67,7 @@ cairo_scaled_font_get_ctm(scaledFont, &fontCTM); return adoptRef(cairo_scaled_font_create(cairo_scaled_font_get_font_face(scaledFont), &fontMatrix, &fontCTM, fontOptions.get())); } +#endif void Font::platformInit() { @@ -72,6 +75,11 @@ return; ASSERT(m_platformData.scaledFont()); +// FIXME: Remove this ifdef once WPE upgrqades to Freetype 2.8 and removes the patch for 2.4.11. +#if PLATFORM(WPE) +cairo_font_extents_t fontExtents; +cairo_scaled_font_extents(m_platformData.scaledFont(), &fontExtents); +#else // Temporarily create a clone that doesn't have metrics hinting in order to avoid incorrect // rounding resulting in incorrect baseline positioning since the sum of ascent and descent // becomes larger than the line height. @@ -78,6 +86,7 @@ auto fontWithoutMetricsHinting = scaledFontWithoutMetricsHinting(m_platformData.scaledFont()); cairo_font_extents_t fontExtents; cairo_scaled_font_extents(fontWithoutMetricsHinting.get(), &fontExtents); +#endif float ascent = narrowPrecisionToFloat(fontExtents.ascent); float descent = narrowPrecisionToFloat(fontExtents.descent); @@ -106,7 +115,12 @@ m_fontMetrics.setAscent(ascent); m_fontMetrics.setDescent(descent); m_fontMetrics.setCapHeight(capHeight); +// FIXME: Remove this ifdef once WPE upgrqades to Freetype 2.8 and removes the patch for 2.4.11. +#if PLATFORM(WPE) +m_fontMetrics.setLineSpacing(lroundf(ascent) + lroundf(descent) + lroundf(lineGap)); +#else m_fontMetrics.setLineSpacing(ascent + descent + lineGap); +#endif m_fontMetrics.setLineGap(lineGap); cairo_text_extents_t textExtents; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221718] trunk/Source/WebCore
Title: [221718] trunk/Source/WebCore Revision 221718 Author zandober...@gmail.com Date 2017-09-06 22:58:32 -0700 (Wed, 06 Sep 2017) Log Message [GStreamer] Implement MediaPlayerPrivateGStreamerMSE::attempToDecryptWithInstance() https://bugs.webkit.org/show_bug.cgi?id=176445 Reviewed by Xabier Rodriguez-Calvar. Implement MediaPlayerPrivateGStreamerMSE::attempToDecryptWithInstance(), also adding support for dispatching ClearKey keys into the append pipelines. CDMInstanceClearKey::Key is added, containing key ID and value buffers as well as the key status value. Vector of keys for a specific CDMInstance is accessible through the CDMInstanceClearKey::keys() getter. In MediaPlayerPrivateGStreamerMSE, that Vector is retrieved and then iterated over, constructing corresponding key ID and key value lists that contain GstBuffer objects into which each key ID and value data is copied. Both lists are then set on the 'drm-cipher-clearkey' structure before it's dispatched against each AppendPipeline object. * platform/encryptedmedia/clearkey/CDMClearKey.h: * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp: (WebCore::MediaPlayerPrivateGStreamerMSE::attemptToDecryptWithInstance): * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h Diff Modified: trunk/Source/WebCore/ChangeLog (221717 => 221718) --- trunk/Source/WebCore/ChangeLog 2017-09-07 04:23:35 UTC (rev 221717) +++ trunk/Source/WebCore/ChangeLog 2017-09-07 05:58:32 UTC (rev 221718) @@ -1,3 +1,28 @@ +2017-09-06 Zan Dobersek + +[GStreamer] Implement MediaPlayerPrivateGStreamerMSE::attempToDecryptWithInstance() +https://bugs.webkit.org/show_bug.cgi?id=176445 + +Reviewed by Xabier Rodriguez-Calvar. + +Implement MediaPlayerPrivateGStreamerMSE::attempToDecryptWithInstance(), also +adding support for dispatching ClearKey keys into the append pipelines. + +CDMInstanceClearKey::Key is added, containing key ID and value buffers as well +as the key status value. Vector of keys for a specific CDMInstance is +accessible through the CDMInstanceClearKey::keys() getter. + +In MediaPlayerPrivateGStreamerMSE, that Vector is retrieved and then iterated +over, constructing corresponding key ID and key value lists that contain +GstBuffer objects into which each key ID and value data is copied. Both lists +are then set on the 'drm-cipher-clearkey' structure before it's dispatched +against each AppendPipeline object. + +* platform/encryptedmedia/clearkey/CDMClearKey.h: +* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp: +(WebCore::MediaPlayerPrivateGStreamerMSE::attemptToDecryptWithInstance): +* platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h: + 2017-09-06 Joseph Pecoraro Fetch's Response.statusText is unexpectedly the full http status line for HTTP/2 responses Modified: trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h (221717 => 221718) --- trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h 2017-09-07 04:23:35 UTC (rev 221717) +++ trunk/Source/WebCore/platform/encryptedmedia/clearkey/CDMClearKey.h 2017-09-07 05:58:32 UTC (rev 221718) @@ -33,6 +33,7 @@ #include "CDMFactory.h" #include "CDMInstance.h" #include "CDMPrivate.h" +#include "SharedBuffer.h" namespace WebCore { @@ -91,6 +92,17 @@ void storeRecordOfKeyUsage(const String&) override; const String& keySystem() const final; + +struct Key { +KeyStatus status; +RefPtr keyIDData; +RefPtr keyValueData; +}; + +const Vector& keys() const { return m_keys; } + +private: +Vector m_keys; }; } // namespace WebCore Modified: trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp (221717 => 221718) --- trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp 2017-09-07 04:23:35 UTC (rev 221717) +++ trunk/Source/WebCore/platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp 2017-09-07 05:58:32 UTC (rev 221718) @@ -53,6 +53,11 @@ #include #include +#if ENABLE(ENCRYPTED_MEDIA) +#include "CDMClearKey.h" +#include "SharedBuffer.h" +#endif + static const char* dumpReadyState(WebCore::MediaPlayer::ReadyState readyState) { switch (readyState) { @@ -927,6 +932,43 @@ return result; } +#if ENABLE(ENCRYPTED_MEDIA) +void MediaPlayerPrivateGStreamerMSE::attemptToDecryptWithInstance(const CDMInstance& instance) +{ +if (is(instance)) { +auto& ckInstance = downcast(instance); +if (ckInstance.keys().isEmpty()) +
[webkit-changes] [221717] trunk/Websites/perf.webkit.org
Title: [221717] trunk/Websites/perf.webkit.org Revision 221717 Author aakash_j...@apple.com Date 2017-09-06 21:23:35 -0700 (Wed, 06 Sep 2017) Log Message Add initSyncers method in BuildbotTriggerable https://bugs.webkit.org/show_bug.cgi?id=176125 Reviewed by Ryosuke Niwa. * tools/sync-buildbot.js: (syncLoop): Use initSyncers() which returns a promise. Modified to handle the promise. * tools/js/buildbot-triggerable.js: (BuildbotTriggerable): Invokes initSyncers() appropriately. (BuildbotTriggerable.prototype.initSyncers): Returns a promise which initialize all the syncers. * server-tests/tools-buildbot-triggerable-tests.js: Updated tests to handle initSyncers(). * server-tests/tools-sync-buildbot-integration-tests.js: Ditto. Modified Paths trunk/Websites/perf.webkit.org/ChangeLog trunk/Websites/perf.webkit.org/server-tests/tools-buildbot-triggerable-tests.js trunk/Websites/perf.webkit.org/server-tests/tools-sync-buildbot-integration-tests.js trunk/Websites/perf.webkit.org/tools/js/buildbot-triggerable.js trunk/Websites/perf.webkit.org/tools/sync-buildbot.js Diff Modified: trunk/Websites/perf.webkit.org/ChangeLog (221716 => 221717) --- trunk/Websites/perf.webkit.org/ChangeLog 2017-09-07 04:05:25 UTC (rev 221716) +++ trunk/Websites/perf.webkit.org/ChangeLog 2017-09-07 04:23:35 UTC (rev 221717) @@ -1,3 +1,18 @@ +2017-09-06 Aakash Jain + +Add initSyncers method in BuildbotTriggerable +https://bugs.webkit.org/show_bug.cgi?id=176125 + +Reviewed by Ryosuke Niwa. + +* tools/sync-buildbot.js: +(syncLoop): Use initSyncers() which returns a promise. Modified to handle the promise. +* tools/js/buildbot-triggerable.js: +(BuildbotTriggerable): Invokes initSyncers() appropriately. +(BuildbotTriggerable.prototype.initSyncers): Returns a promise which initialize all the syncers. +* server-tests/tools-buildbot-triggerable-tests.js: Updated tests to handle initSyncers(). +* server-tests/tools-sync-buildbot-integration-tests.js: Ditto. + 2017-09-05 Ryosuke Niwa Add a button to show two weeks of data to perf dashboard Modified: trunk/Websites/perf.webkit.org/server-tests/tools-buildbot-triggerable-tests.js (221716 => 221717) --- trunk/Websites/perf.webkit.org/server-tests/tools-buildbot-triggerable-tests.js 2017-09-07 04:05:25 UTC (rev 221716) +++ trunk/Websites/perf.webkit.org/server-tests/tools-buildbot-triggerable-tests.js 2017-09-07 04:23:35 UTC (rev 221717) @@ -35,7 +35,7 @@ const logger = new MockLogger; const slaveInfo = {name: 'sync-slave', password: 'password'}; const triggerable = new BuildbotTriggerable(config, TestServer.remoteAPI(), MockRemoteAPI, slaveInfo, logger); -syncPromise = triggerable.syncOnce(); +syncPromise = triggerable.initSyncers().then(() => triggerable.syncOnce()); return MockRemoteAPI.waitForRequest(); }).then(() => { assert.equal(BuildRequest.all().length, 4); @@ -89,7 +89,7 @@ let logger = new MockLogger; let slaveInfo = {name: 'sync-slave', password: 'password'}; let triggerable = new BuildbotTriggerable(config, TestServer.remoteAPI(), MockRemoteAPI, slaveInfo, logger); -syncPromise = triggerable.syncOnce(); +syncPromise = triggerable.initSyncers().then(() => triggerable.syncOnce()); return MockRemoteAPI.waitForRequest(); }).then(() => { assert.equal(MockRemoteAPI.requests[0].method, 'GET'); @@ -137,7 +137,7 @@ const logger = new MockLogger; const slaveInfo = {name: 'sync-slave', password: 'password'}; const triggerable = new BuildbotTriggerable(config, TestServer.remoteAPI(), MockRemoteAPI, slaveInfo, logger); -syncPromise = triggerable.syncOnce(); +syncPromise = triggerable.initSyncers().then(() => triggerable.syncOnce()); return MockRemoteAPI.waitForRequest(); }).then(() => { assert.equal(MockRemoteAPI.requests.length, 2); @@ -216,7 +216,7 @@ let logger = new MockLogger; let slaveInfo = {name: 'sync-slave', password: 'password'}; let triggerable = new BuildbotTriggerable(config, TestServer.remoteAPI(), MockRemoteAPI, slaveInfo, logger); -syncPromise = triggerable.syncOnce(); +syncPromise = triggerable.initSyncers().then(() => triggerable.syncOnce()); return MockRemoteAPI.waitForRequest(); }).then(() => { assert.equal(MockRemoteAPI.requests.length, 2); @@ -288,7 +288,7 @@ const logger = new MockLogger; const slaveInfo = {name: 'sync-slave', password: 'password'}; const triggerable = new BuildbotTriggerable(config,
[webkit-changes] [221716] trunk
Title: [221716] trunk Revision 221716 Author commit-qu...@webkit.org Date 2017-09-06 21:05:25 -0700 (Wed, 06 Sep 2017) Log Message Fetch's Response.statusText is unexpectedly the full http status line for HTTP/2 responses https://bugs.webkit.org/show_bug.cgi?id=176479 Patch by Joseph Pecoraro on 2017-09-06 Reviewed by Alexey Proskuryakov. Source/WebCore: Test: http/wpt/fetch/response-status-text.html HTTP/2 doesn't include a status reason phrase. So the "status line" ends up just being the version and status code. Fallback to the empty string instead of the full line. * platform/network/HTTPParsers.cpp: (WebCore::extractReasonPhraseFromHTTPStatusLine): LayoutTests: * http/wpt/fetch/resources/status-garbage.asis: Added. * http/wpt/fetch/resources/status-normal.txt: Added. * http/wpt/fetch/resources/status-with-message.asis: Added. * http/wpt/fetch/resources/status-without-message.asis: Added. Various text HTTP responses with different status lines. * http/wpt/fetch/response-status-text-expected.txt: Added. * http/wpt/fetch/response-status-text.html: Added. Test the Fetch Response's status / statusText for different HTTP status lines. The status without a message is similiar to HTTP/2 because HTTP/2 only has a :status pseudo-header and lacks a reason phrase. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/HTTPParsers.cpp Added Paths trunk/LayoutTests/http/wpt/fetch/resources/ trunk/LayoutTests/http/wpt/fetch/resources/status-garbage.asis trunk/LayoutTests/http/wpt/fetch/resources/status-normal.txt trunk/LayoutTests/http/wpt/fetch/resources/status-with-message.asis trunk/LayoutTests/http/wpt/fetch/resources/status-without-message.asis trunk/LayoutTests/http/wpt/fetch/response-status-text-expected.txt trunk/LayoutTests/http/wpt/fetch/response-status-text.html Diff Modified: trunk/LayoutTests/ChangeLog (221715 => 221716) --- trunk/LayoutTests/ChangeLog 2017-09-07 04:02:16 UTC (rev 221715) +++ trunk/LayoutTests/ChangeLog 2017-09-07 04:05:25 UTC (rev 221716) @@ -1,3 +1,22 @@ +2017-09-06 Joseph Pecoraro + +Fetch's Response.statusText is unexpectedly the full http status line for HTTP/2 responses +https://bugs.webkit.org/show_bug.cgi?id=176479 + +Reviewed by Alexey Proskuryakov. + +* http/wpt/fetch/resources/status-garbage.asis: Added. +* http/wpt/fetch/resources/status-normal.txt: Added. +* http/wpt/fetch/resources/status-with-message.asis: Added. +* http/wpt/fetch/resources/status-without-message.asis: Added. +Various text HTTP responses with different status lines. + +* http/wpt/fetch/response-status-text-expected.txt: Added. +* http/wpt/fetch/response-status-text.html: Added. +Test the Fetch Response's status / statusText for different HTTP status lines. +The status without a message is similiar to HTTP/2 because HTTP/2 only +has a :status pseudo-header and lacks a reason phrase. + 2017-09-06 Youenn Fablet NetworkProcess Cache and Caches should be cleared when the last related WebProcess Cache or CacheStorage is destroyed Added: trunk/LayoutTests/http/wpt/fetch/resources/status-garbage.asis (0 => 221716) --- trunk/LayoutTests/http/wpt/fetch/resources/status-garbage.asis (rev 0) +++ trunk/LayoutTests/http/wpt/fetch/resources/status-garbage.asis 2017-09-07 04:05:25 UTC (rev 221716) @@ -0,0 +1 @@ +ALPHA BETA Added: trunk/LayoutTests/http/wpt/fetch/resources/status-normal.txt (0 => 221716) --- trunk/LayoutTests/http/wpt/fetch/resources/status-normal.txt (rev 0) +++ trunk/LayoutTests/http/wpt/fetch/resources/status-normal.txt 2017-09-07 04:05:25 UTC (rev 221716) @@ -0,0 +1 @@ +Intentionally empty. Added: trunk/LayoutTests/http/wpt/fetch/resources/status-with-message.asis (0 => 221716) --- trunk/LayoutTests/http/wpt/fetch/resources/status-with-message.asis (rev 0) +++ trunk/LayoutTests/http/wpt/fetch/resources/status-with-message.asis 2017-09-07 04:05:25 UTC (rev 221716) @@ -0,0 +1 @@ +HTTP/1.1 200 Alpha Added: trunk/LayoutTests/http/wpt/fetch/resources/status-without-message.asis (0 => 221716) --- trunk/LayoutTests/http/wpt/fetch/resources/status-without-message.asis (rev 0) +++ trunk/LayoutTests/http/wpt/fetch/resources/status-without-message.asis 2017-09-07 04:05:25 UTC (rev 221716) @@ -0,0 +1 @@ +HTTP/1.1 200 Added: trunk/LayoutTests/http/wpt/fetch/response-status-text-expected.txt (0 => 221716) --- trunk/LayoutTests/http/wpt/fetch/response-status-text-expected.txt (rev 0) +++ trunk/LayoutTests/http/wpt/fetch/response-status-text-expected.txt 2017-09-07 04:05:25 UTC (rev 221716) @@ -0,0 +1,6 @@ + +PASS Normal status text. +PASS Abnormal status text. +PASS Empty status text. +PASS Garbage status line. + Added: trunk/LayoutTests/http/wpt/fetch/response-status-text.
[webkit-changes] [221715] trunk/Tools
Title: [221715] trunk/Tools Revision 221715 Author commit-qu...@webkit.org Date 2017-09-06 21:02:16 -0700 (Wed, 06 Sep 2017) Log Message Remove new-run-webkit-httpd as it appears to be old https://bugs.webkit.org/show_bug.cgi?id=176493 Patch by Joseph Pecoraro on 2017-09-06 Reviewed by Alexey Proskuryakov. * Scripts/new-run-webkit-httpd: Removed. Modified Paths trunk/Tools/ChangeLog Removed Paths trunk/Tools/Scripts/new-run-webkit-httpd Diff Modified: trunk/Tools/ChangeLog (221714 => 221715) --- trunk/Tools/ChangeLog 2017-09-07 03:42:39 UTC (rev 221714) +++ trunk/Tools/ChangeLog 2017-09-07 04:02:16 UTC (rev 221715) @@ -1,3 +1,12 @@ +2017-09-06 Joseph Pecoraro + +Remove new-run-webkit-httpd as it appears to be old +https://bugs.webkit.org/show_bug.cgi?id=176493 + +Reviewed by Alexey Proskuryakov. + +* Scripts/new-run-webkit-httpd: Removed. + 2017-09-06 Alex Christensen Add WKUIDelegatePrivate equivalent of WKPageUIClient's pageDidScroll Deleted: trunk/Tools/Scripts/new-run-webkit-httpd (221714 => 221715) --- trunk/Tools/Scripts/new-run-webkit-httpd 2017-09-07 03:42:39 UTC (rev 221714) +++ trunk/Tools/Scripts/new-run-webkit-httpd 2017-09-07 04:02:16 UTC (rev 221715) @@ -1,99 +0,0 @@ -#!/usr/bin/env python -# Copyright (C) 2010 Google Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -"""A utility script for starting and stopping the HTTP server with the - same configuration as used in the layout tests.""" - -# -# FIXME: currently this code only works with the Chromium ports and LigHTTPd. -# It should be made to work on all ports. -# -# This script is also used by Chromium's ui_tests to run http layout tests -# in a browser. -# -import optparse -import os -import sys -import tempfile - -import webkitpy.common.version_check - -from webkitpy.common.host import Host -from webkitpy.layout_tests.servers import http_server - - -def run(options): -if not options.server: -print ('Usage: %s --server {start|stop} [--root=root_dir]' - ' [--port=port_number]' % sys.argv[0]) -else: -if (options.root is None) and (options.port is not None): -# specifying root but not port means we want httpd on default -# set of ports that LayoutTest use, but pointing to a different -# source of tests. Specifying port but no root does not seem -# meaningful. -raise 'Specifying port requires also a root.' -host = Host() -# FIXME: Make this work with other ports as well. -port_obj = host.port_factory.get(port_name='win', options=options) -httpd = http_server.Lighttpd(port_obj, - tempfile.gettempdir(), - port=options.port, - root=options.root, - run_background=options.run_background, - layout_tests_dir=options.layout_tests_dir) -if options.server == 'start': -httpd.start() -else: -httpd.stop() - - -def main(): -option_parser = optparse.OptionParser() -option_parser.add_option('-k', '--server', -help='Server action (start|stop)') -option_parser.add_option('-p', '--port', -help='Port to listen on (overrides layout test ports)') -option_parser.add_option('-r', '--root', -help='Absolute path to DocumentRoot (overrides layout test roots)
[webkit-changes] [221714] trunk
Title: [221714] trunk Revision 221714 Author achristen...@apple.com Date 2017-09-06 20:42:39 -0700 (Wed, 06 Sep 2017) Log Message Add WKUIDelegatePrivate equivalent of WKPageUIClient's pageDidScroll https://bugs.webkit.org/show_bug.cgi?id=176482 Reviewed by Tim Horton. Source/WebKit: Covered by a new API test! * UIProcess/API/Cocoa/WKUIDelegatePrivate.h: * UIProcess/Cocoa/UIDelegate.h: * UIProcess/Cocoa/UIDelegate.mm: (WebKit::UIDelegate::setDelegate): (WebKit::UIDelegate::UIClient::pageDidScroll): Tools: * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm: (-[DidScrollDelegate _webViewDidScroll:]): (TEST): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.h trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm Diff Modified: trunk/Source/WebKit/ChangeLog (221713 => 221714) --- trunk/Source/WebKit/ChangeLog 2017-09-07 03:29:21 UTC (rev 221713) +++ trunk/Source/WebKit/ChangeLog 2017-09-07 03:42:39 UTC (rev 221714) @@ -1,3 +1,19 @@ +2017-09-06 Alex Christensen + +Add WKUIDelegatePrivate equivalent of WKPageUIClient's pageDidScroll +https://bugs.webkit.org/show_bug.cgi?id=176482 + + +Reviewed by Tim Horton. + +Covered by a new API test! + +* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: +* UIProcess/Cocoa/UIDelegate.h: +* UIProcess/Cocoa/UIDelegate.mm: +(WebKit::UIDelegate::setDelegate): +(WebKit::UIDelegate::UIClient::pageDidScroll): + 2017-09-06 Youenn Fablet NetworkProcess Cache and Caches should be cleared when the last related WebProcess Cache or CacheStorage is destroyed Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h (221713 => 221714) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h 2017-09-07 03:29:21 UTC (rev 221713) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h 2017-09-07 03:42:39 UTC (rev 221714) @@ -152,6 +152,7 @@ - (void)_showWebView:(WKWebView *)webView WK_API_AVAILABLE(macosx(WK_MAC_TBA)); - (void)_focusWebView:(WKWebView *)webView WK_API_AVAILABLE(macosx(WK_MAC_TBA)); - (void)_unfocusWebView:(WKWebView *)webView WK_API_AVAILABLE(macosx(WK_MAC_TBA)); +- (void)_webViewDidScroll:(WKWebView *)webView WK_API_AVAILABLE(macosx(WK_MAC_TBA)); - (void)_webView:(WKWebView *)webView takeFocus:(_WKFocusDirection)direction WK_API_AVAILABLE(macosx(WK_MAC_TBA)); - (void)_webView:(WKWebView *)webView didNotHandleWheelEvent:(NSEvent *)event WK_API_AVAILABLE(macosx(WK_MAC_TBA)); - (void)_webView:(WKWebView *)webView handleAutoplayEvent:(_WKAutoplayEvent)event withFlags:(_WKAutoplayEventFlags)flags WK_API_AVAILABLE(macosx(WK_MAC_TBA)); Modified: trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.h (221713 => 221714) --- trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.h 2017-09-07 03:29:21 UTC (rev 221713) +++ trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.h 2017-09-07 03:42:39 UTC (rev 221714) @@ -100,6 +100,7 @@ void takeFocus(WebPageProxy*, WKFocusDirection) final; void focus(WebPageProxy*) final; void unfocus(WebPageProxy*) final; +void pageDidScroll(WebPageProxy*) final; void didNotHandleWheelEvent(WebPageProxy*, const NativeWebWheelEvent&) final; void handleAutoplayEvent(WebPageProxy&, WebCore::AutoplayEvent, OptionSet) final; void unavailablePluginButtonClicked(WebKit::WebPageProxy&, WKPluginUnavailabilityReason, API::Dictionary&) final; @@ -152,6 +153,7 @@ bool focusWebView : 1; bool unfocusWebView : 1; bool webViewTakeFocus : 1; +bool webViewDidScroll : 1; bool webViewDidNotHandleWheelEvent : 1; bool webViewHandleAutoplayEventWithFlags : 1; bool webViewUnavailablePlugInButtonClicked : 1; Modified: trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm (221713 => 221714) --- trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm 2017-09-07 03:29:21 UTC (rev 221713) +++ trunk/Source/WebKit/UIProcess/Cocoa/UIDelegate.mm 2017-09-07 03:42:39 UTC (rev 221714) @@ -109,6 +109,7 @@ m_delegateMethods.focusWebView = [delegate respondsToSelector:@selector(_focusWebView:)]; m_delegateMethods.unfocusWebView = [delegate respondsToSelector:@selector(_unfocusWebView:)]; m_delegateMethods.webViewTakeFocus = [delegate respondsToSelector:@selector(_webView:takeFocus:)]; +m_delegateMethods.webViewDidScroll = [delegate respondsToSelector:@selector(_webViewDidScroll:)]; m_delegateMethods.webViewGetToolbarsAreVisibleWithCompletionHandler = [delegate respondsToSelector:@selector(_webView:getToolbarsAreVisibleWithCompletionHandler:)]; m_delegateMethods.webViewDidNotHandleWheelEvent = [delegate respondsToSelector:@selector(_webView:didNotHandleWheelEvent:)]; m_delegateMethods.webViewUnavailablePlugInButtonCl
[webkit-changes] [221713] trunk/Source/WebInspectorUI
Title: [221713] trunk/Source/WebInspectorUI Revision 221713 Author mattba...@apple.com Date 2017-09-06 20:29:21 -0700 (Wed, 06 Sep 2017) Log Message Web Inspector: Relax the maximum sidebar width https://bugs.webkit.org/show_bug.cgi?id=175808 Reviewed by Devin Rousso. This patch introduces a constant, `minimumContentBrowserWidth`, which constrains the maximum width of either sidebar: maxSidebarWidth = window.innerWidth - minimumContentBrowserWidth - otherSidebarWidth A value of 100px for `minimumContentBrowserWidth` leaves enough space for three NavigationItems at their minimum width (32px), with a few pixels left over for good measure. For most tabs this will ensure that the buttons for showing the sidebars will be visible, along with an addition button. * UserInterface/Base/Main.js: * UserInterface/Views/Sidebar.js: (WI.Sidebar.prototype.get maximumWidth): Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Base/Main.js trunk/Source/WebInspectorUI/UserInterface/Views/Sidebar.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (221712 => 221713) --- trunk/Source/WebInspectorUI/ChangeLog 2017-09-07 02:32:57 UTC (rev 221712) +++ trunk/Source/WebInspectorUI/ChangeLog 2017-09-07 03:29:21 UTC (rev 221713) @@ -1,3 +1,25 @@ +2017-09-06 Matt Baker + +Web Inspector: Relax the maximum sidebar width +https://bugs.webkit.org/show_bug.cgi?id=175808 + + +Reviewed by Devin Rousso. + +This patch introduces a constant, `minimumContentBrowserWidth`, which +constrains the maximum width of either sidebar: + +maxSidebarWidth = window.innerWidth - minimumContentBrowserWidth - otherSidebarWidth + +A value of 100px for `minimumContentBrowserWidth` leaves enough space for +three NavigationItems at their minimum width (32px), with a few pixels +left over for good measure. For most tabs this will ensure that the buttons +for showing the sidebars will be visible, along with an addition button. + +* UserInterface/Base/Main.js: +* UserInterface/Views/Sidebar.js: +(WI.Sidebar.prototype.get maximumWidth): + 2017-09-06 Devin Rousso Web Inspector: Support overloaded CanvasRenderingContext2D actions with identical parameter counts Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (221712 => 221713) --- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2017-09-07 02:32:57 UTC (rev 221712) +++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js 2017-09-07 03:29:21 UTC (rev 221713) @@ -1054,6 +1054,30 @@ this.detailsSidebar.collapsed = false; }; +WI.getMaximumSidebarWidth = function(sidebar) +{ +console.assert(sidebar instanceof WI.Sidebar); + +const minimumContentBrowserWidth = 100; + +let minimumWidth = window.innerWidth - minimumContentBrowserWidth; +let tabContentView = this.tabBrowser.selectedTabContentView; +console.assert(tabContentView); +if (!tabContentView) +return minimumWidth; + +let otherSidebar = null; +if (sidebar === this.navigationSidebar) +otherSidebar = tabContentView.detailsSidebarPanels.length ? this.detailsSidebar : null; +else +otherSidebar = tabContentView.navigationSidebarPanel ? this.navigationSidebar : null; + +if (otherSidebar) +minimumWidth -= otherSidebar.width; + +return minimumWidth; +}; + WI.tabContentViewClassForRepresentedObject = function(representedObject) { if (representedObject instanceof WI.DOMTree) Modified: trunk/Source/WebInspectorUI/UserInterface/Views/Sidebar.js (221712 => 221713) --- trunk/Source/WebInspectorUI/UserInterface/Views/Sidebar.js 2017-09-07 02:32:57 UTC (rev 221712) +++ trunk/Source/WebInspectorUI/UserInterface/Views/Sidebar.js 2017-09-07 03:29:21 UTC (rev 221713) @@ -168,9 +168,7 @@ get maximumWidth() { -// FIXME: This is kind of arbitrary and ideally would be a more complex calculation based on the -// available space for the sibling elements. -return Math.round(window.innerWidth / 3); +return WI.getMaximumSidebarWidth(this); } get width() ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221712] trunk
Title: [221712] trunk Revision 221712 Author eric.carl...@apple.com Date 2017-09-06 19:32:57 -0700 (Wed, 06 Sep 2017) Log Message Require LoggingHelper overrides to provide identifier https://bugs.webkit.org/show_bug.cgi?id=176477 Reviewed by Jer Noble. Source/WebCore: No new tests, updated API test. * html/HTMLMediaElement.cpp: (WebCore::nextLogIdentifier): New. (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_logIdendifier. LOGTHIS -> LOGIDENTIFIER. (WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto. * html/HTMLMediaElement.h: Source/WebCore/PAL: * pal/Logger.h: (PAL::Logger::LogSiteIdentifier::LogSiteIdentifier): (PAL::LogArgument::toString): (PAL::Logger::notice const): Deleted. (PAL::Logger::MethodAndPointer::MethodAndPointer): Deleted. (PAL::LogArgument::toString): Deleted. * pal/LoggerHelper.h: Source/WTF: * wtf/Assertions.cpp: No more WTFLogLevelNotice. * wtf/Assertions.h: Ditto. Tools: * TestWebKitAPI/Tests/WebCore/Logging.cpp: (TestWebKitAPI::TEST_F): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Assertions.cpp trunk/Source/WTF/wtf/Assertions.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/Logger.h trunk/Source/WebCore/PAL/pal/LoggerHelper.h trunk/Source/WebCore/html/HTMLMediaElement.cpp trunk/Source/WebCore/html/HTMLMediaElement.h trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebCore/Logging.cpp Diff Modified: trunk/Source/WTF/ChangeLog (221711 => 221712) --- trunk/Source/WTF/ChangeLog 2017-09-07 00:57:35 UTC (rev 221711) +++ trunk/Source/WTF/ChangeLog 2017-09-07 02:32:57 UTC (rev 221712) @@ -1,3 +1,13 @@ +2017-09-06 Eric Carlson + +Require LoggingHelper overrides to provide identifier +https://bugs.webkit.org/show_bug.cgi?id=176477 + +Reviewed by Jer Noble. + +* wtf/Assertions.cpp: No more WTFLogLevelNotice. +* wtf/Assertions.h: Ditto. + 2017-09-06 Per Arne Vollan [Win] WebCore failed to build, InbandTextTrackPrivateAVF: base class undefined. Modified: trunk/Source/WTF/wtf/Assertions.cpp (221711 => 221712) --- trunk/Source/WTF/wtf/Assertions.cpp 2017-09-07 00:57:35 UTC (rev 221711) +++ trunk/Source/WTF/wtf/Assertions.cpp 2017-09-07 02:32:57 UTC (rev 221712) @@ -569,8 +569,6 @@ logChannelLevel = WTFLogLevelError; else if (equalLettersIgnoringASCIICase(level, "warning")) logChannelLevel = WTFLogLevelWarning; -else if (equalLettersIgnoringASCIICase(level, "notice")) -logChannelLevel = WTFLogLevelNotice; else if (equalLettersIgnoringASCIICase(level, "info")) logChannelLevel = WTFLogLevelInfo; else if (equalLettersIgnoringASCIICase(level, "debug")) Modified: trunk/Source/WTF/wtf/Assertions.h (221711 => 221712) --- trunk/Source/WTF/wtf/Assertions.h 2017-09-07 00:57:35 UTC (rev 221711) +++ trunk/Source/WTF/wtf/Assertions.h 2017-09-07 02:32:57 UTC (rev 221712) @@ -148,7 +148,7 @@ #endif typedef enum { WTFLogChannelOff, WTFLogChannelOn, WTFLogChannelOnWithAccumulation } WTFLogChannelState; -typedef enum { WTFLogLevelAlways, WTFLogLevelError, WTFLogLevelWarning, WTFLogLevelNotice, WTFLogLevelInfo, WTFLogLevelDebug } WTFLogLevel; +typedef enum { WTFLogLevelAlways, WTFLogLevelError, WTFLogLevelWarning, WTFLogLevelInfo, WTFLogLevelDebug } WTFLogLevel; typedef struct { WTFLogChannelState state; Modified: trunk/Source/WebCore/ChangeLog (221711 => 221712) --- trunk/Source/WebCore/ChangeLog 2017-09-07 00:57:35 UTC (rev 221711) +++ trunk/Source/WebCore/ChangeLog 2017-09-07 02:32:57 UTC (rev 221712) @@ -1,3 +1,18 @@ +2017-09-06 Eric Carlson + +Require LoggingHelper overrides to provide identifier +https://bugs.webkit.org/show_bug.cgi?id=176477 + +Reviewed by Jer Noble. + +No new tests, updated API test. + +* html/HTMLMediaElement.cpp: +(WebCore::nextLogIdentifier): New. +(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_logIdendifier. LOGTHIS -> LOGIDENTIFIER. +(WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto. +* html/HTMLMediaElement.h: + 2017-09-06 Youenn Fablet NetworkProcess Cache and Caches should be cleared when the last related WebProcess Cache or CacheStorage is destroyed Modified: trunk/Source/WebCore/PAL/ChangeLog (221711 => 221712) --- trunk/Source/WebCore/PAL/ChangeLog 2017-09-07 00:57:35 UTC (rev 221711) +++ trunk/Source/WebCore/PAL/ChangeLog 2017-09-07 02:32:57 UTC (rev 221712) @@ -1,3 +1,18 @@ +2017-09-06 Eric Carlson + +Require LoggingHelper overrides to provide identifier +https://bugs.webkit.org/show_bug.cgi?id=176477 + +Reviewed by Jer Noble. + +* pal/Logger.h: +(PAL::Logger::LogSiteIdentifier::LogSiteIdentifier): +(PAL::LogArgument::toString): +(PAL::Logger::notice const): Deleted. +(PAL::Logger::MethodAndPointer::
[webkit-changes] [221711] trunk
Title: [221711] trunk Revision 221711 Author mark@apple.com Date 2017-09-06 17:57:35 -0700 (Wed, 06 Sep 2017) Log Message constructGenericTypedArrayViewWithArguments() is missing an exception check. https://bugs.webkit.org/show_bug.cgi?id=176485 Reviewed by Keith Miller. JSTests: * stress/regress-176485.js: Added. Source/_javascript_Core: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewWithArguments): Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewConstructorInlines.h Added Paths trunk/JSTests/stress/regress-176485.js Diff Modified: trunk/JSTests/ChangeLog (221710 => 221711) --- trunk/JSTests/ChangeLog 2017-09-07 00:03:13 UTC (rev 221710) +++ trunk/JSTests/ChangeLog 2017-09-07 00:57:35 UTC (rev 221711) @@ -1,3 +1,13 @@ +2017-09-06 Mark Lam + +constructGenericTypedArrayViewWithArguments() is missing an exception check. +https://bugs.webkit.org/show_bug.cgi?id=176485 + + +Reviewed by Keith Miller. + +* stress/regress-176485.js: Added. + 2017-09-05 Saam Barati isNotCellSpeculation is wrong with respect to SpecEmpty Added: trunk/JSTests/stress/regress-176485.js (0 => 221711) --- trunk/JSTests/stress/regress-176485.js (rev 0) +++ trunk/JSTests/stress/regress-176485.js 2017-09-07 00:57:35 UTC (rev 221711) @@ -0,0 +1,11 @@ +var exception; +try { +a2 = {};//some method ok//what ever object//Date() +Object.defineProperty(a2, "length",{get: Int32Array});//Int32Array here wrong,need a function +new Int32Array(this.a2); +} catch (e) { +exception = e; +} + +if (exception != "TypeError: calling Int32Array constructor without new is invalid") +throw "Exception not thrown"; Modified: trunk/Source/_javascript_Core/ChangeLog (221710 => 221711) --- trunk/Source/_javascript_Core/ChangeLog 2017-09-07 00:03:13 UTC (rev 221710) +++ trunk/Source/_javascript_Core/ChangeLog 2017-09-07 00:57:35 UTC (rev 221711) @@ -1,3 +1,14 @@ +2017-09-06 Mark Lam + +constructGenericTypedArrayViewWithArguments() is missing an exception check. +https://bugs.webkit.org/show_bug.cgi?id=176485 + + +Reviewed by Keith Miller. + +* runtime/JSGenericTypedArrayViewConstructorInlines.h: +(JSC::constructGenericTypedArrayViewWithArguments): + 2017-09-06 Saam Barati Air should have a Vector of prologue generators instead of a HashMap representing an optional prologue generator Modified: trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewConstructorInlines.h (221710 => 221711) --- trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewConstructorInlines.h 2017-09-07 00:03:13 UTC (rev 221710) +++ trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewConstructorInlines.h 2017-09-07 00:57:35 UTC (rev 221711) @@ -185,8 +185,14 @@ return constructGenericTypedArrayViewFromIterator(exec, structure, iterator); } -length = lengthSlot.isUnset() ? 0 : lengthSlot.getValue(exec, vm.propertyNames->length).toUInt32(exec); -RETURN_IF_EXCEPTION(scope, nullptr); +if (lengthSlot.isUnset()) +length = 0; +else { +JSValue value = lengthSlot.getValue(exec, vm.propertyNames->length); +RETURN_IF_EXCEPTION(scope, nullptr); +length = value.toUInt32(exec); +RETURN_IF_EXCEPTION(scope, nullptr); +} } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221710] trunk
Title: [221710] trunk Revision 221710 Author commit-qu...@webkit.org Date 2017-09-06 17:03:13 -0700 (Wed, 06 Sep 2017) Log Message NetworkProcess Cache and Caches should be cleared when the last related WebProcess Cache or CacheStorage is destroyed https://bugs.webkit.org/show_bug.cgi?id=176249 Patch by Youenn Fablet on 2017-09-06 Reviewed by Alex Christensen. Source/WebCore: Test: http/tests/cache-storage/cache-representation.https.html Each Cache construction/destruction is notified to the CacheStorageConnection so that the WebKit2 engine can handle memory management accordingly. Adding an internal API to grab the representation of an engine at any time. * Modules/cache/Cache.cpp: (WebCore::Cache::Cache): (WebCore::Cache::~Cache): * Modules/cache/CacheStorageConnection.h: (WebCore::CacheStorageConnection::reference): (WebCore::CacheStorageConnection::dereference): * Modules/cache/WorkerCacheStorageConnection.cpp: (WebCore::WorkerCacheStorageConnection::reference): (WebCore::WorkerCacheStorageConnection::dereference): * Modules/cache/WorkerCacheStorageConnection.h: * testing/Internals.cpp: (WebCore::Internals::cacheStorageEngineRepresentation): * testing/Internals.h: * testing/Internals.idl: Source/WebKit: CacheStorageEngineConnection will store the number of Caches references for its related WebProcess. For a new reference, CacheStorageEngineConnection will notify its engine to lock the related Cache. When the last reference is gone, CacheStorageEngineConnection will ask the engine to release the lock. CacheStorageEngine will keep locks as a counter for each Cache object. When the counter goes to zero, the engine asks the Cache to dispose itself. Disposal is done by its parent Caches as only Caches knows whether the Cache is persistent or has been removed. The Caches will remove the Cache from memory. For removed caches, all information will be lost. For caches that are not removed, they will keep their identifiers but all in-memory record information will be discarded. If there is a need to reopen the Cache, it will need to read its information from the filesystem. If the Caches has no longer any active Cache object, it will ask the engine to release itself. WebProcess crashing is handled correctly as the CacheStorageEngineConnection will release its locks at destruction time of the connection to the web process. Adding the possiblity to grab an engine representation for test purposes. * NetworkProcess/cache/CacheStorageEngine.cpp: (WebKit::CacheStorage::Engine::readCachesFromDisk): (WebKit::CacheStorage::Engine::removeCaches): (WebKit::CacheStorage::Engine::lock): (WebKit::CacheStorage::Engine::unlock): * NetworkProcess/cache/CacheStorageEngine.h: * NetworkProcess/cache/CacheStorageEngineCache.cpp: (WebKit::CacheStorage::Cache::Cache): (WebKit::CacheStorage::Cache::dispose): (WebKit::CacheStorage::Cache::clearMemoryRepresentation): * NetworkProcess/cache/CacheStorageEngineCache.h: (WebKit::CacheStorage::Cache::isActive const): * NetworkProcess/cache/CacheStorageEngineCaches.cpp: (WebKit::CacheStorage::Caches::Caches): (WebKit::CacheStorage::Caches::open): (WebKit::CacheStorage::Caches::dispose): (WebKit::CacheStorage::Caches::readCachesFromDisk): (WebKit::CacheStorage::Caches::clearMemoryRepresentation): * NetworkProcess/cache/CacheStorageEngineCaches.h: (WebKit::CacheStorage::Caches::create): * NetworkProcess/cache/CacheStorageEngineConnection.cpp: (WebKit::CacheStorageEngineConnection::~CacheStorageEngineConnection): (WebKit::CacheStorageEngineConnection::reference): (WebKit::CacheStorageEngineConnection::dereference): * NetworkProcess/cache/CacheStorageEngineConnection.h: * NetworkProcess/cache/CacheStorageEngineConnection.messages.in: * WebProcess/Cache/WebCacheStorageConnection.cpp: (WebKit::WebCacheStorageConnection::reference): (WebKit::WebCacheStorageConnection::dereference): * WebProcess/Cache/WebCacheStorageConnection.h: LayoutTests: * http/tests/cache-storage/cache-representation.https-expected.txt: Added. * http/tests/cache-storage/cache-representation.https.html: Added. * http/tests/cache-storage/resources/cache-persistency-iframe.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/cache-storage/cache-origins.https.html trunk/LayoutTests/http/tests/cache-storage/resources/cache-persistency-iframe.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/cache/CacheStorageConnection.h trunk/Source/WebCore/Modules/cache/DOMCache.cpp trunk/Source/WebCore/Modules/cache/WorkerCacheStorageConnection.cpp trunk/Source/WebCore/Modules/cache/WorkerCacheStorageConnection.h trunk/Source/WebCore/testing/Internals.cpp trunk/Source/WebCore/testing/Internals.h trunk/Source/WebCore/testing/Internals.idl trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.cpp trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngine.h trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp trunk/Source/WebKit/Ne
[webkit-changes] [221709] trunk/Source/WebCore
Title: [221709] trunk/Source/WebCore Revision 221709 Author mra...@apple.com Date 2017-09-06 17:02:27 -0700 (Wed, 06 Sep 2017) Log Message Support new autoplay quirk for arbitrary user gestures. https://bugs.webkit.org/show_bug.cgi?id=176402 Reviewed by Eric Carlson. This quirk allows any user gesture to allow autoplay in a document. No new tests because this specifically targets one host. * html/MediaElementSession.cpp: (WebCore::needsArbitraryUserGestureAutoplayQuirk): (WebCore::MediaElementSession::playbackPermitted const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/MediaElementSession.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (221708 => 221709) --- trunk/Source/WebCore/ChangeLog 2017-09-06 23:33:21 UTC (rev 221708) +++ trunk/Source/WebCore/ChangeLog 2017-09-07 00:02:27 UTC (rev 221709) @@ -1,3 +1,18 @@ +2017-09-05 Matt Rajca + +Support new autoplay quirk for arbitrary user gestures. +https://bugs.webkit.org/show_bug.cgi?id=176402 + +Reviewed by Eric Carlson. + +This quirk allows any user gesture to allow autoplay in a document. + +No new tests because this specifically targets one host. + +* html/MediaElementSession.cpp: +(WebCore::needsArbitraryUserGestureAutoplayQuirk): +(WebCore::MediaElementSession::playbackPermitted const): + 2017-09-06 Youenn Fablet Support caching of Response with a ReadableStream body Modified: trunk/Source/WebCore/html/MediaElementSession.cpp (221708 => 221709) --- trunk/Source/WebCore/html/MediaElementSession.cpp 2017-09-06 23:33:21 UTC (rev 221708) +++ trunk/Source/WebCore/html/MediaElementSession.cpp 2017-09-07 00:02:27 UTC (rev 221709) @@ -148,6 +148,17 @@ m_restrictions &= ~restriction; } +#if PLATFORM(MAC) +static bool needsArbitraryUserGestureAutoplayQuirk(const Document& document) +{ +if (!document.settings().needsSiteSpecificQuirks()) +return false; + +auto host = document.url().host(); +return equalLettersIgnoringASCIICase(host, "washingtonpost.com") || host.endsWithIgnoringASCIICase(".washingtonpost.com"); +} +#endif // PLATFORM(MAC) + SuccessOr MediaElementSession::playbackPermitted(const HTMLMediaElement& element) const { if (element.document().isMediaDocument() && !element.document().ownerElement()) @@ -178,6 +189,9 @@ const auto& topDocument = element.document().topDocument(); if (topDocument.mediaState() & MediaProducer::HasUserInteractedWithMediaElement && topDocument.settings().needsSiteSpecificQuirks()) return { }; + +if (element.document().hasHadUserInteraction() && needsArbitraryUserGestureAutoplayQuirk(element.document())) +return { }; #endif if (m_restrictions & RequireUserGestureForVideoRateChange && element.isVideo() && !element.document().processingUserGestureForMedia()) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221708] trunk/LayoutTests
Title: [221708] trunk/LayoutTests Revision 221708 Author jlew...@apple.com Date 2017-09-06 16:33:21 -0700 (Wed, 06 Sep 2017) Log Message Marked media/video-main-content-allow-then-scroll.html as flaky on macOS and failing on iOS. https://bugs.webkit.org/show_bug.cgi?id=161491 Unreviewed test gardening. * platform/ios-wk2/TestExpectations: * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-wk2/TestExpectations trunk/LayoutTests/platform/mac/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (221707 => 221708) --- trunk/LayoutTests/ChangeLog 2017-09-06 23:27:46 UTC (rev 221707) +++ trunk/LayoutTests/ChangeLog 2017-09-06 23:33:21 UTC (rev 221708) @@ -1,3 +1,13 @@ +2017-09-06 Matt Lewis + +Marked media/video-main-content-allow-then-scroll.html as flaky on macOS and failing on iOS. +https://bugs.webkit.org/show_bug.cgi?id=161491 + +Unreviewed test gardening. + +* platform/ios-wk2/TestExpectations: +* platform/mac/TestExpectations: + 2017-09-06 Youenn Fablet Support caching of Response with a ReadableStream body Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (221707 => 221708) --- trunk/LayoutTests/platform/ios-wk2/TestExpectations 2017-09-06 23:27:46 UTC (rev 221707) +++ trunk/LayoutTests/platform/ios-wk2/TestExpectations 2017-09-06 23:33:21 UTC (rev 221708) @@ -1861,7 +1861,7 @@ webkit.org/b/161323 media/track/track-remove-crash.html [ Skip ] webkit.org/b/142152 media/track/track-in-band-cues-added-once.html [ Failure Timeout ] -webkit.org/b/161491 media/video-main-content-allow-then-scroll.html [ Pass Failure ] +webkit.org/b/161491 media/video-main-content-allow-then-scroll.html [ Failure ] webkit.org/b/160591 http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/upgrade-insecure-fetch-in-worker.html [ Failure Timeout ] @@ -1965,4 +1965,4 @@ webkit.org/b/173487 imported/w3c/web-platform-tests/IndexedDB/large-nested-cloning.html [ Pass Failure ] # -imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm [ Failure ] \ No newline at end of file +imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm [ Failure ] Modified: trunk/LayoutTests/platform/mac/TestExpectations (221707 => 221708) --- trunk/LayoutTests/platform/mac/TestExpectations 2017-09-06 23:27:46 UTC (rev 221707) +++ trunk/LayoutTests/platform/mac/TestExpectations 2017-09-06 23:33:21 UTC (rev 221708) @@ -1631,4 +1631,7 @@ crypto/subtle/ecdsa-import-key-verify-p521.html crypto/subtle/ecdsa-import-pkcs8-key-p521-validate-ecprivatekey-parameters-publickey.html -webkit.org/b/176444 fast/canvas/webgl/webgl2-getActiveUniforms.html [ Failure ] \ No newline at end of file +webkit.org/b/176444 fast/canvas/webgl/webgl2-getActiveUniforms.html [ Failure ] + +webkit.org/b/161491 media/video-main-content-allow-then-scroll.html [ Pass Failure ] + ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221707] trunk
Title: [221707] trunk Revision 221707 Author achristen...@apple.com Date 2017-09-06 16:27:46 -0700 (Wed, 06 Sep 2017) Log Message Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange https://bugs.webkit.org/show_bug.cgi?id=176474 Reviewed by Tim Horton. Source/WebKit: Rather than telling the UIClient that the pinned state changed and having the application check 4 bools like we do with WKPage, I made a KVO property on the WKWebView. I introduce _WKRectEdge for this purpose, which is like UIRectEdge but unfortunately NSRectEdge and CGRectEdge cannot be used as NS_OPTIONS/flags. This same structure is used for rubber band state. Covered by a new API test. * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _pinnedState]): (-[WKWebView _rubberBandState]): (-[WKWebView _setRubberBandState:]): * UIProcess/API/Cocoa/WKWebViewPrivate.h: * UIProcess/Cocoa/WebViewImpl.h: * UIProcess/Cocoa/WebViewImpl.mm: (WebKit::WebViewImpl::pinnedState): (WebKit::WebViewImpl::rubberBandState): (WebKit::WebViewImpl::setRubberBandState): * UIProcess/PageClient.h: (WebKit::PageClient::pinnedStateWillChange): (WebKit::PageClient::pinnedStateDidChange): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame): * UIProcess/mac/PageClientImplMac.h: * UIProcess/mac/PageClientImplMac.mm: (WebKit::PageClientImpl::pinnedStateWillChange): (WebKit::PageClientImpl::pinnedStateDidChange): Tools: * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm: (-[PinnedStateObserver observeValueForKeyPath:ofObject:change:context:]): (TEST): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm trunk/Source/WebKit/UIProcess/PageClient.h trunk/Source/WebKit/UIProcess/WebPageProxy.cpp trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm Diff Modified: trunk/Source/WebKit/ChangeLog (221706 => 221707) --- trunk/Source/WebKit/ChangeLog 2017-09-06 22:01:30 UTC (rev 221706) +++ trunk/Source/WebKit/ChangeLog 2017-09-06 23:27:46 UTC (rev 221707) @@ -1,3 +1,38 @@ +2017-09-06 Alex Christensen + +Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange +https://bugs.webkit.org/show_bug.cgi?id=176474 + + +Reviewed by Tim Horton. + +Rather than telling the UIClient that the pinned state changed and having the application check 4 bools +like we do with WKPage, I made a KVO property on the WKWebView. I introduce _WKRectEdge for this purpose, +which is like UIRectEdge but unfortunately NSRectEdge and CGRectEdge cannot be used as NS_OPTIONS/flags. +This same structure is used for rubber band state. + +Covered by a new API test. + +* UIProcess/API/Cocoa/WKWebView.mm: +(-[WKWebView _pinnedState]): +(-[WKWebView _rubberBandState]): +(-[WKWebView _setRubberBandState:]): +* UIProcess/API/Cocoa/WKWebViewPrivate.h: +* UIProcess/Cocoa/WebViewImpl.h: +* UIProcess/Cocoa/WebViewImpl.mm: +(WebKit::WebViewImpl::pinnedState): +(WebKit::WebViewImpl::rubberBandState): +(WebKit::WebViewImpl::setRubberBandState): +* UIProcess/PageClient.h: +(WebKit::PageClient::pinnedStateWillChange): +(WebKit::PageClient::pinnedStateDidChange): +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame): +* UIProcess/mac/PageClientImplMac.h: +* UIProcess/mac/PageClientImplMac.mm: +(WebKit::PageClientImpl::pinnedStateWillChange): +(WebKit::PageClientImpl::pinnedStateDidChange): + 2017-09-06 Youenn Fablet Introduce asynchronous opening of CacheStorageEngine cache Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (221706 => 221707) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2017-09-06 22:01:30 UTC (rev 221706) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2017-09-06 23:27:46 UTC (rev 221707) @@ -5281,6 +5281,21 @@ return _impl->pageExtendedBackgroundColor(); } +- (_WKRectEdge)_pinnedState +{ +return _impl->pinnedState(); +} + +- (_WKRectEdge)_rubberBandingEnabled +{ +return _impl->rubberBandingEnabled(); +} + +- (void)_setRubberBandingEnabled:(_WKRectEdge)state +{ +_impl->setRubberBandingEnabled(state); +} + - (id)_immediateActionAnimationControllerForHitTestResult:(_WKHitTestResult *)hitTestResult withType:(_WKImmediateActionType)type userData:(id)userData { return nil; Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h (221706 => 221707) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h 2
[webkit-changes] [221706] releases/Apple
Title: [221706] releases/Apple Revision 221706 Author m...@apple.com Date 2017-09-06 15:01:30 -0700 (Wed, 06 Sep 2017) Log Message Added a tag for Safari Technology Preview release 39. Added Paths releases/Apple/Safari Technology Preview 39/ releases/Apple/Safari Technology Preview 39/ANGLE/ releases/Apple/Safari Technology Preview 39/_javascript_Core/ releases/Apple/Safari Technology Preview 39/WTF/ releases/Apple/Safari Technology Preview 39/WebCore/ releases/Apple/Safari Technology Preview 39/WebInspectorUI/ releases/Apple/Safari Technology Preview 39/WebKit/ releases/Apple/Safari Technology Preview 39/WebKitLegacy/ releases/Apple/Safari Technology Preview 39/bmalloc/ releases/Apple/Safari Technology Preview 39/libwebrtc/ Diff Index: releases/Apple/Safari Technology Preview 39/ANGLE === --- tags/Safari-605.1.4/Source/ThirdParty/ANGLE 2017-09-06 21:37:00 UTC (rev 221705) +++ releases/Apple/Safari Technology Preview 39/ANGLE 2017-09-06 22:01:30 UTC (rev 221706) Property changes: releases/Apple/Safari Technology Preview 39/ANGLE Added: allow-tabs +true \ No newline at end of property Added: svn:mergeinfo +/trunk/Source/ThirdParty/ANGLE:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview 39/_javascript_Core === --- tags/Safari-605.1.4/Source/_javascript_Core 2017-09-06 21:37:00 UTC (rev 221705) +++ releases/Apple/Safari Technology Preview 39/_javascript_Core 2017-09-06 22:01:30 UTC (rev 221706) Property changes: releases/Apple/Safari Technology Preview 39/_javascript_Core Added: svn:mergeinfo +/trunk/Source/_javascript_Core:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview 39/WTF === --- tags/Safari-605.1.4/Source/WTF 2017-09-06 21:37:00 UTC (rev 221705) +++ releases/Apple/Safari Technology Preview 39/WTF 2017-09-06 22:01:30 UTC (rev 221706) Property changes: releases/Apple/Safari Technology Preview 39/WTF Added: svn:mergeinfo +/trunk/Source/WTF:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview 39/WebInspectorUI === --- tags/Safari-605.1.4/Source/WebInspectorUI 2017-09-06 21:37:00 UTC (rev 221705) +++ releases/Apple/Safari Technology Preview 39/WebInspectorUI 2017-09-06 22:01:30 UTC (rev 221706) Property changes: releases/Apple/Safari Technology Preview 39/WebInspectorUI Added: svn:mergeinfo +/trunk/Source/WebInspectorUI:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview 39/bmalloc === --- tags/Safari-605.1.4/Source/bmalloc 2017-09-06 21:37:00 UTC (rev 221705) +++ releases/Apple/Safari Technology Preview 39/bmalloc 2017-09-06 22:01:30 UTC (rev 221706) Property changes: releases/Apple/Safari Technology Preview 39/bmalloc Added: svn:mergeinfo +/trunk/Source/bmalloc:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview 39/libwebrtc === --- tags/Safari-605.1.4/Source/ThirdParty/libwebrtc 2017-09-06 21:37:00 UTC (rev 221705) +++ releases/Apple/Safari Technology Preview 39/libwebrtc 2017-09-06 22:01:30 UTC (rev 221706) Property changes: releases/Apple/Safari Technology Preview 39/libwebrtc Added: svn:mergeinfo +/trunk/Source/ThirdParty/libwebrtc:53455 \ No newline at end of property ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221705] trunk/Source/WebKit
Title: [221705] trunk/Source/WebKit Revision 221705 Author commit-qu...@webkit.org Date 2017-09-06 14:37:00 -0700 (Wed, 06 Sep 2017) Log Message Introduce asynchronous opening of CacheStorageEngine cache https://bugs.webkit.org/show_bug.cgi?id=176425 Patch by Youenn Fablet on 2017-09-06 Reviewed by Alex Christensen. Introducing Cache::open to allow reading from the filesystem to fill the Cache. This is called by Caches when engine requests to open an existing Cache. * NetworkProcess/cache/CacheStorageEngineCache.cpp: (WebKit::CacheStorage::Cache::Cache): (WebKit::CacheStorage::Cache::open): (WebKit::CacheStorage::Cache::finishOpening): (WebKit::CacheStorage::Cache::readRecordsList): * NetworkProcess/cache/CacheStorageEngineCache.h: * NetworkProcess/cache/CacheStorageEngineCaches.cpp: (WebKit::CacheStorage::Caches::find): (WebKit::CacheStorage::Caches::open): (WebKit::CacheStorage::Caches::remove): (WebKit::CacheStorage::Caches::readCachesFromDisk): (WebKit::CacheStorage::Caches::find const): Deleted. * NetworkProcess/cache/CacheStorageEngineCaches.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.h trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.h Diff Modified: trunk/Source/WebKit/ChangeLog (221704 => 221705) --- trunk/Source/WebKit/ChangeLog 2017-09-06 21:25:19 UTC (rev 221704) +++ trunk/Source/WebKit/ChangeLog 2017-09-06 21:37:00 UTC (rev 221705) @@ -1,3 +1,27 @@ +2017-09-06 Youenn Fablet + +Introduce asynchronous opening of CacheStorageEngine cache +https://bugs.webkit.org/show_bug.cgi?id=176425 + +Reviewed by Alex Christensen. + +Introducing Cache::open to allow reading from the filesystem to fill the Cache. +This is called by Caches when engine requests to open an existing Cache. + +* NetworkProcess/cache/CacheStorageEngineCache.cpp: +(WebKit::CacheStorage::Cache::Cache): +(WebKit::CacheStorage::Cache::open): +(WebKit::CacheStorage::Cache::finishOpening): +(WebKit::CacheStorage::Cache::readRecordsList): +* NetworkProcess/cache/CacheStorageEngineCache.h: +* NetworkProcess/cache/CacheStorageEngineCaches.cpp: +(WebKit::CacheStorage::Caches::find): +(WebKit::CacheStorage::Caches::open): +(WebKit::CacheStorage::Caches::remove): +(WebKit::CacheStorage::Caches::readCachesFromDisk): +(WebKit::CacheStorage::Caches::find const): Deleted. +* NetworkProcess/cache/CacheStorageEngineCaches.h: + 2017-09-06 Alex Christensen Unreviewed, rolling out r221694. Modified: trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp (221704 => 221705) --- trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp 2017-09-06 21:25:19 UTC (rev 221704) +++ trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp 2017-09-06 21:37:00 UTC (rev 221705) @@ -65,12 +65,53 @@ return results; } -Cache::Cache(uint64_t identifier, String&& name) -: m_identifier(identifier) +Cache::Cache(Caches& caches, uint64_t identifier, State state, String&& name) +: m_caches(caches) +, m_state(state) +, m_identifier(identifier) , m_name(WTFMove(name)) { } +void Cache::open(CompletionCallback&& callback) +{ +if (m_state == State::Open) { +callback(std::nullopt); +return; +} +if (m_state == State::Opening) { +m_pendingOpeningCallbacks.append(WTFMove(callback)); +return; +} +m_state = State::Opening; +readRecordsList([caches = makeRef(m_caches), identifier = m_identifier, callback = WTFMove(callback)](std::optional&& error) mutable { +auto* cache = caches->find(identifier); +if (!cache) { +callback(Error::Internal); +return; +} +cache->finishOpening(WTFMove(callback), WTFMove(error)); +}); +} + +void Cache::finishOpening(CompletionCallback&& callback, std::optional&& error) +{ +if (error) { +m_state = State::Uninitialized; +callback(error.value()); +auto callbacks = WTFMove(m_pendingOpeningCallbacks); +for (auto& callback : callbacks) +callback(error.value()); +return; +} +m_state = State::Open; + +callback(std::nullopt); +auto callbacks = WTFMove(m_pendingOpeningCallbacks); +for (auto& callback : callbacks) +callback(std::nullopt); +} + Vector Cache::retrieveRecords(const URL& url) const { if (url.isNull()) { @@ -209,6 +250,12 @@ }); } +void Cache::readRecordsList(CompletionCallback&& callback) +{ +// FIXME: Implement this. +callback(std::nullopt); +} + void Cache::writeRecordsList(CompletionCallback&& callback) { // FIXME: Implement this. Modified: trunk/Source/
[webkit-changes] [221704] trunk
Title: [221704] trunk Revision 221704 Author commit-qu...@webkit.org Date 2017-09-06 14:25:19 -0700 (Wed, 06 Sep 2017) Log Message Support caching of Response with a ReadableStream body https://bugs.webkit.org/show_bug.cgi?id=176462 Patch by Youenn Fablet on 2017-09-06 Reviewed by Alex Christensen. LayoutTests/imported/w3c: * web-platform-tests/service-workers/cache-storage/worker/cache-put.https-expected.txt: Source/WebCore: Tests: http/wpt/cache-storage/cache-put-stream.https.any.html http/wpt/cache-storage/cache-put-stream.https.any.worker.html Making FetchResponse use more of ReadableStream: - Cloning of its body is done through ReadableStream. - Computation of disturbed and locked is done through ReadableStream. - Storing of the ReadableStream body given at constructor time is done in FetchBody for FetchResponse. This allows making FetchResponse closer to FetchRequest. This also allows to correctly compute disturbed and locked in clone cases. Adding the ability to consume a Response ReadableStream body as a SharedBuffer. Using that ability in DOMCache. * Modules/cache/DOMCache.cpp: (WebCore::DOMCache::putWithResponseData): (WebCore::DOMCache::put): * Modules/cache/DOMCache.h: * Modules/fetch/FetchBody.h: (WebCore::FetchBody::readableStream const): * Modules/fetch/FetchBodyConsumer.cpp: (WebCore::FetchBodyConsumer::extract): * Modules/fetch/FetchBodyConsumer.h: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::isDisturbed const): (WebCore::FetchBodyOwner::isDisturbedOrLocked const): * Modules/fetch/FetchBodyOwner.h: (WebCore::FetchBodyOwner::hasReadableStreamBody const): * Modules/fetch/FetchBodySource.cpp: * Modules/fetch/FetchBodySource.h: * Modules/fetch/FetchResponse.cpp: (WebCore::FetchResponse::consumeBodyFromReadableStream): (WebCore::FetchResponse::consumeBodyWhenLoaded): (WebCore::FetchResponse::consumeBodyAsStream): * Modules/fetch/FetchResponse.h: * Modules/fetch/FetchResponse.idl: * Modules/fetch/FetchResponse.js: (initializeFetchResponse): (clone): * bindings/js/ReadableStream.cpp: (WebCore::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::checkReadableStream): (WebCore::ReadableStream::isLocked const): (WebCore::ReadableStream::isDisturbed const): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: * bindings/js/ReadableStreamDefaultController.cpp: * bindings/js/ReadableStreamDefaultController.h: * bindings/js/WebCoreBuiltinNames.h: * testing/Internals.cpp: (WebCore::Internals::isReadableStreamDisturbed): LayoutTests: * TestExpectations: Removing flakiness expectation for cache-put tests. * http/wpt/cache-storage/cache-put-stream.https.any-expected.txt: Added. * http/wpt/cache-storage/cache-put-stream.https.any.html: Added. * http/wpt/cache-storage/cache-put-stream.https.any.js: Added. (cache_test.): (cache_test): (string_appeared_here.cache_test.return.reader.read.then.): (string_appeared_here.cache_test): * http/wpt/cache-storage/cache-put-stream.https.any.worker-expected.txt: Added. * http/wpt/cache-storage/cache-put-stream.https.any.worker.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/service-workers/cache-storage/worker/cache-put.https-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/cache/DOMCache.cpp trunk/Source/WebCore/Modules/cache/DOMCache.h trunk/Source/WebCore/Modules/fetch/FetchBody.h trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.h trunk/Source/WebCore/Modules/fetch/FetchBodyOwner.cpp trunk/Source/WebCore/Modules/fetch/FetchBodyOwner.h trunk/Source/WebCore/Modules/fetch/FetchBodySource.cpp trunk/Source/WebCore/Modules/fetch/FetchBodySource.h trunk/Source/WebCore/Modules/fetch/FetchResponse.cpp trunk/Source/WebCore/Modules/fetch/FetchResponse.h trunk/Source/WebCore/Modules/fetch/FetchResponse.idl trunk/Source/WebCore/Modules/fetch/FetchResponse.js trunk/Source/WebCore/bindings/js/ReadableStream.cpp trunk/Source/WebCore/bindings/js/ReadableStream.h trunk/Source/WebCore/bindings/js/ReadableStreamDefaultController.cpp trunk/Source/WebCore/bindings/js/ReadableStreamDefaultController.h trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h trunk/Source/WebCore/testing/Internals.cpp Added Paths trunk/LayoutTests/http/wpt/cache-storage/cache-put-stream.https.any-expected.txt trunk/LayoutTests/http/wpt/cache-storage/cache-put-stream.https.any.html trunk/LayoutTests/http/wpt/cache-storage/cache-put-stream.https.any.js trunk/LayoutTests/http/wpt/cache-storage/cache-put-stream.https.any.worker-expected.txt trunk/LayoutTests/http/wpt/cache-storage/cache-put-stream.https.any.worker.html Diff Modified: trunk/LayoutTests/ChangeLog (221703 => 221704) --- trunk/LayoutTests/ChangeLog 2017-09-06 21:04:25 UTC (rev 221703) +++ trunk/LayoutTests/ChangeLog 2017-09-06
[webkit-changes] [221703] trunk/Source/JavaScriptCore
Title: [221703] trunk/Source/_javascript_Core Revision 221703 Author sbar...@apple.com Date 2017-09-06 14:04:25 -0700 (Wed, 06 Sep 2017) Log Message Air should have a Vector of prologue generators instead of a HashMap representing an optional prologue generator https://bugs.webkit.org/show_bug.cgi?id=176346 Reviewed by Mark Lam. * b3/B3Procedure.cpp: (JSC::B3::Procedure::Procedure): (JSC::B3::Procedure::setNumEntrypoints): * b3/B3Procedure.h: (JSC::B3::Procedure::setNumEntrypoints): Deleted. * b3/air/AirCode.cpp: (JSC::B3::Air::defaultPrologueGenerator): (JSC::B3::Air::Code::Code): (JSC::B3::Air::Code::setNumEntrypoints): * b3/air/AirCode.h: (JSC::B3::Air::Code::setPrologueForEntrypoint): (JSC::B3::Air::Code::prologueGeneratorForEntrypoint): (JSC::B3::Air::Code::setEntrypoints): (JSC::B3::Air::Code::setEntrypointLabels): * b3/air/AirGenerate.cpp: (JSC::B3::Air::generate): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/b3/B3Procedure.cpp trunk/Source/_javascript_Core/b3/B3Procedure.h trunk/Source/_javascript_Core/b3/air/AirCode.cpp trunk/Source/_javascript_Core/b3/air/AirCode.h trunk/Source/_javascript_Core/b3/air/AirGenerate.cpp trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (221702 => 221703) --- trunk/Source/_javascript_Core/ChangeLog 2017-09-06 20:54:36 UTC (rev 221702) +++ trunk/Source/_javascript_Core/ChangeLog 2017-09-06 21:04:25 UTC (rev 221703) @@ -1,5 +1,31 @@ 2017-09-06 Saam Barati +Air should have a Vector of prologue generators instead of a HashMap representing an optional prologue generator +https://bugs.webkit.org/show_bug.cgi?id=176346 + +Reviewed by Mark Lam. + +* b3/B3Procedure.cpp: +(JSC::B3::Procedure::Procedure): +(JSC::B3::Procedure::setNumEntrypoints): +* b3/B3Procedure.h: +(JSC::B3::Procedure::setNumEntrypoints): Deleted. +* b3/air/AirCode.cpp: +(JSC::B3::Air::defaultPrologueGenerator): +(JSC::B3::Air::Code::Code): +(JSC::B3::Air::Code::setNumEntrypoints): +* b3/air/AirCode.h: +(JSC::B3::Air::Code::setPrologueForEntrypoint): +(JSC::B3::Air::Code::prologueGeneratorForEntrypoint): +(JSC::B3::Air::Code::setEntrypoints): +(JSC::B3::Air::Code::setEntrypointLabels): +* b3/air/AirGenerate.cpp: +(JSC::B3::Air::generate): +* ftl/FTLLowerDFGToB3.cpp: +(JSC::FTL::DFG::LowerDFGToB3::lower): + +2017-09-06 Saam Barati + ASSERTION FAILED: op() == CheckStructure in Source/_javascript_Core/dfg/DFGNode.h(443) https://bugs.webkit.org/show_bug.cgi?id=176470 Modified: trunk/Source/_javascript_Core/b3/B3Procedure.cpp (221702 => 221703) --- trunk/Source/_javascript_Core/b3/B3Procedure.cpp 2017-09-06 20:54:36 UTC (rev 221702) +++ trunk/Source/_javascript_Core/b3/B3Procedure.cpp 2017-09-06 21:04:25 UTC (rev 221703) @@ -52,6 +52,7 @@ , m_byproducts(std::make_unique()) , m_code(new Air::Code(*this)) { +m_code->setNumEntrypoints(m_numEntrypoints); } Procedure::~Procedure() @@ -420,6 +421,12 @@ return code().mutableFPRs(); } +void Procedure::setNumEntrypoints(unsigned numEntrypoints) +{ +m_numEntrypoints = numEntrypoints; +m_code->setNumEntrypoints(numEntrypoints); +} + } } // namespace JSC::B3 #endif // ENABLE(B3_JIT) Modified: trunk/Source/_javascript_Core/b3/B3Procedure.h (221702 => 221703) --- trunk/Source/_javascript_Core/b3/B3Procedure.h 2017-09-06 20:54:36 UTC (rev 221702) +++ trunk/Source/_javascript_Core/b3/B3Procedure.h 2017-09-06 21:04:25 UTC (rev 221703) @@ -186,8 +186,8 @@ bool isFastConstant(const ValueKey&); unsigned numEntrypoints() const { return m_numEntrypoints; } -void setNumEntrypoints(unsigned numEntrypoints) { m_numEntrypoints = numEntrypoints; } - +JS_EXPORT_PRIVATE void setNumEntrypoints(unsigned); + // Only call this after code generation is complete. Note that the label for the 0th entrypoint // should point to exactly where the code generation cursor was before you started generating // code. Modified: trunk/Source/_javascript_Core/b3/air/AirCode.cpp (221702 => 221703) --- trunk/Source/_javascript_Core/b3/air/AirCode.cpp 2017-09-06 20:54:36 UTC (rev 221702) +++ trunk/Source/_javascript_Core/b3/air/AirCode.cpp 2017-09-06 21:04:25 UTC (rev 221703) @@ -30,6 +30,7 @@ #include "AirCCallSpecial.h" #include "AirCFG.h" +#include "AllowMacroScratchRegisterUsageIf.h" #include "B3BasicBlockUtils.h" #include "B3Procedure.h" #include "B3StackSlot.h" @@ -37,10 +38,22 @@ namespace JSC { namespace B3 { namespace Air { +static void defaultPrologueGenerator(CCallHelpers& jit, Code& code) +{ +jit.emitFunctionPrologue(); +if (code.frameSize()) { +AllowMacroScratchRegisterUsageIf allowScratch(jit, isARM64()); +
[webkit-changes] [221702] trunk
Title: [221702] trunk Revision 221702 Author achristen...@apple.com Date 2017-09-06 13:54:36 -0700 (Wed, 06 Sep 2017) Log Message Unreviewed, rolling out r221694. broke build Reverted changeset: "Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange" https://bugs.webkit.org/show_bug.cgi?id=176474 http://trac.webkit.org/changeset/221694 Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm trunk/Source/WebKit/UIProcess/PageClient.h trunk/Source/WebKit/UIProcess/WebPageProxy.cpp trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm Diff Modified: trunk/Source/WebKit/ChangeLog (221701 => 221702) --- trunk/Source/WebKit/ChangeLog 2017-09-06 20:51:02 UTC (rev 221701) +++ trunk/Source/WebKit/ChangeLog 2017-09-06 20:54:36 UTC (rev 221702) @@ -1,3 +1,16 @@ +2017-09-06 Alex Christensen + +Unreviewed, rolling out r221694. + +broke build + +Reverted changeset: + +"Add WKUIDelegatePrivate equivalent of WKPageUIClient's +pinnedStateDidChange" +https://bugs.webkit.org/show_bug.cgi?id=176474 +http://trac.webkit.org/changeset/221694 + 2017-09-06 Ryan Haddad Unreviewed, rolling out r221461. Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (221701 => 221702) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2017-09-06 20:51:02 UTC (rev 221701) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2017-09-06 20:54:36 UTC (rev 221702) @@ -5281,21 +5281,6 @@ return _impl->pageExtendedBackgroundColor(); } -- (_WKRectEdge)_pinnedState -{ -return _impl->pinnedState(); -} - -- (_WKRectEdge)_rubberBandingEnabled -{ -return _impl->rubberBandingEnabled(); -} - -- (void)_setRubberBandingEnabled:(_WKRectEdge)state -{ -_impl->setRubberBandingEnabled(state); -} - - (id)_immediateActionAnimationControllerForHitTestResult:(_WKHitTestResult *)hitTestResult withType:(_WKImmediateActionType)type userData:(id)userData { return nil; Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h (221701 => 221702) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h 2017-09-06 20:51:02 UTC (rev 221701) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h 2017-09-06 20:54:36 UTC (rev 221702) @@ -80,15 +80,6 @@ _WKImmediateActionTelLink } WK_API_AVAILABLE(macosx(10.12)); -typedef NS_OPTIONS(NSInteger, _WKRectEdge) { -_WKRectEdgeNone = 0, -_WKRectEdgeLeft = 1 << CGRectMinXEdge, -_WKRectEdgeTop = 1 << CGRectMinYEdge, -_WKRectEdgeRight = 1 << CGRectMaxXEdge, -_WKRectEdgeBottom = 1 << CGRectMaxYEdge, -_WKRectEdgeAll = _WKRectEdgeLeft | _WKRectEdgeTop | _WKRectEdgeRight | _WKRectEdgeBottom, -} WK_API_AVAILABLE(macosx(WK_MAC_TBA)); - #endif @class WKBrowsingContextHandle; @@ -247,10 +238,6 @@ - (void)_accessibilityDidGetSpeakSelectionContent:(NSString *)content WK_API_AVAILABLE(ios(WK_IOS_TBA)); #else - -@property (nonatomic, readonly) _WKRectEdge _pinnedState; -@property (nonatomic, setter=_setRubberBandingEnabled:) _WKRectEdge _rubberBandingEnabled; - @property (readonly) NSColor *_pageExtendedBackgroundColor; @property (nonatomic, setter=_setDrawsBackground:) BOOL _drawsBackground; @property (nonatomic, setter=_setTopContentInset:) CGFloat _topContentInset; Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h (221701 => 221702) --- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h 2017-09-06 20:51:02 UTC (rev 221701) +++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h 2017-09-06 20:54:36 UTC (rev 221702) @@ -23,7 +23,8 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ -#pragma once +#ifndef WebViewImpl_h +#define WebViewImpl_h #if PLATFORM(MAC) @@ -41,8 +42,6 @@ #include #include -using _WKRectEdge = NSInteger; - OBJC_CLASS NSAccessibilityRemoteUIElement; OBJC_CLASS NSImmediateActionGestureRecognizer; OBJC_CLASS NSTextInputContext; @@ -237,10 +236,6 @@ void setUnderlayColor(NSColor *); NSColor *underlayColor() const; NSColor *pageExtendedBackgroundColor() const; - -_WKRectEdge pinnedState(); -_WKRectEdge rubberBandingEnabled(); -void setRubberBandingEnabled(_WKRectEdge); void setOverlayScrollbarStyle(std::optional scrollbarStyle); std::optional overlayScrollbarStyle() const; @@ -737,3 +732,5 @@ } // namespace WebKit #endif // PLATFORM(MAC) + +#endif // WebViewImpl_h Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm (221701 => 221702) --- trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm 2017-09-06 20:51:02 UTC (rev 221701) +++ trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm 2017-09-06 20:54:36
[webkit-changes] [221701] trunk/Source/JavaScriptCore
Title: [221701] trunk/Source/_javascript_Core Revision 221701 Author sbar...@apple.com Date 2017-09-06 13:51:02 -0700 (Wed, 06 Sep 2017) Log Message ASSERTION FAILED: op() == CheckStructure in Source/_javascript_Core/dfg/DFGNode.h(443) https://bugs.webkit.org/show_bug.cgi?id=176470 Reviewed by Mark Lam. Update Node::convertToCheckStructureImmediate's assertion to allow the node to either be a CheckStructure or CheckStructureOrEmpty. * dfg/DFGNode.h: (JSC::DFG::Node::convertToCheckStructureImmediate): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGNode.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (221700 => 221701) --- trunk/Source/_javascript_Core/ChangeLog 2017-09-06 20:48:01 UTC (rev 221700) +++ trunk/Source/_javascript_Core/ChangeLog 2017-09-06 20:51:02 UTC (rev 221701) @@ -1,3 +1,16 @@ +2017-09-06 Saam Barati + +ASSERTION FAILED: op() == CheckStructure in Source/_javascript_Core/dfg/DFGNode.h(443) +https://bugs.webkit.org/show_bug.cgi?id=176470 + +Reviewed by Mark Lam. + +Update Node::convertToCheckStructureImmediate's assertion to allow +the node to either be a CheckStructure or CheckStructureOrEmpty. + +* dfg/DFGNode.h: +(JSC::DFG::Node::convertToCheckStructureImmediate): + 2017-09-05 Saam Barati isNotCellSpeculation is wrong with respect to SpecEmpty Modified: trunk/Source/_javascript_Core/dfg/DFGNode.h (221700 => 221701) --- trunk/Source/_javascript_Core/dfg/DFGNode.h 2017-09-06 20:48:01 UTC (rev 221700) +++ trunk/Source/_javascript_Core/dfg/DFGNode.h 2017-09-06 20:51:02 UTC (rev 221701) @@ -440,7 +440,7 @@ void convertToCheckStructureImmediate(Node* structure) { -ASSERT(op() == CheckStructure); +ASSERT(op() == CheckStructure || op() == CheckStructureOrEmpty); m_op = CheckStructureImmediate; children.setChild1(Edge(structure, CellUse)); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221700] trunk/Tools
Title: [221700] trunk/Tools Revision 221700 Author pvol...@apple.com Date 2017-09-06 13:48:01 -0700 (Wed, 06 Sep 2017) Log Message [Win] test-webkitpy test timeout_context_unittest is failing. https://bugs.webkit.org/show_bug.cgi?id=176471 Reviewed by Brent Fulgham. This assert failure is possibly caused by different time resolution on various platforms. * Scripts/webkitpy/common/timeout_context_unittest.py: (TimeoutContextTests.test_timeout_data): Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/common/timeout_context_unittest.py Diff Modified: trunk/Tools/ChangeLog (221699 => 221700) --- trunk/Tools/ChangeLog 2017-09-06 20:40:01 UTC (rev 221699) +++ trunk/Tools/ChangeLog 2017-09-06 20:48:01 UTC (rev 221700) @@ -1,3 +1,16 @@ +2017-09-06 Per Arne Vollan + +[Win] test-webkitpy test timeout_context_unittest is failing. +https://bugs.webkit.org/show_bug.cgi?id=176471 + +Reviewed by Brent Fulgham. + +This assert failure is possibly caused by different time resolution on +various platforms. + +* Scripts/webkitpy/common/timeout_context_unittest.py: +(TimeoutContextTests.test_timeout_data): + 2017-09-06 Aakash Jain status-bubbles turn orange after checking relevance of patch Modified: trunk/Tools/Scripts/webkitpy/common/timeout_context_unittest.py (221699 => 221700) --- trunk/Tools/Scripts/webkitpy/common/timeout_context_unittest.py 2017-09-06 20:40:01 UTC (rev 221699) +++ trunk/Tools/Scripts/webkitpy/common/timeout_context_unittest.py 2017-09-06 20:48:01 UTC (rev 221700) @@ -44,7 +44,7 @@ with tmp: self.assertNotEqual(None, tmp.data) self.assertEqual(threading.current_thread().ident, tmp.data.thread_id) -self.assertGreater(time.time() + 1, tmp.data.alarm_time) +self.assertTrue(time.time() + 1 >= tmp.data.alarm_time) self.assertEqual(None, tmp.data) def test_nested_inner_precedence(self): ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221699] trunk
Title: [221699] trunk Revision 221699 Author ryanhad...@apple.com Date 2017-09-06 13:40:01 -0700 (Wed, 06 Sep 2017) Log Message Unreviewed, rolling out r221461. The LayoutTest added with this change crashes under GuardMalloc. Reverted changeset: "Add (entirely incorrect) fetching of ServiceWorker scripts." https://bugs.webkit.org/show_bug.cgi?id=176179 http://trac.webkit.org/changeset/221461 Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/workers/service/basic-register-expected.txt trunk/LayoutTests/http/tests/workers/service/resources/basic-register.js trunk/LayoutTests/http/tests/workers/service/resources/registration-task-queue-scheduling-1.js trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp trunk/Source/WebCore/workers/service/ServiceWorkerContainer.h trunk/Source/WebCore/workers/service/ServiceWorkerJob.cpp trunk/Source/WebCore/workers/service/ServiceWorkerJob.h trunk/Source/WebCore/workers/service/ServiceWorkerJobClient.h trunk/Source/WebCore/workers/service/server/SWClientConnection.cpp trunk/Source/WebCore/workers/service/server/SWClientConnection.h trunk/Source/WebCore/workers/service/server/SWServer.cpp trunk/Source/WebCore/workers/service/server/SWServer.h trunk/Source/WebCore/workers/service/server/SWServerRegistration.cpp trunk/Source/WebCore/workers/service/server/SWServerRegistration.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/StorageProcess/ServiceWorker/WebSWServerConnection.cpp trunk/Source/WebKit/StorageProcess/ServiceWorker/WebSWServerConnection.h trunk/Source/WebKit/StorageProcess/ServiceWorker/WebSWServerConnection.messages.in trunk/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp trunk/Source/WebKit/WebProcess/Storage/WebSWClientConnection.h trunk/Source/WebKit/WebProcess/Storage/WebSWClientConnection.messages.in Removed Paths trunk/Source/WebCore/workers/service/ServiceWorkerFetchResult.h Diff Modified: trunk/LayoutTests/ChangeLog (221698 => 221699) --- trunk/LayoutTests/ChangeLog 2017-09-06 20:26:43 UTC (rev 221698) +++ trunk/LayoutTests/ChangeLog 2017-09-06 20:40:01 UTC (rev 221699) @@ -1,3 +1,16 @@ +2017-09-06 Ryan Haddad + +Unreviewed, rolling out r221461. + +The LayoutTest added with this change crashes under +GuardMalloc. + +Reverted changeset: + +"Add (entirely incorrect) fetching of ServiceWorker scripts." +https://bugs.webkit.org/show_bug.cgi?id=176179 +http://trac.webkit.org/changeset/221461 + 2017-09-06 Devin Rousso Web Inspector: Support overloaded CanvasRenderingContext2D actions with identical parameter counts Modified: trunk/LayoutTests/http/tests/workers/service/basic-register-expected.txt (221698 => 221699) --- trunk/LayoutTests/http/tests/workers/service/basic-register-expected.txt 2017-09-06 20:26:43 UTC (rev 221698) +++ trunk/LayoutTests/http/tests/workers/service/basic-register-expected.txt 2017-09-06 20:40:01 UTC (rev 221699) @@ -1,3 +1,2 @@ -CONSOLE MESSAGE: line 10: Registration failed with error: UnknownError: Script URL http://127.0.0.1:8000/workers/service/resources/empty-worker.js fetched with 41 bytes, but we're not using the result yet -CONSOLE MESSAGE: line 21: Registration failed with error: UnknownError: Script URL http://127.0.0.1:8000/workers/service/resources/empty-worker-doesnt-exist.js fetch resulted in error: ServiceWorker script network fetch failed with HTTP status code 404 +CONSOLE MESSAGE: line 11: Registration failed with error: UnknownError: serviceWorker job scheduling is not yet implemented Modified: trunk/LayoutTests/http/tests/workers/service/resources/basic-register.js (221698 => 221699) --- trunk/LayoutTests/http/tests/workers/service/resources/basic-register.js 2017-09-06 20:26:43 UTC (rev 221698) +++ trunk/LayoutTests/http/tests/workers/service/resources/basic-register.js 2017-09-06 20:40:01 UTC (rev 221699) @@ -6,16 +6,6 @@ navigator.serviceWorker.register("resources/empty-worker.js", { }) .then(function(r) { console.log("Registered!"); -}, function(e) { - console.log("Registration failed with error: " + e); -}) -.catch(function(e) { - console.log("Exception registering: " + e); -}); - -navigator.serviceWorker.register("resources/empty-worker-doesnt-exist.js", { }) -.then(function(r) { - console.log("Registered!"); done(); }, function(e) { console.log("Registration failed with error: " + e); Modified: trunk/LayoutTests/http/tests/workers/service/resources/registration-task-queue-scheduling-1.js (221698 => 221699) --- trunk/LayoutTests/http/tests/workers/service/resources/registration-task-queue-scheduling-1.js 2017-09-06 20:26:43 UTC (rev 221698) +++ trunk/LayoutTests/http/tests/workers/service/resources/registration-task-queue-scheduling-1.js 2017-09-06 20:40:01 UTC (rev 221699) @@ -48,8 +48,8 @@ console.log("Original window resolved successfully (unexpected)") done(
[webkit-changes] [221698] trunk/Source/WebKit
Title: [221698] trunk/Source/WebKit Revision 221698 Author achristen...@apple.com Date 2017-09-06 13:26:43 -0700 (Wed, 06 Sep 2017) Log Message Add modern decoders for POD types https://bugs.webkit.org/show_bug.cgi?id=176456 Reviewed by Geoffrey Garen. * Platform/IPC/Decoder.cpp: (IPC::Decoder::getOptional): (IPC::Decoder::operator>>): * Platform/IPC/Decoder.h: * Shared/NavigationActionData.cpp: (WebKit::NavigationActionData::decode): * Shared/NavigationActionData.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/IPC/Decoder.cpp trunk/Source/WebKit/Platform/IPC/Decoder.h trunk/Source/WebKit/Shared/NavigationActionData.cpp trunk/Source/WebKit/Shared/NavigationActionData.h Diff Modified: trunk/Source/WebKit/ChangeLog (221697 => 221698) --- trunk/Source/WebKit/ChangeLog 2017-09-06 20:24:56 UTC (rev 221697) +++ trunk/Source/WebKit/ChangeLog 2017-09-06 20:26:43 UTC (rev 221698) @@ -1,5 +1,20 @@ 2017-09-06 Alex Christensen +Add modern decoders for POD types +https://bugs.webkit.org/show_bug.cgi?id=176456 + +Reviewed by Geoffrey Garen. + +* Platform/IPC/Decoder.cpp: +(IPC::Decoder::getOptional): +(IPC::Decoder::operator>>): +* Platform/IPC/Decoder.h: +* Shared/NavigationActionData.cpp: +(WebKit::NavigationActionData::decode): +* Shared/NavigationActionData.h: + +2017-09-06 Alex Christensen + Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange https://bugs.webkit.org/show_bug.cgi?id=176474 Modified: trunk/Source/WebKit/Platform/IPC/Decoder.cpp (221697 => 221698) --- trunk/Source/WebKit/Platform/IPC/Decoder.cpp 2017-09-06 20:24:56 UTC (rev 221697) +++ trunk/Source/WebKit/Platform/IPC/Decoder.cpp 2017-09-06 20:26:43 UTC (rev 221698) @@ -188,6 +188,63 @@ bufferPosition += sizeof(Type); } +template +Decoder& Decoder::getOptional(std::optional& optional) +{ +Type result; +if (!alignBufferPosition(sizeof(result), sizeof(result))) +return *this; + +decodeValueFromBuffer(result, m_bufferPos); +optional = result; +return *this; +} + +Decoder& Decoder::operator>>(std::optional& optional) +{ +return getOptional(optional); +} + +Decoder& Decoder::operator>>(std::optional& optional) +{ +return getOptional(optional); +} + +Decoder& Decoder::operator>>(std::optional& optional) +{ +return getOptional(optional); +} + +Decoder& Decoder::operator>>(std::optional& optional) +{ +return getOptional(optional); +} + +Decoder& Decoder::operator>>(std::optional& optional) +{ +return getOptional(optional); +} + +Decoder& Decoder::operator>>(std::optional& optional) +{ +return getOptional(optional); +} + +Decoder& Decoder::operator>>(std::optional& optional) +{ +return getOptional(optional); +} + +Decoder& Decoder::operator>>(std::optional& optional) +{ +return getOptional(optional); +} + +Decoder& Decoder::operator>>(std::optional& optional) +{ +return getOptional(optional); +} + bool Decoder::decode(bool& result) { if (!alignBufferPosition(sizeof(result), sizeof(result))) Modified: trunk/Source/WebKit/Platform/IPC/Decoder.h (221697 => 221698) --- trunk/Source/WebKit/Platform/IPC/Decoder.h 2017-09-06 20:24:56 UTC (rev 221697) +++ trunk/Source/WebKit/Platform/IPC/Decoder.h 2017-09-06 20:26:43 UTC (rev 221698) @@ -78,14 +78,23 @@ bool decodeVariableLengthByteArray(DataReference&); bool decode(bool&); +Decoder& operator>>(std::optional&); bool decode(uint8_t&); +Decoder& operator>>(std::optional&); bool decode(uint16_t&); +Decoder& operator>>(std::optional&); bool decode(uint32_t&); +Decoder& operator>>(std::optional&); bool decode(uint64_t&); +Decoder& operator>>(std::optional&); bool decode(int32_t&); +Decoder& operator>>(std::optional&); bool decode(int64_t&); +Decoder& operator>>(std::optional&); bool decode(float&); +Decoder& operator>>(std::optional&); bool decode(double&); +Decoder& operator>>(std::optional&); template auto decode(E& e) -> std::enable_if_t::value, bool> @@ -143,6 +152,7 @@ private: bool alignBufferPosition(unsigned alignment, size_t); bool bufferIsLargeEnoughToContain(unsigned alignment, size_t) const; +template Decoder& getOptional(std::optional&); const uint8_t* m_buffer; const uint8_t* m_bufferPos; Modified: trunk/Source/WebKit/Shared/NavigationActionData.cpp (221697 => 221698) --- trunk/Source/WebKit/Shared/NavigationActionData.cpp 2017-09-06 20:24:56 UTC (rev 221697) +++ trunk/Source/WebKit/Shared/NavigationActionData.cpp 2017-09-06 20:26:43 UTC (rev 221698) @@ -49,30 +49,53 @@ encoder << isRedirect; } -bool NavigationActionData::decode(IPC::Decoder& decoder, NavigationActionData& result) +std::optional NavigationActionData::decode(IPC::Decoder& decoder) { -if (!decoder.decodeEnum(result.navigationType)
[webkit-changes] [221697] branches/safari-604-branch/Source
Title: [221697] branches/safari-604-branch/Source Revision 221697 Author matthew_han...@apple.com Date 2017-09-06 13:24:56 -0700 (Wed, 06 Sep 2017) Log Message Versioning. Modified Paths branches/safari-604-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-604-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig branches/safari-604-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-604-branch/Source/WebCore/PAL/Configurations/Version.xcconfig branches/safari-604-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-604-branch/Source/WebKit/Configurations/Version.xcconfig branches/safari-604-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: branches/safari-604-branch/Source/_javascript_Core/Configurations/Version.xcconfig (221696 => 221697) --- branches/safari-604-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2017-09-06 20:21:47 UTC (rev 221696) +++ branches/safari-604-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2017-09-06 20:24:56 UTC (rev 221697) @@ -23,7 +23,7 @@ MAJOR_VERSION = 604; MINOR_VERSION = 2; -TINY_VERSION = 8; +TINY_VERSION = 9; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-604-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (221696 => 221697) --- branches/safari-604-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2017-09-06 20:21:47 UTC (rev 221696) +++ branches/safari-604-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2017-09-06 20:24:56 UTC (rev 221697) @@ -23,7 +23,7 @@ MAJOR_VERSION = 604; MINOR_VERSION = 2; -TINY_VERSION = 8; +TINY_VERSION = 9; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-604-branch/Source/WebCore/Configurations/Version.xcconfig (221696 => 221697) --- branches/safari-604-branch/Source/WebCore/Configurations/Version.xcconfig 2017-09-06 20:21:47 UTC (rev 221696) +++ branches/safari-604-branch/Source/WebCore/Configurations/Version.xcconfig 2017-09-06 20:24:56 UTC (rev 221697) @@ -23,7 +23,7 @@ MAJOR_VERSION = 604; MINOR_VERSION = 2; -TINY_VERSION = 8; +TINY_VERSION = 9; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-604-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (221696 => 221697) --- branches/safari-604-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2017-09-06 20:21:47 UTC (rev 221696) +++ branches/safari-604-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2017-09-06 20:24:56 UTC (rev 221697) @@ -23,7 +23,7 @@ MAJOR_VERSION = 604; MINOR_VERSION = 2; -TINY_VERSION = 8; +TINY_VERSION = 9; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-604-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (221696 => 221697) --- branches/safari-604-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2017-09-06 20:21:47 UTC (rev 221696) +++ branches/safari-604-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2017-09-06 20:24:56 UTC (rev 221697) @@ -1,6 +1,6 @@ MAJOR_VERSION = 604; MINOR_VERSION = 2; -TINY_VERSION = 8; +TINY_VERSION = 9; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-604-branch/Source/WebKit/Configurations/Version.xcconfig (221696 => 221697) --- branches/safari-604-branch/Source/WebKit/Configurations/Version.xcconfig 2017-09-06 20:21:47 UTC (rev 221696) +++ branches/safari-604-branch/Source/WebKit/Configurations/Version.xcconfig 2017-09-06 20:24:56 UTC (rev 221697) @@ -23,7 +23,7 @@ MAJOR_VERSION = 604; MINOR_VERSION = 2; -TINY_VERSION = 8; +TINY_VERSION = 9; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); Modified: branches/safari-604-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (221696 => 221697) --- branches/safari-604-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2017-09-06 20:21:47 UTC (rev 221696) +++ branches/safari-604-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig 2017-09-06 20:24:56 UTC (rev 221697) @@ -23,7 +23,7 @@ MAJOR_VERSION = 604; MINOR_VERSION = 2; -TINY_VERSION = 8; +TINY_VERSION = 9; MICRO_VERSION = 0; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221696] trunk/Tools
Title: [221696] trunk/Tools Revision 221696 Author aakash_j...@apple.com Date 2017-09-06 13:21:47 -0700 (Wed, 06 Sep 2017) Log Message status-bubbles turn orange after checking relevance of patch https://bugs.webkit.org/show_bug.cgi?id=176457 Reviewed by Alexey Proskuryakov. * QueueStatusServer/handlers/statusbubble.py: Added "Checked relevance of patch" as a progress_statuses. Modified Paths trunk/Tools/ChangeLog trunk/Tools/QueueStatusServer/handlers/statusbubble.py Diff Modified: trunk/Tools/ChangeLog (221695 => 221696) --- trunk/Tools/ChangeLog 2017-09-06 20:16:31 UTC (rev 221695) +++ trunk/Tools/ChangeLog 2017-09-06 20:21:47 UTC (rev 221696) @@ -1,3 +1,12 @@ +2017-09-06 Aakash Jain + +status-bubbles turn orange after checking relevance of patch +https://bugs.webkit.org/show_bug.cgi?id=176457 + +Reviewed by Alexey Proskuryakov. + +* QueueStatusServer/handlers/statusbubble.py: Added "Checked relevance of patch" as a progress_statuses. + 2017-09-06 Alex Christensen Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange Modified: trunk/Tools/QueueStatusServer/handlers/statusbubble.py (221695 => 221696) --- trunk/Tools/QueueStatusServer/handlers/statusbubble.py 2017-09-06 20:16:31 UTC (rev 221695) +++ trunk/Tools/QueueStatusServer/handlers/statusbubble.py 2017-09-06 20:21:47 UTC (rev 221696) @@ -44,6 +44,7 @@ "Started processing patch", "Cleaned working directory", "Updated working directory", +"Checked relevance of patch", "Applied patch", "Built patch", "Watchlist applied", ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221694] trunk
Title: [221694] trunk Revision 221694 Author achristen...@apple.com Date 2017-09-06 13:15:47 -0700 (Wed, 06 Sep 2017) Log Message Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange https://bugs.webkit.org/show_bug.cgi?id=176474 Reviewed by Tim Horton. Source/WebKit: Rather than telling the UIClient that the pinned state changed and having the application check 4 bools like we do with WKPage, I made a KVO property on the WKWebView. I introduce _WKRectEdge for this purpose, which is like UIRectEdge but unfortunately NSRectEdge and CGRectEdge cannot be used as NS_OPTIONS/flags. This same structure is used for rubber band state. Covered by a new API test. * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _pinnedState]): (-[WKWebView _rubberBandState]): (-[WKWebView _setRubberBandState:]): * UIProcess/API/Cocoa/WKWebViewPrivate.h: * UIProcess/Cocoa/WebViewImpl.h: * UIProcess/Cocoa/WebViewImpl.mm: (WebKit::WebViewImpl::pinnedState): (WebKit::WebViewImpl::rubberBandState): (WebKit::WebViewImpl::setRubberBandState): * UIProcess/PageClient.h: (WebKit::PageClient::pinnedStateWillChange): (WebKit::PageClient::pinnedStateDidChange): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame): * UIProcess/mac/PageClientImplMac.h: * UIProcess/mac/PageClientImplMac.mm: (WebKit::PageClientImpl::pinnedStateWillChange): (WebKit::PageClientImpl::pinnedStateDidChange): Tools: * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm: (-[PinnedStateObserver observeValueForKeyPath:ofObject:change:context:]): (TEST): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm trunk/Source/WebKit/UIProcess/PageClient.h trunk/Source/WebKit/UIProcess/WebPageProxy.cpp trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm Diff Modified: trunk/Source/WebKit/ChangeLog (221693 => 221694) --- trunk/Source/WebKit/ChangeLog 2017-09-06 20:09:28 UTC (rev 221693) +++ trunk/Source/WebKit/ChangeLog 2017-09-06 20:15:47 UTC (rev 221694) @@ -1,3 +1,38 @@ +2017-09-06 Alex Christensen + +Add WKUIDelegatePrivate equivalent of WKPageUIClient's pinnedStateDidChange +https://bugs.webkit.org/show_bug.cgi?id=176474 + + +Reviewed by Tim Horton. + +Rather than telling the UIClient that the pinned state changed and having the application check 4 bools +like we do with WKPage, I made a KVO property on the WKWebView. I introduce _WKRectEdge for this purpose, +which is like UIRectEdge but unfortunately NSRectEdge and CGRectEdge cannot be used as NS_OPTIONS/flags. +This same structure is used for rubber band state. + +Covered by a new API test. + +* UIProcess/API/Cocoa/WKWebView.mm: +(-[WKWebView _pinnedState]): +(-[WKWebView _rubberBandState]): +(-[WKWebView _setRubberBandState:]): +* UIProcess/API/Cocoa/WKWebViewPrivate.h: +* UIProcess/Cocoa/WebViewImpl.h: +* UIProcess/Cocoa/WebViewImpl.mm: +(WebKit::WebViewImpl::pinnedState): +(WebKit::WebViewImpl::rubberBandState): +(WebKit::WebViewImpl::setRubberBandState): +* UIProcess/PageClient.h: +(WebKit::PageClient::pinnedStateWillChange): +(WebKit::PageClient::pinnedStateDidChange): +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame): +* UIProcess/mac/PageClientImplMac.h: +* UIProcess/mac/PageClientImplMac.mm: +(WebKit::PageClientImpl::pinnedStateWillChange): +(WebKit::PageClientImpl::pinnedStateDidChange): + 2017-09-06 Brent Fulgham Deny third-party cookie creation for prevalent resources without interaction Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (221693 => 221694) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2017-09-06 20:09:28 UTC (rev 221693) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2017-09-06 20:15:47 UTC (rev 221694) @@ -5281,6 +5281,21 @@ return _impl->pageExtendedBackgroundColor(); } +- (_WKRectEdge)_pinnedState +{ +return _impl->pinnedState(); +} + +- (_WKRectEdge)_rubberBandingEnabled +{ +return _impl->rubberBandingEnabled(); +} + +- (void)_setRubberBandingEnabled:(_WKRectEdge)state +{ +_impl->setRubberBandingEnabled(state); +} + - (id)_immediateActionAnimationControllerForHitTestResult:(_WKHitTestResult *)hitTestResult withType:(_WKImmediateActionType)type userData:(id)userData { return nil; Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h (221693 => 221694) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WK
[webkit-changes] [221693] trunk/Source
Title: [221693] trunk/Source Revision 221693 Author pvol...@apple.com Date 2017-09-06 13:09:28 -0700 (Wed, 06 Sep 2017) Log Message [Win] WebCore failed to build, InbandTextTrackPrivateAVF: base class undefined. https://bugs.webkit.org/show_bug.cgi?id=176431 Reviewed by Alex Christensen. Source/WebCore: AVFoundation header detection should be done in WebCore because of build dependencies. No new tests, covered by existing tests. * AVFoundationSupport.py: Copied from Source/WTF/AVFoundationSupport.py. * PlatformWin.cmake: * config.h: * platform/graphics/ca/win/PlatformCALayerWin.cpp: * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: Source/WTF: AVFoundation header detection should be done in WebCore because of build dependencies. * AVFoundationSupport.py: Removed. * wtf/Platform.h: * wtf/PlatformWin.cmake: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Platform.h trunk/Source/WTF/wtf/PlatformWin.cmake trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PlatformWin.cmake trunk/Source/WebCore/config.h trunk/Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.cpp trunk/Source/WebCore/platform/graphics/ca/win/PlatformCALayerWinInternal.cpp Added Paths trunk/Source/WebCore/AVFoundationSupport.py Removed Paths trunk/Source/WTF/AVFoundationSupport.py Diff Deleted: trunk/Source/WTF/AVFoundationSupport.py (221692 => 221693) --- trunk/Source/WTF/AVFoundationSupport.py 2017-09-06 20:03:59 UTC (rev 221692) +++ trunk/Source/WTF/AVFoundationSupport.py 2017-09-06 20:09:28 UTC (rev 221693) @@ -1,64 +0,0 @@ -#!/usr/bin/python - -# Copyright (C) 2015 Apple Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. Neither the name of Apple puter, Inc. ("Apple") nor the names of -# its contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import re -import sys -import os - - -def lookFor(relativePath): -return os.path.isfile(sys.argv[1] + relativePath) - - -def fileContains(relativePath, regexp): -with open(sys.argv[1] + relativePath) as file: -for line in file: -if regexp.search(line): -return True -return False - - -print "/* Identifying AVFoundation Support */" -if lookFor("/include/AVFoundationCF/AVCFBase.h"): -print "#define HAVE_AVCF 1" -if lookFor("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h"): -print "#define HAVE_AVCF_LEGIBLE_OUTPUT 1" -if lookFor("/include/AVFoundationCF/AVCFAssetResourceLoader.h"): -print "#define HAVE_AVFOUNDATION_LOADER_DELEGATE 1" -if lookFor("/include/AVFoundationCF/AVCFAsset.h"): -regexp = re.compile("AVCFURLAssetIsPlayableExtendedMIMEType") -if fileContains("/include/AVFoundationCF/AVCFAsset.h", regexp): -print "#define HAVE_AVCFURL_PLAYABLE_MIMETYPE 1" -if lookFor("/include/QuartzCore/CACFLayer.h"): -regexp = re.compile("CACFLayerSetContentsScale") -if fileContains("/include/QuartzCore/CACFLayer.h", regexp): -print "#define HAVE_CACFLAYER_SETCONTENTSSCALE 1" -if lookFor("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h"): -regexp = re.compile("kAVCFPlayerItemLegibleOutput_CallbacksVersion_2") -if fileContains("/include/AVFoundationCF/AVCFPlayerItemLegibleOutput.h", regexp): -print "#define HAVE_AVCFPLAYERITEM_CALLBACK_VERSION_2 1" Modified: trunk/Source/WTF/ChangeLog (221692 => 221693) --- trunk/Source/WTF/ChangeLog 2017-09-06 20:03:59 UTC (rev 221692) +++ trunk/Source/WTF/ChangeLog 2017-09-06 20:09:28 UTC (rev 221693) @@ -1,3 +1,16 @@ +2017-09-06 Per Arne Vollan + +[Win] WebCore failed to build, InbandTextTrackPrivateAVF: base class undefined. +https://bugs.webki
[webkit-changes] [221692] trunk/Tools
Title: [221692] trunk/Tools Revision 221692 Author fpi...@apple.com Date 2017-09-06 13:03:59 -0700 (Wed, 06 Sep 2017) Log Message WSL: Inliner doesn't allow double-negation https://bugs.webkit.org/show_bug.cgi?id=176440 Reviewed by Mylex Maxfield. The problem was that we were visiting the operands to calls while inside doVisit. This is too strict since it rejects nested calls like foo(foo(x)). The solution is to visit the operands to calls before entering doVisit. This also fixes some other issues in the parser that made the Inliner's error really strange. * WebGPUShadingLanguageRI/Func.js: (Func): * WebGPUShadingLanguageRI/Inliner.js: (Inliner.prototype.visitCallExpression): (Inliner): * WebGPUShadingLanguageRI/Parse.js: (parseOperatorFuncDefValues): (parseNonOperatorFuncDefValues): (parseGenericFuncDefValues): (parseFuncDecl): * WebGPUShadingLanguageRI/Test.js: * WebGPUShadingLanguageRI/VisitingSet.js: (VisitingSet.prototype.doVisit): (VisitingSet): Modified Paths trunk/Tools/ChangeLog trunk/Tools/WebGPUShadingLanguageRI/Func.js trunk/Tools/WebGPUShadingLanguageRI/Inliner.js trunk/Tools/WebGPUShadingLanguageRI/Test.js trunk/Tools/WebGPUShadingLanguageRI/VisitingSet.js Diff Modified: trunk/Tools/ChangeLog (221691 => 221692) --- trunk/Tools/ChangeLog 2017-09-06 19:46:38 UTC (rev 221691) +++ trunk/Tools/ChangeLog 2017-09-06 20:03:59 UTC (rev 221692) @@ -1,3 +1,31 @@ +2017-09-06 Filip Pizlo + +WSL: Inliner doesn't allow double-negation +https://bugs.webkit.org/show_bug.cgi?id=176440 + +Reviewed by Mylex Maxfield. + +The problem was that we were visiting the operands to calls while inside doVisit. This is too strict +since it rejects nested calls like foo(foo(x)). The solution is to visit the operands to calls before +entering doVisit. + +This also fixes some other issues in the parser that made the Inliner's error really strange. + +* WebGPUShadingLanguageRI/Func.js: +(Func): +* WebGPUShadingLanguageRI/Inliner.js: +(Inliner.prototype.visitCallExpression): +(Inliner): +* WebGPUShadingLanguageRI/Parse.js: +(parseOperatorFuncDefValues): +(parseNonOperatorFuncDefValues): +(parseGenericFuncDefValues): +(parseFuncDecl): +* WebGPUShadingLanguageRI/Test.js: +* WebGPUShadingLanguageRI/VisitingSet.js: +(VisitingSet.prototype.doVisit): +(VisitingSet): + 2017-09-06 Myles C. Maxfield WSL should support the bool type Modified: trunk/Tools/WebGPUShadingLanguageRI/Func.js (221691 => 221692) --- trunk/Tools/WebGPUShadingLanguageRI/Func.js 2017-09-06 19:46:38 UTC (rev 221691) +++ trunk/Tools/WebGPUShadingLanguageRI/Func.js 2017-09-06 20:03:59 UTC (rev 221692) @@ -27,6 +27,8 @@ class Func extends Node { constructor(origin, name, returnType, typeParameters, parameters, isCast) { +if (!(origin instanceof LexerToken)) +throw new Error("Bad origin: " + origin); super(); this._origin = origin; this._name = name; Modified: trunk/Tools/WebGPUShadingLanguageRI/Inliner.js (221691 => 221692) --- trunk/Tools/WebGPUShadingLanguageRI/Inliner.js 2017-09-06 19:46:38 UTC (rev 221691) +++ trunk/Tools/WebGPUShadingLanguageRI/Inliner.js 2017-09-06 20:03:59 UTC (rev 221692) @@ -43,19 +43,16 @@ visitCallExpression(node) { +let result = super.visitCallExpression(node); return this._visiting.doVisit(node.func, () => { -let func = this._program.funcInstantiator.getUnique(node.func, node.actualTypeArguments); +let func = this._program.funcInstantiator.getUnique(result.func, result.actualTypeArguments); if (func.isNative) { -let result = super.visitCallExpression(node); result.nativeFuncInstance = func; return result; } _inlineFunction(this._program, func, this._visiting); return new FunctionLikeBlock( -node.origin, -func.returnType, -node.argumentList.map(argument => argument.visit(this)), -func.parameters, func.body); +result.origin, func.returnType, result.argumentList, func.parameters, func.body); }); } Modified: trunk/Tools/WebGPUShadingLanguageRI/Test.js (221691 => 221692) --- trunk/Tools/WebGPUShadingLanguageRI/Test.js 2017-09-06 19:46:38 UTC (rev 221691) +++ trunk/Tools/WebGPUShadingLanguageRI/Test.js 2017-09-06 20:03:59 UTC (rev 221692) @@ -977,6 +977,18 @@ }); } +function TEST_doubleNot() +{ +let program = doPrep(` +bool foo(bool x) +{ +return !!x; +} +`); +checkBool(program, callFunction(program, "foo", [], [makeBool(program, true)]), true); +checkBool(program, callFunction(program, "foo", [], [makeBool(program, false)]), false
[webkit-changes] [221691] trunk/Source/WebInspectorUI
Title: [221691] trunk/Source/WebInspectorUI Revision 221691 Author commit-qu...@webkit.org Date 2017-09-06 12:46:38 -0700 (Wed, 06 Sep 2017) Log Message Web Inspector: ⌘E and ⌘G do not work in main content area when quick console drawer is open https://bugs.webkit.org/show_bug.cgi?id=176433 Patch by Joseph Pecoraro on 2017-09-06 Reviewed by Brian Burg. Make the ⌘E and ⌘G keyboard shortcuts behave more like the global ⌘K clear shortcut. Instead of keeping them inside of FindBanner, and enabling/disabling them when they make sense to apply, we make a single global instance of the keyboard shortcut and apply it to whatever content view / content browser is active. This avoids conflicts in situations where there are two ContentViews that are visible and each can handle the keyboard shortcut. * UserInterface/Base/Main.js: (WI.contentLoaded): New keyboard shortcuts. (WI._populateFind): (WI._findNext): (WI._findPrevious): Perform the shortcut on the active content view or content browser. * UserInterface/Views/ContentBrowser.js: (WI.ContentBrowser.prototype.shown): (WI.ContentBrowser.prototype.hidden): (WI.ContentBrowser.prototype.handlePopulateFindShortcut): (WI.ContentBrowser.prototype.handleFindNextShortcut): (WI.ContentBrowser.prototype.handleFindPreviousShortcut): (WI.ContentBrowser.prototype.findBannerSearchQueryForSelection): Deleted. * UserInterface/Views/LogContentView.js: (WI.LogContentView.prototype.handlePopulateFindShortcut): (WI.LogContentView.prototype.handleFindNextShortcut): (WI.LogContentView.prototype.handleFindPreviousShortcut): ContentBrowser and LogContentView (the only content view with a custom find banner) now each handle the global keyboard shortcut handlers to do the right thing for their respective cases. * UserInterface/Views/FindBanner.js: (WI.FindBanner.prototype.enableKeyboardShortcuts): Deleted. (WI.FindBanner.prototype.disableKeyboardShortcuts): Deleted. (WI.FindBanner.prototype._populateSearchQueryFromSelection): Deleted. Move keyboard shortcut handling up to Main.js to be global. * UserInterface/Views/ContentView.js: (WI.ContentView.prototype.searchQueryWithSelection): Default implementation should grab the selected text from the selection. Previously shortcut selections only worked for selections in text editors. Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Base/Main.js trunk/Source/WebInspectorUI/UserInterface/Views/ContentBrowser.js trunk/Source/WebInspectorUI/UserInterface/Views/ContentView.js trunk/Source/WebInspectorUI/UserInterface/Views/FindBanner.js trunk/Source/WebInspectorUI/UserInterface/Views/LogContentView.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (221690 => 221691) --- trunk/Source/WebInspectorUI/ChangeLog 2017-09-06 19:34:29 UTC (rev 221690) +++ trunk/Source/WebInspectorUI/ChangeLog 2017-09-06 19:46:38 UTC (rev 221691) @@ -1,3 +1,52 @@ +2017-09-06 Joseph Pecoraro + +Web Inspector: ⌘E and ⌘G do not work in main content area when quick console drawer is open +https://bugs.webkit.org/show_bug.cgi?id=176433 + +Reviewed by Brian Burg. + +Make the ⌘E and ⌘G keyboard shortcuts behave more like the global ⌘K clear shortcut. +Instead of keeping them inside of FindBanner, and enabling/disabling them when they +make sense to apply, we make a single global instance of the keyboard shortcut and +apply it to whatever content view / content browser is active. This avoids conflicts +in situations where there are two ContentViews that are visible and each can handle +the keyboard shortcut. + +* UserInterface/Base/Main.js: +(WI.contentLoaded): +New keyboard shortcuts. + +(WI._populateFind): +(WI._findNext): +(WI._findPrevious): +Perform the shortcut on the active content view or content browser. + +* UserInterface/Views/ContentBrowser.js: +(WI.ContentBrowser.prototype.shown): +(WI.ContentBrowser.prototype.hidden): +(WI.ContentBrowser.prototype.handlePopulateFindShortcut): +(WI.ContentBrowser.prototype.handleFindNextShortcut): +(WI.ContentBrowser.prototype.handleFindPreviousShortcut): +(WI.ContentBrowser.prototype.findBannerSearchQueryForSelection): Deleted. +* UserInterface/Views/LogContentView.js: +(WI.LogContentView.prototype.handlePopulateFindShortcut): +(WI.LogContentView.prototype.handleFindNextShortcut): +(WI.LogContentView.prototype.handleFindPreviousShortcut): +ContentBrowser and LogContentView (the only content view with a custom find banner) +now each handle the global keyboard shortcut handlers to do the right thing for +their respective cases. + +* UserInterface/Views/FindBanner.js: +(WI.FindBanner.prototype.enableKeyboardShortcuts): Deleted. +(WI.FindBanner.prototype.disableKeyboardShortcuts): Deleted. +(WI.F
[webkit-changes] [221690] trunk/Tools
Title: [221690] trunk/Tools Revision 221690 Author mmaxfi...@apple.com Date 2017-09-06 12:34:29 -0700 (Wed, 06 Sep 2017) Log Message WSL should support the bool type https://bugs.webkit.org/show_bug.cgi?id=176285 Reviewed by Filip Pizlo. I forgot to commit a couple files. * WebGPUShadingLanguageRI/StandardLibraryEpilogue.js: Added. (const.standardLibraryEpilogue.operator.bool.T.Equatable): * WebGPUShadingLanguageRI/StandardLibraryPrologue.js: Added. (operator.T.T): Modified Paths trunk/Tools/ChangeLog Added Paths trunk/Tools/WebGPUShadingLanguageRI/StandardLibraryEpilogue.js trunk/Tools/WebGPUShadingLanguageRI/StandardLibraryPrologue.js Diff Modified: trunk/Tools/ChangeLog (221689 => 221690) --- trunk/Tools/ChangeLog 2017-09-06 18:49:47 UTC (rev 221689) +++ trunk/Tools/ChangeLog 2017-09-06 19:34:29 UTC (rev 221690) @@ -1,5 +1,19 @@ 2017-09-06 Myles C. Maxfield +WSL should support the bool type +https://bugs.webkit.org/show_bug.cgi?id=176285 + +Reviewed by Filip Pizlo. + +I forgot to commit a couple files. + +* WebGPUShadingLanguageRI/StandardLibraryEpilogue.js: Added. +(const.standardLibraryEpilogue.operator.bool.T.Equatable): +* WebGPUShadingLanguageRI/StandardLibraryPrologue.js: Added. +(operator.T.T): + +2017-09-06 Myles C. Maxfield + WSL should correctly handle the interaction between casting operators and complex types https://bugs.webkit.org/show_bug.cgi?id=176316 Added: trunk/Tools/WebGPUShadingLanguageRI/StandardLibraryEpilogue.js (0 => 221690) --- trunk/Tools/WebGPUShadingLanguageRI/StandardLibraryEpilogue.js (rev 0) +++ trunk/Tools/WebGPUShadingLanguageRI/StandardLibraryEpilogue.js 2017-09-06 19:34:29 UTC (rev 221690) @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2017 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +"use strict"; + +// NOTE: The next line is line 28, and we rely on this in Prepare.js. +const standardLibraryEpilogue = ` +operator bool<>(T x) { +T defaultValue; +return x != defaultValue; +} +`; Added: trunk/Tools/WebGPUShadingLanguageRI/StandardLibraryPrologue.js (0 => 221690) --- trunk/Tools/WebGPUShadingLanguageRI/StandardLibraryPrologue.js (rev 0) +++ trunk/Tools/WebGPUShadingLanguageRI/StandardLibraryPrologue.js 2017-09-06 19:34:29 UTC (rev 221690) @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2017 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *notice, this list of conditions and the following disclaimer in the + *documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISE
[webkit-changes] [221689] trunk
Title: [221689] trunk Revision 221689 Author commit-qu...@webkit.org Date 2017-09-06 11:49:47 -0700 (Wed, 06 Sep 2017) Log Message REGRESSION (r221598): Legacy "round" and "bevel" options can no longer be used with the legacy CanvasRenderingContext2D setLineJoin operation https://bugs.webkit.org/show_bug.cgi?id=176461 Patch by Sam Weinig on 2017-09-06 Reviewed by Alex Christensen. Source/WebCore: Tests: fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute.html fast/canvas/canvas-strokePath-cap-join-legacy.html * html/canvas/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setLineJoin): Fix silly typo, ifs -> else ifs. LayoutTests: Add tests showing that the legacy setLineJoin and setLineCap operations are correct and match the corresponding standard attributes. * fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute-expected.html: Added. * fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute.html: Added. * fast/canvas/canvas-strokePath-cap-join-legacy-expected.txt: Added. * fast/canvas/canvas-strokePath-cap-join-legacy.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp Added Paths trunk/LayoutTests/fast/canvas/canvas-strokePath-cap-join-legacy-expected.txt trunk/LayoutTests/fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute-expected.html trunk/LayoutTests/fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute.html trunk/LayoutTests/fast/canvas/canvas-strokePath-cap-join-legacy.html Diff Modified: trunk/LayoutTests/ChangeLog (221688 => 221689) --- trunk/LayoutTests/ChangeLog 2017-09-06 18:45:38 UTC (rev 221688) +++ trunk/LayoutTests/ChangeLog 2017-09-06 18:49:47 UTC (rev 221689) @@ -1,3 +1,18 @@ +2017-09-06 Sam Weinig + +REGRESSION (r221598): Legacy "round" and "bevel" options can no longer be used with the legacy CanvasRenderingContext2D setLineJoin operation +https://bugs.webkit.org/show_bug.cgi?id=176461 + +Reviewed by Alex Christensen. + +Add tests showing that the legacy setLineJoin and setLineCap operations are correct +and match the corresponding standard attributes. + +* fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute-expected.html: Added. +* fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute.html: Added. +* fast/canvas/canvas-strokePath-cap-join-legacy-expected.txt: Added. +* fast/canvas/canvas-strokePath-cap-join-legacy.html: Added. + 2017-09-06 Per Arne Vollan Rebaseline printing/width-overflow.html after r219121. Added: trunk/LayoutTests/fast/canvas/canvas-strokePath-cap-join-legacy-expected.txt (0 => 221689) --- trunk/LayoutTests/fast/canvas/canvas-strokePath-cap-join-legacy-expected.txt (rev 0) +++ trunk/LayoutTests/fast/canvas/canvas-strokePath-cap-join-legacy-expected.txt 2017-09-06 18:49:47 UTC (rev 221689) @@ -0,0 +1,43 @@ +Ensure correct behavior of canvas with path stroke with legacy setLineCap and setLineJoin functions. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS data[0] is 0 +PASS data[0] is 255 +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute-expected.html (0 => 221689) --- trunk/LayoutTests/fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute-expected.html (rev 0) +++ trunk/LayoutTests/fast/canvas/canvas-strokePath-cap-join-legacy-functions-match-attribute-expected.html 2017-09-06 18:49:47 UTC (rev 221689) @@ -0,0 +1,119 @@ + + + + + +// Ensures that CanvasRendingContext2D's legacy setLineCap and setLineJoin operations match the behavior of the standard lineCap and lineJoin attributes. + +var canvas = document.createElement('canvas'); +document.body.appendChild(canvas); +canvas.setAttribute('width', '700'); +canvas.setAttribute('height', '200'); +var ctx = canvas.getContext('2d'); + +ctx.miterLimit = 5; +ctx.lineWidth = 15; + +ctx.fillStyle="rgba(255, 255, 255, 1.0)"; +ctx.fillRect(0, 0, 700, 200); + +ctx.strokeStyle="rgba(0, 0, 0, 1.0)"; +ctx.lineJoin = "mi
[webkit-changes] [221688] trunk/LayoutTests
Title: [221688] trunk/LayoutTests Revision 221688 Author pvol...@apple.com Date 2017-09-06 11:45:38 -0700 (Wed, 06 Sep 2017) Log Message Rebaseline printing/width-overflow.html after r219121. Unreviewed test gardening. * platform/win/printing/width-overflow-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/win/printing/width-overflow-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (221687 => 221688) --- trunk/LayoutTests/ChangeLog 2017-09-06 18:26:21 UTC (rev 221687) +++ trunk/LayoutTests/ChangeLog 2017-09-06 18:45:38 UTC (rev 221688) @@ -1,3 +1,11 @@ +2017-09-06 Per Arne Vollan + +Rebaseline printing/width-overflow.html after r219121. + +Unreviewed test gardening. + +* platform/win/printing/width-overflow-expected.txt: + 2017-09-06 Matt Lewis Marked js/arraybuffer-wrappers.html as flaky. Modified: trunk/LayoutTests/platform/win/printing/width-overflow-expected.txt (221687 => 221688) --- trunk/LayoutTests/platform/win/printing/width-overflow-expected.txt 2017-09-06 18:26:21 UTC (rev 221687) +++ trunk/LayoutTests/platform/win/printing/width-overflow-expected.txt 2017-09-06 18:45:38 UTC (rev 221688) @@ -1,9 +1,9 @@ layer at (0,0) size 1300x2284 RenderView at (0,0) size 1300x2284 -layer at (0,0) size 981x2284 - RenderBlock {HTML} at (0,0) size 981x2284 -RenderBody {BODY} at (0,16) size 981x2252 - RenderBlock {P} at (0,0) size 981x18 +layer at (0,0) size 1300x2284 + RenderBlock {HTML} at (0,0) size 1300x2284 +RenderBody {BODY} at (0,16) size 1300x2252 + RenderBlock {P} at (0,0) size 1300x18 RenderText {#text} at (0,0) size 748x18 text run at (0,0) width 748: "To run this test manually, print this page. If the right side of any lines is printed without being truncated, the test passes." RenderBlock {DIV} at (0,34) size 1300x2218 ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221687] trunk/LayoutTests
Title: [221687] trunk/LayoutTests Revision 221687 Author jlew...@apple.com Date 2017-09-06 11:26:21 -0700 (Wed, 06 Sep 2017) Log Message Marked js/arraybuffer-wrappers.html as flaky. https://bugs.webkit.org/show_bug.cgi?id=155092 Unreviewed test gardening. * platform/ios/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (221686 => 221687) --- trunk/LayoutTests/ChangeLog 2017-09-06 18:25:55 UTC (rev 221686) +++ trunk/LayoutTests/ChangeLog 2017-09-06 18:26:21 UTC (rev 221687) @@ -1,3 +1,12 @@ +2017-09-06 Matt Lewis + +Marked js/arraybuffer-wrappers.html as flaky. +https://bugs.webkit.org/show_bug.cgi?id=155092 + +Unreviewed test gardening. + +* platform/ios/TestExpectations: + 2017-09-06 Brent Fulgham Deny third-party cookie creation for prevalent resources without interaction Modified: trunk/LayoutTests/platform/ios/TestExpectations (221686 => 221687) --- trunk/LayoutTests/platform/ios/TestExpectations 2017-09-06 18:25:55 UTC (rev 221686) +++ trunk/LayoutTests/platform/ios/TestExpectations 2017-09-06 18:26:21 UTC (rev 221687) @@ -2899,3 +2899,6 @@ crypto/subtle/ecdsa-import-key-sign-p521.html crypto/subtle/ecdsa-import-key-verify-p521.html crypto/subtle/ecdsa-import-pkcs8-key-p521-validate-ecprivatekey-parameters-publickey.html + +webkit.org/b/155092 js/arraybuffer-wrappers.html [ Pass Timeout ] + ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221686] trunk/Tools
Title: [221686] trunk/Tools Revision 221686 Author mmaxfi...@apple.com Date 2017-09-06 11:25:55 -0700 (Wed, 06 Sep 2017) Log Message WSL should correctly handle the interaction between casting operators and complex types https://bugs.webkit.org/show_bug.cgi?id=176316 Reviewed by Filip Pizlo. This allows the standard library to include all identity cast operators for all exsting and yet-to-exist types. The standard library now has a function with the signature: operator T<>(T). This means "for all T, define a cast operator from T to T<>." The duplicate <>s lets us say things like operator OutputVector(InputVector x). For testing, this patch also adds the ability to cast an arbitrary Equatable type to bool, by comparing the value to the default value for that type. * WebGPUShadingLanguageRI/All.js: * WebGPUShadingLanguageRI/CastExpression.js: Copied from Tools/WebGPUShadingLanguageRI/NativeFuncInstance.js. (CastExpression): (CastExpression.prototype.get functionName): (CastExpression.prototype.get returnType): (CastExpression.prototype.toString): * WebGPUShadingLanguageRI/Checker.js: * WebGPUShadingLanguageRI/Func.js: (Func.prototype.toDeclString): * WebGPUShadingLanguageRI/FuncInstantiator.js: (FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc): (FuncInstantiator.prototype.getUnique.Instantiate): (FuncInstantiator.prototype.getUnique): (FuncInstantiator): * WebGPUShadingLanguageRI/Inliner.js: (Inliner.prototype.visitCastExpression): (Inliner): * WebGPUShadingLanguageRI/Intrinsics.js: (Intrinsics): * WebGPUShadingLanguageRI/NativeFunc.js: * WebGPUShadingLanguageRI/NativeFuncInstance.js: (NativeFuncInstance): * WebGPUShadingLanguageRI/Parse.js: (parsePossiblePrefix): (parseFuncDecl): (parseOperatorFuncDefValues): Deleted. (parseNonOperatorFuncDefValues): Deleted. (parseGenericFuncDefValues): Deleted. * WebGPUShadingLanguageRI/Prepare.js: (prepare): * WebGPUShadingLanguageRI/Program.js: (Program.prototype.resolveFuncOverload): * WebGPUShadingLanguageRI/ResolveOverloadImpl.js: (resolveOverloadImpl): * WebGPUShadingLanguageRI/Rewriter.js: (Rewriter.prototype.processDerivedCallData): (Rewriter.prototype.visitCastExpression): (Rewriter.prototype.visitCallExpression): * WebGPUShadingLanguageRI/StandardLibrary.js: Removed. * WebGPUShadingLanguageRI/Test.html: * WebGPUShadingLanguageRI/Test.js: * WebGPUShadingLanguageRI/TypeDefResolver.js: (TypeDefResolver): (TypeDefResolver.prototype.visitFuncDef): Deleted. * WebGPUShadingLanguageRI/Visitor.js: (Visitor.prototype.visitCastExpression): Modified Paths trunk/Tools/ChangeLog trunk/Tools/WebGPUShadingLanguageRI/All.js trunk/Tools/WebGPUShadingLanguageRI/Checker.js trunk/Tools/WebGPUShadingLanguageRI/Func.js trunk/Tools/WebGPUShadingLanguageRI/FuncInstantiator.js trunk/Tools/WebGPUShadingLanguageRI/Inliner.js trunk/Tools/WebGPUShadingLanguageRI/Intrinsics.js trunk/Tools/WebGPUShadingLanguageRI/NativeFunc.js trunk/Tools/WebGPUShadingLanguageRI/NativeFuncInstance.js trunk/Tools/WebGPUShadingLanguageRI/Parse.js trunk/Tools/WebGPUShadingLanguageRI/Prepare.js trunk/Tools/WebGPUShadingLanguageRI/Program.js trunk/Tools/WebGPUShadingLanguageRI/ResolveOverloadImpl.js trunk/Tools/WebGPUShadingLanguageRI/Rewriter.js trunk/Tools/WebGPUShadingLanguageRI/Test.html trunk/Tools/WebGPUShadingLanguageRI/Test.js trunk/Tools/WebGPUShadingLanguageRI/TypeDefResolver.js trunk/Tools/WebGPUShadingLanguageRI/Visitor.js Added Paths trunk/Tools/WebGPUShadingLanguageRI/CastExpression.js Removed Paths trunk/Tools/WebGPUShadingLanguageRI/StandardLibrary.js Diff Modified: trunk/Tools/ChangeLog (221685 => 221686) --- trunk/Tools/ChangeLog 2017-09-06 18:16:56 UTC (rev 221685) +++ trunk/Tools/ChangeLog 2017-09-06 18:25:55 UTC (rev 221686) @@ -1,3 +1,65 @@ +2017-09-06 Myles C. Maxfield + +WSL should correctly handle the interaction between casting operators and complex types +https://bugs.webkit.org/show_bug.cgi?id=176316 + +Reviewed by Filip Pizlo. + +This allows the standard library to include all identity cast operators for all exsting +and yet-to-exist types. The standard library now has a function with the signature: +operator T<>(T). This means "for all T, define a cast operator from T to T<>." The +duplicate <>s lets us say things like operator OutputVector(InputVector x). + +For testing, this patch also adds the ability to cast an arbitrary Equatable type to bool, +by comparing the value to the default value for that type. + +* WebGPUShadingLanguageRI/All.js: +* WebGPUShadingLanguageRI/CastExpression.js: Copied from Tools/WebGPUShadingLanguageRI/NativeFuncInstance.js. +(CastExpression): +(CastExpression.prototype.get functionName): +(CastExpression.prototype.get returnType): +(CastExpression.prototype.toString): +* WebGPUShadingLanguageRI/Checker.js: +* WebGPUShadingLanguageRI/Func.js: +(Func.prototype.
[webkit-changes] [221685] trunk/PerformanceTests
Title: [221685] trunk/PerformanceTests Revision 221685 Author fpi...@apple.com Date 2017-09-06 11:16:56 -0700 (Wed, 06 Sep 2017) Log Message We should have more tests of tail calls https://bugs.webkit.org/show_bug.cgi?id=175754 Reviewed by Sam Weinig. This introduces a new test suite called TailBench9000, which will have benchmarks written in _javascript_ that avoid all looping except by tail call. As a warmup, I wrote a mergesort benchmark and I proted n-body to use tail calls instead of for loops. * TailBench9000: Added. * TailBench9000/merge-sort-run.js: Added. * TailBench9000/merge-sort.js: Added. (TEST_mergeSort.createRNG): (TEST_mergeSort.): (TEST_mergeSort.merge): (TEST_mergeSort.mergeSorted): (TEST_mergeSort.checkSorted.check): (TEST_mergeSort.checkSorted): (TEST_mergeSort.add): (TEST_mergeSort.build): (TEST_mergeSort.compare): (TEST_mergeSort.checkSpectrum): (TEST_mergeSort.buildArray): (TEST_mergeSort): * TailBench9000/n-body-run.js: Added. * TailBench9000/n-body.js: Added. (TEST_nBody.Body): (TEST_nBody.Body.prototype.offsetMomentum): (TEST_nBody.Jupiter): (TEST_nBody.Saturn): (TEST_nBody.Uranus): (TEST_nBody.Neptune): (TEST_nBody.Sun): (TEST_nBody.NBodySystem): (TEST_nBody.NBodySystem.prototype.advance): (TEST_nBody.NBodySystem.prototype.energy): (TEST_nBody): Modified Paths trunk/PerformanceTests/ChangeLog Added Paths trunk/PerformanceTests/TailBench9000/ trunk/PerformanceTests/TailBench9000/merge-sort-run.js trunk/PerformanceTests/TailBench9000/merge-sort.js trunk/PerformanceTests/TailBench9000/n-body-run.js trunk/PerformanceTests/TailBench9000/n-body.js Diff Modified: trunk/PerformanceTests/ChangeLog (221684 => 221685) --- trunk/PerformanceTests/ChangeLog 2017-09-06 17:47:29 UTC (rev 221684) +++ trunk/PerformanceTests/ChangeLog 2017-09-06 18:16:56 UTC (rev 221685) @@ -1,3 +1,43 @@ +2017-08-19 Filip Pizlo + +We should have more tests of tail calls +https://bugs.webkit.org/show_bug.cgi?id=175754 + +Reviewed by Sam Weinig. + +This introduces a new test suite called TailBench9000, which will have benchmarks written in +_javascript_ that avoid all looping except by tail call. As a warmup, I wrote a mergesort +benchmark and I proted n-body to use tail calls instead of for loops. + +* TailBench9000: Added. +* TailBench9000/merge-sort-run.js: Added. +* TailBench9000/merge-sort.js: Added. +(TEST_mergeSort.createRNG): +(TEST_mergeSort.): +(TEST_mergeSort.merge): +(TEST_mergeSort.mergeSorted): +(TEST_mergeSort.checkSorted.check): +(TEST_mergeSort.checkSorted): +(TEST_mergeSort.add): +(TEST_mergeSort.build): +(TEST_mergeSort.compare): +(TEST_mergeSort.checkSpectrum): +(TEST_mergeSort.buildArray): +(TEST_mergeSort): +* TailBench9000/n-body-run.js: Added. +* TailBench9000/n-body.js: Added. +(TEST_nBody.Body): +(TEST_nBody.Body.prototype.offsetMomentum): +(TEST_nBody.Jupiter): +(TEST_nBody.Saturn): +(TEST_nBody.Uranus): +(TEST_nBody.Neptune): +(TEST_nBody.Sun): +(TEST_nBody.NBodySystem): +(TEST_nBody.NBodySystem.prototype.advance): +(TEST_nBody.NBodySystem.prototype.energy): +(TEST_nBody): + 2017-09-05 Ryosuke Niwa Compute the final score using geometric mean in Speedometer 2.0 Added: trunk/PerformanceTests/TailBench9000/merge-sort-run.js (0 => 221685) --- trunk/PerformanceTests/TailBench9000/merge-sort-run.js (rev 0) +++ trunk/PerformanceTests/TailBench9000/merge-sort-run.js 2017-09-06 18:16:56 UTC (rev 221685) @@ -0,0 +1,4 @@ +load("merge-sort.js"); + +for (var i = 0; i < 3000; ++i) +TEST_mergeSort(); Added: trunk/PerformanceTests/TailBench9000/merge-sort.js (0 => 221685) --- trunk/PerformanceTests/TailBench9000/merge-sort.js (rev 0) +++ trunk/PerformanceTests/TailBench9000/merge-sort.js 2017-09-06 18:16:56 UTC (rev 221685) @@ -0,0 +1,154 @@ +"use strict"; + +function TEST_mergeSort() +{ +function createRNG(seed) +{ +return function() { +// Robert Jenkins' 32 bit integer hash function. +seed = ((seed + 0x7ed55d16) + (seed << 12)) & 0x; +seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0x; +seed = ((seed + 0x165667b1) + (seed << 5)) & 0x; +seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0x; +seed = ((seed + 0xfd7046c5) + (seed << 3)) & 0x; +seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0x; +return (seed & 0xfff) / 0x1000; +}; +} + +let random = createRNG(0x7a11bec8); + +function mergeSorted(array, compare) +{ +if (array.length <= 1) +return array; + +let midIndex = Math.floor(array.length / 2);
[webkit-changes] [221684] trunk/Source/WebCore
Title: [221684] trunk/Source/WebCore Revision 221684 Author pvol...@apple.com Date 2017-09-06 10:47:29 -0700 (Wed, 06 Sep 2017) Log Message [Win] Compile errors in Document::updateTitleElement. https://bugs.webkit.org/show_bug.cgi?id=176381 Reviewed by Alex Christensen. MSVC is not able to compile the statement: 'auto result = boolExpression ? lambda1 : lambda2;' where 'lambda1' and 'lambda2' have the same signature. * dom/Document.cpp: (WebCore::findHTMLTitle): (WebCore::isHTMLTitle): (WebCore::isHTMLTitleEligible): (WebCore::findSVGTitle): (WebCore::isSVGTitle): (WebCore::isSVGTitleEligible): (WebCore::Document::updateTitleElement): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Document.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (221683 => 221684) --- trunk/Source/WebCore/ChangeLog 2017-09-06 17:30:50 UTC (rev 221683) +++ trunk/Source/WebCore/ChangeLog 2017-09-06 17:47:29 UTC (rev 221684) @@ -1,3 +1,23 @@ +2017-09-06 Per Arne Vollan + +[Win] Compile errors in Document::updateTitleElement. +https://bugs.webkit.org/show_bug.cgi?id=176381 + +Reviewed by Alex Christensen. + +MSVC is not able to compile the statement: +'auto result = boolExpression ? lambda1 : lambda2;' +where 'lambda1' and 'lambda2' have the same signature. + +* dom/Document.cpp: +(WebCore::findHTMLTitle): +(WebCore::isHTMLTitle): +(WebCore::isHTMLTitleEligible): +(WebCore::findSVGTitle): +(WebCore::isSVGTitle): +(WebCore::isSVGTitleEligible): +(WebCore::Document::updateTitleElement): + 2017-09-06 Brent Fulgham Deny third-party cookie creation for prevalent resources without interaction Modified: trunk/Source/WebCore/dom/Document.cpp (221683 => 221684) --- trunk/Source/WebCore/dom/Document.cpp 2017-09-06 17:30:50 UTC (rev 221683) +++ trunk/Source/WebCore/dom/Document.cpp 2017-09-06 17:47:29 UTC (rev 221684) @@ -1542,28 +1542,38 @@ updateTitle({ title, LTR }); } -void Document::updateTitleElement(Element& changingTitleElement) +static Element* findHTMLTitle(Document& document) { -auto findHTMLTitle = [] (Document& document) -> Element* { -return descendantsOfType(document).first(); -}; -auto isHTMLTitle = [] (Element& element) { -return is(element); -}; -auto isHTMLTitleEligible = [] (Element& element) { -return element.isConnected() && !element.isInShadowTree(); -}; +return descendantsOfType(document).first(); +}; -auto findSVGTitle = [] (Document& document) -> Element* { -return childrenOfType(*document.documentElement()).first(); -}; -auto isSVGTitle = [] (Element& element) { -return is(element); -}; -auto isSVGTitleEligible = [] (Element& element) { -return element.parentNode() == element.document().documentElement(); -}; +static bool isHTMLTitle(Element& element) +{ +return is(element); +}; +static bool isHTMLTitleEligible(Element& element) +{ +return element.isConnected() && !element.isInShadowTree(); +}; + +static Element* findSVGTitle(Document& document) +{ +return childrenOfType(*document.documentElement()).first(); +}; + +static bool isSVGTitle(Element& element) +{ +return is(element); +}; + +static bool isSVGTitleEligible(Element& element) +{ +return element.parentNode() == element.document().documentElement(); +}; + +void Document::updateTitleElement(Element& changingTitleElement) +{ // Most documents use HTML title rules. // Documents with SVG document elements use SVG title rules. bool useSVGTitle = is(documentElement()); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221683] trunk
Title: [221683] trunk Revision 221683 Author bfulg...@apple.com Date 2017-09-06 10:30:50 -0700 (Wed, 06 Sep 2017) Log Message Deny third-party cookie creation for prevalent resources without interaction https://bugs.webkit.org/show_bug.cgi?id=175232 Reviewed by Alex Christensen. Source/WebCore: Prior to Intelligent Tracking Prevention, WebKit would deny the ability to create a third party cookie if the user's settings prohibited it. Due to the internal mechanics of cookie partitioning, we now accept the third party cookie, but destroy it at some arbitrary moment which is difficult for websites to work with. This patch revises WebKit so that attempts to set third party cookies without user interaction fails immediately, which is what sites are expecting from Safari. Tests: http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html * platform/network/NetworkStorageSession.h: * platform/network/cf/NetworkStorageSessionCFNet.cpp: (WebCore::NetworkStorageSession::shouldPartitionCookies const): Revise for new naming. (WebCore::NetworkStorageSession::shouldAllowThirdPartyCookies const): Allow third party cookies when the user interaction property applies. (WebCore::NetworkStorageSession::shouldBlockCookies const): Deny cookies for origins that are not allowed by user interaction, and that are not being partitioned. (WebCore::NetworkStorageSession::setPrevalentDomainsWithAndWithoutInteraction): Revise for new naming, and to track prevalent origins with and without user interaction. (WebCore::NetworkStorageSession::setShouldPartitionCookiesForHosts): Renamed to setPrevalentDomainsWithAndWithoutInteraction. (WebCore::NetworkStorageSession::removePrevalentDomains): New helper function for testing. Source/WebKit: Prior to Intelligent Tracking Prevention, WebKit would deny the ability to create a third party cookie if the user's settings prohibited it. Due to the internal mechanics of cookie partitioning, we now accept the third party cookie, but destroy it at some arbitrary moment which is difficult for websites to work with. This patch revises WebKit so that attempts to set third party cookies without user interaction fails immediately, which is what sites are expecting from Safari. * NetworkProcess/NetworkProcess.cpp: (WebKit::NetworkProcess::updatePrevalentDomainsWithAndWithoutInteraction): (WebKit::NetworkProcess::updateCookiePartitioningForTopPrivatelyOwnedDomains): Renamed to updatePrevalentDomainsWithAndWithoutInteraction. * NetworkProcess/NetworkProcess.h: * NetworkProcess/NetworkProcess.messages.in: Renamed the UpdateCookiePartitioningForTopPrivatelyOwnedDomains message to UpdatePrevalentDomainsWithAndWithoutInteraction. * NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: (WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa): Recognize cases where a network session should block cookies, and use the stateless session so we fail immediately when attempting an invalid cookie set operation. * UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (WebKit::WKWebsiteDataStore::_resourceLoadStatisticsSetShouldPartitionCookies): Use new helper function to clear partitioning state. * UIProcess/WebResourceLoadStatisticsStore.cpp: (WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore): Update for revised naming. (WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioning): Track domains with and without interaction so that we can recognize domains that should be immediately blocked from setting cookies. (WebKit::WebResourceLoadStatisticsStore::updateCookiePartitioningForDomains): Update for revised naming. (WebKit::WebResourceLoadStatisticsStore::scheduleClearPartitioningStateForDomains): Added helper function for testing. * UIProcess/WebResourceLoadStatisticsStore.h: * UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::updatePrevalentDomainsWithAndWithoutInteraction): Update for revised naming. (WebKit::WebsiteDataStore::enableResourceLoadStatisticsAndSetTestingCallback): Ditto. (WebKit::WebsiteDataStore::updateCookiePartitioningForTopPrivatelyOwnedDomains): Renamed to updatePrevalentDomainsWithAndWithoutInteraction. * UIProcess/WebsiteData/WebsiteDataStore.h: LayoutTests: * http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction-expected.txt: Added. * http/tests/loading/resourceLoadStatistics/third-party-cookie-with-and-without-user-interaction.html: Added. * platform/mac-highsierra-wk2/TestExpectations: Add new test expectation. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-highsierra-wk2/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/NetworkStorageSession.h trunk/Source/WebCore/platform/network/cf/NetworkStorageSessionCFNet.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp trunk/Source/WebKit/NetworkProcess/NetworkProcess.h trunk/Source/WebKit/NetworkProcess/NetworkPr
[webkit-changes] [221682] trunk/LayoutTests
Title: [221682] trunk/LayoutTests Revision 221682 Author pvol...@apple.com Date 2017-09-06 10:24:38 -0700 (Wed, 06 Sep 2017) Log Message Layout Test http/tests/preload/single_download_preload.html is flaky. https://bugs.webkit.org/show_bug.cgi?id=176465. Unreviewed test gardening. * platform/win/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/win/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (221681 => 221682) --- trunk/LayoutTests/ChangeLog 2017-09-06 17:05:47 UTC (rev 221681) +++ trunk/LayoutTests/ChangeLog 2017-09-06 17:24:38 UTC (rev 221682) @@ -1,3 +1,12 @@ +2017-09-06 Per Arne Vollan + +Layout Test http/tests/preload/single_download_preload.html is flaky. +https://bugs.webkit.org/show_bug.cgi?id=176465. + +Unreviewed test gardening. + +* platform/win/TestExpectations: + 2017-09-06 Ms2ger [WPE] Add missing test expectations Modified: trunk/LayoutTests/platform/win/TestExpectations (221681 => 221682) --- trunk/LayoutTests/platform/win/TestExpectations 2017-09-06 17:05:47 UTC (rev 221681) +++ trunk/LayoutTests/platform/win/TestExpectations 2017-09-06 17:24:38 UTC (rev 221682) @@ -4087,8 +4087,9 @@ imported/w3c/web-platform-tests/streams/readable-streams/tee.serviceworker.https.html [ Skip ] imported/w3c/web-platform-tests/streams/readable-streams/templated.serviceworker.https.html [ Skip ] -# This test is flaky on Windows. +# Flaky tests on Windows: webkit.org/b/157916 http/tests/misc/slow-loading-animated-image.html [ Pass ImageOnlyFailure ] +webkit.org/b/176465 http/tests/preload/single_download_preload.html [ Pass Failure Crash ] # DatatransferItem tests are timing out. webkit.org/b/176423 editing/pasteboard/datatransfer-items-copy-plaintext.html [ Skip ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221681] trunk/Source/WebKit
Title: [221681] trunk/Source/WebKit Revision 221681 Author ape...@igalia.com Date 2017-09-06 10:05:47 -0700 (Wed, 06 Sep 2017) Log Message [WPE][CMake] Fix path to the WebKitApplicationInfo.h header. Unreviewed build fix. This doesn't really make a difference for the build bots, but it makes it possible to craft working release tarballs of WPE. * PlatformWPE.cmake: Use the WPE version of WebKitApplicationInfo.h Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/PlatformWPE.cmake Diff Modified: trunk/Source/WebKit/ChangeLog (221680 => 221681) --- trunk/Source/WebKit/ChangeLog 2017-09-06 17:02:14 UTC (rev 221680) +++ trunk/Source/WebKit/ChangeLog 2017-09-06 17:05:47 UTC (rev 221681) @@ -1,3 +1,14 @@ +2017-09-06 Adrian Perez de Castro + +[WPE][CMake] Fix path to the WebKitApplicationInfo.h header. + +Unreviewed build fix. + +This doesn't really make a difference for the build bots, but it makes +it possible to craft working release tarballs of WPE. + +* PlatformWPE.cmake: Use the WPE version of WebKitApplicationInfo.h + 2017-09-06 Frédéric Wang Introduce ScrollingTreeScrollingNodeDelegateIOS to share code between overflow and frame scrolling Modified: trunk/Source/WebKit/PlatformWPE.cmake (221680 => 221681) --- trunk/Source/WebKit/PlatformWPE.cmake 2017-09-06 17:02:14 UTC (rev 221680) +++ trunk/Source/WebKit/PlatformWPE.cmake 2017-09-06 17:05:47 UTC (rev 221681) @@ -279,7 +279,7 @@ set(WPE_API_INSTALLED_HEADERS ${DERIVED_SOURCES_WPE_API_DIR}/WebKitEnumTypes.h -${WEBKIT2_DIR}/UIProcess/API/gtk/WebKitApplicationInfo.h +${WEBKIT2_DIR}/UIProcess/API/wpe/WebKitApplicationInfo.h ${WEBKIT2_DIR}/UIProcess/API/wpe/WebKitAuthenticationRequest.h ${WEBKIT2_DIR}/UIProcess/API/wpe/WebKitAutomationSession.h ${WEBKIT2_DIR}/UIProcess/API/wpe/WebKitBackForwardList.h ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221680] trunk/LayoutTests
Title: [221680] trunk/LayoutTests Revision 221680 Author commit-qu...@webkit.org Date 2017-09-06 10:02:14 -0700 (Wed, 06 Sep 2017) Log Message [WPE] Add missing test expectations https://bugs.webkit.org/show_bug.cgi?id=176453 Unreviewed test gardening. Patch by Ms2ger on 2017-09-06 * platform/wpe/TestExpectations: * platform/wpe/fast/events/context-no-deselect-expected.txt: Added. * platform/wpe/fast/events/event-listener-on-link-expected.txt: Added. * platform/wpe/fast/events/ghostly-mousemoves-in-subframe-expected.txt: Added. * platform/wpe/fast/events/onload-re-entry-expected.txt: Added. * platform/wpe/fast/events/pointer-events-2-expected.txt: Added. * platform/wpe/fast/events/resize-events-expected.txt: Added. * platform/wpe/fast/events/reveal-link-when-focused-expected.txt: Added. * platform/wpe/fast/events/updateLayoutForHitTest-expected.txt: Added. * platform/wpe/fast/inspector-support/matchedrules-expected.txt: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/wpe/TestExpectations Added Paths trunk/LayoutTests/platform/wpe/fast/events/context-no-deselect-expected.txt trunk/LayoutTests/platform/wpe/fast/events/event-listener-on-link-expected.txt trunk/LayoutTests/platform/wpe/fast/events/ghostly-mousemoves-in-subframe-expected.txt trunk/LayoutTests/platform/wpe/fast/events/onload-re-entry-expected.txt trunk/LayoutTests/platform/wpe/fast/events/pointer-events-2-expected.txt trunk/LayoutTests/platform/wpe/fast/events/resize-events-expected.txt trunk/LayoutTests/platform/wpe/fast/events/reveal-link-when-focused-expected.txt trunk/LayoutTests/platform/wpe/fast/events/updateLayoutForHitTest-expected.txt trunk/LayoutTests/platform/wpe/fast/inspector-support/ trunk/LayoutTests/platform/wpe/fast/inspector-support/matchedrules-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (221679 => 221680) --- trunk/LayoutTests/ChangeLog 2017-09-06 16:55:49 UTC (rev 221679) +++ trunk/LayoutTests/ChangeLog 2017-09-06 17:02:14 UTC (rev 221680) @@ -1,3 +1,21 @@ +2017-09-06 Ms2ger + +[WPE] Add missing test expectations +https://bugs.webkit.org/show_bug.cgi?id=176453 + +Unreviewed test gardening. + +* platform/wpe/TestExpectations: +* platform/wpe/fast/events/context-no-deselect-expected.txt: Added. +* platform/wpe/fast/events/event-listener-on-link-expected.txt: Added. +* platform/wpe/fast/events/ghostly-mousemoves-in-subframe-expected.txt: Added. +* platform/wpe/fast/events/onload-re-entry-expected.txt: Added. +* platform/wpe/fast/events/pointer-events-2-expected.txt: Added. +* platform/wpe/fast/events/resize-events-expected.txt: Added. +* platform/wpe/fast/events/reveal-link-when-focused-expected.txt: Added. +* platform/wpe/fast/events/updateLayoutForHitTest-expected.txt: Added. +* platform/wpe/fast/inspector-support/matchedrules-expected.txt: Added. + 2017-09-06 Carlos Garcia Campos Unreviewed GTK+ gardening. Rebaseline tests after Freetype version bump in r221670. Part 7. Modified: trunk/LayoutTests/platform/wpe/TestExpectations (221679 => 221680) --- trunk/LayoutTests/platform/wpe/TestExpectations 2017-09-06 16:55:49 UTC (rev 221679) +++ trunk/LayoutTests/platform/wpe/TestExpectations 2017-09-06 17:02:14 UTC (rev 221680) @@ -543,6 +543,7 @@ webkit.org/b/173419 fast/events/touch/touch-target-limited.html [ Timeout ] webkit.org/b/173419 fast/events/touch/touch-target.html [ Timeout ] +webkit.org/b/163858 fast/events/touch/touch-constructor.html [ Skip ] webkit.org/b/173411 fast/events/touch/frame-hover-update.html [ Failure ] fast/events/ios [ Skip ] Added: trunk/LayoutTests/platform/wpe/fast/events/context-no-deselect-expected.txt (0 => 221680) --- trunk/LayoutTests/platform/wpe/fast/events/context-no-deselect-expected.txt (rev 0) +++ trunk/LayoutTests/platform/wpe/fast/events/context-no-deselect-expected.txt 2017-09-06 17:02:14 UTC (rev 221680) @@ -0,0 +1,14 @@ +layer at (0,0) size 800x600 + RenderView at (0,0) size 800x600 +layer at (0,0) size 800x600 + RenderBlock {HTML} at (0,0) size 800x600 +RenderBody {BODY} at (8,8) size 784x584 + RenderTextControl {INPUT} at (2,2) size 172x23 [bgcolor=#FF] [border: (2px inset #00)] + RenderText {#text} at (0,0) size 0x0 + RenderText {#text} at (0,0) size 0x0 +layer at (13,13) size 166x17 + RenderBlock {DIV} at (3,3) size 166x17 +RenderText {#text} at (0,0) size 108x17 + text run at (0,0) width 108: "some sample text" +selection start: position 5 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body +selection end: position 15 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body Added: trunk/LayoutTests/platform/wpe/fast/events/event-listener-on-link-expected.txt (0 => 221680) --- trunk/LayoutTests/platform/wpe/fast/events/event-listener-on-link-expected.t
[webkit-changes] [221679] trunk/Tools
Title: [221679] trunk/Tools Revision 221679 Author dba...@webkit.org Date 2017-09-06 09:55:49 -0700 (Wed, 06 Sep 2017) Log Message Copy WebKit Permalink may generate wrong URL with SVN checkout https://bugs.webkit.org/show_bug.cgi?id=176427 Reviewed by Darin Adler. Fixes an issue where Copy WebKit Permalink would generate an incorrect URL for any file not in the top-level directory of the repository when using an SVN checkout of WebKit. Copy WebKit Permalink changes directories to the containing directory D of the active Xcode document F before running "svn info ". Currently we use the value of "Path" from the output of "svn info" when generating the permalink. This path is relative to D. But we want the path to F relative to the top-level checkout directory. We need to explicitly compute this. * CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow: Modified Paths trunk/Tools/ChangeLog trunk/Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow Diff Modified: trunk/Tools/ChangeLog (221678 => 221679) --- trunk/Tools/ChangeLog 2017-09-06 16:39:45 UTC (rev 221678) +++ trunk/Tools/ChangeLog 2017-09-06 16:55:49 UTC (rev 221679) @@ -1,3 +1,22 @@ +2017-09-06 Daniel Bates + +Copy WebKit Permalink may generate wrong URL with SVN checkout +https://bugs.webkit.org/show_bug.cgi?id=176427 + +Reviewed by Darin Adler. + +Fixes an issue where Copy WebKit Permalink would generate an incorrect URL for +any file not in the top-level directory of the repository when using an SVN +checkout of WebKit. + +Copy WebKit Permalink changes directories to the containing directory D of the +active Xcode document F before running "svn info ". Currently we use +the value of "Path" from the output of "svn info" when generating the permalink. +This path is relative to D. But we want the path to F relative to the top-level +checkout directory. We need to explicitly compute this. + +* CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow: + 2017-09-06 Carlos Garcia Campos [GTK] Bump freetype version to 2.8.0 Modified: trunk/Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow (221678 => 221679) --- trunk/Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow 2017-09-06 16:39:45 UTC (rev 221678) +++ trunk/Tools/CopyPermalink/Copy WebKit Permalink.workflow/Contents/document.wflow 2017-09-06 16:55:49 UTC (rev 221679) @@ -200,50 +200,50 @@ function pathRelativeToRepositoryRootForPath(path) { -var checkoutDirectory = isDirectory(path) ? path : dirname(path); +var directoryInCheckout = isDirectory(path) ? path : dirname(path); if (g_isSVN) -return svnPathRelativeToRepositoryRootForPath(path, checkoutDirectory); +return svnPathRelativeToRepositoryRootForPath(path, directoryInCheckout); if (g_isGit) -return gitPathRelativeToRepositoryRootForPath(path, checkoutDirectory); +return gitPathRelativeToRepositoryRootForPath(path, directoryInCheckout); return ""; } -function gitPathRelativeToRepositoryRootForPath(path, checkoutDirectory) +function gitPathRelativeToRepositoryRootForPath(path, directoryInCheckout) { -return App.doShellScript(`git -C '${checkoutDirectory}' ls-tree --full-name --name-only HEAD '${path}'`); +return App.doShellScript(`git -C '${directoryInCheckout}' ls-tree --full-name --name-only HEAD '${path}'`); } -function svnPathRelativeToRepositoryRootForPath(path, checkoutDirectory) +function svnPathRelativeToRepositoryRootForPath(path, directoryInCheckout) { -return svnInfoForPath(path, checkoutDirectory).path; +return svnInfoForPath(path, directoryInCheckout).path; } function revisionInfoForPath(path) { -var checkoutDirectory = isDirectory(path) ? path : dirname(path); +var directoryInCheckout = isDirectory(path) ? path : dirname(path); if (g_isSVN || g_isGitSVN) -return svnRevisionInfoForPath(path, checkoutDirectory); +return svnRevisionInfoForPath(path, directoryInCheckout); if (g_isGit) -return gitRevisionInfoForPath(path, checkoutDirectory); +return gitRevisionInfoForPath(path, directoryInCheckout); return ""; } -function svnRevisionInfoForPath(path, checkoutDirectory) +function svnRevisionInfoForPath(path, directoryInCheckout) { -var svnInfo = svnInfoForPath(path, checkoutDirectory); +var svnInfo = svnInfoForPath(path, directoryInCheckout); return { "branch": svnInfo.branch, "revision": svnInfo.revision, "repositoryURL": svnInfo.repositoryRoot }; } -function gitRevisionInfoForPath(path, checkoutDirectory) +function gitRevisionInfoForPath(path, directoryInCheckout) { -var repositoryURL = App.doShellScript(`git -C '${checkoutDirectory}' remote get-url origin`); -var revision = App.doShellScript(`git -C '${checkoutDirectory}' log -1 --for
[webkit-changes] [221677] trunk/Source/WebCore
Title: [221677] trunk/Source/WebCore Revision 221677 Author tpop...@redhat.com Date 2017-09-06 09:37:57 -0700 (Wed, 06 Sep 2017) Log Message Missing break in URLParser https://bugs.webkit.org/show_bug.cgi?id=176357 Reviewed by Darin Adler. Add a missing break so the currently set state is not overwritten after the block. Found by Coverity scan. * platform/URLParser.cpp: (WebCore::URLParser::parse): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/URLParser.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (221676 => 221677) --- trunk/Source/WebCore/ChangeLog 2017-09-06 16:25:52 UTC (rev 221676) +++ trunk/Source/WebCore/ChangeLog 2017-09-06 16:37:57 UTC (rev 221677) @@ -1,3 +1,16 @@ +2017-09-06 Tomas Popela + +Missing break in URLParser +https://bugs.webkit.org/show_bug.cgi?id=176357 + +Reviewed by Darin Adler. + +Add a missing break so the currently set state is not overwritten +after the block. Found by Coverity scan. + +* platform/URLParser.cpp: +(WebCore::URLParser::parse): + 2017-09-06 Dominik Röttsches [GTK] Bump freetype version to 2.8.0 Modified: trunk/Source/WebCore/platform/URLParser.cpp (221676 => 221677) --- trunk/Source/WebCore/platform/URLParser.cpp 2017-09-06 16:25:52 UTC (rev 221676) +++ trunk/Source/WebCore/platform/URLParser.cpp 2017-09-06 16:37:57 UTC (rev 221677) @@ -1253,6 +1253,7 @@ m_asciiBuffer.clear(); state = State::NoScheme; c = beginAfterControlAndSpace; +break; } state = State::Scheme; } else ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [221670] trunk
Title: [221670] trunk Revision 221670 Author carlo...@webkit.org Date 2017-09-06 08:10:56 -0700 (Wed, 06 Sep 2017) Log Message [GTK] Bump freetype version to 2.8.0 https://bugs.webkit.org/show_bug.cgi?id=176351 Source/WebCore: Patch by Dominik Röttsches on 2017-09-06 Reviewed by Carlos Alberto Lopez Perez. Retrieving line spacing info without metrics hinting - FreeType's metric hinting uses rounding which results in the sum of ascent and descent being larger than the line height. To work around this without globally disabling font metrics hinting, I am temporarily creating a new cairo scaled font with metrics hinting off and retrieving the height values from this one. * platform/graphics/freetype/SimpleFontDataFreeType.cpp: (WebCore::scaledFontWithoutMetricsHinting): New function to clone the existing font, only with metrics hinting disabled. (WebCore::Font::platformInit): Get height info from non-metrics hinted font, disable rounding for linespacing. Tools: Reviewed by Carlos Alberto Lopez Perez. Remove the patch we were using since it was reverted upstream. * gtk/jhbuild.modules: * gtk/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Removed. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp trunk/Tools/ChangeLog trunk/Tools/gtk/jhbuild.modules Removed Paths trunk/Tools/gtk/patches/freetype6-2.4.11-truetype-font-height-fix.patch Diff Modified: trunk/Source/WebCore/ChangeLog (221669 => 221670) --- trunk/Source/WebCore/ChangeLog 2017-09-06 12:42:46 UTC (rev 221669) +++ trunk/Source/WebCore/ChangeLog 2017-09-06 15:10:56 UTC (rev 221670) @@ -1,3 +1,21 @@ +2017-09-06 Dominik Röttsches + +[GTK] Bump freetype version to 2.8.0 +https://bugs.webkit.org/show_bug.cgi?id=176351 + +Reviewed by Carlos Alberto Lopez Perez. + +Retrieving line spacing info without metrics hinting - FreeType's metric hinting +uses rounding which results in the sum of ascent and descent being larger +than the line height. To work around this without globally disabling font metrics +hinting, I am temporarily creating a new cairo scaled font with metrics hinting +off and retrieving the height values from this one. + +* platform/graphics/freetype/SimpleFontDataFreeType.cpp: +(WebCore::scaledFontWithoutMetricsHinting): New function to clone the existing font, only with metrics hinting +disabled. +(WebCore::Font::platformInit): Get height info from non-metrics hinted font, disable rounding for linespacing. + 2017-09-06 Frédéric Wang Introduce ScrollingTreeScrollingNodeDelegateIOS to share code between overflow and frame scrolling Modified: trunk/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp (221669 => 221670) --- trunk/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp 2017-09-06 12:42:46 UTC (rev 221669) +++ trunk/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp 2017-09-06 15:10:56 UTC (rev 221670) @@ -33,6 +33,7 @@ #include "config.h" #include "Font.h" +#include "CairoUniquePtr.h" #include "CairoUtilities.h" #include "FloatConversion.h" #include "FloatRect.h" @@ -40,6 +41,7 @@ #include "FontDescription.h" #include "GlyphBuffer.h" #include "OpenTypeTypes.h" +#include "RefPtrCairo.h" #include "UTF16UChar32Iterator.h" #include #include @@ -52,6 +54,18 @@ namespace WebCore { +static RefPtr scaledFontWithoutMetricsHinting(cairo_scaled_font_t* scaledFont) +{ +CairoUniquePtr fontOptions(cairo_font_options_create()); +cairo_scaled_font_get_font_options(scaledFont, fontOptions.get()); +cairo_font_options_set_hint_metrics(fontOptions.get(), CAIRO_HINT_METRICS_OFF); +cairo_matrix_t fontMatrix; +cairo_scaled_font_get_font_matrix(scaledFont, &fontMatrix); +cairo_matrix_t fontCTM; +cairo_scaled_font_get_ctm(scaledFont, &fontCTM); +return adoptRef(cairo_scaled_font_create(cairo_scaled_font_get_font_face(scaledFont), &fontMatrix, &fontCTM, fontOptions.get())); +} + void Font::platformInit() { if (!m_platformData.size()) @@ -58,8 +72,12 @@ return; ASSERT(m_platformData.scaledFont()); +// Temporarily create a clone that doesn't have metrics hinting in order to avoid incorrect +// rounding resulting in incorrect baseline positioning since the sum of ascent and descent +// becomes larger than the line height. +auto fontWithoutMetricsHinting = scaledFontWithoutMetricsHinting(m_platformData.scaledFont()); cairo_font_extents_t fontExtents; -cairo_scaled_font_extents(m_platformData.scaledFont(), &fontExtents); +cairo_scaled_font_extents(fontWithoutMetricsHinting.get(), &fontExtents); float ascent = narrowPrecisionToFloat(fontExtents.ascent); float descent = narrowPrecisionToFloat(fontExtents.descent); @@ -88,9 +106,7 @@ m_fontMetrics.setAscent(ascent); m_fontMe
[webkit-changes] [221669] trunk/Source
Title: [221669] trunk/Source Revision 221669 Author commit-qu...@webkit.org Date 2017-09-06 05:42:46 -0700 (Wed, 06 Sep 2017) Log Message Introduce ScrollingTreeScrollingNodeDelegateIOS to share code between overflow and frame scrolling https://bugs.webkit.org/show_bug.cgi?id=174097 Patch by Frédéric Wang on 2017-09-06 Reviewed by Darin Adler. Source/WebCore: No new tests, behavior unchanged. * WebCore.xcodeproj/project.pbxproj: Add ScrollingTreeScrollingNodeDelegate. * page/scrolling/ScrollingTreeScrollingNode.h: Make ScrollingTreeScrollingNodeDelegate a friend so that it can access private members. * page/scrolling/ScrollingTreeScrollingNodeDelegate.cpp: Added. New delegate class for a scrolling node, which is used by the UI process. (WebCore::ScrollingTreeScrollingNodeDelegate::ScrollingTreeScrollingNodeDelegate): Constructor, taking the scrolling node as a parameter. (WebCore::ScrollingTreeScrollingNodeDelegate::~ScrollingTreeScrollingNodeDelegate): (WebCore::ScrollingTreeScrollingNodeDelegate::scrollingTree const): Expose the scrolling tree containing the scrolling node. (WebCore::ScrollingTreeScrollingNodeDelegate::lastCommittedScrollPosition const): Expose the last committed scroll position of the scrolling node. * page/scrolling/ScrollingTreeScrollingNodeDelegate.h: Added. (WebCore::ScrollingTreeScrollingNodeDelegate::scrollingNode): Expose the scrolling node. (WebCore::ScrollingTreeScrollingNodeDelegate::scrollingNode const): Ditto. Source/WebKit: This patch introduces a new ScrollingTreeScrollingNodeDelegateIOS that can be used by WKOverflowScrollViewDelegate to communicate to the scrolling tree and nodes. It can also be used as a helper class by ScrollingTreeOverflowScrollingNodeIOS. For now, only the non- overriden member functions of ScrollingTreeOverflowScrollingNodeIOS are moved to that new class. In follow-up commits, WKOverflowScrollViewDelegate can become a generic ScrollViewDelegate and more code can be moved into the ScrollingTreeScrollingNodeDelegateIOS file. Frame scrolling nodes will then be able to share the same UI code as overflow:auto when iOS frame scrolling is implemented (bug 149264). * UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.h: Move non-overriden member functions and m_updatingFromStateNode into the delegate class. Also define a member to store that delegate. * UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.mm: Use the node delegate to communicate to the scrolling tree and node. (-[WKOverflowScrollViewDelegate initWithScrollingTreeNodeDelegate:]): Init with a delegate. (-[WKOverflowScrollViewDelegate scrollViewDidScroll:]): Call the delegate function. (-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]): Ditto. (-[WKOverflowScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): Use the delegate functions or pass by ScrollingTreeScrollingNodeDelegateIOS::scrollingNode(). (-[WKOverflowScrollViewDelegate scrollViewDidEndDragging:willDecelerate:]): Use the delegate functions. (-[WKOverflowScrollViewDelegate scrollViewDidEndDecelerating:]): Ditto. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::ScrollingTreeOverflowScrollingNodeIOS): Init the delegate for this class. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::commitStateAfterChildren): Use the delegate. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::setScrollLayerPosition): Use the delegate function. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterDelegatedScroll): Ditto. (-[WKOverflowScrollViewDelegate initWithScrollingTreeNode:]): Deleted. This is renamed initWithScrollingTreeNodeDelegate and accepts a delegate. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateChildNodesAfterScroll): Deleted. Moved to ScrollingTreeScrollingNodeDelegateIOS. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::overflowScrollWillStart): Ditto. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::overflowScrollDidEnd): Ditto. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::overflowScrollViewWillStartPanGesture): Ditto. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewDidScroll): Ditto. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::currentSnapPointIndicesDidChange): Ditto. * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h: Added. New delegate class for ScrollingTreeOverflowScrollingNodeIOS. The members used by WKOverflowScrollViewDelegate are public and the others are private. ScrollingTreeOverflowScrollingNodeIOS is a friend of ScrollingTreeScrollingNodeDelegateIOS so that it can access private members e.g. updateChildNodesAfterScroll() or m_updatingFromStateNode. * UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: Added. (WebKit::ScrollingTreeScrollingNodeDelegateIOS::ScrollingTreeScrollingNodeDelegateIOS): (WebKit::ScrollingTreeScrollingNodeDelegateIOS::~ScrollingTreeScrollingNodeDelegateIOS): (WebKit::ScrollingTreeScrollingNodeDelegateIOS::updateChildNodesAfterScroll): Co
[webkit-changes] [221668] trunk
Title: [221668] trunk Revision 221668 Author r...@igalia.com Date 2017-09-06 02:59:26 -0700 (Wed, 06 Sep 2017) Log Message [css-grid] grid shorthand should not reset the gutter properties https://bugs.webkit.org/show_bug.cgi?id=176375 Reviewed by Sergio Villar Senin. LayoutTests/imported/w3c: Import new test from WPT. * web-platform-tests/css/css-grid-1/grid-definition/grid-shorthand-001-expected.txt: Added. * web-platform-tests/css/css-grid-1/grid-definition/grid-shorthand-001.html: Added. * web-platform-tests/css/css-grid-1/grid-definition/w3c-import.log: Source/WebCore: The CSS WG has resolved that the "grid" shorthand shouldn't reset the gutter properties anymore: https://github.com/w3c/csswg-drafts/issues/1036 This was originally implemented in r195529, so this is somehow a revert of that change. Test: imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-shorthand-001.html * css/CSSProperties.json: * css/parser/CSSPropertyParser.cpp: (WebCore::CSSPropertyParser::consumeGridShorthand): LayoutTests: Update the test to check the new behavior. * fast/css-grid-layout/grid-shorthand-get-set-expected.txt: * fast/css-grid-layout/grid-shorthand-get-set.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/css-grid-layout/grid-shorthand-get-set-expected.txt trunk/LayoutTests/fast/css-grid-layout/grid-shorthand-get-set.html trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/w3c-import.log trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSProperties.json trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-shorthand-001-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid-1/grid-definition/grid-shorthand-001.html Diff Modified: trunk/LayoutTests/ChangeLog (221667 => 221668) --- trunk/LayoutTests/ChangeLog 2017-09-06 08:17:59 UTC (rev 221667) +++ trunk/LayoutTests/ChangeLog 2017-09-06 09:59:26 UTC (rev 221668) @@ -1,3 +1,15 @@ +2017-09-06 Manuel Rego Casasnovas + +[css-grid] grid shorthand should not reset the gutter properties +https://bugs.webkit.org/show_bug.cgi?id=176375 + +Reviewed by Sergio Villar Senin. + +Update the test to check the new behavior. + +* fast/css-grid-layout/grid-shorthand-get-set-expected.txt: +* fast/css-grid-layout/grid-shorthand-get-set.html: + 2017-09-06 Zan Dobersek [WebGL2] Implement getActiveUniforms() Modified: trunk/LayoutTests/fast/css-grid-layout/grid-shorthand-get-set-expected.txt (221667 => 221668) --- trunk/LayoutTests/fast/css-grid-layout/grid-shorthand-get-set-expected.txt 2017-09-06 08:17:59 UTC (rev 221667) +++ trunk/LayoutTests/fast/css-grid-layout/grid-shorthand-get-set-expected.txt 2017-09-06 09:59:26 UTC (rev 221668) @@ -331,11 +331,11 @@ PASS getComputedStyle(element, '').getPropertyValue('grid-auto-rows') is "auto" PASS element.style.gridAutoRows is "initial" -Test the inherit value on reset-only subproperties (grid-*-gap) +Test the inherit value does not affect gutter properties (grid-*-gap) PASS getComputedStyle(anotherElement, '').getPropertyValue('grid-column-gap') is "0px" PASS getComputedStyle(anotherElement, '').getPropertyValue('grid-row-gap') is "0px" -PASS getComputedStyle(anotherElement, '').getPropertyValue('grid-column-gap') is "20px" -PASS getComputedStyle(anotherElement, '').getPropertyValue('grid-row-gap') is "100px" +PASS getComputedStyle(anotherElement, '').getPropertyValue('grid-column-gap') is "0px" +PASS getComputedStyle(anotherElement, '').getPropertyValue('grid-row-gap') is "0px" PASS successfullyParsed is true TEST COMPLETE Modified: trunk/LayoutTests/fast/css-grid-layout/grid-shorthand-get-set.html (221667 => 221668) --- trunk/LayoutTests/fast/css-grid-layout/grid-shorthand-get-set.html 2017-09-06 08:17:59 UTC (rev 221667) +++ trunk/LayoutTests/fast/css-grid-layout/grid-shorthand-get-set.html 2017-09-06 09:59:26 UTC (rev 221668) @@ -205,7 +205,7 @@ testGridDefinitionsSetJSValues("none", "none", "none", "none", "row", "auto", "auto", "none", "none", "none", "initial", "initial", "initial"); debug(""); -debug("Test the inherit value on reset-only subproperties (grid-*-gap)"); +debug("Test the inherit value does not affect gutter properties (grid-*-gap)"); document.body.style.gridRowGap = "100px"; document.body.style.gridColumnGap = "20px"; var anotherElement = document.createElement("div"); @@ -213,8 +213,8 @@ shouldBeEqualToString("getComputedStyle(anotherElement, '').getPropertyValue('grid-column-gap')", "0px"); shouldBeEqualToString("getComputedStyle(anotherElement, '').getPropertyValue('grid-row-gap')", "0px"); anotherElement.style.grid = "inherit"; -shouldBeEqualToString("getComputedStyle(anotherElement, '').getPropertyValue('grid-column-gap')
[webkit-changes] [221667] trunk
Title: [221667] trunk Revision 221667 Author zandober...@gmail.com Date 2017-09-06 01:17:59 -0700 (Wed, 06 Sep 2017) Log Message [WebGL2] Implement getActiveUniforms() https://bugs.webkit.org/show_bug.cgi?id=175203 Reviewed by Darin Adler. Source/WebCore: Align getActiveUniforms() WebIDL signature with the spec -- making it return a WebGLAny object, making the program parameter non-nullable, and making the uniformIndices parameter a sequence on GLuint values. The getActiveUniforms() implementation in WebGL2RenderingContext validates the passed-in program and parameter name and then calls the GraphicsContext3D::getActiveUniforms() method, retrieving an array of integers that represent values of the requested parameter name for each uniform whose index was passed through uniformIndices. Test: fast/canvas/webgl/webgl2-getActiveUniforms.html * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * html/canvas/WebGL2RenderingContext.cpp: (WebCore::WebGL2RenderingContext::getActiveUniforms): * html/canvas/WebGL2RenderingContext.h: * html/canvas/WebGL2RenderingContext.idl: * html/canvas/WebGLAny.h: * platform/graphics/GraphicsContext3D.h: * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: (WebCore::GraphicsContext3D::getActiveUniforms): LayoutTests: Add a basic gl.getActiveUniforms() test that checks proper return values for a mat4 uniform in the simple vertex shader that's used when creating the 'standard' program through webgl-test.js utilities. The test remains skipped on GTK+ and Windows (WebGL 2.0 disabled). Mac port skips it as well since the shader can't be compiled properly. WPE and iOS run the test and are passing it. * fast/canvas/webgl/webgl2-getActiveUniforms-expected.txt: Added. * fast/canvas/webgl/webgl2-getActiveUniforms.html: Added. * platform/gtk/TestExpectations: * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/gtk/TestExpectations trunk/LayoutTests/platform/mac/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.idl trunk/Source/WebCore/html/canvas/WebGLAny.h trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h trunk/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp Added Paths trunk/LayoutTests/fast/canvas/webgl/webgl2-getActiveUniforms-expected.txt trunk/LayoutTests/fast/canvas/webgl/webgl2-getActiveUniforms.html Diff Modified: trunk/LayoutTests/ChangeLog (221666 => 221667) --- trunk/LayoutTests/ChangeLog 2017-09-06 07:23:38 UTC (rev 221666) +++ trunk/LayoutTests/ChangeLog 2017-09-06 08:17:59 UTC (rev 221667) @@ -1,3 +1,22 @@ +2017-09-06 Zan Dobersek + +[WebGL2] Implement getActiveUniforms() +https://bugs.webkit.org/show_bug.cgi?id=175203 + +Reviewed by Darin Adler. + +Add a basic gl.getActiveUniforms() test that checks proper return values +for a mat4 uniform in the simple vertex shader that's used when creating +the 'standard' program through webgl-test.js utilities. The test remains +skipped on GTK+ and Windows (WebGL 2.0 disabled). Mac port skips it as +well since the shader can't be compiled properly. WPE and iOS run the +test and are passing it. + +* fast/canvas/webgl/webgl2-getActiveUniforms-expected.txt: Added. +* fast/canvas/webgl/webgl2-getActiveUniforms.html: Added. +* platform/gtk/TestExpectations: +* platform/mac/TestExpectations: + 2017-09-05 Chris Dumez Unreviewed, rebaseline test after r221639. Added: trunk/LayoutTests/fast/canvas/webgl/webgl2-getActiveUniforms-expected.txt (0 => 221667) --- trunk/LayoutTests/fast/canvas/webgl/webgl2-getActiveUniforms-expected.txt (rev 0) +++ trunk/LayoutTests/fast/canvas/webgl/webgl2-getActiveUniforms-expected.txt 2017-09-06 08:17:59 UTC (rev 221667) @@ -0,0 +1,21 @@ +CONSOLE MESSAGE: line 1: WebGL: INVALID_ENUM: getActiveUniforms: invalid parameter name +Checks for proper getActiveUniforms() behavior on a simple WebGL 2 program. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS gl.getError() is gl.NO_ERROR +PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_TYPE) is [gl.FLOAT_MAT4] +PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_SIZE) is [1] +PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_BLOCK_INDEX) is [-1] +PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_OFFSET) is [-1] +PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_ARRAY_STRIDE) is [-1] +PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_MATRIX_STRIDE) is [-1] +PASS gl.getActiveUniforms(program, [mvpLocation], gl.UNIFORM_IS_ROW_MAJOR) is [0] +PASS gl.getError() is gl.
[webkit-changes] [221666] trunk/Tools
Title: [221666] trunk/Tools Revision 221666 Author commit-qu...@webkit.org Date 2017-09-06 00:23:38 -0700 (Wed, 06 Sep 2017) Log Message [Win] Tools/TestWebKitAPI/Tests/WTF/PriorityQueue.cpp fails to compile with MSVC 2015 https://bugs.webkit.org/show_bug.cgi?id=176442 Patch by Yoshiaki Jitsukawa on 2017-09-06 Reviewed by Keith Miller. * TestWebKitAPI/Tests/WTF/PriorityQueue.cpp: (TEST): Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WTF/PriorityQueue.cpp Diff Modified: trunk/Tools/ChangeLog (221665 => 221666) --- trunk/Tools/ChangeLog 2017-09-06 06:48:49 UTC (rev 221665) +++ trunk/Tools/ChangeLog 2017-09-06 07:23:38 UTC (rev 221666) @@ -1,3 +1,13 @@ +2017-09-06 Yoshiaki Jitsukawa + +[Win] Tools/TestWebKitAPI/Tests/WTF/PriorityQueue.cpp fails to compile with MSVC 2015 +https://bugs.webkit.org/show_bug.cgi?id=176442 + +Reviewed by Keith Miller. + +* TestWebKitAPI/Tests/WTF/PriorityQueue.cpp: +(TEST): + 2017-09-05 Darin Adler Fix a few minor problems found while working toward removing unneeded calls to updateStyle Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/PriorityQueue.cpp (221665 => 221666) --- trunk/Tools/TestWebKitAPI/Tests/WTF/PriorityQueue.cpp 2017-09-06 06:48:49 UTC (rev 221665) +++ trunk/Tools/TestWebKitAPI/Tests/WTF/PriorityQueue.cpp 2017-09-06 07:23:38 UTC (rev 221666) @@ -56,7 +56,11 @@ TEST(WTF_PriorityQueue, Basic) { const unsigned numElements = 10; +#if defined(_MSC_VER) && _MSC_VER < 1910 // FIXME: Remove this workaround after we drop MSVC 2015 support (https://bugs.webkit.org/show_bug.cgi?id=176443). +PriorityQueue> queue; +#else PriorityQueue queue; +#endif EXPECT_EQ(0_z, queue.size()); EXPECT_TRUE(queue.isEmpty()); @@ -76,7 +80,11 @@ TEST(WTF_PriorityQueue, CustomPriorityFunction) { const unsigned numElements = 10; +#if defined(_MSC_VER) && _MSC_VER < 1910 // FIXME: Remove this workaround after we drop MSVC 2015 support (https://bugs.webkit.org/show_bug.cgi?id=176443). +PriorityQueue> queue; +#else PriorityQueue> queue; +#endif EXPECT_EQ(0_z, queue.size()); EXPECT_TRUE(queue.isEmpty()); @@ -106,7 +114,11 @@ TEST(WTF_PriorityQueue, MoveOnly) { +#if defined(_MSC_VER) && _MSC_VER < 1910 // FIXME: Remove this workaround after we drop MSVC 2015 support (https://bugs.webkit.org/show_bug.cgi?id=176443). +PriorityQueue>::compare> queue; +#else PriorityQueue>::compare> queue; +#endif Vector values = { 23, 54, 4, 8, 1, 2, 4, 0 }; Vector sorted = values; @@ -123,7 +135,11 @@ TEST(WTF_PriorityQueue, DecreaseKey) { +#if defined(_MSC_VER) && _MSC_VER < 1910 // FIXME: Remove this workaround after we drop MSVC 2015 support (https://bugs.webkit.org/show_bug.cgi?id=176443). +PriorityQueue>::compare> queue; +#else PriorityQueue>::compare> queue; +#endif Vector values = { 23, 54, 4, 8, 1, 2, 4, 0 }; Vector sorted = values; @@ -149,7 +165,11 @@ TEST(WTF_PriorityQueue, IncreaseKey) { +#if defined(_MSC_VER) && _MSC_VER < 1910 // FIXME: Remove this workaround after we drop MSVC 2015 support (https://bugs.webkit.org/show_bug.cgi?id=176443). +PriorityQueue>::compare> queue; +#else PriorityQueue>::compare> queue; +#endif Vector values = { 23, 54, 4, 8, 1, 2, 4, 0 }; Vector sorted = values; @@ -175,7 +195,11 @@ TEST(WTF_PriorityQueue, Iteration) { +#if defined(_MSC_VER) && _MSC_VER < 1910 // FIXME: Remove this workaround after we drop MSVC 2015 support (https://bugs.webkit.org/show_bug.cgi?id=176443). +PriorityQueue>::compare> queue; +#else PriorityQueue>::compare> queue; +#endif Vector values = { 23, 54, 4, 8, 1, 2, 4, 0 }; Vector sorted = values; @@ -207,7 +231,11 @@ return randomNumber; }; +#if defined(_MSC_VER) && _MSC_VER < 1910 // FIXME: Remove this workaround after we drop MSVC 2015 support (https://bugs.webkit.org/show_bug.cgi?id=176443). +PriorityQueue> queue; +#else PriorityQueue queue; +#endif Vector values; enum Cases { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes