⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Nov 27, 2017:

11:55 PM Changeset in webkit [225208] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebDriver

WebDriver: Implement get active element command
https://bugs.webkit.org/show_bug.cgi?id=180001

Reviewed by Brian Burg.

12.6 Get Active Element
https://w3c.github.io/webdriver/webdriver-spec.html#get-active-element

Fixes imported/w3c/webdriver/tests/element_retrieval/get_active_element.py.

  • Session.cpp:

(WebDriver::Session::getActiveElement):

  • Session.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::getActiveElement):

  • WebDriverService.h:
6:10 PM Changeset in webkit [225207] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Web Content process crashes when dragging a link in recovery mode
https://bugs.webkit.org/show_bug.cgi?id=180058
<rdar://problem/35172170>

Reviewed by Alexey Proskuryakov.

  • platform/mac/DragImageMac.mm:

(WebCore::LinkImageLayout::LinkImageLayout):
LinkPresentation isn't available in the base system. Make it optional,
and fall back to the full URL like we do on platforms where it doesn't
exist at all.

5:21 PM Changeset in webkit [225206] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Do not run webkitpy tests on multiple EWSes
https://bugs.webkit.org/show_bug.cgi?id=179834

Reviewed by Alexey Proskuryakov.

Do not run webkitpy tests in every EWS. We now have
a dedicated webkitpy test EWS.

  • Scripts/webkitpy/tool/steps/runtests.py:

(RunTests.run): Do not run webkitpy tests in EWSes. These tests will still run
when --non-interactive option is not passed.

4:46 PM Changeset in webkit [225205] by Chris Dumez
  • 5 edits in trunk/Source

Move callOnMainThreadAndWait() from SocketStreamHandleImplCFNet.cpp to MainThread.h
https://bugs.webkit.org/show_bug.cgi?id=180060

Reviewed by Alex Christensen.

Move callOnMainThreadAndWait() from SocketStreamHandleImplCFNet.cpp to MainThread.h so that it can be reused.

Source/WebCore:

  • platform/network/cf/SocketStreamHandleImplCFNet.cpp:

(WebCore::callOnMainThreadAndWait): Deleted.

Source/WTF:

  • wtf/MainThread.cpp:

(WTF::callOnMainThreadAndWait):

  • wtf/MainThread.h:
4:22 PM Changeset in webkit [225204] by Matt Lewis
  • 4 edits
    2 deletes in trunk

Unreviewed, rolling out r225201.

This caused multiple tests to timeout consistently.

Reverted changeset:

"Pressing the space bar while watching a fullscreen video
doesn't play or pause"
https://bugs.webkit.org/show_bug.cgi?id=180033
https://trac.webkit.org/changeset/225201

4:22 PM Changeset in webkit [225203] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

NavigatorBase::serviceWorker() should return a reference instead of a raw pointer
https://bugs.webkit.org/show_bug.cgi?id=180059

Reviewed by Geoffrey Garen.

NavigatorBase::serviceWorker() should return a reference instead of a raw pointer
as it can never return null.

  • bindings/js/JSNavigatorCustom.cpp:

(WebCore::JSNavigator::visitAdditionalChildren):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::serviceWorkerContainer):

  • page/NavigatorBase.cpp:

(WebCore::NavigatorBase::serviceWorker):

  • page/NavigatorBase.h:
4:14 PM Changeset in webkit [225202] by sbarati@apple.com
  • 7 edits
    1 add in trunk

Spread can escape when CreateRest does not
https://bugs.webkit.org/show_bug.cgi?id=180057
<rdar://problem/35676119>

Reviewed by JF Bastien.

JSTests:

  • stress/spread-escapes-but-create-rest-does-not.js: Added.

(assert):
(getProperties):
(theFunc):
(let.obj.valueOf):

Source/JavaScriptCore:

We previously did not handle Spread(PhantomCreateRest) only because I did not
think it was possible to generate this IR. I was wrong. We can generate
such IR when we have a PutStack(Spread) but nothing escapes the CreateRest.
This IR is rare to generate since we normally don't PutStack(Spread) because
the SetLocal almost always gets eliminated because of how our bytecode generates
op_spread. However, there exists a test case showing it is possible. Supporting
this IR pattern in FTLLower is trivial. This patch implements it and rewrites
the Validation rule for Spread.

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGValidate.cpp:
  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileSpread):

  • runtime/JSFixedArray.h:

(JSC::JSFixedArray::tryCreate):

3:51 PM Changeset in webkit [225201] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Pressing the space bar while watching a fullscreen video doesn't play or pause
https://bugs.webkit.org/show_bug.cgi?id=180033
<rdar://problem/33610443>

Patch by Antoine Quint <Antoine Quint> on 2017-11-27
Reviewed by Eric Carlson.

Source/WebCore:

We register a "keydown" event to track when the space bar is pressed, and if the media is playing
in fullscreen, we toggle playback. This does not interfere with full keyboard access since activating
one of the media controls using the keyboard will not let the events we register for be dispatched
this far along the event dispatch phase.

Test: media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html

  • Modules/modern-media-controls/media/media-controller.js:

(MediaController):
(MediaController.prototype.togglePlayback): Add a catch() statement since calling play() could sometime
lead to some extraneous unhandled promise console logging that pollutes test output.
(MediaController.prototype.handleEvent):

LayoutTests:

Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen
pauses the media and resumes it when pressing the space bar again.

  • media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added.
  • media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added.
  • platform/ios-simulator/TestExpectations:
3:30 PM Changeset in webkit [225200] by Matt Lewis
  • 4 edits
    2 deletes in trunk

Unreviewed, rolling out r225173.

This caused multiple tests to timeout consistently.

Reverted changeset:

"Pressing the space bar while watching a fullscreen video
doesn't play or pause"
https://bugs.webkit.org/show_bug.cgi?id=180033
https://trac.webkit.org/changeset/225173

3:21 PM Changeset in webkit [225199] by Jonathan Bedard
  • 6 edits
    2 adds in trunk/Tools

webkitpy: Better name-version mapping (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=179621
<rdar://problem/35589585>

Reviewed by David Kilzer.

Mapping version numbers to version names should occur in a central location.
This has a few advantages. First, it makes iterating through versions easier.
Second, it allows for apple_additions to define an additional set of name
mappings. Lastly, it will allow, in a future patch, for us to track version
instead of version name, only mapping version to version name when required.

  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo.init):
(PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions
mapping version to name.
(PlatformInfo._determine_linux_version): Deleted.
(PlatformInfo._determine_mac_version): Deleted.
(PlatformInfo._determine_win_version): Deleted.

  • Scripts/webkitpy/common/system/platforminfo_unittest.py:

(TestPlatformInfo.test_os_name_and_wrappers):
(TestPlatformInfo.test_os_version):
(TestPlatformInfo.test_display_name):
(TestPlatformInfo.test_total_bytes_memory):

  • Scripts/webkitpy/common/version.py:

(Version.contained_in): Add partial version mapping.

  • Scripts/webkitpy/common/version_name_map.py: Added.

(VersionNameMap): Holds a mapping of version name to version object.
(VersionNameMap.map): Don't re-create VersionNameMap every time.
(VersionNameMap.init): Initialize mapping, use platform to
define the default system platform.
(VersionNameMap._automap_to_major_version): Some operating systems, such
as iOS, have a naming scheme based on their major version and os name.
Automatically generate such mappings.
(VersionNameMap.to_name): Given a version object, platform name and
table, find the closest matching version name.
(VersionNameMap.strip_name_formatting): Remove spaces and extract the major version,
if a version string is included in the name.
(VersionNameMap.from_name): Return an os name and version given a version name.

  • Scripts/webkitpy/common/version_name_map_unittest.py: Added.

(VersionMapTestCase):
(VersionMapTestCase.test_default_system_platform):
(VersionMapTestCase.test_mac_version_by_name):
(VersionMapTestCase.test_ios_version_by_name):
(VersionMapTestCase.test_mac_name_by_version):
(VersionMapTestCase.test_ios_name_by_version):

  • Scripts/webkitpy/common/version_unittest.py:

(VersionTestCase.test_contained_in):

  • Scripts/webkitpy/port/ios_device.py:

(IOSDevicePort.ios_version): Map os_version name to version number.

3:13 PM Changeset in webkit [225198] by Chris Dumez
  • 15 edits in trunk/Source

ASSERTION FAILED: addResult.isNewEntry WebCore::SWServerRegistration::addClientUsingRegistration(WebCore::ServiceWorkerClientIdentifier const&) + 141
https://bugs.webkit.org/show_bug.cgi?id=180049

Reviewed by Brady Eidson.

Source/WebCore:

SWServer::serviceWorkerStoppedControllingClient() was failing to remove the client from the
SWServerRegistration in some cases. This is because we relied on the Service Worker Identifier
to get the SWServerRegistration, via the corresponding SWServerServiceWorker object. However,
It is possible for the SWServerServiceWorker to have been destroyed already.

In serviceWorkerStartedControllingClient / serviceWorkerStoppedControllingClient, we now
pass the registration identifier, so that we are able to look up the registration directly,
without going through the service worker object.

No new tests, already covered by imported/w3c/web-platform-tests/service-workers/service-worker/claim-affect-other-registration.https.html.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::setActiveServiceWorker):

  • workers/service/ServiceWorker.h:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::removeRegistration):

  • workers/service/ServiceWorkerData.cpp:

(WebCore::ServiceWorkerData::isolatedCopy const):

  • workers/service/ServiceWorkerData.h:

(WebCore::ServiceWorkerData::encode const):
(WebCore::ServiceWorkerData::decode):

  • workers/service/server/SWClientConnection.h:
  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::addRegistration):
(WebCore::SWServer::removeRegistration):
(WebCore::SWServer::clearAll):
(WebCore::SWServer::Connection::addServiceWorkerRegistrationInServer):
(WebCore::SWServer::Connection::removeServiceWorkerRegistrationInServer):
(WebCore::SWServer::Connection::serviceWorkerStartedControllingClient):
(WebCore::SWServer::Connection::serviceWorkerStoppedControllingClient):
(WebCore::SWServer::addClientServiceWorkerRegistration):
(WebCore::SWServer::removeClientServiceWorkerRegistration):
(WebCore::SWServer::serviceWorkerStartedControllingClient):
(WebCore::SWServer::serviceWorkerStoppedControllingClient):
(WebCore::SWServer::installContextData):

  • workers/service/server/SWServer.h:
  • workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::SWServerWorker):

  • workers/service/server/SWServerWorker.h:

Source/WebKit:

  • StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::addServiceWorkerRegistrationInServer):
(WebKit::WebSWClientConnection::removeServiceWorkerRegistrationInServer):
(WebKit::WebSWClientConnection::serviceWorkerStartedControllingClient):
(WebKit::WebSWClientConnection::serviceWorkerStoppedControllingClient):

  • WebProcess/Storage/WebSWClientConnection.h:
3:05 PM Changeset in webkit [225197] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=179137

Unreviewed test gardening.

3:04 PM Changeset in webkit [225196] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r225142): Crashes when command clicking or force touching links
https://bugs.webkit.org/show_bug.cgi?id=180055
<rdar://problem/35703910>

Reviewed by Wenson Hsieh.

No new tests; affects an existing API test.

  • editing/mac/DictionaryLookup.mm:

(WebCore::tokenRange):
The 'options' out argument from tokenRangeForString is autoreleased.

2:29 PM Changeset in webkit [225195] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

downcast to WebKit::FullscreenClient can sometimes fail.
https://bugs.webkit.org/show_bug.cgi?id=179849

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-11-27
Reviewed by Darin Adler.

There are cases during teardown where fullscreenClient() has been cleared back to an API::FullscreenClient.
Because those cases, WKWebView should test before downcasting to WebKit::FullscreenClient.

This is causing a crash when fullscreen delegate is cleared after a page is closed.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setFullscreenDelegate:]):
(-[WKWebView _fullscreenDelegate]):

2:18 PM Changeset in webkit [225194] by dino@apple.com
  • 1 edit in trunk/Source/WebCore/html/OffscreenCanvas.h

Attempt to fix Windows build.

  • html/OffscreenCanvas.h:
2:12 PM Changeset in webkit [225193] by dino@apple.com
  • 10 edits in trunk

Implement OffscreenCanvas.getContext("webgl")
https://bugs.webkit.org/show_bug.cgi?id=180050
<rdar://problem/35705473>

Reviewed by Sam Weinig.

Source/WebCore:

Implement enough of getContext("webgl") to actually return an
active WebGLRenderingContext, even though it isn't actually
hooked up to draw.

Introduce a new type, WebGLCanvas, which is a variant of HTMLCanvasElement
and OffscreenCanvas, so that it can be exposed by the 'canvas' attribute
on WebGLRenderingContext.

At the moment we still assume that all uses of WebGLRenderingContext come
from HTMLCanvasElement, so add a bunch of logic to detect that case.

Updated the existing (proposed) WPT.

  • html/OffscreenCanvas.cpp:

(WebCore::OffscreenCanvas::getContext): Implement enough of getContext to
return a WebGLRenderingContext.

  • html/OffscreenCanvas.h: Use the new OffscreenRenderingContext type, even

though it's just a WebGLRenderingContext at the moment.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::canvas): Now returns a WebGLCanvas.
(WebCore::WebGLRenderingContextBase::htmlCanvas): Helper to get the HTMLCanvasElement if it exists.
(WebCore::WebGLRenderingContextBase::offscreenCanvas): Ditto for OffscreenCanvas.
(WebCore::WebGLRenderingContextBase::checkForContextLossHandling): Guard for htmlCanvas().
(WebCore::WebGLRenderingContextBase::registerWithWebGLStateTracker):
(WebCore::WebGLRenderingContextBase::setupFlags):
(WebCore::WebGLRenderingContextBase::addActivityStateChangeObserverIfNecessary):
(WebCore::WebGLRenderingContextBase::removeActivityStateChangeObserver):
(WebCore::WebGLRenderingContextBase::markContextChanged):
(WebCore::WebGLRenderingContextBase::markContextChangedAndNotifyCanvasObserver):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas):
(WebCore::WebGLRenderingContextBase::reshape):
(WebCore::WebGLRenderingContextBase::compileShader):
(WebCore::WebGLRenderingContextBase::isContextLostOrPending):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::loseContextImpl):
(WebCore::WebGLRenderingContextBase::printToConsole):
(WebCore::WebGLRenderingContextBase::dispatchContextLostEvent):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
(WebCore::WebGLRenderingContextBase::dispatchContextChangedEvent):
(WebCore::WebGLRenderingContextBase::clampedCanvasSize):

  • html/canvas/WebGLRenderingContextBase.h: Define WebGLCanvas.
  • html/canvas/WebGLRenderingContextBase.idl:
  • inspector/InspectorInstrumentation.h: Handle the variant options, although leave OffscreenCanvas

unimplemented for the moment.
(WebCore::InspectorInstrumentation::didEnableExtension):
(WebCore::InspectorInstrumentation::didCreateProgram):
(WebCore::InspectorInstrumentation::willDeleteProgram):
(WebCore::InspectorInstrumentation::isShaderProgramDisabled):

  • inspector/agents/InspectorCanvasAgent.cpp:

(WebCore::InspectorCanvasAgent::didEnableExtension):
(WebCore::InspectorCanvasAgent::didCreateProgram):

LayoutTests:

Update expected results.

  • http/wpt/offscreen-canvas/getContext-webgl.html:
1:21 PM Changeset in webkit [225192] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix an improper #include

  • platform/network/soup/NetworkStorageSessionSoup.cpp:
1:16 PM Changeset in webkit [225191] by don.olmstead@sony.com
  • 10 edits in trunk

[CMake][Win] Conditionally select DLL CRT or static CRT
https://bugs.webkit.org/show_bug.cgi?id=170594

Reviewed by Alex Christensen.

.:

  • Source/cmake/OptionsAppleWin.cmake:
  • Source/cmake/OptionsMSVC.cmake:

Source/JavaScriptCore:

  • shell/PlatformWin.cmake:

Source/WebKitLegacy:

  • PlatformWin.cmake:

Tools:

  • DumpRenderTree/PlatformWin.cmake:
  • MiniBrowser/win/CMakeLists.txt:
1:05 PM Changeset in webkit [225190] by Matt Lewis
  • 3 edits in trunk/LayoutTests

