WebKit-https.git
18 months ago[CMake] Properly detect compiler flags, needed libs, and fallbacks for usage of 64...
berto@igalia.com [Tue, 22 May 2018 15:54:48 +0000 (15:54 +0000)]
[CMake] Properly detect compiler flags, needed libs, and fallbacks for usage of 64-bit atomic operations
https://bugs.webkit.org/show_bug.cgi?id=182622
<rdar://problem/40292317>

Reviewed by Michael Catanzaro.

.:

* Source/cmake/WebKitCompilerFlags.cmake:
Move the test to detect whether we need to link against libatomic
to a common CMake file so it can be used from both JavaScriptCore
and WebKit.

Source/JavaScriptCore:

We were linking JavaScriptCore against libatomic in MIPS because
in that architecture __atomic_fetch_add_8() is not a compiler
intrinsic and is provided by that library instead. However other
architectures (e.g armel) are in the same situation, so we need a
generic test.

That test already exists in WebKit/CMakeLists.txt, so we just have
to move it to a common file (WebKitCompilerFlags.cmake) and use
its result (ATOMIC_INT64_REQUIRES_LIBATOMIC) here.

* CMakeLists.txt:

Source/WebKit:

Move the test to determine whether we need to link against
libatomic to the common file WebKitCompilerFlags.cmake so it can
also be used for JavaScriptCore.

* CMakeLists.txt:

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

18 months ago[GTK] WebDriver: Network process crash when running imported/w3c/webdriver/tests...
carlosgc@webkit.org [Tue, 22 May 2018 15:09:57 +0000 (15:09 +0000)]
[GTK] WebDriver: Network process crash when running imported/w3c/webdriver/tests/delete_cookie/delete.py::test_unknown_cookie
https://bugs.webkit.org/show_bug.cgi?id=185867

Reviewed by Michael Catanzaro.

We need to null check the value returned by URL::createSoupURI() before passing it to soup.

* platform/network/soup/CookieJarSoup.cpp:
(WebCore::setCookiesFromDOM):
(WebCore::cookiesForSession):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
* platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::getCookies):

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

18 months ago[LFC] Implement positioning for non-replaced out-of-flow elements.
zalan@apple.com [Tue, 22 May 2018 15:06:27 +0000 (15:06 +0000)]
[LFC] Implement positioning for non-replaced out-of-flow elements.
https://bugs.webkit.org/show_bug.cgi?id=185858

Reviewed by Antti Koivisto.

In certain cases, the out-of-flow element's final position depends on the element's size.
Call computeOutOfFlowPosition() after width/height are resolved.

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowPosition const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedPosition const):
(WebCore::Layout::FormattingContext::computeOutOfFlowReplacedPosition const):
* layout/FormattingContext.h:

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

18 months agoFix build without MathML
commit-queue@webkit.org [Tue, 22 May 2018 14:46:42 +0000 (14:46 +0000)]
Fix build without MathML
https://bugs.webkit.org/show_bug.cgi?id=185865

Patch by Olivier Blin <olivier.blin@softathome.com> on 2018-05-22
Reviewed by Frédéric Wang.

Regression(r226654): [RenderTreeBuilder] Move MathML addChild logic to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=181443

Regression(r229694): Put the DOM in IsoHeaps
https://bugs.webkit.org/show_bug.cgi?id=183546

No new tests, build fix.

* mathml/MathMLUnknownElement.cpp:
* mathml/MathMLUnknownElement.h:
* rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::RenderTreeBuilder):
(WebCore::RenderTreeBuilder::attach):
* rendering/updating/RenderTreeBuilder.h:
* rendering/updating/RenderTreeBuilderMathML.cpp:
* rendering/updating/RenderTreeBuilderMathML.h:

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

18 months ago[css-text] W3C test suite gardening
rego@igalia.com [Tue, 22 May 2018 13:34:03 +0000 (13:34 +0000)]
[css-text] W3C test suite gardening
https://bugs.webkit.org/show_bug.cgi?id=185862

Test suite landed in r232057 but some of the tests marked as failure
are actually passing.

Unreviewed test gardening.

* TestExpectations:
* platform/ios/TestExpectations:
* platform/mac/TestExpectations:

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

18 months agoUnreviewed, rolling out r231843.
mcatanzaro@igalia.com [Tue, 22 May 2018 13:20:03 +0000 (13:20 +0000)]
Unreviewed, rolling out r231843.

Broke cross build

Reverted changeset:

"[CMake] Properly detect compiler flags, needed libs, and
fallbacks for usage of 64-bit atomic operations"
https://bugs.webkit.org/show_bug.cgi?id=182622
https://trac.webkit.org/changeset/231843

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

18 months ago[GStreamer] Don't set the ReadyState to HaveNothing when an error occurs in playback...
commit-queue@webkit.org [Tue, 22 May 2018 11:40:13 +0000 (11:40 +0000)]
[GStreamer] Don't set the ReadyState to HaveNothing when an error occurs in playback pipeline
https://bugs.webkit.org/show_bug.cgi?id=185725

Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-05-22
Reviewed by Philippe Normand.

The ReadyState should not be set to HaveNothing when an error occurs in playback pipeline, because
at least we should have the metadata in order to have an error in pipeline.

Here is the definition of HaveNothing state in W3C spec https://dev.w3.org/html5/spec-preview/media-elements.html#ready-states
"HAVE_NOTHING (numeric value 0): No information regarding the media resource is available. No data for the current
playback position is available. Media elements whose networkState attribute is NETWORK_EMPTY are always in the HAVE_NOTHING state."

In MSE case, this patch fixes the crashes of the followings WPT encrypted-media tests:
- clearkey-mp4-playback-temporary-clear-encrypted.https.html
- clearkey-mp4-playback-temporary-multikey-sequential.https.html
- clearkey-mp4-playback-temporary-multikey-sequential-readyState.https.html

Here is the cause of the crashes: When an error occurs in playback pipeline like no decipher key, in case of encrypted content,
the MediaPlayerPrivateGstreamer sets NetworkState to FormatError which causes the detachment of MediaElement from MediaSource,
then MediaPlayerPrivateGstreamer sets the ReadyState to HaveNothing which causes a trying again to play the same URI,
thus the crash occurs because the MediaElement is detached from MediaSource, see bugzilla for more details.
Note: these crashes should be fixed in 185242 but unfortunately it isn't the case. See bug 185242 for more details.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

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

18 months ago[GStreamer] Update to GStreamer 1.14.1 in jhbuild
commit-queue@webkit.org [Tue, 22 May 2018 11:37:15 +0000 (11:37 +0000)]
[GStreamer] Update to GStreamer 1.14.1 in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=185689

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-05-22
Reviewed by Philippe Normand.

And update the patches, removing the ones that have been merged upstream.

* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch: Removed.
* gstreamer/patches/gst-plugins-good-0001-souphttpsrc-cookie-jar-and-context-query-support.patch: Removed. Not needed anymore and closed as OBSELETE upstream.
* gstreamer/patches/gst-plugins-good-0002-qtdemux-add-context-for-a-preferred-protection.patch: Renamed from Tools/gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch
This patch has now been merged in GStreamer master and will be there in GStreamer 1.16.
* gstreamer/patches/gst-plugins-good-0003-qtdemux-also-push-buffers-without-encryption-info-in.patch: Renamed from Tools/gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch.
This patch has now been merged in GStreamer master and will be there in GStreamer 1.16.
* gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Removed.
* gstreamer/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch: Removed.

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

18 months agoDefine GIGACAGE_ALLOCATION_CAN_FAIL on Linux
utatane.tea@gmail.com [Tue, 22 May 2018 10:49:17 +0000 (10:49 +0000)]
Define GIGACAGE_ALLOCATION_CAN_FAIL on Linux
https://bugs.webkit.org/show_bug.cgi?id=183329

Reviewed by Michael Catanzaro.

We specify `GIGACAGE_ALLOCATION_CAN_FAIL 1` in Linux since
Linux can fail to `mmap` if `vm.overcommit_memory = 2`.
Users can enable Gigacage if users enable overcommit_memory.

* bmalloc/Gigacage.h:

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

18 months ago[MSE][GStreamer] Fix the deadlock caused by bug 185242 (r231351)
commit-queue@webkit.org [Tue, 22 May 2018 09:32:46 +0000 (09:32 +0000)]
[MSE][GStreamer] Fix the deadlock caused by bug 185242 (r231351)
https://bugs.webkit.org/show_bug.cgi?id=185723

Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-05-22
Reviewed by Xabier Rodriguez-Calvar.

After a detailed investigation, we found that, the patch r231351 doesn't fix the crash that expected to fix,
it just replaces it by a deadlock. Now the crash is fixed in the bug 185725.

This Patch will remove a part of r231351 that causes the deadlock.

* platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcFreeStream):

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

18 months ago[css-text] Import WPT test suite
rego@igalia.com [Tue, 22 May 2018 08:20:00 +0000 (08:20 +0000)]
[css-text] Import WPT test suite
https://bugs.webkit.org/show_bug.cgi?id=183258

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/css-text/: Added.

LayoutTests:

* TestExpectations: Flag tests that are not passing right now.
* platform/gtk/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-001-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-004-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-016-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-017-expected.txt: Added.
* platform/gtk/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapse-002-expected.txt: Added.
* platform/ios-simulator/TestExpectations: Flag tests that are not passing right now.

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

18 months agoCrash when loading a SVG image
carlosgc@webkit.org [Tue, 22 May 2018 07:46:02 +0000 (07:46 +0000)]
Crash when loading a SVG image
https://bugs.webkit.org/show_bug.cgi?id=185819

Reviewed by Brent Fulgham.

This is happening in WebLoaderStrategy::scheduleLoad() when getting the value of
FrameLoaderClient::pageID(). SVGImage uses the empty clients for the loader, and
EmptyFrameLoaderClient::pageID() returns std::nullopt. The same happens with the frameID. This changed in
r225934, when pageID() and frameID() were changed to return std::optional, EmptyFrameLoaderClient was updated to
return std::nullopt instead of 0.

* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad): Use value_or(0) instead of value() to get pageID and frameID from
FrameLoaderClient.

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

18 months agoUse more C++17
utatane.tea@gmail.com [Tue, 22 May 2018 06:46:43 +0000 (06:46 +0000)]
Use more C++17
https://bugs.webkit.org/show_bug.cgi?id=185176

Reviewed by JF Bastien.

PerformanceTests:

* MallocBench/MallocBench.xcodeproj/project.pbxproj:
* MediaTime/Configurations/Base.xcconfig:
* MediaTime/MediaTime.xcodeproj/project.pbxproj:

Source/bmalloc:

Add BNO_RETURN.

* Configurations/Base.xcconfig:
* bmalloc/BCompiler.h:
* bmalloc/Scavenger.h:

Source/JavaScriptCore:

* Configurations/Base.xcconfig:

Source/ThirdParty:

* gtest/xcode/Config/General.xcconfig:

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:

Source/WebCore:

* Configurations/Base.xcconfig:
* DerivedSources.make:
* platform/ios/LegacyTileGrid.mm:
(WebCore::LegacyTileGrid::dropDistantTiles):

Source/WebCore/PAL:

* Configurations/Base.xcconfig:

Source/WebInspectorUI:

* Configurations/Base.xcconfig:

Source/WebKit:

* Configurations/Base.xcconfig:
* DerivedSources.make:

Source/WebKitLegacy/mac:

* Configurations/Base.xcconfig:
* Configurations/WebKitLegacy.xcconfig:

Source/WTF:

* Configurations/Base.xcconfig:
* wtf/StdLibExtras.h:

Tools:

* DumpRenderTree/mac/Configurations/Base.xcconfig:
* ImageDiff/cg/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* MobileMiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:

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

18 months ago[GTK][Wayland] UI process crash when closing the window
carlosgc@webkit.org [Tue, 22 May 2018 06:08:51 +0000 (06:08 +0000)]
[GTK][Wayland] UI process crash when closing the window
https://bugs.webkit.org/show_bug.cgi?id=185818

Reviewed by Michael Catanzaro.

This happens when a page containing a text field is loaded but the focus remains in the url bar when the window
is closed. This is because we are sending a notify-in to the IM context, but the focus is still in the URL
bar. That confuses the wayland input method manager that tries to free the text of the web view IM context that has
already been deleted.

* UIProcess/gtk/InputMethodFilter.cpp:
(WebKit::InputMethodFilter::setEnabled): Only send notify-in if the view is actually focused.

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

18 months ago[JSC] Remove duplicate methods in JSInterfaceJIT
utatane.tea@gmail.com [Tue, 22 May 2018 05:46:27 +0000 (05:46 +0000)]
[JSC] Remove duplicate methods in JSInterfaceJIT
https://bugs.webkit.org/show_bug.cgi?id=185813

Reviewed by Saam Barati.

Some methods of JSInterfaceJIT are duplicate with AssemblyHelpers' ones.
This patch removes these ones and use AssemblyHelpers' ones instead.

This patch also a bit cleans up ThunkGenerators' unnecessary ifdefs.

* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::tagFor):
(JSC::AssemblyHelpers::payloadFor):
* jit/JIT.h:
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_unsigned):
(JSC::JIT::emit_compareUnsigned):
(JSC::JIT::emit_op_inc):
(JSC::JIT::emit_op_dec):
(JSC::JIT::emit_op_mod):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):
* jit/JITInlines.h:
(JSC::JIT::emitPutIntToCallFrameHeader):
(JSC::JIT::updateTopCallFrame):
(JSC::JIT::emitInitRegister):
(JSC::JIT::emitLoad):
(JSC::JIT::emitStore):
(JSC::JIT::emitStoreInt32):
(JSC::JIT::emitStoreCell):
(JSC::JIT::emitStoreBool):
(JSC::JIT::emitGetVirtualRegister):
(JSC::JIT::emitPutVirtualRegister):
(JSC::JIT::emitTagBool): Deleted.
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_overrides_has_instance):
(JSC::JIT::emit_op_is_empty):
(JSC::JIT::emit_op_is_undefined):
(JSC::JIT::emit_op_is_boolean):
(JSC::JIT::emit_op_is_number):
(JSC::JIT::emit_op_is_cell_with_type):
(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_eq):
(JSC::JIT::emit_op_neq):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emitSlow_op_neq):
(JSC::JIT::emitSlow_op_instanceof_custom):
(JSC::JIT::emitNewFuncExprCommon):
* jit/JSInterfaceJIT.h:
(JSC::JSInterfaceJIT::emitLoadInt32):
(JSC::JSInterfaceJIT::emitLoadDouble):
(JSC::JSInterfaceJIT::emitPutToCallFrameHeader):
(JSC::JSInterfaceJIT::emitPutCellToCallFrameHeader):
(JSC::JSInterfaceJIT::tagFor): Deleted.
(JSC::JSInterfaceJIT::payloadFor): Deleted.
(JSC::JSInterfaceJIT::intPayloadFor): Deleted.
(JSC::JSInterfaceJIT::intTagFor): Deleted.
(JSC::JSInterfaceJIT::emitTagInt): Deleted.
(JSC::JSInterfaceJIT::addressFor): Deleted.
* jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::returnDouble):
* jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):
(JSC::arityFixupGenerator):

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

18 months agoUnreviewed, reland InById cache
utatane.tea@gmail.com [Tue, 22 May 2018 04:54:31 +0000 (04:54 +0000)]
Unreviewed, reland InById cache
https://bugs.webkit.org/show_bug.cgi?id=185682

JSTests:

* stress/in-by-id-accessors.js: Added.
(shouldBe):
(test):
(protoGetter.__proto__.get hello):
(protoSetter.__proto__.set hello):
(i.shouldBe.test.get hello):
(i.shouldBe.test.set hello):
* stress/in-by-id-ai.js: Added.
(shouldBe):
(test):
* stress/in-by-id-custom-accessors.js: Added.
(shouldBe):
(test1):
(test2):
* stress/in-by-id-custom-values.js: Added.
(shouldBe):
(test):
* stress/in-by-id-operation.js: Added.
(shouldBe):
(test):
(selfCache):
* stress/in-by-id-proxy.js: Added.
(shouldBe):
(test):
(handler.has):

Source/JavaScriptCore:

Includes Dominik's 32bit fix.

* bytecode/AccessCase.cpp:
(JSC::AccessCase::fromStructureStubInfo):
(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generateImpl):
* bytecode/BytecodeDumper.cpp:
(JSC::BytecodeDumper<Block>::printInByIdCacheStatus):
(JSC::BytecodeDumper<Block>::dumpBytecode):
* bytecode/BytecodeDumper.h:
* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
* bytecode/InlineAccess.cpp:
(JSC::InlineAccess::generateSelfInAccess):
* bytecode/InlineAccess.h:
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::initInByIdSelf):
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::aboutToDie):
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::visitWeakReferences):
(JSC::StructureStubInfo::propagateTransitions):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::patchableJump):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitInByVal):
(JSC::BytecodeGenerator::emitInById):
(JSC::BytecodeGenerator::emitIn): Deleted.
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::InNode::emitBytecode):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addInById):
(JSC::DFG::InRecord::InRecord): Deleted.
(JSC::DFG::JITCompiler::addIn): Deleted.
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToInById):
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasArrayMode):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileInById):
(JSC::DFG::SpeculativeJIT::compileInByVal):
(JSC::DFG::SpeculativeJIT::compileIn): Deleted.
* 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::compileInByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileInById):
(JSC::FTL::DFG::LowerDFGToB3::compileIn): Deleted.
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::boxBoolean):
* jit/ICStats.h:
* jit/JIT.cpp:
(JSC::JIT::JIT):
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::link):
* jit/JIT.h:
* jit/JITInlineCacheGenerator.cpp:
(JSC::JITInByIdGenerator::JITInByIdGenerator):
(JSC::JITInByIdGenerator::generateFastPath):
* jit/JITInlineCacheGenerator.h:
(JSC::JITInByIdGenerator::JITInByIdGenerator):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emitSlow_op_in_by_id):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emitSlow_op_in_by_id):
* jit/Repatch.cpp:
(JSC::tryCacheInByID):
(JSC::repatchInByID):
(JSC::resetInByID):
(JSC::tryCacheIn): Deleted.
(JSC::repatchIn): Deleted.
(JSC::resetIn): Deleted.
* jit/Repatch.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter64.asm:
* parser/NodeConstructors.h:
(JSC::InNode::InNode):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::opInByVal):
(JSC::CommonSlowPaths::opIn): Deleted.

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

18 months agoRemove unused and no-op WKContextSetCookieStorageDirectory
rniwa@webkit.org [Tue, 22 May 2018 04:04:17 +0000 (04:04 +0000)]
Remove unused and no-op WKContextSetCookieStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=185857

Reviewed by Youenn Fablet.

Deleted C API which didn't do anything useful, and consequently not used by anyone.

* UIProcess/API/C/WKContext.cpp:
(WKContextSetCookieStorageDirectory): Deleted.
* UIProcess/API/C/WKContextPrivate.h:
* UIProcess/WebProcessPool.h:

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

18 months ago[LFC] Box::isDescendantOf() should work with out-of-flow elements.
zalan@apple.com [Tue, 22 May 2018 03:43:31 +0000 (03:43 +0000)]
[LFC] Box::isDescendantOf() should work with out-of-flow elements.
https://bugs.webkit.org/show_bug.cgi?id=185812

Reviewed by Antti Koivisto.

Use the containing block chain instead of the parent chain to check for isDescendantOf().
(containing block is not always the direct parent)

* layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isDescendantOf const):

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

18 months agoRemove dead exception in MediaList.appendMedium
commit-queue@webkit.org [Tue, 22 May 2018 03:11:30 +0000 (03:11 +0000)]
Remove dead exception in MediaList.appendMedium
https://bugs.webkit.org/show_bug.cgi?id=185278

Patch by Chris Nardi <cnardi@chromium.org> on 2018-05-21
Reviewed by Chris Dumez.

Source/WebCore:

MediaList.appendMedium was able to throw an exception, but MediaQuerySet::add() always
returned true, making it impossible for that exception to be thrown. This matched the
spec, as |appendMedium| is not specified to throw an exception. Remove the dead code
surrounding the exception, and make MediaQuerySet::add() return false if the medium is
not added.

No new/modified tests as there should be no functional changes.

* css/MediaList.cpp:
(WebCore::MediaQuerySet::add):
(WebCore::MediaList::appendMedium):
* css/MediaList.h:
* css/MediaList.idl:

Source/WebKit:

Remove code pertaining to an exception being thrown by appendMedium().

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.cpp:
(webkit_dom_media_list_append_medium):

Source/WebKitLegacy/mac:

Remove code pertaining to an exception being thrown by appendMedium().

* DOM/DOMMediaList.mm:
(-[DOMMediaList appendMedium:]):

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

18 months agoFile's structured serialization should serialize lastModified attribute
cdumez@apple.com [Tue, 22 May 2018 02:24:18 +0000 (02:24 +0000)]
File's structured serialization should serialize lastModified attribute
https://bugs.webkit.org/show_bug.cgi?id=185773

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Re-sync workers/semantics/structured-clone WPT tests after:
https://github.com/w3c/web-platform-tests/pull/9218

* web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests-harness.js: Added.
(runStructuredCloneBatteryOfTests):
* web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests-with-transferables.js: Added.
(structuredCloneBatteryOfTests.push.async.f):
* web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/structured-clone/common.js.
(async.compare_Blob):
(get_canvas_1x1_transparent_black):
(get_canvas_1x1_non_transparent_non_black):
(compare_ImageBitmap):
(structuredCloneBatteryOfTests.push.async.f):
* web-platform-tests/html/webappapis/structured-clone/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/structured-clone/w3c-import.log.
* web-platform-tests/workers/semantics/structured-clone/dedicated-expected.txt:
* web-platform-tests/workers/semantics/structured-clone/dedicated.html:
* web-platform-tests/workers/semantics/structured-clone/dedicated.js: Removed.
* web-platform-tests/workers/semantics/structured-clone/shared-expected.txt:
* web-platform-tests/workers/semantics/structured-clone/shared.html:
* web-platform-tests/workers/semantics/structured-clone/shared.js: Removed.
* web-platform-tests/workers/semantics/structured-clone/w3c-import.log:
* web-platform-tests/workers/semantics/structured-clone/worker-common.js: Removed.

Source/WebCore:

Update our implementation for the stuctured serialization of a File to include
its lastModified attribute, as per:
- https://w3c.github.io/FileAPI/#file-section

No new tests, rebaselined existing test.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::readFile):
* fileapi/File.cpp:
(WebCore::File::File):
* fileapi/File.h:

LayoutTests:

Unskip structured serialization tests that no longer fail / time out.

* TestExpectations:

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

18 months ago[LFC] Add FormattingContext::validateGeometryConstraintsAfterLayout
zalan@apple.com [Tue, 22 May 2018 01:41:58 +0000 (01:41 +0000)]
[LFC] Add FormattingContext::validateGeometryConstraintsAfterLayout
https://bugs.webkit.org/show_bug.cgi?id=185811

Reviewed by Antti Koivisto.

Also implement LayoutDescendantIterator and fix LayoutIterator.

* WebCore.xcodeproj/project.pbxproj:
* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::validateGeometryConstraintsAfterLayout const):
* layout/FormattingContext.h:
* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::layout const):
* layout/layouttree/LayoutDescendantIterator.h: Added.
(WebCore::Layout::LayoutDescendantIterator<T>::LayoutDescendantIterator):
(WebCore::Layout::LayoutDescendantIterator<T>::operator):
(WebCore::Layout::LayoutDescendantIteratorAdapter<T>::LayoutDescendantIteratorAdapter):
(WebCore::Layout::LayoutDescendantIteratorAdapter<T>::begin):
(WebCore::Layout::LayoutDescendantIteratorAdapter<T>::end):
(WebCore::Layout::LayoutDescendantIteratorAdapter<T>::at):
(WebCore::Layout::descendantsOfType):
* layout/layouttree/LayoutIterator.h:
(WebCore::Layout::LayoutBoxTraversal::firstChild):
(WebCore::Layout::LayoutBoxTraversal::nextAncestorSibling):
(WebCore::Layout::LayoutBoxTraversal::next):
(WebCore::Layout::LayoutBoxTraversal::nextSkippingChildren):
(WebCore::Layout::Traversal::firstChild):
(WebCore::Layout::Traversal::nextSibling):
(WebCore::Layout::Traversal::previousSibling):
(WebCore::Layout::Traversal::findAncestorOfType):
(WebCore::Layout::Traversal::firstWithin):
(WebCore::Layout::Traversal::next):
(WebCore::Layout::LayoutIterator<T>::traversePreviousSibling):
(WebCore::Layout::LayoutIterator<T>::traverseAncestor):
(WebCore::Layout::Traversal::nextAncestorSibling): Deleted.
(WebCore::Layout::Traversal::nextWithin): Deleted.

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

18 months agoUnreviewed, update crypto/subtle/ecdh-import-jwk-private-key-p384.html to correct...
jiewen_tan@apple.com [Tue, 22 May 2018 01:37:46 +0000 (01:37 +0000)]
Unreviewed, update crypto/subtle/ecdh-import-jwk-private-key-p384.html to correct input

* crypto/subtle/ecdh-import-jwk-private-key-p384.html:

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

18 months agoSource/WebKit:
commit-queue@webkit.org [Tue, 22 May 2018 00:19:28 +0000 (00:19 +0000)]
Source/WebKit:
[iOS] Click events only fire once when editing
https://bugs.webkit.org/show_bug.cgi?id=185777

Patch by Aditya Keerthi <akeerthi@apple.com> on 2018-05-21
Reviewed by Tim Horton.

gestureRecognizerShouldBegin: was returning false for the single tap gesture when a node was being
edited. This is an artifact of how the gesture was previously handled with the text selection assistant.
This condition is now removed, allowing the single tap gesture to go through and correctly propagate the
click event.

Also added an early return to _didGetTapHighlightForRequest: in order to prevent the tap highlight from
being shown when the node is already being assisted.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
(-[WKContentView gestureRecognizerShouldBegin:]):

LayoutTests:
Added test to verify behaviour when tapping multiple times on an editable node.
https://bugs.webkit.org/show_bug.cgi?id=185777

Patch by Aditya Keerthi <akeerthi@apple.com> on 2018-05-21
Reviewed by Tim Horton.

* fast/events/ios/click-event-while-editing-node-expected.txt: Added.
* fast/events/ios/click-event-while-editing-node.html: Added.

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

18 months ago[Curl] Bugfix for r231968, Suspend/Resume with WK2
Basuke.Suzuki@sony.com [Tue, 22 May 2018 00:14:39 +0000 (00:14 +0000)]
[Curl] Bugfix for r231968, Suspend/Resume with WK2
https://bugs.webkit.org/show_bug.cgi?id=185830

The flags are needed to be updated even if it is cancelled or finished to cleanup correctly.
Also fixed trivial bug for very rare case (hard to produce the situation).

Reviewed by Youenn Fablet.

No new tests because WK2 is not ready for WinCairo yet in public., tested internaly.

* platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::suspend):
(WebCore::CurlRequest::resume):
(WebCore::CurlRequest::pausedStatusChanged):

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

18 months ago[WinCairo] Enable WebKit build by default
Hironori.Fujii@sony.com [Tue, 22 May 2018 00:03:20 +0000 (00:03 +0000)]
[WinCairo] Enable WebKit build by default
https://bugs.webkit.org/show_bug.cgi?id=185141

Reviewed by Per Arne Vollan.

.:

* Source/cmake/OptionsWin.cmake: Disable
ENABLE_NETSCAPE_PLUGIN_API unconditionally for WinCairo port
because it builds both WK1 and WK2.
* Source/cmake/OptionsWinCairo.cmake: Turn ENABLE_WEBKIT on by default.
Remove BUILDING_WIN_CAIRO_WEBKIT macro.

Tools:

TestWTF, TestWebCore and TestWebKitLegacy need a dependency to
WebKitForwardingHeaders because config.h includes a header of WK2.

* TestWebKitAPI/PlatformWin.cmake: Make TestWTFLib, TestWebCoreLib and TestWebKitLegacyLib depend on WebKitForwardingHeaders.
* TestWebKitAPI/config.h: Use PLATFORM(WIN_CAIRO) instead of BUILDING_WIN_CAIRO_WEBKIT.

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

18 months agoUnreviewed, rolling out r232030.
commit-queue@webkit.org [Mon, 21 May 2018 23:42:21 +0000 (23:42 +0000)]
Unreviewed, rolling out r232030.
https://bugs.webkit.org/show_bug.cgi?id=185850

"Caused
TestWebKitAPI.IndexedDB.StructuredCloneBackwardCompatibility
API test to fail" (Requested by cdumez on #webkit).

Reverted changeset:

"File's structured serialization should serialize lastModified
attribute"
https://bugs.webkit.org/show_bug.cgi?id=185773
https://trac.webkit.org/changeset/232030

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

18 months agoREGRESSION: performance-api/performance-observer-entry-sort.html is flaky
rniwa@webkit.org [Mon, 21 May 2018 23:28:39 +0000 (23:28 +0000)]
REGRESSION: performance-api/performance-observer-entry-sort.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=185385

Reviewed by Saam Barati.

Add diagnostic assertions to test the hypothesis that performance.now is drifting backwards.

* performance-api/performance-observer-entry-sort.html:

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

18 months agoREGRESSION (r231107): CSP report-only policies are ignored for beacon, importScripts...
dbates@webkit.org [Mon, 21 May 2018 23:15:11 +0000 (23:15 +0000)]
REGRESSION (r231107): CSP report-only policies are ignored for beacon, importScripts, fetch(), EventSource, and XHR
https://bugs.webkit.org/show_bug.cgi?id=185789
<rdar://problem/40380175>

Reviewed by Andy Estes.

Source/WebCore:

Fixes an issue where CSP report-only policies were ignored for DocumentThreadableLoader and
PingLoad initiated loads as a result of moving CSP processing to NetworkProcess.

Have NetworkLoadChecker implement the ContentSecurityPolicyClient interface and support logging
console messages, sending CSP reports, and dispatching SecurityPolicyViolation events. To support
the latter we introduce a new WebPage message, EnqueueSecurityPolicyViolationEvent, to enqueue
a SecurityPolicyViolationEvent created from an event init dictionary on the document's event
dispatch queue.

Additionally, shorten the description for a ResourceError caused by CSP to "Blocked by Content Security Policy"
because the CSP code run in NetworkProcess can now log its more detailed error description to
Web Inspector.

Tests: http/tests/security/contentSecurityPolicy/connect-src-beacon-allowed.html
       http/tests/security/contentSecurityPolicy/connect-src-beacon-blocked.html
       http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked.php
       http/tests/security/contentSecurityPolicy/report-only-connect-src-xmlhttprequest-redirect-to-blocked.php

* WebCore.xcodeproj/project.pbxproj: Change SecurityPolicyViolationEvent.h from a project header to
a private header so that we can include it in WebKit code.
* dom/Document.cpp:
(WebCore::Document::enqueueSecurityPolicyViolationEvent): Added.
* dom/Document.h:

* dom/EventInit.h:
(WebCore::EventInit::encode const):
(WebCore::EventInit::decode
* dom/SecurityPolicyViolationEvent.h:
(WebCore::SecurityPolicyViolationEvent::Init::encode const):
(WebCore::SecurityPolicyViolationEvent::Init::decode):
Support encoding and decoding for the event.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::enqueueSecurityPolicyViolationEvent): Formerly named "dispatchSecurityPolicyViolationEvent".
(WebCore::DocumentLoader::dispatchSecurityPolicyViolationEvent): Deleted; renamed to "enqueueSecurityPolicyViolationEvent".
* loader/DocumentLoader.h:

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::redirectReceived): While I am here, move the check for whether the loader
strategy took responsibility for performing security checks to be before we perform the CSP check to avoid doing
such CSP checks twice in the case that the loader strategy already did them.
(WebCore::DocumentThreadableLoader::didFail): Remove code that checked the CSP policy if the load failed. When
the loader strategy (NetworkProcess) is responsible for performing security checks then this code would never
be executed for a violation of a CSP report-only policy because the loader does not and should not fail the load
for a report-only violations. As the name implies, a report-only violation is only reported. That is, it is not
enforced such that the load is blocked; => fail the load.
(WebCore::DocumentThreadableLoader::reportContentSecurityPolicyError): Update the error description to more
accurately describe the error and be consistent with the error message used in NetworkProcess. This error
message is shown for a redirect blocked by CSP regardless of whether the redirect was to a same-origin or
cross-origin resource. I chose to make the error message more vague than necessary for simplicity because
the CSP code will log a more detailed message for this error than could ever be captured by error message
for the ResourceError. Also use ASCIILiteral to efficiently construct the String object for the error
message.

* page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation const): Build up a SecurityPolicyViolationEvent::Init and
pass that to the delegate to dispatch.
* page/csp/ContentSecurityPolicy.h: Export allowScriptFromSource() and allowChildContextFromSource() so that
we can call them from WebKit.
* page/csp/ContentSecurityPolicyClient.h: Update for renaming.
* platform/network/ResourceRequestBase.h: Define a new requester type to be able to differentiate a request
initiated by importScripts() from other requests. We use this to perform the appropriate CSP checks in NetworkProcess.
* workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously): Set the requester on the ResourceRequest to ResourceRequest::Requester::ImportScripts
so that we can differentiate this request from other requests. See remark for file ResourceRequestBase.h for
more details.

Source/WebKit:

Have NetworkLoadChecker implement the ContentSecurityPolicyClient interface and support logging
console messages, sending CSP reports, and dispatching SecurityPolicyViolation events.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::loadPing):
* NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::NetworkLoadChecker): Modified to take a reference to the NetworkConnectionToWebProcess,
the web page ID, the web frame ID, and the resource load identifier. These details are necessary
in order to implement the ContentSecurityPolicyClient interface.
(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy): Added.
(WebKit::NetworkLoadChecker::continueCheckingRequest): Write in terms of isAllowedByContentSecurityPolicy().
(WebKit::NetworkLoadChecker::contentSecurityPolicy): Pass ourself as the client so that we receive
delegate callbacks.
(WebKit::NetworkLoadChecker::addConsoleMessage): Added.
(WebKit::NetworkLoadChecker::sendCSPViolationReport): Added.
(WebKit::NetworkLoadChecker::enqueueSecurityPolicyViolationEvent): Added.
* NetworkProcess/NetworkLoadChecker.h:
* NetworkProcess/NetworkResourceLoader.cpp:
(NetworkResourceLoader::enqueueSecurityPolicyViolationEvent): Added.
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::PingLoad): Modified to take a reference to the NetworkConnectionToWebProcess and pass
this through to the NetworkLoadChecker along with the web page ID, web frame ID and resource load identifier.
* NetworkProcess/PingLoad.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::enqueueSecurityPolicyViolationEvent): Added.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in: Add message EnqueueSecurityPolicyViolationEvent.

LayoutTests:

Add some new tests and updated the expected results of other tests.

The tests connect-src-beacon-{allowed, blocked} are derived from the Blink test:
<https://chromium.googlesource.com/chromium/src/+/5c265c1a56a60533a1957589d33eabc201e2e8b6/third_party/WebKit/LayoutTests/http/tests/security/contentSecurityPolicy/connect-src-beacon-allowed.html>

* http/tests/quicklook/same-origin-xmlhttprequest-allowed-expected.txt: Update expected result. Note that these results are
a continuation of a regression caused by r231107. See <https://bugs.webkit.org/show_bug.cgi?id=185807> for more details.
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/connect-src-beacon-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/connect-src-beacon-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/connect-src-beacon-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/connect-src-beacon-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked.php: Added.
* http/tests/security/contentSecurityPolicy/report-only-connect-src-xmlhttprequest-redirect-to-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/report-only-connect-src-xmlhttprequest-redirect-to-blocked.php: Added.
* http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt:
* http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
* http/wpt/beacon/connect-src-beacon-redirect-blocked.sub-expected.txt:
* platform/mac-wk1/TestExpectations: Skip the beacon tests because we do not support beacon in WebKit1.
* platform/mac-wk1/http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt:
* platform/mac-wk1/http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt:
* platform/mac-wk1/http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt: Added.
* platform/mac-wk1/http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt: Added.
* platform/win/TestExpectations: Skip the beacon tests because we do not support beacon in WebKit1.
* platform/win/http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt:
* platform/win/http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt:
* platform/win/http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt: Added.
* platform/win/http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt: Added.

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

18 months agoWeb Automation: always return an empty cookie list if document.cookieURL() is empty
bburg@apple.com [Mon, 21 May 2018 22:10:35 +0000 (22:10 +0000)]
Web Automation: always return an empty cookie list if document.cookieURL() is empty
https://bugs.webkit.org/show_bug.cgi?id=185838
<rdar://problem/37737526>

Reviewed by Tim Horton.

* WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::getCookiesForFrame):
This crashes in CFNetwork code because an empty cookie URL is not a valid input.
Just return an empty list since there couldn't be any cookies returned.

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

18 months agoFile's structured serialization should serialize lastModified attribute
cdumez@apple.com [Mon, 21 May 2018 21:53:46 +0000 (21:53 +0000)]
File's structured serialization should serialize lastModified attribute
https://bugs.webkit.org/show_bug.cgi?id=185773

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Re-sync workers/semantics/structured-clone WPT tests after:
https://github.com/w3c/web-platform-tests/pull/9218

* web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests-harness.js: Added.
(runStructuredCloneBatteryOfTests):
* web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests-with-transferables.js: Added.
(structuredCloneBatteryOfTests.push.async.f):
* web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/structured-clone/common.js.
(async.compare_Blob):
(get_canvas_1x1_transparent_black):
(get_canvas_1x1_non_transparent_non_black):
(compare_ImageBitmap):
(structuredCloneBatteryOfTests.push.async.f):
* web-platform-tests/html/webappapis/structured-clone/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/structured-clone/w3c-import.log.
* web-platform-tests/workers/semantics/structured-clone/dedicated-expected.txt:
* web-platform-tests/workers/semantics/structured-clone/dedicated.html:
* web-platform-tests/workers/semantics/structured-clone/dedicated.js: Removed.
* web-platform-tests/workers/semantics/structured-clone/shared-expected.txt:
* web-platform-tests/workers/semantics/structured-clone/shared.html:
* web-platform-tests/workers/semantics/structured-clone/shared.js: Removed.
* web-platform-tests/workers/semantics/structured-clone/w3c-import.log:
* web-platform-tests/workers/semantics/structured-clone/worker-common.js: Removed.

Source/WebCore:

Update our implementation for the stuctured serialization of a File to include
its lastModified attribute, as per:
- https://w3c.github.io/FileAPI/#file-section

No new tests, rebaselined existing test.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::readFile):
* fileapi/File.cpp:
(WebCore::File::File):
* fileapi/File.h:

LayoutTests:

Unskip structured serialization tests that no longer fail / time out.

* TestExpectations:

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

18 months agoUnreviewed, rolling out r231998 and r232017.
commit-queue@webkit.org [Mon, 21 May 2018 21:52:26 +0000 (21:52 +0000)]
Unreviewed, rolling out r231998 and r232017.
https://bugs.webkit.org/show_bug.cgi?id=185842

causes crashes on 32 JSC bot (Requested by realdawei on
#webkit).

Reverted changesets:

"[JSC] JSC should have consistent InById IC"
https://bugs.webkit.org/show_bug.cgi?id=185682
https://trac.webkit.org/changeset/231998

"Unreviewed, fix 32bit and scope release"
https://bugs.webkit.org/show_bug.cgi?id=185682
https://trac.webkit.org/changeset/232017

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

18 months agoWeb Automation: terminate the automation session if the network or storage process...
bburg@apple.com [Mon, 21 May 2018 21:47:59 +0000 (21:47 +0000)]
Web Automation: terminate the automation session if the network or storage process crashes
https://bugs.webkit.org/show_bug.cgi?id=185827
<rdar://problem/40424020>

Reviewed by Tim Horton.

If one of the processes crashes, the page may be in an undefined state and
automation will fail in unpredictable ways. It's better to just give up immediately.

* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::networkProcessFailedToLaunch):
(WebKit::WebProcessPool::storageProcessCrashed):

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

18 months agoAdd expected results for imported/w3c/web-platform-tests/css/cssom/interfaces.html
commit-queue@webkit.org [Mon, 21 May 2018 21:36:06 +0000 (21:36 +0000)]
Add expected results for imported/w3c/web-platform-tests/css/cssom/interfaces.html
https://bugs.webkit.org/show_bug.cgi?id=185834

Unreviewed test gardening.

This test was added as part of r232005 but it didn't have an expected results file.

Patch by David Fenton <david_fenton@apple.com> on 2018-05-21

* web-platform-tests/css/cssom/interfaces-expected.txt: Added.

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

18 months agoImprove NowPlaying "title"
eric.carlson@apple.com [Mon, 21 May 2018 21:28:16 +0000 (21:28 +0000)]
Improve NowPlaying "title"
https://bugs.webkit.org/show_bug.cgi?id=185680
<rdar://problem/40296700>

Unreviewed test fix.

* http/tests/media/now-playing-info-expected.txt:
* http/tests/media/now-playing-info.html: Don't test .elapsedTime before seeking because
the time value can take a while to "settle" when a file has just loaded.

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

18 months agoAdd a diskCacheSizeOverride accessor function on WKContextConfigurationRef
sihui_liu@apple.com [Mon, 21 May 2018 20:57:51 +0000 (20:57 +0000)]
Add a diskCacheSizeOverride accessor function on WKContextConfigurationRef
https://bugs.webkit.org/show_bug.cgi?id=185826
<rdar://problem/39732113>

Reviewed by Alex Christensen.

* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationDiskCacheSizeOverride):
(WKContextConfigurationSetDiskCacheSizeOverride):
* UIProcess/API/C/WKContextConfigurationRef.h:

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

18 months agoComplete fix for enabling modern EME by default
jer.noble@apple.com [Mon, 21 May 2018 20:50:46 +0000 (20:50 +0000)]
Complete fix for enabling modern EME by default
https://bugs.webkit.org/show_bug.cgi?id=185770
<rdar://problem/40368220>

Reviewed by Eric Carlson.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

* Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

* platform/mac/TestExpectations:
* platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt:
* platform/mac/fast/dom/navigator-detached-no-crash-expected.txt:

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

18 months ago[CMake][WebCore] fix sqlite include dir variable
commit-queue@webkit.org [Mon, 21 May 2018 18:19:10 +0000 (18:19 +0000)]
[CMake][WebCore] fix sqlite include dir variable
https://bugs.webkit.org/show_bug.cgi?id=185825

Patch by Olivier Blin <olivier.blin@softathome.com> on 2018-05-21
Reviewed by Konstantin Tokarev.

WebCore's CMakeLists.txt used SQLITE_INCLUDE_DIRS, but only SQLITE_INCLUDE_DIR is defined.

No new tests, build fix only.

* CMakeLists.txt: Use SQLITE_INCLUDE_DIR instead of SQLITE_INCLUDE_DIRS.

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

18 months ago[WPE][WebDriver] add ICU include dirs
commit-queue@webkit.org [Mon, 21 May 2018 18:17:36 +0000 (18:17 +0000)]
[WPE][WebDriver] add ICU include dirs
https://bugs.webkit.org/show_bug.cgi?id=185824

Patch by Olivier Blin <olivier.blin@softathome.com> on 2018-05-21
Reviewed by Konstantin Tokarev.

WebDriver does not build in the WPE port when ICU headers are in a non-default directory.

* PlatformWPE.cmake: Add ICU include dirs

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

18 months agoUnreviewed, add myself as a WebKit committer.
chris.reid@sony.com [Mon, 21 May 2018 17:53:45 +0000 (17:53 +0000)]
Unreviewed, add myself as a WebKit committer.

* Scripts/webkitpy/common/config/contributors.json:

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

18 months agoPropagate WebCore system include dirs in WebCoreHeaderInterface
commit-queue@webkit.org [Mon, 21 May 2018 17:52:18 +0000 (17:52 +0000)]
Propagate WebCore system include dirs in WebCoreHeaderInterface
https://bugs.webkit.org/show_bug.cgi?id=185822

Patch by Olivier Blin <olivier.blin@softathome.com> on 2018-05-21
Reviewed by Michael Catanzaro.

System include directories from WebCore are not propagated anymore to its users.
For example gcrypt, sqlite and ICU system headers defined in PAL are not properly passed to WebKit build.

This may have been caused partly by the fix in r230385:
[CMake] WebKit should link to WebCore as a PRIVATE library if WebCore is a static library
https://bugs.webkit.org/show_bug.cgi?id=184127

No new tests, build fix.

* CMakeLists.txt:

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

18 months agoFix FrameLoader build without video
commit-queue@webkit.org [Mon, 21 May 2018 17:50:04 +0000 (17:50 +0000)]
Fix FrameLoader build without video
https://bugs.webkit.org/show_bug.cgi?id=185821

Patch by Olivier Blin <olivier.blin@softathome.com> on 2018-05-21
Reviewed by Michael Catanzaro.

Regression(r231392): Release assert in ScriptController::canExecuteScripts via HTMLMediaElement::~HTMLMediaElement()
https://bugs.webkit.org/show_bug.cgi?id=185288

No new tests, build fix only.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkCompleted): Flag HTMLMediaElement::isRunningDestructor() usage.

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

18 months agoModernize RenderStyleConstants.h - Part 1
commit-queue@webkit.org [Mon, 21 May 2018 16:55:45 +0000 (16:55 +0000)]
Modernize RenderStyleConstants.h - Part 1
https://bugs.webkit.org/show_bug.cgi?id=185809

Patch by Sam Weinig <sam@webkit.org> on 2018-05-21
Reviewed by Yusuke Suzuki.
Source/WebCore:

Modernized the first set of enums in RenderStyleConstants.h by:
    - Converting them to enum classes
    - Renaming them to remove unnecessary prefix 'E's
    - Renaming values to take advantage of enum class scoping (e.g. StyleDifferenceEqual -> StyleDifference::Equal)
    - Renaming to match modern conventions (e.g BNONE -> None)
    - Reformatting them so that each value is on its own line.