Fixed incorrectly marked test expectations.

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
12:49 PM Changeset in webkit [225189] by achristensen@apple.com
  • 2 edits in trunk/LayoutTests

Run imported/w3c/web-platform-tests/url/failure.html on debug builds after r225186.

It's still flaky, but it doesn't assert any more.

12:40 PM Changeset in webkit [225188] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Having a bad time watchpoint firing during compilation revealed a racy assertion
https://bugs.webkit.org/show_bug.cgi?id=180048
<rdar://problem/35700009>

Reviewed by Mark Lam.

While a DFG compilation is watching the having a bad time watchpoint, it was
asserting that the rest parameter structure has indexing type ArrayWithContiguous.
However, if the having a bad time watchpoint fires during the compilation,
this particular structure will no longer have ArrayWithContiguous indexing type.
This patch fixes this racy assertion to be aware that the watchpoint may fire
during compilation.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCreateRest):
(JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread):

12:39 PM Changeset in webkit [225187] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, rebaseline http/tests/workers/service/service-worker-cache-api.https.html

This test is currently marked as flaky.

  • http/tests/workers/service/service-worker-cache-api.https-expected.txt:
12:23 PM Changeset in webkit [225186] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

imported/w3c/web-platform-tests/url/failure.html crashes on debug builds
https://bugs.webkit.org/show_bug.cgi?id=172337

Reviewed by Chris Dumez.

There were two problems:

  1. Invalid URLs can contain non-ASCII characters in its UTF8 representation.

We should not put these URLs into content extension finite state machines. They won't load anyways.

  1. If we don't have any content extensions installed, we still call String.utf8 unnecessarily. Let's not.
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad const):

12:02 PM Changeset in webkit [225185] by Simon Fraser
  • 47 edits in trunk/Source

Use TextStream's indent tracking, rather than passing indent to all the externalRepresentation() functions
https://bugs.webkit.org/show_bug.cgi?id=180027

Reviewed by Jon Lee.

Remove all the indent arguments, and make use of TextStream::IndentScope to control
output indentation.
Source/WebCore:

Add an indent stream manipulator so you can say

ts << indent << "text"

to write the indent.

  • platform/graphics/filters/FEBlend.cpp:

(WebCore::FEBlend::externalRepresentation const):

  • platform/graphics/filters/FEBlend.h:
  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::FEColorMatrix::externalRepresentation const):

  • platform/graphics/filters/FEColorMatrix.h:
  • platform/graphics/filters/FEComponentTransfer.cpp:

(WebCore::FEComponentTransfer::externalRepresentation const):

  • platform/graphics/filters/FEComponentTransfer.h:
  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FEComposite::externalRepresentation const):

  • platform/graphics/filters/FEComposite.h:
  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::FEConvolveMatrix::externalRepresentation const):

  • platform/graphics/filters/FEConvolveMatrix.h:
  • platform/graphics/filters/FEDiffuseLighting.cpp:

(WebCore::FEDiffuseLighting::externalRepresentation const):

  • platform/graphics/filters/FEDiffuseLighting.h:
  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::externalRepresentation const):

  • platform/graphics/filters/FEDisplacementMap.h:
  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::externalRepresentation const):

  • platform/graphics/filters/FEDropShadow.h:
  • platform/graphics/filters/FEFlood.cpp:

(WebCore::FEFlood::externalRepresentation const):

  • platform/graphics/filters/FEFlood.h:
  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::externalRepresentation const):

  • platform/graphics/filters/FEGaussianBlur.h:
  • platform/graphics/filters/FEMerge.cpp:

(WebCore::FEMerge::externalRepresentation const):

  • platform/graphics/filters/FEMerge.h:
  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::FEMorphology::externalRepresentation const):

  • platform/graphics/filters/FEMorphology.h:
  • platform/graphics/filters/FEOffset.cpp:

(WebCore::FEOffset::externalRepresentation const):

  • platform/graphics/filters/FEOffset.h:
  • platform/graphics/filters/FESpecularLighting.cpp:

(WebCore::FESpecularLighting::externalRepresentation const):

  • platform/graphics/filters/FESpecularLighting.h:
  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::externalRepresentation const):

  • platform/graphics/filters/FETile.h:
  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulence::externalRepresentation const):

  • platform/graphics/filters/FETurbulence.h:
  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::externalRepresentation const):

  • platform/graphics/filters/FilterEffect.h:
  • platform/graphics/filters/SourceAlpha.cpp:

(WebCore::SourceAlpha::externalRepresentation const):

  • platform/graphics/filters/SourceAlpha.h:
  • platform/graphics/filters/SourceGraphic.cpp:

(WebCore::SourceGraphic::externalRepresentation const):

  • platform/graphics/filters/SourceGraphic.h:
  • rendering/RenderTreeAsText.cpp:

(WebCore::write):
(WebCore::writeLayer):
(WebCore::writeLayerRenderers):
(WebCore::writeLayers):
(WebCore::externalRepresentation):

  • rendering/RenderTreeAsText.h:
  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeSVGInlineTextBox):
(WebCore::writeSVGInlineTextBoxes):
(WebCore::writeStandardPrefix):
(WebCore::writeChildren):
(WebCore::writeSVGResourceContainer):
(WebCore::writeSVGContainer):
(WebCore::write):
(WebCore::writeSVGText):
(WebCore::writeSVGInlineText):
(WebCore::writeSVGImage):
(WebCore::writeSVGGradientStop):
(WebCore::writeResources):

  • rendering/svg/SVGRenderTreeAsText.h:
  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::externalRepresentation const):

  • svg/graphics/filters/SVGFEImage.h:

Source/WTF:

Add an indent stream manipulator so you can say

ts << indent << "text"

to write the indent.

  • wtf/text/TextStream.h:

(WTF::TextStream::IndentScope::IndentScope):
(WTF::TextStream::IndentScope::~IndentScope):

11:51 AM Changeset in webkit [225184] by Chris Dumez
  • 21 edits
    1 copy in trunk/Source

Give Document a strongly typed identifier instead of a uint64_t
https://bugs.webkit.org/show_bug.cgi?id=180041

Reviewed by Youenn Fablet.

Give Document a strongly typed identifier instead of a uint64_t, for clarity.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::m_identifier):

  • dom/Document.h:

(WebCore::Document::identifier const):

  • dom/DocumentIdentifier.h: Copied from Source/WebCore/workers/service/ServiceWorkerClientIdentifier.h.
  • workers/service/ServiceWorkerClientIdentifier.h:

(WebCore::ServiceWorkerClientIdentifier::toString const):
(WebCore::ServiceWorkerClientIdentifier::encode const):
(WebCore::ServiceWorkerClientIdentifier::decode):

  • workers/service/server/SWClientConnection.cpp:

(WebCore::SWClientConnection::postMessageToServiceWorkerClient):
(WebCore::SWClientConnection::notifyClientsOfControllerChange):

  • workers/service/server/SWClientConnection.h:
  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::Connection::serviceWorkerStartedControllingClient):
(WebCore::SWServer::Connection::serviceWorkerStoppedControllingClient):
(WebCore::SWServer::serviceWorkerStartedControllingClient):
(WebCore::SWServer::serviceWorkerStoppedControllingClient):

  • workers/service/server/SWServer.h:
  • workers/service/server/SWServerRegistration.cpp:

(WebCore::SWServerRegistration::addClientUsingRegistration):
(WebCore::SWServerRegistration::removeClientUsingRegistration):

  • workers/service/server/SWServerRegistration.h:

Source/WebKit:

  • Platform/IPC/ArgumentCoders.h:
  • Scripts/webkit/messages.py:

(forward_declarations_and_headers):

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::notifyClientsOfControllerChange):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerGlobalScope):
(WebKit::WebSWServerConnection::postMessageToServiceWorkerClient):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::postMessageToServiceWorkerClient):

  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::postMessageToServiceWorkerGlobalScope):
(WebKit::WebSWClientConnection::serviceWorkerStartedControllingClient):
(WebKit::WebSWClientConnection::serviceWorkerStoppedControllingClient):
(WebKit::WebSWClientConnection::postMessageToServiceWorkerClient):

  • WebProcess/Storage/WebSWClientConnection.h:
  • WebProcess/Storage/WebSWClientConnection.messages.in:
11:40 AM Changeset in webkit [225183] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Optimize FEDisplacementMap
https://bugs.webkit.org/show_bug.cgi?id=180023

Reviewed by Sam Weinig.

Make FEDisplacementMap about 3x faster by operating on whole pixels rather than
individual channels. There's no per-channel logic once the srcX and srcY are computed.

Other sundry cleanup.

  • platform/graphics/ColorUtilities.h:

(WebCore::byteOffsetOfPixel): Will use this in more places in future.

  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::platformApplySoftware):

  • platform/graphics/filters/FEDisplacementMap.h:

(WebCore::FEDisplacementMap::xChannelIndex const):
(WebCore::FEDisplacementMap::yChannelIndex const):

11:36 AM Changeset in webkit [225182] by commit-queue@webkit.org
  • 7 edits in trunk

[GTK][WPE] Add "enable-encrypted-media" property to WebKitWebSettings
https://bugs.webkit.org/show_bug.cgi?id=18005

Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2017-11-27
Reviewed by Michael Catanzaro.

Source/WebKit:

EncryptedMedia is an experimental JavaScript API for playing encrypted media in HTML.
This property will only work as intended if the EncryptedMedia feature is enabled at build time
with the ENABLE_ENCRYPTED_MEDIA flag.

  • UIProcess/API/glib/WebKitSettings.cpp:

(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_get_enable_encrypted_media):
(webkit_settings_set_enable_encrypted_media):

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
  • UIProcess/API/wpe/WebKitSettings.h:

Tools:

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:

(testWebKitSettings):

10:33 AM Changeset in webkit [225181] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, unskip service worker tests that are no longer flaky.

10:24 AM Changeset in webkit [225180] by fpizlo@apple.com
  • 3 edits in trunk/Source/bmalloc

Don't crash in forEachEntry when DebugHeap is enabled.

Unreviewed, fixing crashes on leaks bots by removing an assertion.

  • bmalloc/IsoTLS.cpp:

(bmalloc::IsoTLS::forEachEntry):

  • test/testbmalloc.cpp: Make this test work with DebugHeap so I can catch this kind of problem in the future.
9:59 AM Changeset in webkit [225179] by timothy_horton@apple.com
  • 12 edits in trunk

One too many zeroes in macOS version number in FeatureDefines
https://bugs.webkit.org/show_bug.cgi?id=180011

Reviewed by Dan Bernstein.

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
  • Configurations/FeatureDefines.xcconfig:
9:43 AM Changeset in webkit [225178] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] The number of webkit-patch iterations on EWS should be configurable.
https://bugs.webkit.org/show_bug.cgi?id=178517

Reviewed by Darin Adler.

Add a new RESET_AFTER_ITERATION argument to the EWS shell script.

  • EWSTools/start-queue-win.sh:
9:19 AM Changeset in webkit [225177] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] Switch to VS2017 on EWS bots.
https://bugs.webkit.org/show_bug.cgi?id=178516

Reviewed by Darin Adler.

  • EWSTools/start-queue-win.sh:
9:08 AM Changeset in webkit [225176] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebKit

[CoordGraphics] Prettify ID value handling in UpdateAtlas and UpdateAtlas::Client
https://bugs.webkit.org/show_bug.cgi?id=180038

Reviewed by Carlos Garcia Campos.

In the UpdateAtlas class, provide an ID type that aliases to uint32_t.
The m_id member variable (ex-m_ID) uses this type, and it's also now
used in the Client interface.

While poking around, the header is modified to use '#pragma once',
and m_id is moved to the more logical first position among member
variables.

The static ID variable is modified to use the new type, and renamed
to s_nextID. Comment alongside the namespace scope closure is fixed
to use the appropriate name.

createUpdateAtlas() and removeUpdateAtlas() methods in the
CompositingCoordinator class are modified to use the UpdateAtlas::ID
type, and the former has the second parameter changed from RefPtr<>
to Ref<>.

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:

(WebKit::CompositingCoordinator::createUpdateAtlas):
(WebKit::CompositingCoordinator::removeUpdateAtlas):

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
  • WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp:

(WebKit::UpdateAtlas::UpdateAtlas):
(WebKit::UpdateAtlas::~UpdateAtlas):
(WebKit::UpdateAtlas::getCoordinatedBuffer):

  • WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h:
9:06 AM Changeset in webkit [225175] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebKit

[CoordGraphics] CompositingCoordinator: clean up Client vtable, GraphicsLayerClient overrides
https://bugs.webkit.org/show_bug.cgi?id=180037

Reviewed by Carlos Garcia Campos.

Remove the CompositingCoordinator::Client::paintLayerContents() method since
the only implementation in CoordinatedLayerTreeHost was empty.

Subsequently, the CompositingCoordinator::paintContents() override of the
GraphicsLayerClient method can also be removed. The notifyAnimationStarted()
override is empty, just like the base method, so it's removed as well.

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:

(WebKit::CompositingCoordinator::deviceScaleFactor const): Bring method up
to the notifyFlushRequired() code, since both are overrides of the
GraphicsLayerClient-inherited methods.
(WebKit::CompositingCoordinator::pageScaleFactor const): Ditto.
(WebKit::CompositingCoordinator::notifyAnimationStarted): Deleted.
(WebKit::CompositingCoordinator::paintContents): Deleted.

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::paintLayerContents): Deleted.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
9:05 AM Changeset in webkit [225174] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[CoordGraphics] CoordinatedGraphicsLayer doesn't need to inherit from TextureMapperPlatformLayer::Client
https://bugs.webkit.org/show_bug.cgi?id=180036

Reviewed by Carlos Garcia Campos.

There's no reason CoordinatedGraphicsLayer should inherit from
TextureMapperPlatformLayer::Client. CoordinatedGraphicsLayer objects are
not used anywhere through that type, and all the overridden methods are
empty anyway. The TextureMapperPlatformLayer::Client class (along with
TextureMapperPlatformLayer) is nowadays only used in the direct
TextureMapper implementation of GraphicsLayer.

No new tests -- no change in behavior.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::platformLayerWillBeDestroyed): Deleted.
(WebCore::CoordinatedGraphicsLayer::setPlatformLayerNeedsDisplay): Deleted.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
8:54 AM Changeset in webkit [225173] by graouts@webkit.org
  • 4 edits
    2 adds in trunk

Pressing the space bar while watching a fullscreen video doesn't play or pause
https://bugs.webkit.org/show_bug.cgi?id=180033
<rdar://problem/33610443>

Reviewed by Eric Carlson.

Source/WebCore:

We register a "keydown" event to track when the space bar is pressed, and if the media is playing
in fullscreen, we toggle playback. This does not interfere with full keyboard access since activating
one of the media controls using the keyboard will not let the events we register for be dispatched
this far along the event dispatch phase.

Test: media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html

  • Modules/modern-media-controls/media/media-controller.js:

(MediaController):
(MediaController.prototype.togglePlayback): Add a catch() statement since calling play() could sometime
lead to some extraneous unhandled promise console logging that pollutes test output.
(MediaController.prototype.handleEvent):

LayoutTests:

Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen
pauses the media and resumes it when pressing the space bar again.

  • media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added.
  • media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added.
  • platform/ios-simulator/TestExpectations:
8:37 AM Changeset in webkit [225172] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Optimize FEMorphology
https://bugs.webkit.org/show_bug.cgi?id=180020

Reviewed by Sam Weinig.

Use const PaintingData&.
Compute all components at once.
Avoid Vector<> capacity changes during the pixel loop.
Tweak the parallel jobs scaling.
Templatize the the inner loop functions that compute min or max based
on the filter type to avoid conditionals in tight loops.

This is about a 4x speedup before the parallel jobs tweaking. With fixed parallelism,
a 200x200 filter went from 15ms to about 1ms with these changes.

  • platform/graphics/ColorUtilities.h:

(WebCore::ColorComponents::fromRGBA):
(WebCore::ColorComponents::toRGBA const):
(WebCore::perComponentMax):
(WebCore::perComponentMin):

  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::FEColorMatrix::platformApplySoftware): Remove some old perf logging code.
TimingScope now does something similar.

  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::pixelArrayIndex):