Modernizes the following enums:
    PrintColorAdjust
    StyleDifference
    StyleDifferenceContextSensitiveProperty
    ColumnFill
    ColumnSpan
    BorderCollapse (renamed from EBorderCollapse)
    BorderStyle (renamed from EBorderStyle)
    BorderPrecedence (renamed from EBorderPrecedence)
    OutlineIsAuto
    PositionType (renamed from EPosition)
    Float (renamed from EFloat)
    MarginCollapse (renamed from EMarginCollapse)
    BoxDecorationBreak (renamed from EBoxDecorationBreak)
    BoxSizing (renamed from EBoxSizing)
    Overflow (renamed from EOverflow)
    VerticalAlign (renamed from EVerticalAlign)
    Clear (renamed from EClear)
    TableLayoutType (renamed from ETableLayout)
    TextCombine
    FillAttachment (renamed from EFillAttachment)
    FillBox (renamed from EFillBox)
    FillRepeat (renamed from EFillRepeat)
    FillLayerType (renamed from EFillLayerType)
    FillSizeType (renamed from EFillSizeType)
    MaskSourceType (renamed from EMaskSourceType)
    BoxPack (renamed from EBoxPack)
    BoxAlignment (renamed from EBoxAlignment)
    BoxOrient (renamed from EBoxOrient)
    BoxLines (renamed from EBoxLines)
    BoxDirection (renamed from EBoxDirection)
    AlignContent (renamed from EAlignContent)
    FlexDirection (renamed from EFlexDirection)
    FlexWrap (renamed from EFlexWrap)
    ItemPosition
    OverflowAlignment
    ItemPositionType
    ContentPosition
    ContentDistribution (renamed from ContentDistributionType)
    TextSecurity (renamed from ETextSecurity)
    UserModify (renamed from EUserModify)
    UserDrag (renamed from EUserDrag)
    UserSelect (renamed from EUserSelect)
    ObjectFit
    AspectRatioType
    WordBreak (renamed from EWordBreak)
    OverflowWrap (renamed from EOverflowWrap)
    NBSPMode (renamed from ENBSPMode)
    LineBreak
    Resize (renamed from EResize)
    QuoteType
    TransformStyle3D (renamed from ETransformStyle3D)
    BackfaceVisibility (renamed from EBackfaceVisibility)
    LineClamp (renamed from ELineClamp)
    TextOverflow
    ImageRendering (renamed from EImageRendering)
    TextIndentLine
    TextIndentType
    Isolation

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(AXAttributeStringSetStyle):
* css/BasicShapeFunctions.cpp:
(WebCore::valueForCenterCoordinate):
(WebCore::valueForBasicShape):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::sizingBox):
(WebCore::fillRepeatToCSSValue):
(WebCore::fillSourceTypeToCSSValue):
(WebCore::fillSizeToCSSValue):
(WebCore::valueForItemPositionWithOverflowAlignment):
(WebCore::valueForContentPositionAndDistributionWithOverflowAlignment):
(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator LineClampValue const):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ColumnFill const):
(WebCore::CSSPrimitiveValue::operator ColumnSpan const):
(WebCore::CSSPrimitiveValue::operator PrintColorAdjust const):
(WebCore::CSSPrimitiveValue::operator BorderStyle const):
(WebCore::CSSPrimitiveValue::operator OutlineIsAuto const):
(WebCore::CSSPrimitiveValue::operator BackfaceVisibility const):
(WebCore::CSSPrimitiveValue::operator FillAttachment const):
(WebCore::CSSPrimitiveValue::operator FillBox const):
(WebCore::CSSPrimitiveValue::operator FillRepeat const):
(WebCore::CSSPrimitiveValue::operator BoxPack const):
(WebCore::CSSPrimitiveValue::operator BoxAlignment const):
(WebCore::CSSPrimitiveValue::operator BoxDecorationBreak const):
(WebCore::CSSPrimitiveValue::operator BoxSizing const):
(WebCore::CSSPrimitiveValue::operator BoxDirection const):
(WebCore::CSSPrimitiveValue::operator BoxLines const):
(WebCore::CSSPrimitiveValue::operator BoxOrient const):
(WebCore::CSSPrimitiveValue::operator Clear const):
(WebCore::CSSPrimitiveValue::operator FlexDirection const):
(WebCore::CSSPrimitiveValue::operator AlignContent const):
(WebCore::CSSPrimitiveValue::operator FlexWrap const):
(WebCore::CSSPrimitiveValue::operator Float const):
(WebCore::CSSPrimitiveValue::operator LineBreak const):
(WebCore::CSSPrimitiveValue::operator MarginCollapse const):
(WebCore::CSSPrimitiveValue::operator NBSPMode const):
(WebCore::CSSPrimitiveValue::operator Overflow const):
(WebCore::CSSPrimitiveValue::operator PositionType const):
(WebCore::CSSPrimitiveValue::operator Resize const):
(WebCore::CSSPrimitiveValue::operator TableLayoutType const):
(WebCore::CSSPrimitiveValue::operator TextSecurity const):
(WebCore::CSSPrimitiveValue::operator UserDrag const):
(WebCore::CSSPrimitiveValue::operator UserModify const):
(WebCore::CSSPrimitiveValue::operator UserSelect const):
(WebCore::CSSPrimitiveValue::operator VerticalAlign const):
(WebCore::CSSPrimitiveValue::operator WordBreak const):
(WebCore::CSSPrimitiveValue::operator OverflowWrap const):
(WebCore::CSSPrimitiveValue::operator TextCombine const):
(WebCore::CSSPrimitiveValue::operator TextOverflow const):
(WebCore::CSSPrimitiveValue::operator ObjectFit const):
(WebCore::CSSPrimitiveValue::operator Isolation const):
(WebCore::CSSPrimitiveValue::operator BorderCollapse const):
(WebCore::CSSPrimitiveValue::operator ImageRendering const):
(WebCore::CSSPrimitiveValue::operator TransformStyle3D const):
(WebCore::CSSPrimitiveValue::operator ItemPosition const):
(WebCore::CSSPrimitiveValue::operator OverflowAlignment const):
(WebCore::CSSPrimitiveValue::operator ContentPosition const):
(WebCore::CSSPrimitiveValue::operator ContentDistribution const):
(WebCore::CSSPrimitiveValue::operator EBorderStyle const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBackfaceVisibility const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFillAttachment const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFillBox const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFillRepeat const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxPack const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxAlignment const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxSizing const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxDirection const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxLines const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxOrient const): Deleted.
(WebCore::CSSPrimitiveValue::operator EClear const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFlexDirection const): Deleted.
(WebCore::CSSPrimitiveValue::operator EAlignContent const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFlexWrap const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFloat const): Deleted.
(WebCore::CSSPrimitiveValue::operator EMarginCollapse const): Deleted.
(WebCore::CSSPrimitiveValue::operator ENBSPMode const): Deleted.
(WebCore::CSSPrimitiveValue::operator EOverflow const): Deleted.
(WebCore::CSSPrimitiveValue::operator EPosition const): Deleted.
(WebCore::CSSPrimitiveValue::operator EResize const): Deleted.
(WebCore::CSSPrimitiveValue::operator ETableLayout const): Deleted.
(WebCore::CSSPrimitiveValue::operator ETextSecurity const): Deleted.
(WebCore::CSSPrimitiveValue::operator EUserDrag const): Deleted.
(WebCore::CSSPrimitiveValue::operator EUserModify const): Deleted.
(WebCore::CSSPrimitiveValue::operator EUserSelect const): Deleted.
(WebCore::CSSPrimitiveValue::operator EVerticalAlign const): Deleted.
(WebCore::CSSPrimitiveValue::operator EWordBreak const): Deleted.
(WebCore::CSSPrimitiveValue::operator EOverflowWrap const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBorderCollapse const): Deleted.
(WebCore::CSSPrimitiveValue::operator EImageRendering const): Deleted.
(WebCore::CSSPrimitiveValue::operator ETransformStyle3D const): Deleted.
(WebCore::CSSPrimitiveValue::operator ContentDistributionType const): Deleted.
* css/CSSProperties.json:
* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapFillAttachment):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillMaskSourceType):
* css/CSSValueKeywords.in:
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertResize):
(WebCore::StyleBuilderConverter::convertSelfOrDefaultAlignmentData):
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueTextIndent):
(WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyValueContent):
* css/StyleResolver.cpp:
(WebCore::isScrollableOverflow):
(WebCore::StyleResolver::adjustRenderStyle):
* css/StyleResolver.h:
* css/makeprop.pl:
(getFillLayerType):
* dom/Element.h:
* dom/Node.cpp:
(WebCore::computeEditabilityFromComputedStyle):
(WebCore::Node::canStartSelection const):
* dom/Position.cpp:
(WebCore::Position::nodeIsUserSelectNone):
(WebCore::Position::nodeIsUserSelectAll):
* dom/Range.cpp:
(WebCore::Range::collectSelectionRectsWithoutUnionInteriorLines const):
* editing/ApplyBlockElementCommand.cpp:
(WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::doApply):
* editing/Editing.cpp:
(WebCore::isSpecialHTMLElement):
* editing/EditorCommand.cpp:
(WebCore::verticalScrollDistance):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::doApply):
* editing/SimplifyMarkupCommand.cpp:
(WebCore::SimplifyMarkupCommand::doApply):
* editing/VisibleUnits.cpp:
(WebCore::backwardSearchForBoundaryWithTextIterator):
(WebCore::forwardSearchForBoundaryWithTextIterator):
* editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::fontAttributesForSelectionStart const):
* editing/cocoa/HTMLConverter.mm:
(WebCore::editingAttributedStringFromRange):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::shouldTruncateText const):
(WebCore::HTMLInputElement::createInnerTextStyle):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):
* html/shadow/SliderThumbElement.cpp:
(WebCore::RenderSliderContainer::layout):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerContainer::resolveCustomStyle):
(WebCore::TextControlInnerElement::resolveCustomStyle):
(WebCore::TextControlPlaceholderElement::resolveCustomStyle):
* layout/displaytree/DisplayBox.cpp:
(WebCore::Display::Box::borderBox const):
(WebCore::Display::Box::contentBox const):
* layout/displaytree/DisplayBox.h:
* layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isRelativelyPositioned const):
(WebCore::Layout::Box::isStickyPositioned const):
(WebCore::Layout::Box::isAbsolutelyPositioned const):
(WebCore::Layout::Box::isFixedPositioned const):
(WebCore::Layout::Box::isFloatingPositioned const):
(WebCore::Layout::Box::isOverflowVisible const):
* page/DragController.cpp:
(WebCore::DragController::draggableElement const):
* page/Frame.cpp:
(WebCore::Frame::rangeForPoint):
* page/FrameView.cpp:
(WebCore::paginationModeForRenderStyle):
(WebCore::FrameView::applyOverflowToViewport):
(WebCore::FrameView::applyPaginationToViewport):
(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::calculateExtendedBackgroundMode const):
(WebCore::FrameView::adjustScrollStepForFixedContent):
* page/SpatialNavigation.cpp:
(WebCore::canScrollInDirection):
(WebCore::canBeScrolledIntoView):
* page/ios/FrameIOS.mm:
(WebCore::Frame::nodeRespondingToScrollWheelEvents):
* page/mac/EventHandlerMac.mm:
(WebCore::scrolledToEdgeInDominantDirection):
* rendering/BorderEdge.cpp:
(WebCore::BorderEdge::BorderEdge):
(WebCore::BorderEdge::obscuresBackgroundEdge const):
(WebCore::BorderEdge::obscuresBackground const):
* rendering/BorderEdge.h:
(WebCore::BorderEdge::style const):
(WebCore::BorderEdge::hasVisibleColorAndStyle const):
* rendering/FlexibleBoxAlgorithm.h:
(WebCore::FlexLayoutAlgorithm::isMultiline const):
* rendering/FloatingObjects.cpp:
(WebCore::FloatingObject::FloatingObject):
* rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild const):
(WebCore::GridTrackSizingAlgorithm::stretchAutoTracks):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::innerTextIfTruncated const):
* rendering/ImageQualityController.cpp:
(WebCore::ImageQualityController::interpolationQualityFromStyle):
* rendering/InlineBox.h:
(WebCore::InlineBox::verticalAlign const):
* rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::paintFillLayer):
* rendering/LogicalSelectionOffsetCaches.h:
(WebCore::LogicalSelectionOffsetCaches::containingBlockInfo const):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removePositionedObjectsIfNeeded):
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::isSelfCollapsingBlock const):
(WebCore::RenderBlock::addOverflowFromPositionedObjects):
(WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
(WebCore::RenderBlock::isSelectionRoot const):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths const):
(WebCore::RenderBlock::adjustBorderBoxLogicalHeightForBoxSizing const):
(WebCore::RenderBlock::adjustContentBoxLogicalHeightForBoxSizing const):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::MarginInfo::MarginInfo):
(WebCore::RenderBlockFlow::willCreateColumns const):
(WebCore::RenderBlockFlow::marginOffsetForSelfCollapsingBlock):
(WebCore::RenderBlockFlow::clearFloatsIfNeeded):
(WebCore::RenderBlockFlow::marginBeforeEstimateForChild const):
(WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
(WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
(WebCore::RenderBlockFlow::mustDiscardMarginBefore const):
(WebCore::RenderBlockFlow::mustDiscardMarginAfter const):
(WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild const):
(WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild const):
(WebCore::RenderBlockFlow::mustSeparateMarginBeforeForChild const):
(WebCore::RenderBlockFlow::mustSeparateMarginAfterForChild const):
(WebCore::RenderBlockFlow::styleDidChange):
(WebCore::RenderBlockFlow::styleWillChange):
(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
(WebCore::RenderBlockFlow::positionNewFloats):
(WebCore::RenderBlockFlow::clearFloats):
(WebCore::RenderBlockFlow::getClearDelta):
(WebCore::RenderBlockFlow::inlineBlockBaseline const):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):
* rendering/RenderBlockFlow.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::expansionBehaviorForInlineTextBox):
(WebCore::isCollapsibleSpace):
(WebCore::RenderBlockFlow::layoutRunsAndFloats):
(WebCore::RenderBlockFlow::layoutLineBoxes):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateFromStyle):
(WebCore::RenderBox::includeVerticalScrollbarSize const):
(WebCore::RenderBox::includeHorizontalScrollbarSize const):
(WebCore::RenderBox::intrinsicScrollbarLogicalWidth const):
(WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior const):
(WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior const):
(WebCore::RenderBox::adjustBorderBoxLogicalWidthForBoxSizing const):
(WebCore::RenderBox::adjustBorderBoxLogicalHeightForBoxSizing const):
(WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing const):
(WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing const):
(WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect const):
(WebCore::isCandidateForOpaquenessTest):
(WebCore::RenderBox::foregroundIsKnownToBeOpaqueInRect const):
(WebCore::RenderBox::backgroundHasOpaqueTopLayer const):
(WebCore::RenderBox::computeRectForRepaint const):
(WebCore::RenderBox::computeLogicalWidthInFragment const):
(WebCore::RenderBox::columnFlexItemHasStretchAlignment const):
(WebCore::RenderBox::isStretchingColumnFlexItem const):
(WebCore::RenderBox::hasStretchedLogicalWidth const):
(WebCore::RenderBox::sizesLogicalWidthToFitContent const):
(WebCore::RenderBox::computeLogicalHeight const):
(WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing const):
(WebCore::RenderBox::createsNewFormattingContext const):
* rendering/RenderBox.h:
(WebCore::RenderBox::scrollsOverflowX const):
(WebCore::RenderBox::scrollsOverflowY const):
(WebCore::RenderBox::selfAlignmentNormalBehavior const):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateFillTileSize const):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry const):
(WebCore::styleRequiresClipPolygon):
(WebCore::borderStyleFillsBorderArea):
(WebCore::borderStyleHasInnerDetail):
(WebCore::borderStyleIsDottedOrDashed):
(WebCore::borderStyleHasUnmatchedColorsAtCorner):
(WebCore::borderStylesRequireMitre):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const):
* rendering/RenderBoxModelObject.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::FlexBoxIterator::FlexBoxIterator):
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
* rendering/RenderDeprecatedFlexibleBox.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::adjustStyleDifference const):
(WebCore::RenderElement::shouldRepaintForStyleDifference const):
(WebCore::RenderElement::initializeStyle):
(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::didAttachChild):
(WebCore::RenderElement::propagateStyleToAnonymousChildren):
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::styleDidChange):
(WebCore::mustRepaintFillLayers):
(WebCore::RenderElement::selectionColor const):
(WebCore::RenderElement::selectionBackgroundColor const):
(WebCore::RenderElement::drawLineForBoxSide const):
(WebCore::RenderElement::paintFocusRing):
(WebCore::RenderElement::paintOutline):
(WebCore::RenderElement::updateOutlineAutoAncestor):
(WebCore::includeNonFixedHeight):
* rendering/RenderElement.h:
(WebCore::RenderElement::hasHiddenBackface const):
(WebCore::RenderElement::canContainAbsolutelyPositionedObjects const):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::firstLineBaseline const):
(WebCore::contentAlignmentNormalBehavior):
(WebCore::RenderFlexibleBox::styleDidChange):
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::RenderFlexibleBox::isLeftToRightFlow const):
(WebCore::RenderFlexibleBox::isMultiline const):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
(WebCore::RenderFlexibleBox::crossSizeForPercentageResolution):
(WebCore::initialJustifyContentOffset):
(WebCore::justifyContentSpaceBetweenChildren):
(WebCore::alignmentOffset):
(WebCore::RenderFlexibleBox::staticMainAxisPositionForPositionedChild):
(WebCore::RenderFlexibleBox::staticCrossAxisPositionForPositionedChild):
(WebCore::RenderFlexibleBox::alignmentForChild const):
(WebCore::RenderFlexibleBox::needToStretchChildLogicalHeight const):
(WebCore::RenderFlexibleBox::mainAxisOverflowForChild const):
(WebCore::RenderFlexibleBox::crossAxisOverflowForChild const):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
(WebCore::initialAlignContentOffset):
(WebCore::alignContentSpaceBetweenChildren):
(WebCore::RenderFlexibleBox::alignFlexLines):
(WebCore::RenderFlexibleBox::alignChildren):
* rendering/RenderFlexibleBox.h:
* rendering/RenderFragmentContainer.cpp:
(WebCore::RenderFragmentContainer::overflowRectForFragmentedFlowPortion):
* rendering/RenderFullScreen.cpp:
(WebCore::createFullScreenStyle):
* rendering/RenderFullScreen.h:
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::selfAlignmentChangedToStretch const):
(WebCore::RenderGrid::selfAlignmentChangedFromStretch const):
(WebCore::RenderGrid::styleDidChange):
(WebCore::contentAlignmentNormalBehaviorGrid):
(WebCore::computeOverflowAlignmentOffset):
(WebCore::RenderGrid::isInlineBaselineAlignedChild const):
(WebCore::RenderGrid::columnAxisPositionForChild const):
(WebCore::RenderGrid::rowAxisPositionForChild const):
(WebCore::RenderGrid::resolveAutoStartGridPosition const):
(WebCore::RenderGrid::resolveAutoEndGridPosition const):
(WebCore::resolveContentDistributionFallback):
(WebCore::contentDistributionOffset):
(WebCore::RenderGrid::computeContentPositionAndDistributionOffset const):
* rendering/RenderGrid.h:
* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::requiresLayer const):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::styleDidChange):
(WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect const):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::styleWillChange):
(WebCore::RenderInline::updateAlwaysCreateLineBoxes):
(WebCore::RenderInline::paintOutline):
(WebCore::RenderInline::paintOutlineForLine):
* rendering/RenderLayer.cpp:
(WebCore::isContainerForPositioned):
(WebCore::RenderLayer::enclosingAncestorForPosition const):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::canResize const):
(WebCore::RenderLayer::resize):
(WebCore::RenderLayer::scrollCornerRect const):
(WebCore::resizerCornerRect):
(WebCore::RenderLayer::hasOverflowControls const):
(WebCore::styleRequiresScrollbar):
(WebCore::styleDefinesAutomaticScrollbar):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::hitTestOverflowControls):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects const):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::canDirectlyCompositeBackgroundBackgroundImage):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer const):
(WebCore::backgroundRectForBox):
* rendering/RenderLayerCompositor.cpp:
(WebCore::isScrollableOverflow):
(WebCore::styleChangeRequiresLayerRebuild):
(WebCore::RenderLayerCompositor::layerStyleChanged):
(WebCore::RenderLayerCompositor::reasonsForCompositing const):
(WebCore::RenderLayerCompositor::requiresCompositingForBackfaceVisibility const):
(WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason const):
(WebCore::RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer const):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition const):
(WebCore::RenderLayerCompositor::layerHas3DContent const):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleWillChange):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle):
* rendering/RenderMultiColumnFlow.cpp:
(WebCore::RenderMultiColumnFlow::isColumnSpanningDescendant const):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::requiresBalancing const):
(WebCore::RenderMultiColumnSet::paintColumnRules):
* rendering/RenderMultiColumnSpannerPlaceholder.cpp:
(WebCore::RenderMultiColumnSpannerPlaceholder::createAnonymous):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::propagateRepaintToParentWithOutlineAutoIfNeeded const):
(WebCore::containerForElement):
(WebCore::RenderObject::calculateBorderStyleColor):
* rendering/RenderObject.h:
(WebCore::RenderObject::isFixedPositioned const):
(WebCore::RenderObject::isAbsolutelyPositioned const):
(WebCore::RenderObject::setPositionState):
(WebCore::RenderObject::RenderObjectBitfields::setPositionedState):
(WebCore::RenderObject::RenderObjectBitfields::clearPositionedState):
* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::styleDidChange):
(WebCore::RenderQuote::computeText const):
(WebCore::RenderQuote::isOpen const):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::layout):
(WebCore::RenderReplaced::setNeedsLayoutIfNeededAfterIntrinsicSizeChange):
(WebCore::RenderReplaced::replacedContentRect const):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::styleDidChange):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::styleDidChange):
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
(WebCore::RenderTable::calcBorderStart const):
(WebCore::RenderTable::calcBorderEnd const):
(WebCore::RenderTable::outerBorderBefore const):
(WebCore::RenderTable::outerBorderAfter const):
(WebCore::RenderTable::outerBorderStart const):
(WebCore::RenderTable::outerBorderEnd const):
* rendering/RenderTable.h:
(WebCore::RenderTable::collapseBorders const):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computeIntrinsicPadding):
(WebCore::RenderTableCell::styleDidChange):
(WebCore::compareBorders):
(WebCore::chooseBorder):
(WebCore::emptyBorder):
(WebCore::RenderTableCell::computeCollapsedStartBorder const):
(WebCore::RenderTableCell::computeCollapsedEndBorder const):
(WebCore::RenderTableCell::computeCollapsedBeforeBorder const):
(WebCore::RenderTableCell::computeCollapsedAfterBorder const):
(WebCore::CollapsedBorders::addBorder):
(WebCore::RenderTableCell::paintCollapsedBorders):
(WebCore::RenderTableCell::scrollbarsChanged):
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::logicalHeightForRowSizing const):
(WebCore::RenderTableCell::isBaselineAligned const):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::styleDidChange):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcOuterBorderBefore const):
(WebCore::RenderTableSection::calcOuterBorderAfter const):
(WebCore::RenderTableSection::calcOuterBorderStart const):
(WebCore::RenderTableSection::calcOuterBorderEnd const):
(WebCore::RenderTableSection::paintRowGroupBorder):
(WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
(WebCore::RenderTableSection::cachedCollapsedBorder):
* rendering/RenderTableSection.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::styleDidChange):
(WebCore::RenderText::absoluteQuadsClippedToEllipsis const):
(WebCore::isSpaceAccordingToStyle):
(WebCore::mapLineBreakToIteratorMode):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::setRenderedText):
(WebCore::RenderText::textWithoutConvertingBackslashToYenSymbol const):
(WebCore::RenderText::momentarilyRevealLastTypedCharacter):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computeLogicalHeight const):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::styleDidChange):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::extractControlStatesForRenderer const):
* rendering/RenderThemeIOS.mm:
(WebCore::adjustInputElementButtonStyle):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::updateFocusedState):
(WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary):
(WebCore::RenderThemeMac::adjustSearchFieldStyle const):
* rendering/RenderTreeAsText.cpp:
(WebCore::printBorderStyle):
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::updatePlayer):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::rendererObscuresBackground):
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::verticalPositionForBox):
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForStyle):
(WebCore::SimpleLineLayout::canUseForWithReason):
* rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
* rendering/TextPaintStyle.cpp:
(WebCore::computeTextPaintStyle):
* rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleBR):
(WebCore::shouldAddBorderPaddingMargin):
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord):
* rendering/line/LineBreaker.cpp:
(WebCore::LineBreaker::reset):
* rendering/line/LineBreaker.h:
(WebCore::LineBreaker::clear):
* rendering/line/LineInlineHeaders.h:
(WebCore::skipNonBreakingSpace):
* rendering/line/LineWidth.cpp:
(WebCore::requiresIndent):
* rendering/style/BorderData.h:
(WebCore::BorderData::borderLeftWidth const):
(WebCore::BorderData::borderRightWidth const):
(WebCore::BorderData::borderTopWidth const):
(WebCore::BorderData::borderBottomWidth const):
* rendering/style/BorderValue.h:
(WebCore::BorderValue::BorderValue):
(WebCore::BorderValue::nonZero const):
(WebCore::BorderValue::isVisible const):
(WebCore::BorderValue::style const):
* rendering/style/CollapsedBorderValue.h:
(WebCore::CollapsedBorderValue::CollapsedBorderValue):
(WebCore::CollapsedBorderValue::width const):
(WebCore::CollapsedBorderValue::style const):
(WebCore::CollapsedBorderValue::exists const):
(WebCore::CollapsedBorderValue::precedence const):
* rendering/style/FillLayer.cpp:
(WebCore::FillLayer::FillLayer):
(WebCore::clipMax):
(WebCore::FillLayer::computeClipMax const):
(WebCore::FillLayer::hasRepeatXY const):
(WebCore::FillLayer::hasFixedImage const):
* rendering/style/FillLayer.h:
(WebCore::FillSize::FillSize):
(WebCore::FillLayer::attachment const):
(WebCore::FillLayer::clip const):
(WebCore::FillLayer::origin const):
(WebCore::FillLayer::repeatX const):
(WebCore::FillLayer::repeatY const):
(WebCore::FillLayer::sizeType const):
(WebCore::FillLayer::size const):
(WebCore::FillLayer::maskSourceType const):
(WebCore::FillLayer::isSizeSet const):
(WebCore::FillLayer::setAttachment):
(WebCore::FillLayer::setClip):
(WebCore::FillLayer::setOrigin):
(WebCore::FillLayer::setRepeatX):
(WebCore::FillLayer::setRepeatY):
(WebCore::FillLayer::setComposite):
(WebCore::FillLayer::setBlendMode):
(WebCore::FillLayer::setSizeType):
(WebCore::FillLayer::setSize):
(WebCore::FillLayer::setMaskSourceType):
(WebCore::FillLayer::clearSize):
(WebCore::FillLayer::type const):
(WebCore::FillLayer::initialFillAttachment):
(WebCore::FillLayer::initialFillClip):
(WebCore::FillLayer::initialFillOrigin):
(WebCore::FillLayer::initialFillRepeatX):
(WebCore::FillLayer::initialFillRepeatY):
(WebCore::FillLayer::initialFillComposite):
(WebCore::FillLayer::initialFillBlendMode):
(WebCore::FillLayer::initialFillSize):
(WebCore::FillLayer::initialFillXPosition):
(WebCore::FillLayer::initialFillYPosition):
(WebCore::FillLayer::initialFillImage):
(WebCore::FillLayer::initialFillMaskSourceType):
* rendering/style/LineClampValue.h:
(WebCore::LineClampValue::LineClampValue):
(WebCore::LineClampValue::isPercentage const):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
(WebCore::resolvedSelfAlignment):
(WebCore::RenderStyle::resolvedAlignSelf const):
(WebCore::RenderStyle::resolvedJustifySelf const):
(WebCore::resolvedContentAlignment):
(WebCore::resolvedContentAlignmentPosition):
(WebCore::resolvedContentAlignmentDistribution):
(WebCore::RenderStyle::resolvedJustifyContentDistribution const):
(WebCore::RenderStyle::resolvedAlignContentDistribution const):
(WebCore::RenderStyle::changeRequiresLayout const):
(WebCore::RenderStyle::changeRequiresPositionedLayoutOnly const):
(WebCore::RenderStyle::changeRequiresLayerRepaint const):
(WebCore::RenderStyle::changeRequiresRepaint const):
(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline const):
(WebCore::RenderStyle::changeRequiresRecompositeLayer const):
(WebCore::RenderStyle::diff const):
(WebCore::RenderStyle::diffRequiresLayerRepaint const):
(WebCore::allLayersAreFixed):
(WebCore::RenderStyle::colorIncludingFallback const):
(WebCore::RenderStyle::setColumnStylesFromPaginationMode):
(WebCore::RenderStyle::outlineWidth const):
(WebCore::RenderStyle::outlineOffset const):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::isFloating const):
(WebCore::RenderStyle::position const):
(WebCore::RenderStyle::hasOutOfFlowPosition const):
(WebCore::RenderStyle::hasInFlowPosition const):
(WebCore::RenderStyle::hasViewportConstrainedPosition const):
(WebCore::RenderStyle::floating const):
(WebCore::RenderStyle::borderLeftStyle const):
(WebCore::RenderStyle::borderRightStyle const):
(WebCore::RenderStyle::borderTopStyle const):
(WebCore::RenderStyle::borderBottomStyle const):
(WebCore::RenderStyle::hasOutline const):
(WebCore::RenderStyle::outlineStyle const):
(WebCore::RenderStyle::overflowX const):
(WebCore::RenderStyle::overflowY const):
(WebCore::RenderStyle::overflowInlineDirection const):
(WebCore::RenderStyle::overflowBlockDirection const):
(WebCore::RenderStyle::verticalAlign const):
(WebCore::RenderStyle::clear const):
(WebCore::RenderStyle::tableLayout const):
(WebCore::RenderStyle::backgroundRepeatX const):
(WebCore::RenderStyle::backgroundRepeatY const):
(WebCore::RenderStyle::backgroundAttachment const):
(WebCore::RenderStyle::backgroundClip const):
(WebCore::RenderStyle::backgroundOrigin const):
(WebCore::RenderStyle::backgroundSizeType const):
(WebCore::RenderStyle::maskRepeatX const):
(WebCore::RenderStyle::maskRepeatY const):
(WebCore::RenderStyle::maskClip const):
(WebCore::RenderStyle::maskOrigin const):
(WebCore::RenderStyle::maskSizeType const):
(WebCore::RenderStyle::borderCollapse const):
(WebCore::RenderStyle::boxAlign const):
(WebCore::RenderStyle::boxDirection const):
(WebCore::RenderStyle::boxLines const):
(WebCore::RenderStyle::boxOrient const):
(WebCore::RenderStyle::boxPack const):
(WebCore::RenderStyle::flexDirection const):
(WebCore::RenderStyle::isColumnFlexDirection const):
(WebCore::RenderStyle::isReverseFlexDirection const):
(WebCore::RenderStyle::flexWrap const):
(WebCore::RenderStyle::boxDecorationBreak const):
(WebCore::RenderStyle::boxSizing const):
(WebCore::RenderStyle::userModify const):
(WebCore::RenderStyle::userDrag const):
(WebCore::RenderStyle::userSelect const):
(WebCore::RenderStyle::marginBeforeCollapse const):
(WebCore::RenderStyle::marginAfterCollapse const):
(WebCore::RenderStyle::wordBreak const):
(WebCore::RenderStyle::overflowWrap const):
(WebCore::RenderStyle::nbspMode const):
(WebCore::RenderStyle::resize const):
(WebCore::RenderStyle::columnRuleStyle const):
(WebCore::RenderStyle::hasTextCombine const):
(WebCore::RenderStyle::transformStyle3D const):
(WebCore::RenderStyle::preserves3D const):
(WebCore::RenderStyle::backfaceVisibility const):
(WebCore::RenderStyle::textSecurity const):
(WebCore::RenderStyle::imageRendering const):
(WebCore::RenderStyle::setIsolation):
(WebCore::RenderStyle::hasIsolation const):
(WebCore::RenderStyle::isolation const):
(WebCore::RenderStyle::setPosition):
(WebCore::RenderStyle::setFloating):
(WebCore::RenderStyle::setBackgroundSize):
(WebCore::RenderStyle::setBorderLeftStyle):
(WebCore::RenderStyle::setBorderRightStyle):
(WebCore::RenderStyle::setBorderTopStyle):
(WebCore::RenderStyle::setBorderBottomStyle):
(WebCore::RenderStyle::setOutlineStyleIsAuto):
(WebCore::RenderStyle::setOutlineStyle):
(WebCore::RenderStyle::setOverflowX):
(WebCore::RenderStyle::setOverflowY):
(WebCore::RenderStyle::setVerticalAlign):
(WebCore::RenderStyle::setVerticalAlignLength):
(WebCore::RenderStyle::setClear):
(WebCore::RenderStyle::setTableLayout):
(WebCore::RenderStyle::setImageRendering):
(WebCore::RenderStyle::clearBackgroundLayers):
(WebCore::RenderStyle::clearMaskLayers):
(WebCore::RenderStyle::setBorderCollapse):
(WebCore::RenderStyle::setAspectRatioType):
(WebCore::RenderStyle::setPrintColorAdjust):
(WebCore::RenderStyle::setBoxAlign):
(WebCore::RenderStyle::setBoxDirection):
(WebCore::RenderStyle::setBoxLines):
(WebCore::RenderStyle::setBoxOrient):
(WebCore::RenderStyle::setBoxPack):
(WebCore::RenderStyle::setBoxSizing):
(WebCore::RenderStyle::setFlexDirection):
(WebCore::RenderStyle::setFlexWrap):
(WebCore::RenderStyle::setBoxDecorationBreak):
(WebCore::RenderStyle::setUserModify):
(WebCore::RenderStyle::setUserDrag):
(WebCore::RenderStyle::setUserSelect):
(WebCore::RenderStyle::setTextOverflow):
(WebCore::RenderStyle::setMarginBeforeCollapse):
(WebCore::RenderStyle::setMarginAfterCollapse):
(WebCore::RenderStyle::setWordBreak):
(WebCore::RenderStyle::setOverflowWrap):
(WebCore::RenderStyle::setNBSPMode):
(WebCore::RenderStyle::setLineBreak):
(WebCore::RenderStyle::setResize):
(WebCore::RenderStyle::setColumnFill):
(WebCore::RenderStyle::setColumnRuleStyle):
(WebCore::RenderStyle::setColumnSpan):
(WebCore::RenderStyle::setTextCombine):
(WebCore::RenderStyle::setObjectFit):
(WebCore::RenderStyle::setTransformStyle3D):
(WebCore::RenderStyle::setBackfaceVisibility):
(WebCore::RenderStyle::setTextSecurity):
(WebCore::RenderStyle::initialOverflowX):
(WebCore::RenderStyle::initialOverflowY):
(WebCore::RenderStyle::initialClear):
(WebCore::RenderStyle::initialPosition):
(WebCore::RenderStyle::initialVerticalAlign):
(WebCore::RenderStyle::initialFloating):
(WebCore::RenderStyle::initialTableLayout):
(WebCore::RenderStyle::initialBorderCollapse):
(WebCore::RenderStyle::initialBorderStyle):
(WebCore::RenderStyle::initialOutlineStyleIsAuto):
(WebCore::RenderStyle::initialTextCombine):
(WebCore::RenderStyle::initialObjectFit):
(WebCore::RenderStyle::initialBoxAlign):
(WebCore::RenderStyle::initialBoxDecorationBreak):
(WebCore::RenderStyle::initialBoxDirection):
(WebCore::RenderStyle::initialBoxLines):
(WebCore::RenderStyle::initialBoxOrient):
(WebCore::RenderStyle::initialBoxPack):
(WebCore::RenderStyle::initialBoxSizing):
(WebCore::RenderStyle::initialJustifyItems):
(WebCore::RenderStyle::initialSelfAlignment):
(WebCore::RenderStyle::initialDefaultAlignment):
(WebCore::RenderStyle::initialContentAlignment):
(WebCore::RenderStyle::initialFlexDirection):
(WebCore::RenderStyle::initialFlexWrap):
(WebCore::RenderStyle::initialUserModify):
(WebCore::RenderStyle::initialUserDrag):
(WebCore::RenderStyle::initialUserSelect):
(WebCore::RenderStyle::initialTextOverflow):
(WebCore::RenderStyle::initialMarginBeforeCollapse):
(WebCore::RenderStyle::initialMarginAfterCollapse):
(WebCore::RenderStyle::initialWordBreak):
(WebCore::RenderStyle::initialOverflowWrap):
(WebCore::RenderStyle::initialNBSPMode):
(WebCore::RenderStyle::initialLineBreak):
(WebCore::RenderStyle::initialResize):
(WebCore::RenderStyle::initialAspectRatioType):
(WebCore::RenderStyle::initialColumnFill):
(WebCore::RenderStyle::initialColumnSpan):
(WebCore::RenderStyle::initialTransformStyle3D):
(WebCore::RenderStyle::initialBackfaceVisibility):
(WebCore::RenderStyle::initialImageRendering):
(WebCore::RenderStyle::initialPrintColorAdjust):
(WebCore::RenderStyle::initialTextIndentLine):
(WebCore::RenderStyle::initialTextIndentType):
(WebCore::RenderStyle::initialTextSecurity):
(WebCore::RenderStyle::initialIsolation):
(WebCore::collapsedBorderStyle):
(WebCore::RenderStyle::breakOnlyAfterWhiteSpace const):
(WebCore::RenderStyle::breakWords const):
(WebCore::RenderStyle::setTextOrientation):
* rendering/style/RenderStyleConstants.cpp:
(WebCore::operator<<):
* rendering/style/RenderStyleConstants.h:
(WebCore::operator|):
(WebCore::operator|=):
(WebCore::operator| ): Deleted.
(WebCore::operator|= ): Deleted.
* rendering/style/SVGRenderStyle.cpp:
(WebCore::SVGRenderStyle::diff const):
* rendering/style/StyleBackgroundData.cpp:
(WebCore::StyleBackgroundData::StyleBackgroundData):
* rendering/style/StyleBoxData.cpp:
(WebCore::StyleBoxData::StyleBoxData):
* rendering/style/StyleBoxData.h:
(WebCore::StyleBoxData::boxSizing const):
(WebCore::StyleBoxData::boxDecorationBreak const):
* rendering/style/StyleContentAlignmentData.h:
(WebCore::StyleContentAlignmentData::StyleContentAlignmentData):
(WebCore::StyleContentAlignmentData::setPosition):
(WebCore::StyleContentAlignmentData::setDistribution):
(WebCore::StyleContentAlignmentData::setOverflow):
(WebCore::StyleContentAlignmentData::distribution const):
* rendering/style/StyleDeprecatedFlexibleBoxData.cpp:
(WebCore::StyleDeprecatedFlexibleBoxData::StyleDeprecatedFlexibleBoxData):
* rendering/style/StyleDeprecatedFlexibleBoxData.h:
* rendering/style/StyleFlexibleBoxData.cpp:
(WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
* rendering/style/StyleFlexibleBoxData.h:
* rendering/style/StyleMultiColData.cpp:
(WebCore::StyleMultiColData::StyleMultiColData):
* rendering/style/StyleMultiColData.h:
(WebCore::StyleMultiColData::ruleWidth const):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
* rendering/style/StyleRareInheritedData.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
* rendering/style/StyleRareNonInheritedData.h:
* rendering/style/StyleSelfAlignmentData.h:
(WebCore::StyleSelfAlignmentData::StyleSelfAlignmentData):
(WebCore::StyleSelfAlignmentData::setPosition):
(WebCore::StyleSelfAlignmentData::setPositionType):
(WebCore::StyleSelfAlignmentData::setOverflow):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::styleDidChange):
* rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::styleDidChange):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::styleDidChange):
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::styleDidChange):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::styleDidChange):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::registerResource):
* rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::shouldApplyViewportClip const):
(WebCore::RenderSVGRoot::styleDidChange):
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::paintText):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::isOverflowHidden):
* rendering/svg/SVGResourcesCache.cpp:
(WebCore::SVGResourcesCache::clientStyleChanged):
* rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::attachToRenderElementInternal):
* rendering/updating/RenderTreeBuilderBlock.cpp:
(WebCore::RenderTreeBuilder::Block::insertChildToContinuation):
* rendering/updating/RenderTreeBuilderFirstLetter.cpp:
(WebCore::styleForFirstLetter):
* rendering/updating/RenderTreeBuilderMultiColumn.cpp:
(WebCore::isValidColumnSpanner):
(WebCore::RenderTreeBuilder::MultiColumn::resolveMovedChild):
(WebCore::RenderTreeBuilder::MultiColumn::multiColumnRelativeWillBeRemoved):
* rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::updateElementRenderer):
* style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):

Source/WebKit:

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::getPositionInformation):
Update for new enum names.

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

18 months agoUnreviewed, fix 32bit and scope release
utatane.tea@gmail.com [Mon, 21 May 2018 16:45:35 +0000 (16:45 +0000)]
Unreviewed, fix 32bit and scope release
https://bugs.webkit.org/show_bug.cgi?id=185682

* jit/JITOperations.cpp:
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitSlow_op_in_by_id):

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

18 months agoWebView._preferencesChanged should apply colorFilterEnabled preference before parsing...
antti@apple.com [Mon, 21 May 2018 16:33:46 +0000 (16:33 +0000)]
WebView._preferencesChanged should apply colorFilterEnabled preference before parsing user stylesheet
https://bugs.webkit.org/show_bug.cgi?id=185815
<rdar://problem/40310069>

Reviewed by Simon Fraser.

User stylesheet parsing may depend on the colorFilterEnabled preference.

* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

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

18 months ago[MSE][GStreamer] Stream::decodebinSinkPad is read but never assigned
aboya@igalia.com [Mon, 21 May 2018 15:28:28 +0000 (15:28 +0000)]
[MSE][GStreamer] Stream::decodebinSinkPad is read but never assigned
https://bugs.webkit.org/show_bug.cgi?id=185724

Reviewed by Xabier Rodriguez-Calvar.

This is a dead code removal patch; except when a Stream instance
happens to be instantiated in such a place that the non-initialized
decodeSinkPad is != 0, then it is a crash bug fix.

* platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:
(webKitMediaSrcLinkStreamToSrcPad):
* platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamerPrivate.h:

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

18 months ago[MSE][GStreamer] Force segment.start = 0 after matroskademux
aboya@igalia.com [Mon, 21 May 2018 11:52:33 +0000 (11:52 +0000)]
[MSE][GStreamer] Force segment.start = 0 after matroskademux
https://bugs.webkit.org/show_bug.cgi?id=185740

Reviewed by Xabier Rodriguez-Calvar.

This patch ensures that when WebM MSE media segments are appended in
an out of order fashion their frames are not discarded by opusparse or
any other potential elements downstream in the AppendPipeline that
perform segment clipping.

This patch fixes the following YTTV 2018 tests:

38. OpusAudioWithOverlap
39. OpusAudioWithSmallGap
40. OpusAudioWithLargeGap
70. VP9VideoWithOverlap
71. VP9VideoWithSmallGap

This patch is necessary, but not sufficient for fixing the following
YTTV 2018 tests:

36. AppendOpusAudioOutOfOrder
67. AppendVP9VideoOutOfOrder

* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):
(WebCore::matroskademuxForceSegmentStartToEqualZero):

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

18 months agoUnreviewed gardening. Update several test expectations.
carlosgc@webkit.org [Mon, 21 May 2018 08:25:27 +0000 (08:25 +0000)]
Unreviewed gardening. Update several test expectations.

* TestExpectations.json:

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

18 months agoUnreviewed. Update OptionsGTK.cmake and NEWS for 2.21.2 release.
carlosgc@webkit.org [Mon, 21 May 2018 07:58:14 +0000 (07:58 +0000)]
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.21.2 release.

.:

* Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

* gtk/NEWS: Add release notes for 2.21.2.

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

18 months agoUnreviewed, rolling out r222967.
carlosgc@webkit.org [Mon, 21 May 2018 07:14:00 +0000 (07:14 +0000)]
Unreviewed, rolling out r222967.

It's not ready yet

Reverted changeset:

"[GTK][WPE] Add API to configure and enable resource load
statistics"
https://bugs.webkit.org/show_bug.cgi?id=177943
https://trac.webkit.org/changeset/222967

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

18 months ago[GTK] MiniBrowser crashes when loading twice quickly
carlosgc@webkit.org [Mon, 21 May 2018 06:24:52 +0000 (06:24 +0000)]
[GTK] MiniBrowser crashes when loading twice quickly
https://bugs.webkit.org/show_bug.cgi?id=185763

Reviewed by Michael Catanzaro.

This is very difficult to reproduce manually, but it happens when running WebDriver tests where loads are very
fast and multiple loads are done quickly. The problem is that we use an idle to reset the progress bar, but we
don't reset it when a new load starts. We always reset the last idle on destroy, but if there's another one
leaked, it will crash when scheduled if the window has already been destroyed.

* MiniBrowser/gtk/BrowserWindow.c:
(webViewLoadProgressChanged): Stop any pending reset task when progress != 1.

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

18 months agoRevert the B3 compiler pipeline's treatment of taildup
fpizlo@apple.com [Mon, 21 May 2018 00:51:10 +0000 (00:51 +0000)]
Revert the B3 compiler pipeline's treatment of taildup
https://bugs.webkit.org/show_bug.cgi?id=185808

Reviewed by Yusuke Suzuki.

While trying to implement path specialization (bug 185060), I reorganized the B3 pass pipeline.
But then path specialization turned out to be a negative result. This reverts the pipeline to the
way it was before that work.

1.5% progression on V8Spider-CompileTime.

* b3/B3Generate.cpp:
(JSC::B3::generateToAir):

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

18 months agoUpdate CSSOM WPT tests.
emilio@crisal.io [Sun, 20 May 2018 21:41:06 +0000 (21:41 +0000)]
Update CSSOM WPT tests.
https://bugs.webkit.org/show_bug.cgi?id=185805

LayoutTests/imported/w3c:

They've been moved under the css/ directory.

This has been done with:

  ./Tools/Scripts/import-w3c-tests web-platform-tests/css/cssom
  rm -rf LayoutTests/imported/w3c/web-platform-tests/cssom
  ./Tools/Scripts/run-webkit-tests -t Debug LayoutTests/imported/w3c/web-platform-tests/css/cssom/ --reset-results

And ensuring that the same run without --reset-results also succeeded.

I manually removed entries in import-expectations.json which no longer
correspond to an upstream directory.