(WebCore::minOrMax):
(WebCore::columnExtremum):
(WebCore::kernelExtremum):
(WebCore::FEMorphology::platformApplyGeneric):
(WebCore::FEMorphology::platformApplyWorker):
(WebCore::FEMorphology::platformApply):
(WebCore::FEMorphology::platformApplySoftware):
(WebCore::shouldSupersedeExtremum): Deleted.

  • platform/graphics/filters/FEMorphology.h:
8:30 AM Changeset in webkit [225171] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

REGRESSION(r223073): disk cache directory is no longer copied in ProcessPoolConfiguration::copy()
https://bugs.webkit.org/show_bug.cgi?id=180031

Reviewed by Youenn Fablet.

This has caused GTK/WPE test /webkit2/WebKitWebsiteData/configuration to fail, and the wrong directory is used
by the network process. I think it was removed by mistake in r223073.

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy): Copy m_diskCacheDirectory too.

8:22 AM Changeset in webkit [225170] by rmorisset@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Update DFGSafeToExecute to be aware that ArrayPush is now a varargs node
https://bugs.webkit.org/show_bug.cgi?id=179821

Reviewed by Saam Barati.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

8:02 AM Changeset in webkit [225169] by Ms2ger@igalia.com
  • 4 edits
    1 delete in trunk/LayoutTests

[GTK][WPE] Enable http/wpt/resource-timing/rt-initiatorType-media.html.
https://bugs.webkit.org/show_bug.cgi?id=180034

Unreviewed test gardening.

If this test fails, it will fail with random numbers in the failure
message. The current platform-neutral expectation file contains one
pair of these random numbers, ensuring that this test will never be
interpreted as passing -- not while the bug exists, and not when it
is fixed.

This change updates the expectation file to contain only passes and
enables the test for WPE and GTK, as the bug does not seem to exist
there.

  • http/wpt/resource-timing/rt-initiatorType-media-expected.txt:
  • platform/gtk/TestExpectations:
  • platform/wpe/TestExpectations:
  • platform/wpe/http/wpt/resource-timing/rt-initiatorType-media-expected.txt: Removed.
7:34 AM Changeset in webkit [225168] by Adrian Perez de Castro
  • 2 edits in trunk

[CMake] Values of CMAKE_BUILD_TYPE from toolchain file are ignored
https://bugs.webkit.org/show_bug.cgi?id=179971

Reviewed by Carlos Alberto Lopez Perez.

  • CMakeLists.txt: Call project() first, as it loads the toolchain

file, so that's done before checking CMAKE_BUILD_TYPE.

6:23 AM WebKitGTK/Gardening/Calendar edited by Carlos Garcia Campos
(diff)
6:16 AM Changeset in webkit [225167] by Adrian Perez de Castro
  • 4 edits in trunk/Source/WebKit

[WPE][GTK] Improve contents of pkg-config .pc files
https://bugs.webkit.org/show_bug.cgi?id=180032

Reviewed by Carlos Garcia Campos.

  • gtk/webkit2gtk-web-extension.pc.in: Add URL, edit Name and Description.
  • gtk/webkit2gtk.pc.in: Add URL, edit Name.
  • wpe/wpe-webkit.pc.in: Add URL, edit Name and Description.
5:20 AM Changeset in webkit [225166] by Carlos Garcia Campos
  • 4 edits
    1 delete in trunk

[SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed
https://bugs.webkit.org/show_bug.cgi?id=176806

Reviewed by Carlos Alberto Lopez Perez.

Tools:

This was caused by a GLib bug that has already been fixed. Upgrade glib to 2.54.2.

  • gtk/jhbuild.modules:
  • gtk/patches/gdate-suppress-string-format-literal-warning.patch: Removed.

LayoutTests:

  • platform/gtk/TestExpectations:
3:02 AM Changeset in webkit [225165] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles Redesign: selector's field shadow is clipped at the bottom
https://bugs.webkit.org/show_bug.cgi?id=179961

Reviewed by Matt Baker.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:

(.spreadsheet-css-declaration .selector):

1:41 AM Changeset in webkit [225164] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EME][GStreamer] Change the ClearKey's SystemID value
https://bugs.webkit.org/show_bug.cgi?id=180007

Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2017-11-27
Reviewed by Xabier Rodriguez-Calvar.

Use 1077efec-c0b2-4d02-ace3-3c1e52e2fb4b instead of
58147ec8-0423-4659-92e6-f52c5ce8c3cc, as is specified in W3C.
https://www.w3.org/TR/eme-initdata-cenc/#common-system-definition

  • platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
1:29 AM Changeset in webkit [225163] by jfernandez@igalia.com
  • 3 edits
    2 adds in trunk

[css-grid] Display issues with child with max-width
https://bugs.webkit.org/show_bug.cgi?id=178973

Reviewed by Darin Adler.

Source/WebCore:

We have an utility function to compute the grid item's margins
when the item still needs to layout. We used the function
RenderStyle::hasMarings to decide whether such margin computation
worths. However, we need that function to operate on a specific
axis, hence I added a new function adding such logic.

Additionally, we must treat any 'auto' margin as 0px during the
tracks sizing algorithm, as the CSS Grid spec states:

Test: fast/css-grid-layout/auto-margins-ignored-during-track-sizing.html

  • rendering/GridLayoutFunctions.cpp:

(WebCore::GridLayoutFunctions::childHasMargin): New funciton with axis dependent logic.
(WebCore::GridLayoutFunctions::computeMarginLogicalSizeForChild): Ignore auto margins.
(WebCore::GridLayoutFunctions::marginLogicalSizeForChild): Ignore auto margins.

LayoutTests:

Regression test for the bug.

  • fast/css-grid-layout/auto-margins-ignored-during-track-sizing-expected.html: Added.
  • fast/css-grid-layout/auto-margins-ignored-during-track-sizing.html: Added.
12:53 AM Changeset in webkit [225162] by fred.wang@free.fr
  • 16 edits
    57 copies
    12 moves
    86 adds
    5 deletes in trunk/LayoutTests

Import MathML WPT tests
https://bugs.webkit.org/show_bug.cgi?id=179110

Patch by Frederic Wang <fwang@igalia.com> on 2017-11-25
Reviewed by Darin Adler.