Reviewed by Frédéric Wang.

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/css/cssom/CSS-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSS-expected.txt.
* web-platform-tests/css/cssom/CSS.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSS.html.
* web-platform-tests/css/cssom/CSSKeyframeRule-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSKeyframeRule-expected.txt.
* web-platform-tests/css/cssom/CSSKeyframeRule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSKeyframeRule.html.
* web-platform-tests/css/cssom/CSSKeyframesRule-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSKeyframesRule-expected.txt.
* web-platform-tests/css/cssom/CSSKeyframesRule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSKeyframesRule.html.
* web-platform-tests/css/cssom/CSSNamespaceRule-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSNamespaceRule-expected.txt.
* web-platform-tests/css/cssom/CSSNamespaceRule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSNamespaceRule.html.
* web-platform-tests/css/cssom/CSSRuleList-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSRuleList-expected.txt.
* web-platform-tests/css/cssom/CSSRuleList.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSRuleList.html.
* web-platform-tests/css/cssom/CSSStyleRule-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSStyleRule-expected.txt.
* web-platform-tests/css/cssom/CSSStyleRule-set-selectorText-expected.txt: Added.
* web-platform-tests/css/cssom/CSSStyleRule-set-selectorText-namespace-expected.txt: Added.
* web-platform-tests/css/cssom/CSSStyleRule-set-selectorText-namespace.html: Added.
* web-platform-tests/css/cssom/CSSStyleRule-set-selectorText.html: Added.
* web-platform-tests/css/cssom/CSSStyleRule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSStyleRule.html.
* web-platform-tests/css/cssom/CSSStyleSheet-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSStyleSheet-expected.txt.
* web-platform-tests/css/cssom/CSSStyleSheet.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSStyleSheet.html.
* web-platform-tests/css/cssom/MediaList-expected.txt: Added.
* web-platform-tests/css/cssom/MediaList.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/MediaList.html.
* web-platform-tests/css/cssom/MediaList2-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/MediaList2-expected.txt.
* web-platform-tests/css/cssom/MediaList2.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/MediaList2.xhtml.
* web-platform-tests/css/cssom/OWNERS: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/OWNERS.
* web-platform-tests/css/cssom/StyleSheetList-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/StyleSheetList-expected.txt.
* web-platform-tests/css/cssom/StyleSheetList.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/StyleSheetList.html.
* web-platform-tests/css/cssom/computed-style-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/computed-style-001-expected.txt.
* web-platform-tests/css/cssom/computed-style-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/computed-style-001.html.
* web-platform-tests/css/cssom/computed-style-002-expected.txt: Added.
* web-platform-tests/css/cssom/computed-style-002.html: Added.
* web-platform-tests/css/cssom/computed-style-003-expected.txt: Added.
* web-platform-tests/css/cssom/computed-style-003.html: Added.
* web-platform-tests/css/cssom/computed-style-004-expected.txt: Added.
* web-platform-tests/css/cssom/computed-style-004.html: Added.
* web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt: Added.
* web-platform-tests/css/cssom/css-style-attr-decl-block.html: Added.
* web-platform-tests/css/cssom/css-style-attribute-modifications-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/css-style-attribute-modifications-expected.txt.
* web-platform-tests/css/cssom/css-style-attribute-modifications.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/css-style-attribute-modifications.html.
* web-platform-tests/css/cssom/css-style-declaration-modifications-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/css-style-declaration-modifications-expected.txt.
* web-platform-tests/css/cssom/css-style-declaration-modifications.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/css-style-declaration-modifications.html.
* web-platform-tests/css/cssom/css-style-reparse-expected.txt: Added.
* web-platform-tests/css/cssom/css-style-reparse.html: Added.
* web-platform-tests/css/cssom/cssimportrule-expected.txt: Added.
* web-platform-tests/css/cssom/cssimportrule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssimportrule.html.
* web-platform-tests/css/cssom/cssom-cssText-serialize-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-cssText-serialize-expected.txt.
* web-platform-tests/css/cssom/cssom-cssText-serialize.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-cssText-serialize.html.
* web-platform-tests/css/cssom/cssom-cssstyledeclaration-set-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-cssstyledeclaration-set-expected.txt.
* web-platform-tests/css/cssom/cssom-cssstyledeclaration-set.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-cssstyledeclaration-set.html.
* web-platform-tests/css/cssom/cssom-fontfacerule-constructors-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-fontfacerule-constructors-expected.txt.
* web-platform-tests/css/cssom/cssom-fontfacerule-constructors.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-fontfacerule-constructors.html.
* web-platform-tests/css/cssom/cssom-fontfacerule-expected.txt: Added.
* web-platform-tests/css/cssom/cssom-fontfacerule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-fontfacerule.html.
* web-platform-tests/css/cssom/cssom-ruleTypeAndOrder-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-ruleTypeAndOrder-expected.txt.
* web-platform-tests/css/cssom/cssom-ruleTypeAndOrder.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-ruleTypeAndOrder.html.
* web-platform-tests/css/cssom/cssom-setProperty-shorthand-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-setProperty-shorthand-expected.txt.
* web-platform-tests/css/cssom/cssom-setProperty-shorthand.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-setProperty-shorthand.html.
* web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssstyledeclaration-csstext-expected.txt.
* web-platform-tests/css/cssom/cssstyledeclaration-csstext-final-delimiter-expected.txt: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-csstext-final-delimiter.html: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-csstext-important-expected.txt: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-csstext-important.html: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-csstext.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssstyledeclaration-csstext.html.
* web-platform-tests/css/cssom/cssstyledeclaration-mutability-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssstyledeclaration-mutability-expected.txt.
* web-platform-tests/css/cssom/cssstyledeclaration-mutability.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssstyledeclaration-mutability.html.
* web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001-expected.txt: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001.html: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-002-expected.txt: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-002.html: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-003-expected.txt: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-003.html: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-004-expected.txt: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-004.html: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-setter-order-expected.txt: Added.
* web-platform-tests/css/cssom/cssstyledeclaration-setter-order.html: Added.
* web-platform-tests/css/cssom/escape-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/escape-expected.txt.
* web-platform-tests/css/cssom/escape.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/escape.html.
* web-platform-tests/css/cssom/font-shorthand-serialization-expected.txt: Added.
* web-platform-tests/css/cssom/font-shorthand-serialization.html: Added.
* web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: Added.
* web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html: Added.
* web-platform-tests/css/cssom/getComputedStyle-dynamic-subdoc-expected.txt: Added.
* web-platform-tests/css/cssom/getComputedStyle-dynamic-subdoc.html: Added.
* web-platform-tests/css/cssom/getComputedStyle-pseudo-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/getComputedStyle-pseudo-expected.txt.
* web-platform-tests/css/cssom/getComputedStyle-pseudo.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/getComputedStyle-pseudo.html.
* web-platform-tests/css/cssom/historical-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/historical-expected.txt.
* web-platform-tests/css/cssom/historical.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/historical.html.
* web-platform-tests/css/cssom/inline-style-001-expected.txt: Added.
* web-platform-tests/css/cssom/inline-style-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/inline-style-001.html.
* web-platform-tests/css/cssom/insertRule-charset-no-index-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-charset-no-index-expected.txt.
* web-platform-tests/css/cssom/insertRule-charset-no-index.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-charset-no-index.html.
* web-platform-tests/css/cssom/insertRule-import-no-index-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-import-no-index-expected.txt.
* web-platform-tests/css/cssom/insertRule-import-no-index.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-import-no-index.html.
* web-platform-tests/css/cssom/insertRule-namespace-no-index-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-namespace-no-index-expected.txt.
* web-platform-tests/css/cssom/insertRule-namespace-no-index.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-namespace-no-index.html.
* web-platform-tests/css/cssom/insertRule-no-index-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-no-index-expected.txt.
* web-platform-tests/css/cssom/insertRule-no-index.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-no-index.html.
* web-platform-tests/css/cssom/insertRule-syntax-error-01-expected.txt: Added.
* web-platform-tests/css/cssom/insertRule-syntax-error-01.html: Added.
* web-platform-tests/css/cssom/interfaces-expected.txt: Added.
* web-platform-tests/css/cssom/interfaces.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/interfaces.html.
* web-platform-tests/css/cssom/medialist-dynamic-001-expected.html: Added.
* web-platform-tests/css/cssom/medialist-dynamic-001.html: Added.
* web-platform-tests/css/cssom/medialist-interfaces-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-001-expected.txt.
* web-platform-tests/css/cssom/medialist-interfaces-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-001.html.
* web-platform-tests/css/cssom/medialist-interfaces-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-002-expected.txt.
* web-platform-tests/css/cssom/medialist-interfaces-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-002.html.
* web-platform-tests/css/cssom/medialist-interfaces-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-003-expected.txt.
* web-platform-tests/css/cssom/medialist-interfaces-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-003.html.
* web-platform-tests/css/cssom/medialist-interfaces-004-expected.txt: Added.
* web-platform-tests/css/cssom/medialist-interfaces-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-004.html.
* web-platform-tests/css/cssom/overflow-serialization-expected.txt: Added.
* web-platform-tests/css/cssom/overflow-serialization.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/overflow-serialization.html.
* web-platform-tests/css/cssom/preferred-stylesheet-order-expected.txt: Added.
* web-platform-tests/css/cssom/preferred-stylesheet-order.html: Added.
* web-platform-tests/css/cssom/preferred-stylesheet-reversed-order-expected.txt: Added.
* web-platform-tests/css/cssom/preferred-stylesheet-reversed-order.html: Added.
* web-platform-tests/css/cssom/selectorSerialize-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/selectorSerialize-expected.txt.
* web-platform-tests/css/cssom/selectorSerialize.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/selectorSerialize.html.
* web-platform-tests/css/cssom/selectorText-modification-restyle-001-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/selectorText-modification-restyle-001-expected.html.
* web-platform-tests/css/cssom/selectorText-modification-restyle-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/selectorText-modification-restyle-001.html.
* web-platform-tests/css/cssom/selectorText-modification-restyle-002-expected.txt: Added.
* web-platform-tests/css/cssom/selectorText-modification-restyle-002.html: Added.
* web-platform-tests/css/cssom/serialization-CSSDeclaration-with-important-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialization-CSSDeclaration-with-important-expected.txt.
* web-platform-tests/css/cssom/serialization-CSSDeclaration-with-important.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialization-CSSDeclaration-with-important.html.
* web-platform-tests/css/cssom/serialize-namespaced-type-selectors-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-namespaced-type-selectors-expected.txt.
* web-platform-tests/css/cssom/serialize-namespaced-type-selectors.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-namespaced-type-selectors.html.
* web-platform-tests/css/cssom/serialize-values-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-values-expected.txt.
* web-platform-tests/css/cssom/serialize-values.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-values.html.
* web-platform-tests/css/cssom/serialize-variable-reference-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-variable-reference-expected.txt.
* web-platform-tests/css/cssom/serialize-variable-reference.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-variable-reference.html.
* web-platform-tests/css/cssom/setproperty-null-undefined-expected.txt: Added.
* web-platform-tests/css/cssom/setproperty-null-undefined.html: Added.
* web-platform-tests/css/cssom/shorthand-serialization-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/shorthand-serialization-expected.txt.
* web-platform-tests/css/cssom/shorthand-serialization.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/shorthand-serialization.html.
* web-platform-tests/css/cssom/shorthand-values-expected.txt: Added.
* web-platform-tests/css/cssom/shorthand-values.html: Added.
* web-platform-tests/css/cssom/style-sheet-interfaces-001-expected.txt: Added.
* web-platform-tests/css/cssom/style-sheet-interfaces-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/style-sheet-interfaces-001.html.
* web-platform-tests/css/cssom/style-sheet-interfaces-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/style-sheet-interfaces-002-expected.txt.
* web-platform-tests/css/cssom/style-sheet-interfaces-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/style-sheet-interfaces-002.html.
* web-platform-tests/css/cssom/stylesheet-replacedata-dynamic-expected.html: Added.
* web-platform-tests/css/cssom/stylesheet-replacedata-dynamic.html: Added.
* web-platform-tests/css/cssom/stylesheet-same-origin.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/stylesheet-same-origin.css.
* web-platform-tests/css/cssom/stylesheet-same-origin.sub-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/stylesheet-same-origin.sub-expected.txt.
* web-platform-tests/css/cssom/stylesheet-same-origin.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/stylesheet-same-origin.sub.html.
* web-platform-tests/css/cssom/stylesheet-title-expected.txt: Added.
* web-platform-tests/css/cssom/stylesheet-title.html: Added.
* web-platform-tests/css/cssom/support/1x1-green.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-green.png.
* web-platform-tests/css/cssom/support/1x1-lime.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-lime.png.
* web-platform-tests/css/cssom/support/1x1-maroon.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-maroon.png.
* web-platform-tests/css/cssom/support/1x1-navy.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-navy.png.
* web-platform-tests/css/cssom/support/1x1-red.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-red.png.
* web-platform-tests/css/cssom/support/1x1-white.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-white.png.
* web-platform-tests/css/cssom/support/60x60-gg-rr.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/60x60-gg-rr.png.
* web-platform-tests/css/cssom/support/60x60-green.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/60x60-green.png.
* web-platform-tests/css/cssom/support/60x60-red.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/60x60-red.png.
* web-platform-tests/css/cssom/support/README: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/README.
* web-platform-tests/css/cssom/support/a-green.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/a-green.css.
* web-platform-tests/css/cssom/support/b-green.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/b-green.css.
* web-platform-tests/css/cssom/support/c-red.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/c-red.css.
* web-platform-tests/css/cssom/support/cat.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/cat.png.
* web-platform-tests/css/cssom/support/import-charset.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/import-charset.css.
* web-platform-tests/css/cssom/support/import-green.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/import-green.css.
* web-platform-tests/css/cssom/support/import-red.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/import-red.css.
* web-platform-tests/css/cssom/support/pattern-grg-rgr-grg.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/pattern-grg-rgr-grg.png.
* web-platform-tests/css/cssom/support/pattern-grg-rrg-rgg.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/pattern-grg-rrg-rgg.png.
* web-platform-tests/css/cssom/support/pattern-rgr-grg-rgr.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/pattern-rgr-grg-rgr.png.
* web-platform-tests/css/cssom/support/pattern-tr.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/pattern-tr.png.
* web-platform-tests/css/cssom/support/ruler-h-50%.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/ruler-h-50%.png.
* web-platform-tests/css/cssom/support/ruler-h-50px.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/ruler-h-50px.png.
* web-platform-tests/css/cssom/support/ruler-v-100px.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/ruler-v-100px.png.
* web-platform-tests/css/cssom/support/ruler-v-50px.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/ruler-v-50px.png.
* web-platform-tests/css/cssom/support/square-purple.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/square-purple.png.
* web-platform-tests/css/cssom/support/square-teal.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/square-teal.png.
* web-platform-tests/css/cssom/support/square-white.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/square-white.png.
* web-platform-tests/css/cssom/support/support/README: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/support/README.
* web-platform-tests/css/cssom/support/support/swatch-green.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/support/swatch-green.png.
* web-platform-tests/css/cssom/support/support/swatch-red.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/support/swatch-red.png.
* web-platform-tests/css/cssom/support/support/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/support/w3c-import.log.
* web-platform-tests/css/cssom/support/swatch-blue.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-blue.png.
* web-platform-tests/css/cssom/support/swatch-green.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-green.png.
* web-platform-tests/css/cssom/support/swatch-lime.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-lime.png.
* web-platform-tests/css/cssom/support/swatch-orange.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-orange.png.
* web-platform-tests/css/cssom/support/swatch-red.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-red.png.
* web-platform-tests/css/cssom/support/swatch-teal.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-teal.png.
* web-platform-tests/css/cssom/support/swatch-white.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-white.png.
* web-platform-tests/css/cssom/support/swatch-yellow.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-yellow.png.
* web-platform-tests/css/cssom/support/test-bl.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-bl.png.
* web-platform-tests/css/cssom/support/test-br.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-br.png.
* web-platform-tests/css/cssom/support/test-inner-half-size.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-inner-half-size.png.
* web-platform-tests/css/cssom/support/test-outer.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-outer.png.
* web-platform-tests/css/cssom/support/test-tl.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-tl.png.
* web-platform-tests/css/cssom/support/test-tr.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-tr.png.
* web-platform-tests/css/cssom/support/w3c-import.log: Added.
* web-platform-tests/css/cssom/support/xmlss-pi.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/xmlss-pi.xhtml.
* web-platform-tests/css/cssom/ttwf-cssom-doc-ext-load-count-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-doc-ext-load-count-expected.txt.
* web-platform-tests/css/cssom/ttwf-cssom-doc-ext-load-count.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-doc-ext-load-count.html.
* web-platform-tests/css/cssom/ttwf-cssom-doc-ext-load-tree-order-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-doc-ext-load-tree-order-expected.txt.
* web-platform-tests/css/cssom/ttwf-cssom-doc-ext-load-tree-order.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-doc-ext-load-tree-order.html.
* web-platform-tests/css/cssom/ttwf-cssom-document-extension-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-document-extension-expected.txt.
* web-platform-tests/css/cssom/ttwf-cssom-document-extension.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-document-extension.html.
* web-platform-tests/css/cssom/variable-names-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/variable-names-expected.txt.
* web-platform-tests/css/cssom/variable-names.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/variable-names.html.
* web-platform-tests/css/cssom/w3c-import.log: Added.
* web-platform-tests/cssom/GetBoundingRect-expected.txt: Removed.
* web-platform-tests/cssom/GetBoundingRect.html: Removed.
* web-platform-tests/cssom/MediaList-expected.txt: Removed.
* web-platform-tests/cssom/cssimportrule-expected.txt: Removed.
* web-platform-tests/cssom/cssom-fontfacerule-expected.txt: Removed.
* web-platform-tests/cssom/index-001-expected.txt: Removed.
* web-platform-tests/cssom/index-001.html: Removed.
* web-platform-tests/cssom/index-002-expected.txt: Removed.
* web-platform-tests/cssom/index-002.html: Removed.
* web-platform-tests/cssom/inline-style-001-expected.txt: Removed.
* web-platform-tests/cssom/interfaces-expected.txt: Removed.
* web-platform-tests/cssom/medialist-interfaces-004-expected.txt: Removed.
* web-platform-tests/cssom/overflow-serialization-expected.txt: Removed.
* web-platform-tests/cssom/style-sheet-interfaces-001-expected.txt: Removed.
* web-platform-tests/cssom/support/w3c-import.log: Removed.
* web-platform-tests/cssom/w3c-import.log: Removed.

LayoutTests:

Reviewed by Frédéric Wang.

Update CSSOM WPT tests.

* TestExpectations:

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

18 months agoFix the !ENABLE(DFG_JIT) build.
aestes@apple.com [Sun, 20 May 2018 21:11:26 +0000 (21:11 +0000)]
Fix the !ENABLE(DFG_JIT) build.

* bytecode/InstanceOfStatus.cpp:
(JSC::InstanceOfStatus::computeFor):

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

18 months ago[DFG] CheckTypeInfoFlags should say `eliminated` if it is removed in constant folding...
utatane.tea@gmail.com [Sun, 20 May 2018 10:49:20 +0000 (10:49 +0000)]
[DFG] CheckTypeInfoFlags should say `eliminated` if it is removed in constant folding phase
https://bugs.webkit.org/show_bug.cgi?id=185802

Reviewed by Saam Barati.

* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):

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

18 months agoImprove NowPlaying "title"
eric.carlson@apple.com [Sat, 19 May 2018 23:07:38 +0000 (23:07 +0000)]
Improve NowPlaying "title"
https://bugs.webkit.org/show_bug.cgi?id=185680
<rdar://problem/40296700>

Reviewed by Dean Jackson.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaSessionTitle const): Use decodeHostName and
topPrivatelyControlledDomain when possible to make the host name more readable.

* platform/PublicSuffix.h:
* platform/mac/PublicSuffixMac.mm:
(WebCore::decodeHostName): Expose topPrivatelyControlledDomain method to .cpp functions.

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

18 months agoDFG should inline InstanceOf ICs
fpizlo@apple.com [Sat, 19 May 2018 22:00:21 +0000 (22:00 +0000)]
DFG should inline InstanceOf ICs
https://bugs.webkit.org/show_bug.cgi?id=185695

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

This teaches the DFG how to inline InstanceOf ICs into a MatchStructure node. This can then
be folded to a CheckStructure + JSConstant.

In the process of testing this, I found a bug where LICM was not hoisting things that
depended on ExtraOSREntryLocal because that might return SpecEmpty. I fixed that by teaching
LICM how to materialize CheckNotEmpty on demand whenever !HoistingFailed.

This is a ~5% speed-up on boyer.

~2x speed-up on the instanceof-always-hit-one, instanceof-always-hit-two, and
instanceof-sometimes-hit microbenchmarks.

* JavaScriptCore.xcodeproj/project.pbxproj:
* Sources.txt:
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::appendVariant):
(JSC::GetByIdStatus::filter):
* bytecode/GetByIdStatus.h:
(JSC::GetByIdStatus::operator bool const):
(JSC::GetByIdStatus::operator! const): Deleted.
* bytecode/GetByIdVariant.h:
(JSC::GetByIdVariant::operator bool const):
(JSC::GetByIdVariant::operator! const): Deleted.
* bytecode/ICStatusUtils.h: Added.
(JSC::appendICStatusVariant):
(JSC::filterICStatusVariants):
* bytecode/InstanceOfStatus.cpp: Added.
(JSC::InstanceOfStatus::appendVariant):
(JSC::InstanceOfStatus::computeFor):
(JSC::InstanceOfStatus::computeForStubInfo):
(JSC::InstanceOfStatus::commonPrototype const):
(JSC::InstanceOfStatus::filter):
* bytecode/InstanceOfStatus.h: Added.
(JSC::InstanceOfStatus::InstanceOfStatus):
(JSC::InstanceOfStatus::state const):
(JSC::InstanceOfStatus::isSet const):
(JSC::InstanceOfStatus::operator bool const):
(JSC::InstanceOfStatus::isSimple const):
(JSC::InstanceOfStatus::takesSlowPath const):
(JSC::InstanceOfStatus::numVariants const):
(JSC::InstanceOfStatus::variants const):
(JSC::InstanceOfStatus::at const):
(JSC::InstanceOfStatus::operator[] const):
* bytecode/InstanceOfVariant.cpp: Added.
(JSC::InstanceOfVariant::InstanceOfVariant):
(JSC::InstanceOfVariant::attemptToMerge):
(JSC::InstanceOfVariant::dump const):
(JSC::InstanceOfVariant::dumpInContext const):
* bytecode/InstanceOfVariant.h: Added.
(JSC::InstanceOfVariant::InstanceOfVariant):
(JSC::InstanceOfVariant::operator bool const):
(JSC::InstanceOfVariant::structureSet const):
(JSC::InstanceOfVariant::structureSet):
(JSC::InstanceOfVariant::conditionSet const):
(JSC::InstanceOfVariant::prototype const):
(JSC::InstanceOfVariant::isHit const):
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::StructureStubInfo):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::considerCaching):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGGraph.h:
* dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::attemptHoist):
* dfg/DFGNode.cpp:
(JSC::DFG::Node::remove):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasMatchStructureData):
(JSC::DFG::Node::matchStructureData):
* dfg/DFGNodeType.h:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMatchStructure):
* 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::compileMatchStructure):

Source/WTF:

I found myself needing a way to represent bottom/false/true/top, so I created it.

* WTF.xcodeproj/project.pbxproj:
* wtf/BooleanLattice.h: Added.
(WTF::lubBooleanLattice):
(WTF::printInternal):
* wtf/CMakeLists.txt:

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

18 months agoFlaky API test WebKit.WKHTTPCookieStoreWithoutProcessPool: incorrect order of cookies
sihui_liu@apple.com [Sat, 19 May 2018 20:57:02 +0000 (20:57 +0000)]
Flaky API test WebKit.WKHTTPCookieStoreWithoutProcessPool: incorrect order of cookies
https://bugs.webkit.org/show_bug.cgi?id=185624
<rdar://problem/39111626>

Reviewed by Chris Dumez.

Modified expectation to make test more robust as cookies can be returned in different orders.

* TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):

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

18 months ago[JSC] JSC should have consistent InById IC
utatane.tea@gmail.com [Sat, 19 May 2018 20:21:30 +0000 (20:21 +0000)]
[JSC] JSC should have consistent InById IC
https://bugs.webkit.org/show_bug.cgi?id=185682

Reviewed by Filip Pizlo.

JSTests:

* stress/in-by-id-accessors.js: Added.
(shouldBe):
(test):
(protoGetter.__proto__.get hello):
(protoSetter.__proto__.set hello):
(i.shouldBe.test.get hello):
(i.shouldBe.test.set hello):
* stress/in-by-id-ai.js: Added.
(shouldBe):
(test):
* stress/in-by-id-custom-accessors.js: Added.
(shouldBe):
(test1):
(test2):
* stress/in-by-id-custom-values.js: Added.
(shouldBe):
(test):
* stress/in-by-id-operation.js: Added.
(shouldBe):
(test):
(selfCache):
* stress/in-by-id-proxy.js: Added.
(shouldBe):
(test):
(handler.has):