This patch imports the MathML WPT tests and remove the corresponding unmaintained copies
from LayoutTests/imported/mathml-in-html5/. The only exception is for MathML tests testing
OpenType MATH parameters: They require Web fonts and do not work well in WebKit without
some tweaks because of bug 174030. For now, we only move the web fonts required by the tests
and keep running the legacy versions.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/mathml/OWNERS: Added.
  • web-platform-tests/mathml/README.md: Added.
  • web-platform-tests/mathml/presentation-markup/fractions/frac-1-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-1-expected.txt.
  • web-platform-tests/mathml/presentation-markup/fractions/frac-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-1.html.
  • web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-1.html: Copied from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-1.html.
  • web-platform-tests/mathml/presentation-markup/fractions/frac-parameters-2.html: Copied from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-2.html.
  • web-platform-tests/mathml/presentation-markup/fractions/w3c-import.log: Added.
  • web-platform-tests/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt.
  • web-platform-tests/mathml/presentation-markup/operators/mo-axis-height-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html.
  • web-platform-tests/mathml/presentation-markup/operators/w3c-import.log: Added.
  • web-platform-tests/mathml/presentation-markup/radicals/root-parameters-1.html: Copied from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/radicals/root-parameters-1.html.
  • web-platform-tests/mathml/presentation-markup/radicals/w3c-import.log: Added.
  • web-platform-tests/mathml/presentation-markup/scripts/subsup-1-expected.txt: Copied from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-1-expected.txt.
  • web-platform-tests/mathml/presentation-markup/scripts/subsup-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-1.html.
  • web-platform-tests/mathml/presentation-markup/scripts/subsup-2-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2-expected.txt.
  • web-platform-tests/mathml/presentation-markup/scripts/subsup-2.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-2.html.
  • web-platform-tests/mathml/presentation-markup/scripts/subsup-3-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3-expected.txt.
  • web-platform-tests/mathml/presentation-markup/scripts/subsup-3.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-3.html.
  • web-platform-tests/mathml/presentation-markup/scripts/subsup-4-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-4-expected.txt.
  • web-platform-tests/mathml/presentation-markup/scripts/subsup-4.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-4.html.
  • web-platform-tests/mathml/presentation-markup/scripts/subsup-5-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5-expected.txt.
  • web-platform-tests/mathml/presentation-markup/scripts/subsup-5.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5.html.
  • web-platform-tests/mathml/presentation-markup/scripts/subsup-parameters-1.html: Copied from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-parameters-1.html.
  • web-platform-tests/mathml/presentation-markup/scripts/underover-1-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-1-expected.txt.
  • web-platform-tests/mathml/presentation-markup/scripts/underover-1.html: Added.
  • web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-1.html: Copied from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1.html.
  • web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-2.html: Copied from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2.html.
  • web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3.html: Copied from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3.html.
  • web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-4.html: Copied from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4.html.
  • web-platform-tests/mathml/presentation-markup/scripts/w3c-import.log: Added.
  • web-platform-tests/mathml/presentation-markup/spaces/space-1-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1-expected.txt.
  • web-platform-tests/mathml/presentation-markup/spaces/space-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1.html.
  • web-platform-tests/mathml/presentation-markup/spaces/space-2-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2-expected.html.
  • web-platform-tests/mathml/presentation-markup/spaces/space-2.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2.html.
  • web-platform-tests/mathml/presentation-markup/spaces/w3c-import.log: Added.
  • web-platform-tests/mathml/presentation-markup/tables/table-axis-height-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/tables/table-axis-height-expected.txt.
  • web-platform-tests/mathml/presentation-markup/tables/table-axis-height.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/presentation-markup/tables/table-axis-height.html.
  • web-platform-tests/mathml/presentation-markup/tables/w3c-import.log: Added.
  • web-platform-tests/mathml/relations/css-styling/color-1-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/color-1-expected.html.
  • web-platform-tests/mathml/relations/css-styling/color-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/color-1.html.
  • web-platform-tests/mathml/relations/css-styling/display-1-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/display-1-expected.html.
  • web-platform-tests/mathml/relations/css-styling/display-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/display-1.html.
  • web-platform-tests/mathml/relations/css-styling/displaystyle-1-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/displaystyle-1-expected.txt.
  • web-platform-tests/mathml/relations/css-styling/displaystyle-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/displaystyle-1.html.
  • web-platform-tests/mathml/relations/css-styling/lengths-1-expected.html: Copied from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1-expected.html.
  • web-platform-tests/mathml/relations/css-styling/lengths-1.html: Added.
  • web-platform-tests/mathml/relations/css-styling/lengths-2-expected.html: Copied from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1-expected.html.
  • web-platform-tests/mathml/relations/css-styling/lengths-2.html: Added.
  • web-platform-tests/mathml/relations/css-styling/lengths-3-expected.txt: Added.
  • web-platform-tests/mathml/relations/css-styling/lengths-3.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-bold-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-bold-fraktur-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-bold-fraktur.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-bold-italic-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-bold-italic.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-bold-sans-serif-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-bold-sans-serif.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-bold-script-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-bold-script.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-bold.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-double-struck-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-double-struck.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-fraktur-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-fraktur.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-initial-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-initial.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-italic-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-italic.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-looped-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-looped.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-monospace-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-monospace.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif-bold-italic.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif-italic-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif-italic.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-sans-serif.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-script-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-script.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-stretched-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-stretched.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-tailed-expected.html: Added.
  • web-platform-tests/mathml/relations/css-styling/mathvariant-tailed.html: Added.
  • web-platform-tests/mathml/relations/css-styling/visibility-1-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/visibility-1-expected.html.
  • web-platform-tests/mathml/relations/css-styling/visibility-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/css-styling/visibility-1.html.
  • web-platform-tests/mathml/relations/css-styling/w3c-import.log: Added.
  • web-platform-tests/mathml/relations/html5-tree/class-1-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-1-expected.html.
  • web-platform-tests/mathml/relations/html5-tree/class-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-1.html.
  • web-platform-tests/mathml/relations/html5-tree/class-2-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-2-expected.txt.
  • web-platform-tests/mathml/relations/html5-tree/class-2.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/class-2.html.
  • web-platform-tests/mathml/relations/html5-tree/color-attributes-1-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1-expected.html.
  • web-platform-tests/mathml/relations/html5-tree/color-attributes-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1.html.
  • web-platform-tests/mathml/relations/html5-tree/display-1-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/display-1-expected.txt.
  • web-platform-tests/mathml/relations/html5-tree/display-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/display-1.html.
  • web-platform-tests/mathml/relations/html5-tree/dynamic-1-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1-expected.html.
  • web-platform-tests/mathml/relations/html5-tree/dynamic-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1.html.
  • web-platform-tests/mathml/relations/html5-tree/href-click-1-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/href-click-1-expected.html.
  • web-platform-tests/mathml/relations/html5-tree/href-click-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/href-click-1.html.
  • web-platform-tests/mathml/relations/html5-tree/href-click-2-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/href-click-2-expected.html.
  • web-platform-tests/mathml/relations/html5-tree/href-click-2.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/href-click-2.html.
  • web-platform-tests/mathml/relations/html5-tree/integration-point-1-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1-expected.html.
  • web-platform-tests/mathml/relations/html5-tree/integration-point-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1.html.
  • web-platform-tests/mathml/relations/html5-tree/integration-point-2-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2-expected.html.
  • web-platform-tests/mathml/relations/html5-tree/integration-point-2.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2.html.
  • web-platform-tests/mathml/relations/html5-tree/integration-point-3-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3-expected.html.
  • web-platform-tests/mathml/relations/html5-tree/integration-point-3.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3.html.
  • web-platform-tests/mathml/relations/html5-tree/required-extensions-1-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1-expected.txt.
  • web-platform-tests/mathml/relations/html5-tree/required-extensions-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1.html.
  • web-platform-tests/mathml/relations/html5-tree/required-extensions-2-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2-expected.html.
  • web-platform-tests/mathml/relations/html5-tree/required-extensions-2.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2.html.
  • web-platform-tests/mathml/relations/html5-tree/unique-identifier-1-expected.html: Added.
  • web-platform-tests/mathml/relations/html5-tree/unique-identifier-1-iframe-1.html: Added.
  • web-platform-tests/mathml/relations/html5-tree/unique-identifier-1-iframe-2.html: Added.
  • web-platform-tests/mathml/relations/html5-tree/unique-identifier-1.html: Added.
  • web-platform-tests/mathml/relations/html5-tree/unique-identifier-2-expected.txt: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2-expected.txt.
  • web-platform-tests/mathml/relations/html5-tree/unique-identifier-2.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2.html.
  • web-platform-tests/mathml/relations/html5-tree/unique-identifier-3-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3-expected.html.
  • web-platform-tests/mathml/relations/html5-tree/unique-identifier-3.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3.html.
  • web-platform-tests/mathml/relations/html5-tree/w3c-import.log: Added.
  • web-platform-tests/mathml/relations/text-and-math/use-typo-metrics-1-expected.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1-expected.html.
  • web-platform-tests/mathml/relations/text-and-math/use-typo-metrics-1.html: Renamed from LayoutTests/imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1.html.
  • web-platform-tests/mathml/relations/text-and-math/w3c-import.log: Added.
  • web-platform-tests/mathml/tools/axisheight.py: Added.
  • web-platform-tests/mathml/tools/fractions.py: Added.
  • web-platform-tests/mathml/tools/largeop.py: Added.
  • web-platform-tests/mathml/tools/limits.py: Added.
  • web-platform-tests/mathml/tools/mathvariant-transforms.py: Added.

(parseCodePoint):

  • web-platform-tests/mathml/tools/radicals.py: Added.

(createStretchyRadical):

  • web-platform-tests/mathml/tools/scripts.py: Added.
  • web-platform-tests/mathml/tools/stacks.py: Added.
  • web-platform-tests/mathml/tools/stretchstacks.py: Added.
  • web-platform-tests/mathml/tools/underover.py: Added.
  • web-platform-tests/mathml/tools/use-typo-lineheight.py: Added.
  • web-platform-tests/mathml/tools/utils/init.py: Added.
  • web-platform-tests/mathml/tools/utils/mathfont.py: Added.

(create):
(drawRectangleGlyph):
(createSquareGlyph):
(drawHexaDigit):
(createGlyphFromValue):
(save):

  • web-platform-tests/mathml/tools/utils/misc.py: Added.