Source/JavaScriptCore:

Current our op_in IC is adhoc: It is only emitted in DFG and FTL layers,
when we found that DFG::In's parameter is constant string. We should
align this IC to the other ById ICs to clean up and remove adhoc code
in DFG and FTL.

This patch cleans up our "In" IC by aligning it to the other ById ICs.
We split op_in bytecode to op_in_by_id and op_in_by_val. op_in_by_val
is the same to the original op_in. For op_in_by_id, we use JITInByIdGenerator
to emit InById IC code. In addition, our JITInByIdGenerator and op_in_by_id
has a inline access cache for own property case, which is the same to
JITGetByIdGenerator.

And we split DFG::In to DFG::InById and DFG::InByVal. InByVal is the same
to the original In DFG node. DFG AI attempts to lower InByVal to InById
if AI figured out that the property name is a constant string. And in
InById node, we use JITInByIdGenerator code.

This patch cleans up DFG and FTL's adhoc In IC code.

In a subsequent patch, we should introduce InByIdStatus to optimize
InById in DFG and FTL. We would like to have a new InByIdStatus instead of
reusing GetByIdStatus since GetByIdStatus becomes too complicated, and
AccessCase::Types are different from them (AccessCase::InHit / InMiss).

* bytecode/AccessCase.cpp:
(JSC::AccessCase::fromStructureStubInfo):
(JSC::AccessCase::generateWithGuard):
* bytecode/BytecodeDumper.cpp:
(JSC::BytecodeDumper<Block>::printInByIdCacheStatus):
(JSC::BytecodeDumper<Block>::dumpBytecode):
* bytecode/BytecodeDumper.h:
* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
* bytecode/InlineAccess.cpp:
(JSC::InlineAccess::generateSelfInAccess):
* bytecode/InlineAccess.h:
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::initInByIdSelf):
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::aboutToDie):
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::visitWeakReferences):
(JSC::StructureStubInfo::propagateTransitions):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::patchableJump):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitInByVal):
(JSC::BytecodeGenerator::emitInById):
(JSC::BytecodeGenerator::emitIn): Deleted.
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::InNode::emitBytecode):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addInById):
(JSC::DFG::InRecord::InRecord): Deleted.
(JSC::DFG::JITCompiler::addIn): Deleted.
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToInById):
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasArrayMode):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileInById):
(JSC::DFG::SpeculativeJIT::compileInByVal):
(JSC::DFG::SpeculativeJIT::compileIn): Deleted.
* 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::compileInByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileInById):
(JSC::FTL::DFG::LowerDFGToB3::compileIn): Deleted.
* jit/ICStats.h:
* jit/JIT.cpp:
(JSC::JIT::JIT):
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::link):
* jit/JIT.h:
* jit/JITInlineCacheGenerator.cpp:
(JSC::JITInByIdGenerator::JITInByIdGenerator):
(JSC::JITInByIdGenerator::generateFastPath):
* jit/JITInlineCacheGenerator.h:
(JSC::JITInByIdGenerator::JITInByIdGenerator):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emitSlow_op_in_by_id):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emitSlow_op_in_by_id):
* jit/Repatch.cpp:
(JSC::tryCacheInByID):
(JSC::repatchInByID):
(JSC::resetInByID):
(JSC::tryCacheIn): Deleted.
(JSC::repatchIn): Deleted.
(JSC::resetIn): Deleted.
* jit/Repatch.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter64.asm:
* parser/NodeConstructors.h:
(JSC::InNode::InNode):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::opInByVal):
(JSC::CommonSlowPaths::opIn): Deleted.

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

18 months agoUnreviewed, rolling out r231996.
commit-queue@webkit.org [Sat, 19 May 2018 15:12:29 +0000 (15:12 +0000)]
Unreviewed, rolling out r231996.
https://bugs.webkit.org/show_bug.cgi?id=185799

 Broke the GTK build (Requested by eric_carlson on #webkit).

Reverted changeset:

"Improve NowPlaying "title""
https://bugs.webkit.org/show_bug.cgi?id=185680
https://trac.webkit.org/changeset/231996

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

18 months agoImprove NowPlaying "title"
eric.carlson@apple.com [Sat, 19 May 2018 04:22:03 +0000 (04:22 +0000)]
Improve NowPlaying "title"
https://bugs.webkit.org/show_bug.cgi?id=185680
<rdar://problem/40296700>

Reviewed by Dean Jackson.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaSessionTitle const): Use decodeHostName and
topPrivatelyControlledDomain when possible to make the host name more readable.

* platform/PublicSuffix.h:
* platform/mac/PublicSuffixMac.mm:
(WebCore::decodeHostName): Expose topPrivatelyControlledDomain method to .cpp functions.

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

18 months agoCannot unset transition with important
commit-queue@webkit.org [Sat, 19 May 2018 04:05:06 +0000 (04:05 +0000)]
Cannot unset transition with important
https://bugs.webkit.org/show_bug.cgi?id=177684

Patch by Rob Buis <rbuis@igalia.com> on 2018-05-18
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Import manually the updated test and result.

* web-platform-tests/cssom/cssom-setProperty-shorthand-expected.txt:
* web-platform-tests/cssom/cssom-setProperty-shorthand.html:

Source/WebCore:

Make removeProperty remove the property regardless
if it was set using !important [1].

The new behavior is consistent with Firefox, Chrome and Edge.

[1] https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-removeproperty

Test: web-platform-tests/cssom/cssom-setProperty-shorthand.html

* css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::removePropertiesInSet):

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

18 months agoUnreviewed, rolling out r231982.
commit-queue@webkit.org [Sat, 19 May 2018 00:08:24 +0000 (00:08 +0000)]
Unreviewed, rolling out r231982.
https://bugs.webkit.org/show_bug.cgi?id=185793

Caused layout test failures (Requested by realdawei on
#webkit).

Reverted changeset:

"Complete fix for enabling modern EME by default"
https://bugs.webkit.org/show_bug.cgi?id=185770
https://trac.webkit.org/changeset/231982

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

18 months agoHandle failure to extend sandbox gracefully
eric.carlson@apple.com [Fri, 18 May 2018 23:32:36 +0000 (23:32 +0000)]
Handle failure to extend sandbox gracefully
https://bugs.webkit.org/show_bug.cgi?id=185779
<rdar://problem/40316349>

Unreviewed, fix test results.

* TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
(TEST_F):

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

18 months ago[Cocoa] Add missing nullability annotations to _WKAutomationSessionDelegate
bburg@apple.com [Fri, 18 May 2018 23:17:57 +0000 (23:17 +0000)]
[Cocoa] Add missing nullability annotations to _WKAutomationSessionDelegate
https://bugs.webkit.org/show_bug.cgi?id=185791
<rdar://problem/40279891>

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h: If there is no dialog shown,
then the delegate methods to return the dialog text may return a nil NSString.

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

18 months agoop_in should mark if it sees out of bounds accesses
keith_miller@apple.com [Fri, 18 May 2018 23:16:09 +0000 (23:16 +0000)]
op_in should mark if it sees out of bounds accesses
https://bugs.webkit.org/show_bug.cgi?id=185792

Reviewed by Filip Pizlo.

JSTests:

* stress/has-indexed-property-array-storage-ftl.js:
(test2):
* stress/has-indexed-property-slow-put-array-storage-ftl.js:
(test2):

Source/JavaScriptCore:

This would used to cause us to OSR loop since we would always speculate
we were in bounds in HasIndexedProperty.

* bytecode/ArrayProfile.cpp:
(JSC::ArrayProfile::observeIndexedRead):
* bytecode/ArrayProfile.h:
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::opIn):

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

18 months agoNetworkLoadChecker should cancel its content extension retrieval task when being...
youenn@apple.com [Fri, 18 May 2018 23:02:38 +0000 (23:02 +0000)]
NetworkLoadChecker should cancel its content extension retrieval task when being destroyed
https://bugs.webkit.org/show_bug.cgi?id=185661
<rdar://problem/39985509>

Reviewed by Chris Dumez.

Source/WebKit:

Make sure that the Content Extension retrieval callback checks that NetworkLoadChecker is alive.
This allows stopping NetworkLoadChecker be ref counted.
This in turns allows NetworkResourceLoader to delete its NetworkLoadChecker when being deleted as well.
By doing so, we simplify the memory management of NetworkResourceLoader and NetworkLoadChecker.

* NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::checkRequest):
(WebKit::NetworkLoadChecker::processContentExtensionRulesForLoad):
* NetworkProcess/NetworkLoadChecker.h:
(WebKit::NetworkLoadChecker::weakPtrFactory):
* NetworkProcess/NetworkResourceLoader.cpp:
* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::PingLoad):
* NetworkProcess/PingLoad.h:

LayoutTests:

* http/tests/contentextensions/crash-xhr-expected.txt: Added.
* http/tests/contentextensions/crash-xhr.html: Added.
* http/tests/contentextensions/crash-xhr.html.json: Added.

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

18 months agoWebProcess fails to launch
pvollan@apple.com [Fri, 18 May 2018 22:28:09 +0000 (22:28 +0000)]
WebProcess fails to launch
https://bugs.webkit.org/show_bug.cgi?id=185140

Reviewed by Geoffrey Garen.

If the NSApplication runloop is not used in the WebContent process, launchServicesCheckIn() needs to be called
in order for enableSandboxStyleFileQuarantine() to succeed. Determine at runtime if launchServicesCheckIn()
should be called by checking if the NSApplication event loop is running.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeProcess):

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

18 months agoAdd missing exception check.
mark.lam@apple.com [Fri, 18 May 2018 21:46:13 +0000 (21:46 +0000)]
Add missing exception check.
https://bugs.webkit.org/show_bug.cgi?id=185786
<rdar://problem/35686560>

Reviewed by Michael Saboff.

JSTests:

* stress/regress-185786.js: Added.

Source/JavaScriptCore:

* runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):

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

18 months agoComplete fix for enabling modern EME by default
jer.noble@apple.com [Fri, 18 May 2018 21:29:27 +0000 (21:29 +0000)]
Complete fix for enabling modern EME by default
https://bugs.webkit.org/show_bug.cgi?id=185770
<rdar://problem/40368220>

Reviewed by Eric Carlson.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

* Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

* platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt:

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

18 months agoWeb Inspector: Canvas: put `hasVisualEffect` behind an experimental setting
webkit@devinrousso.com [Fri, 18 May 2018 21:05:08 +0000 (21:05 +0000)]
Web Inspector: Canvas: put `hasVisualEffect` behind an experimental setting
https://bugs.webkit.org/show_bug.cgi?id=185758

Reviewed by Matt Baker.

* Localizations/en.lproj/localizedStrings.js:

* UserInterface/Base/Setting.js:

* UserInterface/Models/RecordingAction.js:
(WI.RecordingAction.prototype.process):

* UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement.prototype.onattach):

* UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

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

18 months agoConvert ProcessPrivilege assertions to regular debug-only assertions
bfulgham@apple.com [Fri, 18 May 2018 20:20:35 +0000 (20:20 +0000)]
Convert ProcessPrivilege assertions to regular debug-only assertions
https://bugs.webkit.org/show_bug.cgi?id=185775
<rdar://problem/40372286>

Reviewed by Geoffrey Garen.

In Bug 184322 I added a number of RELEASE_ASSERT checks that certain
UI-only calls were not being made in the WebContent process.

Measurements have shown that these RELEASE_ASSERTs have regressed performance
by around 1% on some benchmarks, so we should convert them to normal asserts.

This patch changes the RELEASE_ASSERTs into ASSERTs.

Source/WebCore:

* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::setDragImage):
* platform/mac/PlatformScreenMac.mm:
(WebCore::displayID):
(WebCore::firstScreen):
(WebCore::window):
(WebCore::screen):
(WebCore::getScreenProperties):
(WebCore::screenIsMonochrome):

Source/WebKit:

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::pluginFocusOrWindowFocusChanged):
(WebKit::WebViewImpl::validateUserInterfaceItem):
(WebKit::WebViewImpl::startSpeaking):
(WebKit::WebViewImpl::stopSpeaking):
(WebKit::applicationFlagsForDrag):
(WebKit::WebViewImpl::doneWithKeyEvent):
* UIProcess/Gamepad/mac/UIGamepadProviderMac.mm:
(WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::enterFullscreen):
(WebKit::PluginProcessProxy::beginModal):
(WebKit::PluginProcessProxy::endModal):
* UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::DisplayLink):
(WebKit::DisplayLink::~DisplayLink):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::getIsSpeaking):
(WebKit::WebPageProxy::speak):
(WebKit::WebPageProxy::stopSpeaking):
(WebKit::WebPageProxy::startDisplayLink):
* UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::showPopupMenu):

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

18 months agoHandle failure to extend sandbox gracefully
eric.carlson@apple.com [Fri, 18 May 2018 20:13:34 +0000 (20:13 +0000)]
Handle failure to extend sandbox gracefully
https://bugs.webkit.org/show_bug.cgi?id=185779
<rdar://problem/40316349>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm

* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::deny): Include the error string in the promise rejection.
* Modules/mediastream/UserMediaRequest.h:

Source/WebKit:

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _denyNextUserMediaRequest]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Don't append
the request to m_grantedRequests if it failed.
(WebKit::UserMediaPermissionRequestManagerProxy::grantAccess): Deny request if willCreateMediaStream
fails.
* UIProcess/UserMediaPermissionRequestManagerProxy.h:

* UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::willCreateMediaStream): Don't try to extend sandbox if
we fail to allocate all necessary handles.
* UIProcess/UserMediaProcessManager.h:
(WebKit::UserMediaProcessManager::denyNextUserMediaRequest): New, for testing.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm: Added.
(-[SimulateFailedSandboxMessageHandler userContentController:didReceiveScriptMessage:]):
(-[SimulateFailedSandboxUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(-[SimulateFailedSandboxUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(MediaCaptureSimulateFailedSandbox::SetUp):
(MediaCaptureSimulateFailedSandbox::loadTestAndWaitForMessage):
(TEST_F):
* TestWebKitAPI/Tests/WebKitCocoa/disableGetUserMedia.html:

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

18 months ago"debug-safari --ios-simulator" creates lldb target to launch Mac Safari
dbates@webkit.org [Fri, 18 May 2018 19:33:35 +0000 (19:33 +0000)]
"debug-safari --ios-simulator" creates lldb target to launch Mac Safari
https://bugs.webkit.org/show_bug.cgi?id=185774

Reviewed by Andy Estes.

For now, the script debug-safari is not supported for WebKit for iOS. To
fix this we differentiate between the Apple Mac port and Apple embedded
ports.

* Scripts/webkitdirs.pm:
(safariPath): Substitute isAppleMacWebKit() for isAppleCocoaWebKit().
(isAppleMacWebKit): Added.
(isAppleCocoaWebKit): Write in terms of isAppleMacWebKit() and isEmbeddedWebKit().
(launcherName): Substitute isAppleMacWebKit() for isAppleCocoaWebKit().
(mobileSafariBundle): Substitute isIOSWebKit() for isAppleCocoaWebKit().
(debugSafari): Substitute isAppleMacWebKit() for isAppleCocoaWebKit().
(runSafari): Ditto.
(runMiniBrowser): Ditto.
(debugMiniBrowser): Ditto.
(runWebKitTestRunner): Ditto.
(debugWebKitTestRunner): Ditto.

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

18 months ago[Web Animations] Turn Web Animations with CSS integration on for test runners
graouts@webkit.org [Fri, 18 May 2018 19:01:00 +0000 (19:01 +0000)]
[Web Animations] Turn Web Animations with CSS integration on for test runners
https://bugs.webkit.org/show_bug.cgi?id=184819
<rdar://problem/39597337>

Unreviewed. Rolling out the patch for this bug, it caused some flaky timeouts for animation suspension tests.

LayoutTests/imported/mozilla:

* css-animations/test_animation-cancel.html:
* css-animations/test_animation-computed-timing.html:
* css-animations/test_animation-currenttime.html:
* css-animations/test_animation-finish.html:
* css-animations/test_animation-finished.html:
* css-animations/test_animation-id.html:
* css-animations/test_animation-pausing.html:
* css-animations/test_animation-playstate.html:
* css-animations/test_animation-ready.html:
* css-animations/test_animation-reverse.html:
* css-animations/test_animation-starttime.html:
* css-animations/test_animations-dynamic-changes.html:
* css-animations/test_cssanimation-animationname.html:
* css-animations/test_document-get-animations.html:
* css-animations/test_effect-target.html:
* css-animations/test_element-get-animations.html:
* css-animations/test_event-dispatch.html:
* css-animations/test_event-order.html:
* css-animations/test_keyframeeffect-getkeyframes.html:
* css-animations/test_pseudoElement-get-animations.html:
* css-animations/test_setting-effect.html:
* css-transitions/test_animation-cancel.html:
* css-transitions/test_animation-computed-timing.html:
* css-transitions/test_animation-currenttime.html:
* css-transitions/test_animation-finished.html:
* css-transitions/test_animation-pausing.html:
* css-transitions/test_animation-ready.html:
* css-transitions/test_animation-starttime.html:
* css-transitions/test_csstransition-transitionproperty.html:
* css-transitions/test_document-get-animations.html:
* css-transitions/test_effect-target.html:
* css-transitions/test_element-get-animations.html:
* css-transitions/test_event-dispatch.html:
* css-transitions/test_keyframeeffect-getkeyframes.html:
* css-transitions/test_pseudoElement-get-animations.html:
* css-transitions/test_setting-effect.html:

LayoutTests/imported/w3c:

* web-platform-tests/css-timing-1/frames-timing-functions-output.html:
* web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
* web-platform-tests/web-animations/interfaces/Animation/ready.html:
* web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html:
* web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html:

Source/WebCore:

Tests: animations/animation-internals-api-multiple-keyframes.html
       animations/animation-internals-api.html
       transitions/transition-drt-api-delay.html
       transitions/transition-drt-api.html

* dom/Element.cpp:
(WebCore::Element::removedFromAncestor):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::clearHostElement):
* page/FrameView.cpp:
(WebCore::FrameView::didDestroyRenderTree):
* page/RuntimeEnabledFeatures.h:
* rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::tearDownRenderers):

Source/WebKit:

* Shared/WebPreferences.yaml:

Tools:

* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
(shouldOverrideAndDisableWebAnimationsCSSIntegrationPreference): Deleted.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::TestOptions):
(WTR::isLegacyAnimationEngineTestPath): Deleted.
* WebKitTestRunner/TestOptions.h:

LayoutTests:

* TestExpectations:
* animations/3d/matrix-transform-type-animation.html:
* animations/3d/replace-filling-transform.html:
* animations/3d/transform-origin-vs-functions.html:
* animations/3d/transform-perspective.html:
* animations/additive-transform-animations.html:
* animations/animation-border-overflow.html:
* animations/animation-callback-timestamp.html:
* animations/animation-controller-drt-api.html:
* animations/animation-direction-alternate-reverse-expected.txt:
* animations/animation-direction-alternate-reverse.html:
* animations/animation-direction-reverse-fill-mode-hardware.html:
* animations/animation-direction-reverse-hardware-opacity.html:
* animations/animation-direction-reverse-hardware.html:
* animations/animation-direction-reverse-non-hardware.html:
* animations/animation-direction-reverse-timing-functions-hardware.html:
* animations/animation-direction-reverse-timing-functions.html:
* animations/animation-direction.html:
* animations/animation-followed-by-transition.html:
* animations/animation-hit-test-transform.html:
* animations/animation-hit-test.html:
* animations/animation-internals-api-expected.txt: Added.
* animations/animation-internals-api-multiple-keyframes-expected.txt: Added.
* animations/animation-internals-api-multiple-keyframes.html: Added.
* animations/animation-internals-api.html: Added.
* animations/animation-offscreen-to-onscreen.html:
* animations/big-rotation-expected.txt:
* animations/big-rotation.html:
* animations/change-completed-animation-transform.html:
* animations/change-keyframes.html:
* animations/combo-transform-rotate+scale.html:
* animations/cross-fade-background-image.html:
* animations/cross-fade-border-image-source.html:
* animations/cross-fade-list-style-image.html:
* animations/cross-fade-webkit-mask-box-image.html:
* animations/duplicate-keys-expected.html:
* animations/duplicate-keys.html:
* animations/duplicated-keyframes-name.html:
* animations/fill-forwards-end-state.html:
* animations/fill-mode-forwards-zero-duration-expected.txt:
* animations/fill-mode-forwards-zero-duration.html:
* animations/font-variations/font-stretch.html:
* animations/font-variations/font-style.html:
* animations/font-variations/font-variation-settings-order.html:
* animations/font-variations/font-variation-settings-unlike.html:
* animations/font-variations/font-variation-settings.html:
* animations/font-variations/font-weight.html:
* animations/generic-from-to.html:
* animations/import.html:
* animations/keyframe-multiple-timing-functions-transform.html:
* animations/keyframe-timing-functions-transform.html:
* animations/keyframe-timing-functions.html:
* animations/keyframe-timing-functions2.html:
* animations/keyframes-comma-separated.html:
* animations/keyframes-dynamic.html:
* animations/keyframes-infinite-iterations.html:
* animations/keyframes-invalid-keys.html:
* animations/keyframes-out-of-order.html:
* animations/keyframes.html:
* animations/lineheight-animation.html:
* animations/longhand-timing-function.html:
* animations/matrix-anim.html:
* animations/missing-from-to-transforms.html:
* animations/missing-from-to.html:
* animations/missing-keyframe-properties-repeating.html:
* animations/missing-keyframe-properties-timing-function.html:
* animations/missing-keyframe-properties.html:
* animations/missing-values-first-keyframe.html:
* animations/missing-values-last-keyframe.html:
* animations/multiple-animations-timing-function.html:
* animations/multiple-animations.html:
* animations/multiple-keyframes.html:
* animations/negative-delay.html:
* animations/pause-crash.html:
* animations/play-state-start-paused.html:
* animations/simultaneous-start-left.html:
* animations/simultaneous-start-transform.html:
* animations/spring-function.html:
* animations/stacking-context-unchanged-while-running.html:
* animations/timing-functions.html:
* animations/transition-and-animation-1.html:
* animations/transition-and-animation-2.html:
* animations/transition-and-animation-3.html:
* animations/unanimated-style.html:
* animations/unprefixed-keyframes.html:
* animations/width-using-ems.html:
* compositing/animation/animated-composited-inside-hidden.html:
* compositing/animation/computed-style-during-delay.html:
* compositing/animation/layer-for-filling-animation.html:
* compositing/backing/backface-visibility-flip.html:
* compositing/contents-scale/animating.html:
* compositing/layer-creation/animation-overlap-with-children.html:
* compositing/layer-creation/mismatched-rotated-transform-animation-overlap.html:
* compositing/layer-creation/multiple-keyframes-animation-overlap.html:
* compositing/layer-creation/overlap-animation-clipping.html:
* compositing/layer-creation/overlap-animation-container.html:
* compositing/layer-creation/overlap-animation.html:
* compositing/layer-creation/scale-rotation-animation-overlap.html:
* compositing/layer-creation/translate-animation-overlap.html:
* compositing/layer-creation/translate-scale-animation-overlap.html:
* compositing/overflow/overflow-positioning.html:
* compositing/reflections/animation-inside-reflection.html:
* compositing/reflections/nested-reflection-animated.html:
* compositing/reflections/nested-reflection-transition.html:
* compositing/transitions/scale-transition-no-start.html:
* compositing/transitions/singular-scale-transition.html:
* compositing/visible-rect/animated.html:
* css3/calc/transitions-dependent.html:
* css3/calc/transitions.html:
* css3/filters/backdrop/animation.html:
* css3/filters/composited-during-animation.html:
* css3/filters/filter-animation-from-none-hw.html:
* css3/filters/filter-animation-from-none-multi-hw.html:
* css3/filters/filter-animation-from-none-multi.html:
* css3/filters/filter-animation-from-none.html:
* css3/filters/filter-animation-hw.html:
* css3/filters/filter-animation-multi-hw.html:
* css3/filters/filter-animation-multi.html:
* css3/filters/filter-animation.html:
* css3/masking/clip-path-animation.html:
* fast/animation/css-animation-resuming-when-visible-with-style-change.html:
* fast/animation/css-animation-resuming-when-visible.html:
* fast/animation/css-animation-throttling-lowPowerMode.html:
* fast/css-generated-content/pseudo-animation.html:
* fast/css-generated-content/pseudo-transition.html:
* fast/filter-image/filter-image-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html:
* imported/blink/transitions/unprefixed-transform.html:
* platform/ios/TestExpectations:
* platform/win/TestExpectations:
* transitions/background-position-transitions.html:
* transitions/background-transitions.html:
* transitions/blendmode-transitions.html:
* transitions/border-radius-transition.html:
* transitions/clip-path-path-transitions.html:
* transitions/clip-path-transitions.html:
* transitions/clip-transition.html:
* transitions/color-transition-all.html:
* transitions/color-transition-premultiplied.html:
* transitions/color-transition-rounding.html:
* transitions/cross-fade-background-image.html:
* transitions/cross-fade-border-image.html:
* transitions/cubic-bezier-overflow-color.html:
* transitions/cubic-bezier-overflow-length.html:
* transitions/cubic-bezier-overflow-shadow.html:
* transitions/cubic-bezier-overflow-svg-length.html:
* transitions/cubic-bezier-overflow-transform.html:
* transitions/default-timing-function.html:
* transitions/delay.html:
* transitions/flex-transitions.html:
* transitions/font-family-during-transition.html:
* transitions/frames-timing-function.html:
* transitions/interrupted-all-transition.html:
* transitions/longhand-vs-shorthand-initial.html:
* transitions/mask-transitions.html:
* transitions/min-max-width-height-transitions.html:
* transitions/mismatched-shadow-styles.html:
* transitions/mismatched-shadow-transitions.html:
* transitions/mixed-type.html:
* transitions/move-after-transition.html:
* transitions/multiple-background-size-transitions.html:
* transitions/multiple-background-transitions.html:
* transitions/multiple-mask-transitions.html:
* transitions/multiple-shadow-transitions.html:
* transitions/negative-delay.html:
* transitions/opacity-transition-zindex.html:
* transitions/remove-transition-style.html:
* transitions/shape-outside-transitions.html:
* transitions/shorthand-border-transitions.html:
* transitions/shorthand-transitions.html:
* transitions/steps-timing-function.html:
* transitions/svg-layout-transition.html:
* transitions/svg-text-shadow-transition.html:
* transitions/svg-transitions.html:
* transitions/text-indent-transition.html:
* transitions/transform-op-list-match.html:
* transitions/transform-op-list-no-match.html:
* transitions/transition-drt-api-delay-expected.txt: Added.
* transitions/transition-drt-api-delay.html: Added.
* transitions/transition-drt-api-expected.txt: Added.
* transitions/transition-drt-api.html: Added.
* transitions/transition-end-event-rendering.html:
* transitions/transition-hit-test-transform.html:
* transitions/transition-hit-test.html:
* transitions/transition-in-delay-phase.html:
* transitions/transition-on-element-with-content.html:
* transitions/transition-shorthand-delay.html:
* transitions/transition-timing-function.html:
* transitions/transition-to-from-auto.html:
* transitions/transition-to-from-undefined.html:
* transitions/visited-link-color.html:
* transitions/zero-duration-in-list.html:
* transitions/zero-duration-with-non-zero-delay-end.html:
* transitions/zero-duration-with-non-zero-delay-start.html:
* webanimations/css-animations.html:
* webanimations/css-transitions.html:

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

18 months agoUnreviewed, fix exception checking, part 2
utatane.tea@gmail.com [Fri, 18 May 2018 18:55:35 +0000 (18:55 +0000)]
Unreviewed, fix exception checking, part 2
https://bugs.webkit.org/show_bug.cgi?id=185350

* dfg/DFGOperations.cpp:
(JSC::DFG::putByValInternal):
* jit/JITOperations.cpp:
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::putDirectAccessorWithReify):

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