(downloadWithProgressBar):

  • web-platform-tests/mathml/tools/utils/w3c-import.log: Added.
  • web-platform-tests/mathml/tools/w3c-import.log: Added.
  • web-platform-tests/mathml/tools/xHeight.py: Added.
  • web-platform-tests/mathml/w3c-import.log: Added.

LayoutTests:

  • TestExpectations: Skip MathML tests requiring web fonts and mark some MathML tests as failing.
  • imported/mathml-in-html5/fonts/math/axisheight5000-verticalarrow14000.woff: Moved to imported/w3c/web-platform-tests/fonts/math/.
  • imported/mathml-in-html5/fonts/math/fraction-axisheight7000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/fraction-denominatordisplaystylegapmin5000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/fraction-denominatordisplaystyleshiftdown6000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/fraction-denominatorgapmin4000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/fraction-denominatorshiftdown3000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/fraction-numeratordisplaystylegapmin8000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/fraction-numeratordisplaystyleshiftup2000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/fraction-numeratorgapmin9000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/fraction-numeratorshiftup11000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/fraction-rulethickness10000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/largeop-displayoperatorminheight5000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/limits-lowerlimitbaselinedropmin3000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/limits-lowerlimitgapmin11000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/limits-upperlimitbaselinerisemin5000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/limits-upperlimitgapmin7000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/lineheight5000-typolineheight2300.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/mathvariant-transforms.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/radical-degreebottomraisepercent25-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/radical-displaystyleverticalgap7000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/radical-extraascender3000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/radical-kernafterdegreeminus5000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/radical-kernbeforedegree4000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/radical-rulethickness8000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/radical-verticalgap6000-rulethickness1000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/scripts-spaceafterscript3000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/scripts-subscriptbaselinedropmin9000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/scripts-subscriptshiftdown6000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/scripts-subscripttopmax4000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/scripts-subsuperscriptgapmin11000-superscriptbottommaxwithsubscript3000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/scripts-subsuperscriptgapmin11000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/scripts-superscriptbaselinedropmax10000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/scripts-superscriptbottommin8000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/scripts-superscriptshiftup7000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/scripts-superscriptshiftupcramped5000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/stack-axisheight7000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/stack-bottomdisplaystyleshiftdown5000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/stack-bottomshiftdown6000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/stack-displaystylegapmin4000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/stack-gapmin8000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/stack-topdisplaystyleshiftup3000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/stack-topshiftup9000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/stretchstack-bottomshiftdown3000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/stretchstack-gapabovemin7000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/stretchstack-gapbelowmin11000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/stretchstack-topshiftup5000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-overbarextraascender3000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-overbarverticalgap11000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-underbarextradescender5000.woff: Ditto.
  • imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-underbarverticalgap7000.woff: Ditto.
  • imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-1.html:

Update the URL to use the fonts in w3c/web-platform-tests/fonts/math/.

  • imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-2.html: Ditto.
  • imported/mathml-in-html5/mathml/presentation-markup/radicals/root-parameters-1.html: Ditto.
  • imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-parameters-1.html: Ditto.
  • imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1.html: Ditto.
  • imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2.html: Ditto.
  • imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3.html: Ditto.
  • imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4.html: Ditto.
  • imported/mathml-in-html5/mathml/relations/css-styling/mathvariant-transforms-1-expected.html: Removed.
  • imported/mathml-in-html5/mathml/relations/css-styling/mathvariant-transforms-1.html: Removed.
  • imported/mathml-in-html5/mathml/relations/css-styling/mathvariant-transforms-2-expected.html: Removed.
  • imported/mathml-in-html5/mathml/relations/css-styling/mathvariant-transforms-2.html: Removed.
  • imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1-expected.txt: Removed.
  • imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1.html: Removed.
  • platform/ios/TestExpectations: Updated to match the new version in imported/w3c.
  • platform/mac/TestExpectations: Ditto.
  • platform/win/TestExpectations: Ditto.
12:21 AM Changeset in webkit [225161] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/Source/JavaScriptCore

Cherry-pick r224426. rdar://problem/35364697

12:21 AM Changeset in webkit [225160] by jmarcell@apple.com
  • 3 edits in branches/safari-604-branch/Source/JavaScriptCore

Cherry-pick r224416. rdar://problem/35339833

12:21 AM Changeset in webkit [225159] by jmarcell@apple.com
  • 6 edits
    2 adds in branches/safari-604-branch

Cherry-pick r224405. rdar://problem/35339758

12:21 AM Changeset in webkit [225158] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604-branch

Cherry-pick r224398. rdar://problem/35329715

12:21 AM Changeset in webkit [225157] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604-branch

Cherry-pick r224366. rdar://problem/35329723

12:21 AM Changeset in webkit [225156] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604-branch

Cherry-pick r224349. rdar://problem/35329732

12:21 AM Changeset in webkit [225155] by jmarcell@apple.com
  • 5 edits
    1 add in branches/safari-604-branch

Cherry-pick r224302. rdar://problem/35323829

Nov 26, 2017:

11:51 PM Changeset in webkit [225154] by Yusuke Suzuki
  • 19 edits
    5 adds in trunk

[DFG] Add NormalizeMapKey DFG IR
https://bugs.webkit.org/show_bug.cgi?id=179912

Reviewed by Saam Barati.

JSTests:

  • stress/map-untyped-normalize-cse.js: Added.

(shouldBe):
(test):

  • stress/map-untyped-normalize.js: Added.

(shouldBe):
(test):

  • stress/set-untyped-normalize-cse.js: Added.

(shouldBe):
(set return.set has.set has):

  • stress/set-untyped-normalize.js: Added.

(shouldBe):
(set return.set has):

Source/JavaScriptCore:

This patch introduces NormalizeMapKey DFG node. It executes what normalizeMapKey does in inlined manner.
By separating this from MapHash and Map/Set related operations, we can perform CSE onto that, and we
do not need to call normalizeMapKey conservatively in DFG operations.
This can reduce slow path case in Untyped GetMapBucket since we can normalize keys in DFG/FTL.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupNormalizeMapKey):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileNormalizeMapKey):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileMapHash):
(JSC::FTL::DFG::LowerDFGToB3::compileNormalizeMapKey):
(JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket):

  • runtime/HashMapImpl.h:
7:45 PM Changeset in webkit [225153] by Yusuke Suzuki
  • 4 edits
    2 adds in trunk

[FTL] Support DeleteById and DeleteByVal
https://bugs.webkit.org/show_bug.cgi?id=180022

Reviewed by Saam Barati.

JSTests:

  • stress/delete-by-id.js: Added.

(shouldBe):
(test1):
(test2):

  • stress/delete-by-val-ftl.js: Added.

(shouldBe):
(test1):
(test2):

Source/JavaScriptCore:

We should increase the coverage of FTL. Even if the code includes DeleteById,
it does not mean that remaining part of the code should not be optimized in FTL.
Right now, even CallEval and with scope are handled in FTL.

This patch just adds DeleteById and DeleteByVal handling to FTL to allow optimizing
code including them.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileDeleteById):
(JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal):

6:19 PM Changeset in webkit [225152] by Simon Fraser
  • 3 edits
    2 adds in trunk

feImage as filter input has skewed colors
https://bugs.webkit.org/show_bug.cgi?id=180021

Reviewed by Sam Weinig.
Source/WebCore:

Using an <feImage> as a filter input sometimes results in incorrect colors, because
the image is being sourced as linearRGB when it should always be sRGB.

Fix by setting the result colorspace in FEImage before we allocate the output
buffer.

Tests: svg/filters/feImage-color-fidelity-expected.svg

svg/filters/feImage-color-fidelity.svg

  • svg/graphics/filters/SVGFEImage.cpp:

(WebCore::FEImage::platformApplySoftware):

LayoutTests:

  • svg/filters/feImage-color-fidelity-expected.svg: Added.
  • svg/filters/feImage-color-fidelity.svg: Added.
5:46 PM Changeset in webkit [225151] by Yusuke Suzuki
  • 8 edits
    5 adds in trunk

[DFG] Introduce {Set,Map,WeakMap}Fields
https://bugs.webkit.org/show_bug.cgi?id=179925

Reviewed by Saam Barati.

JSTests:

  • stress/map-set-clobber-map-get.js: Added.

(shouldBe):
(test):

  • stress/map-set-does-not-clobber-set-has.js: Added.

(shouldBe):

  • stress/map-set-does-not-clobber-weak-map-get.js: Added.

(shouldBe):
(test):

  • stress/set-add-clobber-set-has.js: Added.

(shouldBe):

  • stress/set-add-does-not-clobber-map-get.js: Added.

(shouldBe):

Source/JavaScriptCore:

SetAdd and MapSet uses write(MiscFields), but it is not correct. It accidentally
writes readonly MiscFields which is used by various nodes and make optimization
conservative.

We introduce JSSetFields, JSMapFields, and JSWeakMapFields to precisely model clobberizing of Map, Set, and WeakMap.

  • dfg/DFGAbstractHeap.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasBucketOwnerType):

5:22 PM Changeset in webkit [225150] by Yusuke Suzuki
  • 12 edits
    1 delete in trunk/Source/JavaScriptCore

[JSC] Remove JSStringBuilder
https://bugs.webkit.org/show_bug.cgi?id=180016

Reviewed by Saam Barati.

JSStringBuilder is replaced with WTF::StringBuilder.
This patch removes remaning uses and drop JSStringBuilder.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/ArrayPrototype.cpp:
  • runtime/AsyncFunctionPrototype.cpp:
  • runtime/AsyncGeneratorFunctionPrototype.cpp:
  • runtime/ErrorPrototype.cpp:
  • runtime/FunctionPrototype.cpp:
  • runtime/GeneratorFunctionPrototype.cpp:
  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::decode):
(JSC::globalFuncEscape):

  • runtime/JSStringBuilder.h: Removed.
  • runtime/JSStringInlines.h:

(JSC::jsMakeNontrivialString):

  • runtime/RegExpPrototype.cpp:
  • runtime/StringPrototype.cpp:
5:15 PM Changeset in webkit [225149] by Yusuke Suzuki
  • 15 edits in trunk/Source/JavaScriptCore

[DFG] Remove GetLocalUnlinked
https://bugs.webkit.org/show_bug.cgi?id=180017

Reviewed by Saam Barati.

Since DFGArgumentsSimplificationPhase is removed 2 years ago, GetLocalUnlinked is no longer used in DFG.
This patch just removes it.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.h:
  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasUnlinkedLocal):
(JSC::DFG::Node::convertToGetLocalUnlinked): Deleted.
(JSC::DFG::Node::convertToGetLocal): Deleted.
(JSC::DFG::Node::hasUnlinkedMachineLocal): Deleted.
(JSC::DFG::Node::setUnlinkedMachineLocal): Deleted.
(JSC::DFG::Node::unlinkedMachineLocal): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

  • dfg/DFGValidate.cpp:
2:13 PM Changeset in webkit [225148] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Cleanup code for RenderMathMLUnderOver::layoutBlock
https://bugs.webkit.org/show_bug.cgi?id=179681

Patch by Minsheng Liu <lambda@liu.ms> on 2017-11-26
Reviewed by Frédéric Wang.

The patch removes some unnecessary calls to layoutIfNeeds() and guards the change
with assertion. Since there is no behavior change, no new tests are required.

  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::stretchHorizontalOperatorsAndLayoutChildren):
(WebCore::RenderMathMLUnderOver::layoutBlock):
(WebCore::RenderMathMLUnderOver::computeOperatorsHorizontalStretch): Deleted.

  • rendering/mathml/RenderMathMLUnderOver.h:
12:03 PM Changeset in webkit [225147] by Simon Fraser
  • 36 edits in trunk

Use more Uint8ClampedArray& and constness in filter and image buffer code
https://bugs.webkit.org/show_bug.cgi?id=180008

Reviewed by Darin Adler.

Source/WebCore:

Use references to Uint8ClampedArrays rather than pointers where necessary.

Use const for source data buffers when possible, and uint8_t for the underlying
data type.

Fix a bug in FEGaussianBlur where the output of the last blur pass wasn't
copied to the result buffer, which required a test adjustment.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::putImageData):

  • platform/graphics/ImageBuffer.cpp:

(WebCore::ImageBuffer::genericConvertToLuminanceMask):

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/ShadowBlur.cpp:

(WebCore::ShadowBlur::blurShadowBuffer):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::putByteArray):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::putByteArray):

  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::ImageBufferData::getData const):
(WebCore::ImageBufferData::putData):

  • platform/graphics/cg/ImageBufferDataCG.h:
  • platform/graphics/cpu/arm/filters/FEBlendNEON.h:

(WebCore::FEBlend::platformApplySoftware):

  • platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:

(WebCore::FEComposite::computeArithmeticPixelsNeon):
(WebCore::FEComposite::platformArithmeticNeon):

  • platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h:

(WebCore::boxBlurNEON):

  • platform/graphics/cpu/arm/filters/NEONHelpers.h:

(WebCore::loadRGBA8AsFloat):

  • platform/graphics/filters/FEColorMatrix.cpp:

(WebCore::effectApplyAccelerated):
(WebCore::effectType):
(WebCore::FEColorMatrix::platformApplySoftware):

  • platform/graphics/filters/FEComponentTransfer.cpp:

(WebCore::FEComponentTransfer::platformApplySoftware):

  • platform/graphics/filters/FEComposite.cpp:

(WebCore::computeArithmeticPixels):
(WebCore::FEComposite::platformArithmeticSoftware):
(WebCore::FEComposite::platformApplySoftware):

  • platform/graphics/filters/FEComposite.h:
  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::setDestinationPixels):
(WebCore::FEConvolveMatrix::fastSetInteriorPixels):
(WebCore::FEConvolveMatrix::fastSetOuterPixels):
(WebCore::FEConvolveMatrix::platformApplySoftware):

  • platform/graphics/filters/FEConvolveMatrix.h:
  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::platformApplySoftware):

  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::platformApplySoftware):

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::boxBlurAlphaOnly):
(WebCore::boxBlur):
(WebCore::accelerateBoxBlur):
(WebCore::standardBoxBlur):
(WebCore::FEGaussianBlur::platformApplyGeneric):
(WebCore::FEGaussianBlur::platformApplyWorker):
(WebCore::FEGaussianBlur::platformApply):
(WebCore::FEGaussianBlur::platformApplySoftware):

  • platform/graphics/filters/FEGaussianBlur.h:
  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::drawLighting):
(WebCore::FELighting::platformApplySoftware):

  • platform/graphics/filters/FELighting.h:
  • platform/graphics/filters/FEMorphology.cpp:

(WebCore::columnExtremum):
(WebCore::FEMorphology::platformApplyGeneric):
(WebCore::FEMorphology::platformApplyDegenerate):
(WebCore::FEMorphology::platformApplySoftware):

  • platform/graphics/filters/FEMorphology.h:
  • platform/graphics/filters/FETurbulence.cpp:

(WebCore::FETurbulence::fillRegion const):
(WebCore::FETurbulence::fillRegionWorker):
(WebCore::FETurbulence::platformApplySoftware):

  • platform/graphics/filters/FETurbulence.h:
  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::forceValidPreMultipliedPixels):
(WebCore::FilterEffect::imageBufferResult):
(WebCore::FilterEffect::unmultipliedResult):
(WebCore::FilterEffect::premultipliedResult):
(WebCore::FilterEffect::copyImageBytes const):
(WebCore::copyPremultiplyingAlpha):
(WebCore::copyUnpremultiplyingAlpha):
(WebCore::FilterEffect::copyUnmultipliedResult):
(WebCore::FilterEffect::copyPremultipliedResult):

  • platform/graphics/filters/FilterEffect.h:
  • platform/graphics/win/ImageBufferDataDirect2D.cpp:

(WebCore::ImageBufferData::putData):

  • platform/graphics/win/ImageBufferDataDirect2D.h:

LayoutTests:

Fix a bug in FEGaussianBlur where the output of the last blur pass wasn't
copied to the result buffer, which required a test adjustment.

  • css3/filters/filter-on-overflow-hidden-expected.html:
  • css3/filters/filter-on-overflow-hidden.html:
7:56 AM Changeset in webkit [225146] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Make ArgList::data() private again when we can remove callWasmFunction().
https://bugs.webkit.org/show_bug.cgi?id=168582

Reviewed by JF Bastien.

Make ArgList::data() private since we already removed callWasmFunction.

  • runtime/ArgList.h:
Note: See TracTimeline for information about the timeline view.