18 months ago[Curl] Bug fix on suspend/resume behavior.
commit-queue@webkit.org [Fri, 18 May 2018 18:28:37 +0000 (18:28 +0000)]
[Curl] Bug fix on suspend/resume behavior.
https://bugs.webkit.org/show_bug.cgi?id=183089

The flag was not set correctly. Also wrong method was called.

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2018-05-18
Reviewed by Youenn Fablet.

Source/WebCore:

Enable loader tests to cover this case.

* platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::cancel): Remove unnecessary cleanup. Use runXXX method.
(WebCore::CurlRequest::suspend): Added cancel check.
(WebCore::CurlRequest::resume): Ditto.
(WebCore::CurlRequest::callClient): Use runXXX method. Change to move semantics.
(WebCore::runOnMainThread): Added.
(WebCore::CurlRequest::runOnWorkerThreadIfRequired): Added.
(WebCore::CurlRequest::setupTransfer): Bug fix. Call setRequestPaused directly.
(WebCore::CurlRequest::didReceiveData): Add state flag update.
(WebCore::CurlRequest::invokeDidReceiveResponseForFile): Use runXXX to simplify.
(WebCore::CurlRequest::completeDidReceiveResponse): Ditto.
(WebCore::CurlRequest::setRequestPaused): Protect state change by mutex.
(WebCore::CurlRequest::setCallbackPaused): Ditto.
(WebCore::CurlRequest::invokeCancel): Added.
(WebCore::CurlRequest::pausedStatusChanged): Use runXXX to simplify.
(WebCore::CurlRequest::updateHandlePauseState): Accessor for m_isHandlePaused.
(WebCore::CurlRequest::isHandlePaused const): Ditto.
* platform/network/curl/CurlRequest.h: Add mutex and paused state.
(WebCore::CurlRequest::shouldBePaused const): Rename from isPaused.
(WebCore::CurlRequest::isPaused const): Deleted.

LayoutTests:

* platform/wincairo/TestExpectations: Enable loader/ tests for WinCairo.

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

18 months ago[Extra zoom mode] Clearing text fields should dispatch input events of type "deleteCo...
wenson_hsieh@apple.com [Fri, 18 May 2018 18:23:45 +0000 (18:23 +0000)]
[Extra zoom mode] Clearing text fields should dispatch input events of type "deleteContent"
https://bugs.webkit.org/show_bug.cgi?id=185769
<rdar://problem/40368261>

Reviewed by Tim Horton.

Source/WebKit:

When setting the text of the currently focused element to the empty string, just delete the text instead of
pretending to insert an empty string. This mimics deleting content using the delete key on macOS, and fires an
input event with inputType "deleteContent" instead of "insertText".

Test: fast/forms/extrazoom/delete-content-in-text-field.html

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setTextAsync):

LayoutTests:

Adds a new test to inspect the input events dispatched as a result of inserting and deleting text in a form
control. The inputTypes should be "insertText" and "deleteContent", respectively; the data values should be the
inserted string and null, respectively.

* fast/forms/extrazoom/delete-content-in-text-field-expected.txt: Added.
* fast/forms/extrazoom/delete-content-in-text-field.html: Added.

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

18 months agoRenamed "trackNetworkActivity" to "tracksResourceLoadMilestones"
krollin@apple.com [Fri, 18 May 2018 18:17:28 +0000 (18:17 +0000)]
Renamed "trackNetworkActivity" to "tracksResourceLoadMilestones"
https://bugs.webkit.org/show_bug.cgi?id=185523
<rdar://problem/40136361>

Reviewed by Geoffrey Garen.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::networkActivityTrackingEnabled):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
* NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::tracksResourceLoadMilestones const):
(WebKit::NetworkProcess::trackNetworkActivity const): Deleted.
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationTracksResourceLoadMilestones):
(WKContextConfigurationSetTracksResourceLoadMilestones):
(WKContextConfigurationTrackNetworkActivity): Deleted.
(WKContextConfigurationSetTrackNetworkActivity): Deleted.
* UIProcess/API/C/WKContextConfigurationRef.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration tracksResourceLoadMilestones]):
(-[_WKProcessPoolConfiguration setTracksResourceLoadMilestones:]):
(-[_WKProcessPoolConfiguration trackNetworkActivity]): Deleted.
(-[_WKProcessPoolConfiguration setTrackNetworkActivity:]): Deleted.
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):

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

18 months agoLayout Test http/wpt/service-workers/header-filtering.https.html is a flaky failure
youenn@apple.com [Fri, 18 May 2018 17:58:53 +0000 (17:58 +0000)]
Layout Test http/wpt/service-workers/header-filtering.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=184469
<rdar://problem/39428226>

Unreviewed.

* platform/mac-wk2/TestExpectations: Removed flaky expectation that was added back inadvertently.

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

18 months ago[Win][MiniBrowser] Create MainWindow even in transparent mode
Hironori.Fujii@sony.com [Fri, 18 May 2018 17:36:26 +0000 (17:36 +0000)]
[Win][MiniBrowser] Create MainWindow even in transparent mode
https://bugs.webkit.org/show_bug.cgi?id=185597

Reviewed by Per Arne Vollan.

The current implementations doesn't create the MainWindow in
transparent mode. The screenshot is in Bug 58300.

There were three problems:
- Can't control the WebView. ie. going backward and forward.
- Can't quit the program.
- It makes implementation complicated.

* MiniBrowser/win/Common.cpp (resizeSubViews): Resize sub views
even in the transparent mode.
* MiniBrowser/win/WinMain.cpp:
(wWinMain): Create the main window even in the transparent mode.

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

18 months agoAvoid keeping the frame alive when ref'ing a WindowProxy
cdumez@apple.com [Fri, 18 May 2018 17:34:19 +0000 (17:34 +0000)]
Avoid keeping the frame alive when ref'ing a WindowProxy
https://bugs.webkit.org/show_bug.cgi?id=185737
<rdar://problem/40004666>

Reviewed by Sam Weinig.

Source/WebCore:

Avoid keeping the frame alive when ref'ing a WindowProxy by making WindowProxy
manage its own refcount (instead of proxying refcounting to the Frame). As a
result, a WindowProxy can now be detached from its Frame. When detached, it
return null when asked for a JSWindowProxy.

It is important to not extend the lifetime of the Frame because we want script
to stop running when the Page gets destroyed.

* bindings/js/JSWindowProxy.cpp:
(WebCore::toJS):
(WebCore::toJSWindowProxy):
* bindings/js/JSWindowProxy.h:
(WebCore::toJSWindowProxy):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::loadModuleScriptInWorld):
(WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld):
(WebCore::ScriptController::evaluateModule):
(WebCore::ScriptController::setupModuleScriptHandlers):
(WebCore::ScriptController::jsWindowProxy):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::executeIfJavaScriptURL):
* bindings/js/ScriptController.h:
(WebCore::ScriptController::globalObject):
* bindings/js/ScriptControllerMac.mm:
(WebCore::ScriptController::windowScriptObject):
* bindings/js/ScriptState.cpp:
(WebCore::mainWorldExecState):
* bindings/js/WindowProxy.cpp:
(WebCore::WindowProxy::WindowProxy):
(WebCore::WindowProxy::~WindowProxy):
(WebCore::WindowProxy::detachFromFrame):
(WebCore::WindowProxy::createJSWindowProxy):
(WebCore::WindowProxy::globalObject):
(WebCore::WindowProxy::createJSWindowProxyWithInitializedScript):
(WebCore::WindowProxy::setDOMWindow):
(WebCore::WindowProxy::window const):
(WebCore::WindowProxy::ref): Deleted.
(WebCore::WindowProxy::deref): Deleted.
* bindings/js/WindowProxy.h:
(WebCore::WindowProxy::create):
(WebCore::WindowProxy::frame const):
(WebCore::WindowProxy::jsWindowProxy):
* dom/DocumentTouch.cpp:
(WebCore::DocumentTouch::createTouch):
* page/AbstractFrame.cpp:
(WebCore::AbstractFrame::AbstractFrame):
(WebCore::AbstractFrame::~AbstractFrame):
* page/AbstractFrame.h:

Source/WebKit:

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::windowScriptNPObject):

Source/WebKitLegacy/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getWindowNPObject):

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

18 months ago[iOS] Password fields obscure the text with rectangles instead of circles
mmaxfield@apple.com [Fri, 18 May 2018 17:31:46 +0000 (17:31 +0000)]
[iOS] Password fields obscure the text with rectangles instead of circles
https://bugs.webkit.org/show_bug.cgi?id=185760
<rdar://problem/38644697>

Reviewed by Zalan Bujtas.

Source/WebCore:

Password fields are obscured by drawing U+25CF BLACK CIRCLE. On iOS, we have custom handling
for this character. However, this custom handling is unnecessary and isn't present on macOS.
Instead, we should simply unify the password obscuring codepath between iOS and macOS.

Test: fast/text/black-circle.html

* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::requiresCustomFallbackFont):
(WebCore::FontCache::getCustomFallbackFont):

LayoutTests:

* fast/text/black-circle-expected.html: Added.
* fast/text/black-circle.html: Added.

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

18 months agoJSC should have InstanceOf inline caching
fpizlo@apple.com [Fri, 18 May 2018 17:29:56 +0000 (17:29 +0000)]
JSC should have InstanceOf inline caching
https://bugs.webkit.org/show_bug.cgi?id=185652

Reviewed by Saam Barati.
JSTests:

* microbenchmarks/instanceof-always-hit-one.js: Added.
* microbenchmarks/instanceof-always-hit-two.js: Added.
* microbenchmarks/instanceof-dynamic.js: Added.
* microbenchmarks/instanceof-sometimes-hit.js: Added.
* stress/instanceof-dynamic-proxy-check-structure.js: Added.
* stress/instanceof-dynamic-proxy-loop.js: Added.
* stress/instanceof-dynamic-proxy.js: Added.
* stress/instanceof-hit-one-object-then-another.js: Added.
* stress/instanceof-hit-two-objects-then-another.js: Added.
* stress/instanceof-prototype-change.js: Added.
* stress/instanceof-prototype-change-to-hit.js: Added.
* stress/instanceof-prototype-change-to-null.js: Added.
* stress/instanceof-prototype-change-watchpointable.js: Added.

Source/JavaScriptCore:

This adds a polymorphic inline cache for instanceof. It caches hits and misses. It uses the
existing PolymorphicAccess IC machinery along with all of its heuristics. If we ever generate
too many cases, we emit the generic instanceof implementation instead.

All of the JIT tiers use the same InstanceOf IC. It uses the existing JITInlineCacheGenerator
abstraction.

This is a ~40% speed-up on instanceof microbenchmarks. It's a *tiny* (~1%) speed-up on
Octane/boyer. I think I can make that speed-up bigger by inlining the inline cache.

* API/tests/testapi.mm:
(testObjectiveCAPIMain):
* JavaScriptCore.xcodeproj/project.pbxproj:
* Sources.txt:
* b3/B3Effects.h:
(JSC::B3::Effects::forReadOnlyCall):
* bytecode/AccessCase.cpp:
(JSC::AccessCase::guardedByStructureCheck const):
(JSC::AccessCase::canReplace const):
(JSC::AccessCase::visitWeak const):
(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generateImpl):
* bytecode/AccessCase.h:
* bytecode/InstanceOfAccessCase.cpp: Added.
(JSC::InstanceOfAccessCase::create):
(JSC::InstanceOfAccessCase::dumpImpl const):
(JSC::InstanceOfAccessCase::clone const):
(JSC::InstanceOfAccessCase::~InstanceOfAccessCase):
(JSC::InstanceOfAccessCase::InstanceOfAccessCase):
* bytecode/InstanceOfAccessCase.h: Added.
(JSC::InstanceOfAccessCase::prototype const):
* bytecode/ObjectPropertyCondition.h:
(JSC::ObjectPropertyCondition::hasPrototypeWithoutBarrier):
(JSC::ObjectPropertyCondition::hasPrototype):
* bytecode/ObjectPropertyConditionSet.cpp:
(JSC::generateConditionsForInstanceOf):
* bytecode/ObjectPropertyConditionSet.h:
* bytecode/PolymorphicAccess.cpp:
(JSC::PolymorphicAccess::addCases):
(JSC::PolymorphicAccess::regenerate):
(WTF::printInternal):
* bytecode/PropertyCondition.cpp:
(JSC::PropertyCondition::dumpInContext const):
(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint const):
(JSC::PropertyCondition::validityRequiresImpurePropertyWatchpoint const):
(WTF::printInternal):
* bytecode/PropertyCondition.h:
(JSC::PropertyCondition::absenceWithoutBarrier):
(JSC::PropertyCondition::absenceOfSetEffectWithoutBarrier):
(JSC::PropertyCondition::hasPrototypeWithoutBarrier):
(JSC::PropertyCondition::hasPrototype):
(JSC::PropertyCondition::hasPrototype const):
(JSC::PropertyCondition::prototype const):
(JSC::PropertyCondition::hash const):
(JSC::PropertyCondition::operator== const):
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::StructureStubInfo):
(JSC::StructureStubInfo::reset):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::considerCaching):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGInlineCacheWrapper.h:
* dfg/DFGInlineCacheWrapperInlines.h:
(JSC::DFG::InlineCacheWrapper<GeneratorType>::finalize):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addInstanceOf):
* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::usedRegisters):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForCells):
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForObject): Deleted.
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileAssertNotEmpty):
(JSC::FTL::DFG::LowerDFGToB3::compilePutById):
(JSC::FTL::DFG::LowerDFGToB3::compileNumberIsInteger):
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
(JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf):
(JSC::FTL::DFG::LowerDFGToB3::getById):
(JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis):
* jit/ICStats.h:
* jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::link):
* jit/JIT.h:
* jit/JITInlineCacheGenerator.cpp:
(JSC::JITInlineCacheGenerator::JITInlineCacheGenerator):
(JSC::JITInlineCacheGenerator::finalize):
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITByIdGenerator::finalize):
(JSC::JITInstanceOfGenerator::JITInstanceOfGenerator):
(JSC::JITInstanceOfGenerator::generateFastPath):
(JSC::JITInstanceOfGenerator::finalize):
* jit/JITInlineCacheGenerator.h:
(JSC::JITInlineCacheGenerator::reportSlowPathCall):
(JSC::JITInlineCacheGenerator::slowPathBegin const):
(JSC::JITInstanceOfGenerator::JITInstanceOfGenerator):
(JSC::finalizeInlineCaches):
(JSC::JITByIdGenerator::reportSlowPathCall): Deleted.
(JSC::JITByIdGenerator::slowPathBegin const): Deleted.
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emitSlow_op_instanceof):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompileGetByValWithCachedId):
(JSC::JIT::privateCompilePutByValWithCachedId):
* jit/RegisterSet.cpp:
(JSC::RegisterSet::stubUnavailableRegisters):
* jit/Repatch.cpp:
(JSC::tryCacheIn):
(JSC::tryCacheInstanceOf):
(JSC::repatchInstanceOf):
(JSC::resetPatchableJump):
(JSC::resetIn):
(JSC::resetInstanceOf):
* jit/Repatch.h:
* runtime/Options.h:
* runtime/Structure.h:

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

18 months agoFix the ENABLE(EXTRA_ZOOM_MODE) build.
aestes@apple.com [Fri, 18 May 2018 17:13:08 +0000 (17:13 +0000)]
Fix the ENABLE(EXTRA_ZOOM_MODE) build.

* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring):

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

18 months agoUnreviewed, rolling out r231935.
cdumez@apple.com [Fri, 18 May 2018 17:03:56 +0000 (17:03 +0000)]
Unreviewed, rolling out r231935.

Caused an accessibility test to fail

Reverted changeset:

"RenderLayer::scrollRectToVisible() should not propagate a
subframe's scroll to its cross-origin parent"
https://bugs.webkit.org/show_bug.cgi?id=185664
https://trac.webkit.org/changeset/231935

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

18 months ago[LFC] Implement height computation for non-replaced floating elements.
zalan@apple.com [Fri, 18 May 2018 16:32:14 +0000 (16:32 +0000)]
[LFC] Implement height computation for non-replaced floating elements.
https://bugs.webkit.org/show_bug.cgi?id=185767

Reviewed by Antti Koivisto.

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeFloatingHeight const):
(WebCore::Layout::FormattingContext::computeFloatingNonReplacedHeight const):
(WebCore::Layout::FormattingContext::contentHeightForFormattingContextRoot const):
* layout/FormattingContext.h:

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

18 months agoUnreviewed, fix exception checking
utatane.tea@gmail.com [Fri, 18 May 2018 16:15:50 +0000 (16:15 +0000)]
Unreviewed, fix exception checking
https://bugs.webkit.org/show_bug.cgi?id=185350

* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::putDirectWithReify):
(JSC::CommonSlowPaths::putDirectAccessorWithReify):

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

18 months ago-Wmemset-elt-size warning in LibWebRTCSocket constructor
youenn@apple.com [Fri, 18 May 2018 16:08:09 +0000 (16:08 +0000)]
-Wmemset-elt-size warning in LibWebRTCSocket constructor
https://bugs.webkit.org/show_bug.cgi?id=185555
<rdar://problem/40217250>

Reviewed by Darin Adler.

GetOption implementation was broken in that it was not initializing properly its array of options.
This patch fixes it by using an array of optional<int> which are initialized by default.
When no value is set, we return the error code -1.
In theory, we should go to NetworkProcess to get the actual value.
Since GetOption is not used in practice, we just do this best effort implementation of storing previously set values.

* WebProcess/Network/webrtc/LibWebRTCSocket.cpp:
(WebKit::LibWebRTCSocket::LibWebRTCSocket):
(WebKit::LibWebRTCSocket::GetOption):
* WebProcess/Network/webrtc/LibWebRTCSocket.h:

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

18 months agoMake all SVG shape interfaces inherit from SVGGeometryElement
krit@webkit.org [Fri, 18 May 2018 15:22:55 +0000 (15:22 +0000)]
Make all SVG shape interfaces inherit from SVGGeometryElement
https://bugs.webkit.org/show_bug.cgi?id=185600

Reviewed by Antti Koivisto.

Source/WebCore:

Make all SVG shape interfaces inherit from SVGGeometryElement
as defined by SVG2:

https://svgwg.org/svg2-draft/shapes.html#DOMInterfaces

Tests: svg/dom/SVGGeometry-circle.xhtml
       svg/dom/SVGGeometry-ellipse.xhtml
       svg/dom/SVGGeometry-line.xhtml
       svg/dom/SVGGeometry-polygon.xhtml
       svg/dom/SVGGeometry-polyline.xhtml
       svg/dom/SVGGeometry-rect.xhtml

* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::getTotalLength const): Added shape
        independent implementation for all methods defined
        by SVGGeometryElement interface. Calculations are
        based on the Path object created and referenced by
        RenderSVGShape.
(WebCore::RenderSVGShape::getPointAtLength const):
* rendering/svg/RenderSVGShape.h:
* svg/SVGCircleElement.cpp:
        Repeating pattern: Change inheritance from
        SVGGraphicsElement to SVGGeometryElement.
(WebCore::SVGCircleElement::SVGCircleElement):
* svg/SVGCircleElement.h:
* svg/SVGCircleElement.idl:
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::SVGEllipseElement):
* svg/SVGEllipseElement.h:
* svg/SVGEllipseElement.idl:
* svg/SVGGeometryElement.cpp:
(WebCore::SVGGeometryElement::getTotalLength const):
(WebCore::SVGGeometryElement::getPointAtLength const):
* svg/SVGGeometryElement.h:
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::SVGLineElement):
* svg/SVGLineElement.h:
* svg/SVGLineElement.idl:
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::SVGPolyElement):
* svg/SVGPolyElement.h:
* svg/SVGPolygonElement.idl:
* svg/SVGPolylineElement.idl:
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::SVGRectElement):
* svg/SVGRectElement.h:
* svg/SVGRectElement.idl:

LayoutTests:

Update test for inheritance of SVG shape interfaces (more passes).
Add individual tests for SVGGeometryElement interfaces for each
SVG shape. There already are more detailed tests for the methods
and the SVGPathElement interface.

* svg/dom/SVGGeometry-circle-expected.txt: Added.
* svg/dom/SVGGeometry-circle.xhtml: Added.
* svg/dom/SVGGeometry-ellipse-expected.txt: Added.
* svg/dom/SVGGeometry-ellipse.xhtml: Added.
* svg/dom/SVGGeometry-line-expected.txt: Added.
* svg/dom/SVGGeometry-line.xhtml: Added.
* svg/dom/SVGGeometry-polygon-expected.txt: Added.
* svg/dom/SVGGeometry-polygon.xhtml: Added.
* svg/dom/SVGGeometry-polyline-expected.txt: Added.
* svg/dom/SVGGeometry-polyline.xhtml: Added.
* svg/dom/SVGGeometry-rect-expected.txt: Added.
* svg/dom/SVGGeometry-rect.xhtml: Added.
* svg/dom/svg2-inheritance-expected.txt:

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

18 months ago[LFC] Implement height computation for replaced elements.
zalan@apple.com [Fri, 18 May 2018 14:31:02 +0000 (14:31 +0000)]
[LFC] Implement height computation for replaced elements.
https://bugs.webkit.org/show_bug.cgi?id=185756

Reviewed by Antti Koivisto.

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeHeight const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
(WebCore::Layout::FormattingContext::computeFloatingHeight const):
(WebCore::Layout::FormattingContext::computeReplacedHeight const):
(WebCore::Layout::FormattingContext::computeReplacedWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowReplacedHeight const):
* layout/FormattingContext.h:

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

18 months ago[LFC] Implement width computation for non-replaced floating elements.
zalan@apple.com [Fri, 18 May 2018 14:30:44 +0000 (14:30 +0000)]
[LFC] Implement width computation for non-replaced floating elements.
https://bugs.webkit.org/show_bug.cgi?id=185759

Reviewed by Antti Koivisto.

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeFloatingWidth const):
(WebCore::Layout::FormattingContext::computeFloatingNonReplacedWidth const):
* layout/FormattingContext.h:

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

18 months agoThe test fast/images/animated-image-mp4-crash.html is failing on Windows.
pvollan@apple.com [Fri, 18 May 2018 14:15:04 +0000 (14:15 +0000)]
The test fast/images/animated-image-mp4-crash.html is failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=185765

Unreviewed test gardening.

* platform/win/TestExpectations:

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

18 months ago[modern-media-controls] AirPlaySupport should be disabled by default
graouts@webkit.org [Fri, 18 May 2018 14:08:45 +0000 (14:08 +0000)]
[modern-media-controls] AirPlaySupport should be disabled by default
https://bugs.webkit.org/show_bug.cgi?id=185658
<rdar://problem/40272213>

Reviewed by Simon Fraser.

Source/WebCore:

We now only enable AirplaySupport if the controls are visible to the user _and_ media has played.

Test: media/modern-media-controls/airplay-support/airplay-support-disable-event-listeners-until-play.html

* Modules/modern-media-controls/media/airplay-support.js:
(AirplaySupport.prototype.enable):
(AirplaySupport.prototype.controlsUserVisibilityDidChange):
(AirplaySupport.prototype._shouldBeEnabled):
(AirplaySupport):

LayoutTests:

Add a new test that checks that we create an AirplaySupport object only after media has started playing.
We also modify a couple of existing tests so they are no longer flaky, as a first pass of this patch
revealed some flakiness.

* media/modern-media-controls/airplay-support/airplay-support-disable-event-listeners-until-play-expected.txt: Added.
* media/modern-media-controls/airplay-support/airplay-support-disable-event-listeners-until-play.html: Added.
* media/modern-media-controls/scrubber-support/scrubber-support-drag-expected.txt:
* media/modern-media-controls/scrubber-support/scrubber-support-drag.html:
* media/modern-media-controls/volume-support/volume-support-click-expected.txt:
* media/modern-media-controls/volume-support/volume-support-click.html:

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

18 months agoStop softlinking QuickLook when loading from client-registered schemes
timothy_horton@apple.com [Fri, 18 May 2018 08:11:17 +0000 (08:11 +0000)]
Stop softlinking QuickLook when loading from client-registered schemes
https://bugs.webkit.org/show_bug.cgi?id=185716
<rdar://problem/40303227>

Reviewed by Dan Bernstein.

No new tests, just a performance improvement.

* dom/Document.cpp:
* platform/SchemeRegistry.cpp:
* platform/ios/QuickLook.h:
* platform/ios/QuickLook.mm:
(WebCore::isQuickLookPreviewURL):
(WebCore::QLPreviewProtocol): Deleted.
Hard-code the QuickLook preview URL scheme, instead of loading the QuickLook
framework to retrieve it. It will never change, and just in case it does,
add an ASSERT (which does load QuickLook) so that we'll find out.

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

18 months ago[Web Animations] Turn Web Animations with CSS integration on for test runners
graouts@webkit.org [Fri, 18 May 2018 08:06:57 +0000 (08:06 +0000)]
[Web Animations] Turn Web Animations with CSS integration on for test runners
https://bugs.webkit.org/show_bug.cgi?id=184819
<rdar://problem/39597337>

Reviewed by Jon Lee.

LayoutTests/imported/mozilla:

Since Web Animations with CSS integration is on by default on test runners, we no longer need
the special HTML comment to turn the flag on for select tests.

* css-animations/test_animation-cancel.html:
* css-animations/test_animation-computed-timing.html:
* css-animations/test_animation-currenttime.html:
* css-animations/test_animation-finish.html:
* css-animations/test_animation-finished.html:
* css-animations/test_animation-id.html:
* css-animations/test_animation-pausing.html:
* css-animations/test_animation-playstate.html:
* css-animations/test_animation-ready.html:
* css-animations/test_animation-reverse.html:
* css-animations/test_animation-starttime.html:
* css-animations/test_animations-dynamic-changes.html:
* css-animations/test_cssanimation-animationname.html:
* css-animations/test_document-get-animations.html:
* css-animations/test_effect-target.html:
* css-animations/test_element-get-animations.html:
* css-animations/test_event-dispatch.html:
* css-animations/test_event-order.html:
* css-animations/test_keyframeeffect-getkeyframes.html:
* css-animations/test_pseudoElement-get-animations.html:
* css-animations/test_setting-effect.html:
* css-transitions/test_animation-cancel.html:
* css-transitions/test_animation-computed-timing.html:
* css-transitions/test_animation-currenttime.html:
* css-transitions/test_animation-finished.html:
* css-transitions/test_animation-pausing.html:
* css-transitions/test_animation-ready.html:
* css-transitions/test_animation-starttime.html:
* css-transitions/test_csstransition-transitionproperty.html:
* css-transitions/test_document-get-animations.html:
* css-transitions/test_effect-target.html:
* css-transitions/test_element-get-animations.html:
* css-transitions/test_event-dispatch.html:
* css-transitions/test_keyframeeffect-getkeyframes.html:
* css-transitions/test_pseudoElement-get-animations.html:
* css-transitions/test_setting-effect.html:

LayoutTests/imported/w3c:

Since Web Animations with CSS integration is on by default on test runners, we no longer need
the special HTML comment to turn the flag on for select tests.

* web-platform-tests/css-timing-1/frames-timing-functions-output.html:
* web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
* web-platform-tests/web-animations/interfaces/Animation/ready.html:
* web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html:
* web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html:

Source/WebCore:

We ensure we always call into both CSSAnimationController::cancelAnimations() and
AnimationTimeline::cancelDeclarativeAnimationsForElement() since we want teardown of animations
to be performed no matter which animation code path is used. What that in mind, we don't
conditionalize the CSSAnimationController-related ASSERT() in FrameView::didDestroyRenderTree().

* dom/Element.cpp:
(WebCore::Element::removedFromAncestor):
* dom/PseudoElement.cpp:
(WebCore::PseudoElement::clearHostElement):
* page/FrameView.cpp:
(WebCore::FrameView::didDestroyRenderTree):
* page/RuntimeEnabledFeatures.h:
* rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::tearDownRenderers):

Source/WebKit:

* Shared/WebPreferences.yaml: Leave Web Animations off by default, it's up to clients
to turn it on.

Tools:

Make the test runners turn both the main Web Animations flag and the Web Animations CSS
integration flag on.

We also remove the ability to toggle the Web Animations CSS integration flag using an HTML
comment directly at the top of the file since test runners now set the flag on by default
and a dedicated directory exists for tests that need to run with this flag off.

* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(shouldOverrideAndDisableWebAnimationsCSSIntegrationPreference):
(runTest):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.cpp:
(WTR::isLegacyAnimationEngineTestPath):
(WTR::TestOptions::TestOptions):
* WebKitTestRunner/TestOptions.h:

LayoutTests:

Since Web Animations with CSS integration is on by default on test runners, we no longer need
the special HTML comment to turn the flag on for select tests.

* TestExpectations:
* animations/3d/matrix-transform-type-animation.html:
* animations/3d/replace-filling-transform.html:
* animations/3d/transform-origin-vs-functions.html:
* animations/3d/transform-perspective.html:
* animations/additive-transform-animations.html:
* animations/animation-border-overflow.html:
* animations/animation-callback-timestamp.html:
* animations/animation-controller-drt-api.html:
* animations/animation-direction-alternate-reverse-expected.txt:
* animations/animation-direction-alternate-reverse.html:
* animations/animation-direction-reverse-fill-mode-hardware.html:
* animations/animation-direction-reverse-hardware-opacity.html:
* animations/animation-direction-reverse-hardware.html:
* animations/animation-direction-reverse-non-hardware.html:
* animations/animation-direction-reverse-timing-functions-hardware.html:
* animations/animation-direction-reverse-timing-functions.html:
* animations/animation-direction.html:
* animations/animation-followed-by-transition.html:
* animations/animation-hit-test-transform.html:
* animations/animation-hit-test.html:
* animations/animation-internals-api-expected.txt: Removed.
* animations/animation-internals-api-multiple-keyframes-expected.txt: Removed.
* animations/animation-internals-api-multiple-keyframes.html: Removed.
* animations/animation-internals-api.html: Removed.
* animations/animation-offscreen-to-onscreen.html:
* animations/big-rotation-expected.txt:
* animations/big-rotation.html:
* animations/change-completed-animation-transform.html:
* animations/change-keyframes.html:
* animations/combo-transform-rotate+scale.html:
* animations/cross-fade-background-image.html:
* animations/cross-fade-border-image-source.html:
* animations/cross-fade-list-style-image.html:
* animations/cross-fade-webkit-mask-box-image.html:
* animations/duplicate-keys-expected.html:
* animations/duplicate-keys.html:
* animations/duplicated-keyframes-name.html:
* animations/fill-forwards-end-state.html:
* animations/fill-mode-forwards-zero-duration-expected.txt:
* animations/fill-mode-forwards-zero-duration.html:
* animations/font-variations/font-stretch.html:
* animations/font-variations/font-style.html:
* animations/font-variations/font-variation-settings-order.html:
* animations/font-variations/font-variation-settings-unlike.html:
* animations/font-variations/font-variation-settings.html:
* animations/font-variations/font-weight.html:
* animations/generic-from-to.html:
* animations/import.html:
* animations/keyframe-multiple-timing-functions-transform.html:
* animations/keyframe-timing-functions-transform.html:
* animations/keyframe-timing-functions.html:
* animations/keyframe-timing-functions2.html:
* animations/keyframes-comma-separated.html:
* animations/keyframes-dynamic.html:
* animations/keyframes-infinite-iterations.html:
* animations/keyframes-invalid-keys.html:
* animations/keyframes-out-of-order.html:
* animations/keyframes.html:
* animations/lineheight-animation.html:
* animations/longhand-timing-function.html:
* animations/matrix-anim.html:
* animations/missing-from-to-transforms.html:
* animations/missing-from-to.html:
* animations/missing-keyframe-properties-repeating.html:
* animations/missing-keyframe-properties-timing-function.html:
* animations/missing-keyframe-properties.html:
* animations/missing-values-first-keyframe.html:
* animations/missing-values-last-keyframe.html:
* animations/multiple-animations-timing-function.html:
* animations/multiple-animations.html:
* animations/multiple-keyframes.html:
* animations/negative-delay.html:
* animations/pause-crash.html:
* animations/play-state-start-paused.html:
* animations/simultaneous-start-left.html:
* animations/simultaneous-start-transform.html:
* animations/spring-function.html:
* animations/stacking-context-unchanged-while-running.html:
* animations/timing-functions.html:
* animations/transition-and-animation-1.html:
* animations/transition-and-animation-2.html:
* animations/transition-and-animation-3.html:
* animations/unanimated-style.html:
* animations/unprefixed-keyframes.html:
* animations/width-using-ems.html:
* compositing/animation/animated-composited-inside-hidden.html:
* compositing/animation/computed-style-during-delay.html:
* compositing/animation/layer-for-filling-animation.html:
* compositing/backing/backface-visibility-flip.html:
* compositing/contents-scale/animating.html:
* compositing/layer-creation/animation-overlap-with-children.html:
* compositing/layer-creation/mismatched-rotated-transform-animation-overlap.html:
* compositing/layer-creation/multiple-keyframes-animation-overlap.html:
* compositing/layer-creation/overlap-animation-clipping.html:
* compositing/layer-creation/overlap-animation-container.html:
* compositing/layer-creation/overlap-animation.html:
* compositing/layer-creation/scale-rotation-animation-overlap.html:
* compositing/layer-creation/translate-animation-overlap.html:
* compositing/layer-creation/translate-scale-animation-overlap.html:
* compositing/overflow/overflow-positioning.html:
* compositing/reflections/animation-inside-reflection.html:
* compositing/reflections/nested-reflection-animated.html:
* compositing/reflections/nested-reflection-transition.html:
* compositing/transitions/scale-transition-no-start.html:
* compositing/transitions/singular-scale-transition.html:
* compositing/visible-rect/animated.html:
* css3/calc/transitions-dependent.html:
* css3/calc/transitions.html:
* css3/filters/backdrop/animation.html:
* css3/filters/composited-during-animation.html:
* css3/filters/filter-animation-from-none-hw.html:
* css3/filters/filter-animation-from-none-multi-hw.html:
* css3/filters/filter-animation-from-none-multi.html:
* css3/filters/filter-animation-from-none.html:
* css3/filters/filter-animation-hw.html:
* css3/filters/filter-animation-multi-hw.html:
* css3/filters/filter-animation-multi.html:
* css3/filters/filter-animation.html:
* css3/masking/clip-path-animation.html:
* fast/animation/css-animation-resuming-when-visible-with-style-change.html:
* fast/animation/css-animation-resuming-when-visible.html:
* fast/animation/css-animation-throttling-lowPowerMode.html:
* fast/css-generated-content/pseudo-animation.html:
* fast/css-generated-content/pseudo-transition.html:
* fast/filter-image/filter-image-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html:
* imported/blink/transitions/unprefixed-transform.html:
* platform/ios/TestExpectations:
* platform/win/TestExpectations:
* transitions/background-position-transitions.html:
* transitions/background-transitions.html:
* transitions/blendmode-transitions.html:
* transitions/border-radius-transition.html:
* transitions/clip-path-path-transitions.html:
* transitions/clip-path-transitions.html:
* transitions/clip-transition.html:
* transitions/color-transition-all.html:
* transitions/color-transition-premultiplied.html:
* transitions/color-transition-rounding.html:
* transitions/cross-fade-background-image.html:
* transitions/cross-fade-border-image.html:
* transitions/cubic-bezier-overflow-color.html:
* transitions/cubic-bezier-overflow-length.html:
* transitions/cubic-bezier-overflow-shadow.html:
* transitions/cubic-bezier-overflow-svg-length.html:
* transitions/cubic-bezier-overflow-transform.html:
* transitions/default-timing-function.html:
* transitions/delay.html:
* transitions/flex-transitions.html:
* transitions/font-family-during-transition.html:
* transitions/frames-timing-function.html:
* transitions/interrupted-all-transition.html:
* transitions/longhand-vs-shorthand-initial.html:
* transitions/mask-transitions.html:
* transitions/min-max-width-height-transitions.html:
* transitions/mismatched-shadow-styles.html:
* transitions/mismatched-shadow-transitions.html:
* transitions/mixed-type.html:
* transitions/move-after-transition.html:
* transitions/multiple-background-size-transitions.html:
* transitions/multiple-background-transitions.html:
* transitions/multiple-mask-transitions.html:
* transitions/multiple-shadow-transitions.html:
* transitions/negative-delay.html:
* transitions/opacity-transition-zindex.html:
* transitions/remove-transition-style.html:
* transitions/shape-outside-transitions.html:
* transitions/shorthand-border-transitions.html:
* transitions/shorthand-transitions.html:
* transitions/steps-timing-function.html:
* transitions/svg-layout-transition.html:
* transitions/svg-text-shadow-transition.html:
* transitions/svg-transitions.html:
* transitions/text-indent-transition.html:
* transitions/transform-op-list-match.html:
* transitions/transform-op-list-no-match.html:
* transitions/transition-drt-api-delay-expected.txt: Removed.
* transitions/transition-drt-api-delay.html: Removed.
* transitions/transition-drt-api-expected.txt: Removed.
* transitions/transition-drt-api.html: Removed.
* transitions/transition-end-event-rendering.html:
* transitions/transition-hit-test-transform.html:
* transitions/transition-hit-test.html:
* transitions/transition-in-delay-phase.html:
* transitions/transition-on-element-with-content.html:
* transitions/transition-shorthand-delay.html:
* transitions/transition-timing-function.html:
* transitions/transition-to-from-auto.html:
* transitions/transition-to-from-undefined.html:
* transitions/visited-link-color.html:
* transitions/zero-duration-in-list.html:
* transitions/zero-duration-with-non-zero-delay-end.html:
* transitions/zero-duration-with-non-zero-delay-start.html:
* webanimations/css-animations.html:
* webanimations/css-transitions.html:

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

18 months ago[Curl] Remove unused SystemProxyWin.cpp
Hironori.Fujii@sony.com [Fri, 18 May 2018 07:41:04 +0000 (07:41 +0000)]
[Curl] Remove unused SystemProxyWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=185224

Reviewed by Antti Koivisto.

SystemProxyWin is not used at the moment. Remove it.

* NetworkProcess/win/SystemProxyWin.cpp: Removed.
* NetworkProcess/win/SystemProxyWin.h: Removed.
* PlatformWin.cmake: Removed SystemProxyWin.cpp.

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

18 months agoLazily create WebCore::Timer for WebCore::Image
ddkilzer@apple.com [Fri, 18 May 2018 03:29:19 +0000 (03:29 +0000)]
Lazily create WebCore::Timer for WebCore::Image
<https://webkit.org/b/185752>

Reviewed by Simon Fraser.

Not every image is an animated image, so lazily creating
m_animationStartTimer saves 64 bytes per instance of
WebCore::Image.

* platform/graphics/Image.cpp:
(WebCore::Image::Image): Remove default initializer for
m_animationStartTimer.
(WebCore::Image::startAnimationAsynchronously): Initialize
m_animationStartTimer if it's not already created.
* platform/graphics/Image.h:
(WebCore::Image::animationPending const): Update to check if
m_animationStartTimer has been set before dereferencing it.
(WebCore::Image::m_animationStartTimer): Change type to
std::unique_ptr<Timer>.

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

18 months agoWe don't throw SyntaxErrors for runtime generated regular expressions with errors
msaboff@apple.com [Fri, 18 May 2018 02:59:31 +0000 (02:59 +0000)]
We don't throw SyntaxErrors for runtime generated regular expressions with errors
https://bugs.webkit.org/show_bug.cgi?id=185755

Reviewed by Keith Miller.

JSTests:

New regression test.

* stress/regexp-with-runtime-syntax-errors.js: Added.
(testThrowsSyntaxtError):
(fromExecWithBadUnicodeEscape):
(fromTestWithBadUnicodeProperty):
(fromSplitWithBadUnicodeIdentity):
(fromMatchWithBadUnicodeBackReference):
(fromReplaceWithBadUnicodeEscape):
(fromSearchWithBadUnicodeEscape):

Source/JavaScriptCore:

Added a new helper that creates the correct exception to throw for each type of error when
compiling a RegExp.  Using that new helper, added missing checks for RegExp for the cases
where we create a new RegExp from an existing one.  Also refactored other places that we
throw SyntaxErrors after a failed RegExp compile to use the new helper.

* runtime/RegExp.h:
* runtime/RegExpConstructor.cpp:
(JSC::regExpCreate):
(JSC::constructRegExp):
* runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncCompile):
* yarr/YarrErrorCode.cpp:
(JSC::Yarr::errorToThrow):
* yarr/YarrErrorCode.h:

LayoutTests:

Updated test and results from reporting a SyntaxError to an Out of memory error.

* js/script-tests/stack-overflow-regexp.js:
(shouldThrow.recursiveCall):
(shouldThrow):
(recursiveCall):
* js/stack-overflow-regexp-expected.txt:

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

18 months agoRemove shrinkFootprint test from apitests since it's flaky
sbarati@apple.com [Fri, 18 May 2018 01:41:58 +0000 (01:41 +0000)]
Remove shrinkFootprint test from apitests since it's flaky
https://bugs.webkit.org/show_bug.cgi?id=185754

Reviewed by Mark Lam.

This test is flaky as it keeps failing on certain people's machines.
Having a test about OS footprint seems like it'll forever be doomed
to being flaky.

* API/tests/testapi.mm:
(testObjectiveCAPIMain):

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

18 months agoAX: [macOS] Expose the primary screen height through AX API
n_wang@apple.com [Fri, 18 May 2018 01:27:48 +0000 (01:27 +0000)]
AX: [macOS] Expose the primary screen height through AX API
https://bugs.webkit.org/show_bug.cgi?id=185742

Reviewed by Chris Fleizach.

Source/WebCore:

Added a new attribute to expose the primary screen size on both
WebAccessibilityObjectWrapper and WKAccessibilityWebPageObject.

Test: accessibility/mac/primary-screen-height.html

* WebCore.xcodeproj/project.pbxproj:
* accessibility/mac/WebAccessibilityObjectWrapperMac.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper primaryScreenHeight]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* platform/PlatformScreen.h:
* platform/mac/PlatformScreenMac.mm:
(WebCore::screenRectForPrimaryScreen):

Source/WebKit:

* WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
(-[WKAccessibilityWebPageObject accessibilityAttributeNames]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):

Tools:

* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(attributesOfElement):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::attributesOfElement):

LayoutTests:

* accessibility/mac/primary-screen-height-expected.txt: Added.
* accessibility/mac/primary-screen-height.html: Added.

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