WebKit-https.git
15 months ago[JSC] Correct values and members of JSBigInt appropriately
utatane.tea@gmail.com [Fri, 1 Jun 2018 18:47:26 +0000 (18:47 +0000)]
[JSC] Correct values and members of JSBigInt appropriately
https://bugs.webkit.org/show_bug.cgi?id=186196

Reviewed by Darin Adler.

This patch cleans up a bit to select more appropriate values and members of JSBigInt.

1. JSBigInt's structure should be StructureIsImmortal.
2. JSBigInt::allocationSize should be annotated with `inline`.
3. Remove JSBigInt::visitChildren since it is completely the same to JSCell::visitChildren.
4. Remove JSBigInt::finishCreation since it is completely the same to JSCell::finishCreation.

* runtime/JSBigInt.cpp:
(JSC::JSBigInt::allocationSize):
(JSC::JSBigInt::allocateFor):
(JSC::JSBigInt::compareToDouble):
(JSC::JSBigInt::visitChildren): Deleted.
(JSC::JSBigInt::finishCreation): Deleted.
* runtime/JSBigInt.h:

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

15 months ago[DFG] InById should be converted to MatchStructure
utatane.tea@gmail.com [Fri, 1 Jun 2018 18:39:57 +0000 (18:39 +0000)]
[DFG] InById should be converted to MatchStructure
https://bugs.webkit.org/show_bug.cgi?id=185803

Reviewed by Keith Miller.

JSTests:

* microbenchmarks/in-by-id-match.js: Added.
(test):
* microbenchmarks/in-by-id-removed.js: Added.
(test):
* stress/in-by-id-constant.js: Added.
(shouldBe):
(test1):
* stress/in-by-id-match-invalid.js: Added.
(shouldBe):
(test1):
* stress/in-by-id-match.js: Added.
(shouldBe):
(test1):

Source/JavaScriptCore:

MatchStructure is introduced for instanceof optimization. But this node
is also useful for InById node. This patch converts InById to MatchStructure
node with CheckStructures if possible by using InByIdStatus.

Added microbenchmarks show improvements.

                           baseline                  patched

in-by-id-removed       18.1196+-0.8108     ^     16.1702+-0.9773        ^ definitely 1.1206x faster
in-by-id-match         16.3912+-0.2608     ^     15.2736+-0.8173        ^ definitely 1.0732x faster

* JavaScriptCore.xcodeproj/project.pbxproj:
* Sources.txt:
* bytecode/InByIdStatus.cpp: Added.
(JSC::InByIdStatus::appendVariant):
(JSC::InByIdStatus::computeFor):
(JSC::InByIdStatus::hasExitSite):
(JSC::InByIdStatus::computeForStubInfo):
(JSC::InByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
(JSC::InByIdStatus::filter):
(JSC::InByIdStatus::dump const):
* bytecode/InByIdStatus.h: Added.
(JSC::InByIdStatus::InByIdStatus):
(JSC::InByIdStatus::state const):
(JSC::InByIdStatus::isSet const):
(JSC::InByIdStatus::operator bool const):
(JSC::InByIdStatus::isSimple const):
(JSC::InByIdStatus::numVariants const):
(JSC::InByIdStatus::variants const):
(JSC::InByIdStatus::at const):
(JSC::InByIdStatus::operator[] const):
(JSC::InByIdStatus::takesSlowPath const):
* bytecode/InByIdVariant.cpp: Added.
(JSC::InByIdVariant::InByIdVariant):
(JSC::InByIdVariant::attemptToMerge):
(JSC::InByIdVariant::dump const):
(JSC::InByIdVariant::dumpInContext const):
* bytecode/InByIdVariant.h: Added.
(JSC::InByIdVariant::isSet const):
(JSC::InByIdVariant::operator bool const):
(JSC::InByIdVariant::structureSet const):
(JSC::InByIdVariant::structureSet):
(JSC::InByIdVariant::conditionSet const):
(JSC::InByIdVariant::offset const):
(JSC::InByIdVariant::isHit const):
* bytecode/PolyProtoAccessChain.h:
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):

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

15 months agomove should only emit the move if it's actually needed
keith_miller@apple.com [Fri, 1 Jun 2018 18:11:36 +0000 (18:11 +0000)]
move should only emit the move if it's actually needed
https://bugs.webkit.org/show_bug.cgi?id=186123

Reviewed by Saam Barati.

This patch relpaces move with moveToDestinationIfNeeded. This
will prevent us from emiting moves to the same location. The old
move, has been renamed to emitMove and made private.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitGetGlobalPrivate):
(JSC::BytecodeGenerator::emitGetAsyncIterator):
(JSC::BytecodeGenerator::move): Deleted.
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::move):
(JSC::BytecodeGenerator::moveToDestinationIfNeeded): Deleted.
* bytecompiler/NodesCodegen.cpp:
(JSC::ThisNode::emitBytecode):
(JSC::SuperNode::emitBytecode):
(JSC::NewTargetNode::emitBytecode):
(JSC::ResolveNode::emitBytecode):
(JSC::TaggedTemplateNode::emitBytecode):
(JSC::ArrayNode::emitBytecode):
(JSC::ObjectLiteralNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_putByIdDirect):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_putByIdDirectPrivate):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_putByValDirect):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_toNumber):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_toString):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_toObject):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_idWithProfile):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isJSArray):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isProxyObject):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isRegExpObject):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isObject):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isDerivedArray):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isMap):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isSet):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::emitPostIncOrDec):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
(JSC::LogicalOpNode::emitBytecode):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):
(JSC::ClassExprNode::emitBytecode):
(JSC::DestructuringAssignmentNode::emitBytecode):
(JSC::ArrayPatternNode::emitDirectBinding):
(JSC::ObjectPatternNode::bindValue const):
(JSC::AssignmentElementNode::bindValue const):
(JSC::ObjectSpreadExpressionNode::emitBytecode):

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

15 months agoexport-w3c-test-changes cannot apply patches when some w3c-import.log files are changed
commit-queue@webkit.org [Fri, 1 Jun 2018 16:36:01 +0000 (16:36 +0000)]
export-w3c-test-changes cannot apply patches when some w3c-import.log files are changed
https://bugs.webkit.org/show_bug.cgi?id=186133

Patch by Frederic Wang <fwang@igalia.com> on 2018-06-01
Reviewed by Youenn Fablet.

* Scripts/webkitpy/w3c/test_exporter.py: Exclude w3c-import.log from the diff.
* Scripts/webkitpy/w3c/test_exporter_unittest.py: Add unit test.

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

15 months ago[GTK] Crash in WebKitFaviconDatabase when pageURL is unset
mcatanzaro@igalia.com [Fri, 1 Jun 2018 16:12:14 +0000 (16:12 +0000)]
[GTK] Crash in WebKitFaviconDatabase when pageURL is unset
https://bugs.webkit.org/show_bug.cgi?id=186164

Reviewed by Carlos Garcia Campos.

PageURL can legitimately be null here if JavaScript does something silly with window.open.

* UIProcess/API/glib/WebKitFaviconDatabase.cpp:
(webkitFaviconDatabaseSetIconURLForPageURL):
(webkitFaviconDatabaseSetIconForPageURL):

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

15 months ago[Cocoa] Web Automation: use the session delegate to perform window maximize
bburg@apple.com [Fri, 1 Jun 2018 16:08:18 +0000 (16:08 +0000)]
[Cocoa] Web Automation: use the session delegate to perform window maximize
https://bugs.webkit.org/show_bug.cgi?id=186167
<rdar://problem/40544391>

Reviewed by Timothy Hatcher.

Add plumbing to hand off window maximizing to the session delegate.

* UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h:
* UIProcess/Cocoa/AutomationSessionClient.h:
* UIProcess/Cocoa/AutomationSessionClient.mm:
(WebKit::AutomationSessionClient::AutomationSessionClient):
(WebKit::AutomationSessionClient::requestMaximizeWindowOfPage):

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

15 months agoUnskip fast/html/marquee-reparent-check.html on macOS debug.
bfulgham@apple.com [Fri, 1 Jun 2018 16:00:45 +0000 (16:00 +0000)]
Unskip fast/html/marquee-reparent-check.html on macOS debug.
https://bugs.webkit.org/show_bug.cgi?id=178465
<rdar://problem/35052953>

Reviewed by Geoffrey Garen.

Unskipping test since the debug assertion is no longer reproducible in
current sources on shipping software.

* platform/mac/TestExpectations:

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

15 months ago[LFC] Simplify the formatting class implementation by pushing down some of the logic...
zalan@apple.com [Fri, 1 Jun 2018 14:39:38 +0000 (14:39 +0000)]
[LFC] Simplify the formatting class implementation by pushing down some of the logic to the Geometry class
https://bugs.webkit.org/show_bug.cgi?id=186179

Reviewed by Antti Koivisto.

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowPosition const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidth const):
(WebCore::Layout::FormattingContext::computeFloatingWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
(WebCore::Layout::FormattingContext::computeFloatingHeight const):
* layout/FormattingContext.h:
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::outOfFlowNonReplacedHeight):
(WebCore::Layout::outOfFlowNonReplacedWidth):
(WebCore::Layout::outOfFlowReplacedHeight):
(WebCore::Layout::outOfFlowReplacedWidth):
(WebCore::Layout::floatingNonReplacedHeight):
(WebCore::Layout::floatingNonReplacedWidth):
(WebCore::Layout::floatingReplacedHeight):
(WebCore::Layout::floatingReplacedWidth):
(WebCore::Layout::outOfFlowNonReplacedPosition):
(WebCore::Layout::outOfFlowReplacedPosition):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowHeight):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowWidth):
(WebCore::Layout::FormattingContext::Geometry::floatingHeight):
(WebCore::Layout::FormattingContext::Geometry::floatingWidth):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowPosition):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeight):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidth):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidth): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedPosition): Deleted.
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedPosition): Deleted.
(WebCore::Layout::FormattingContext::Geometry::replacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::replacedWidth): Deleted.
* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeStaticPosition const):
(WebCore::Layout::BlockFormattingContext::computeInFlowPositionedPosition const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeight const):
(WebCore::Layout::BlockFormattingContext::computeInFlowWidth const):
* layout/blockformatting/BlockFormattingContext.h:
* layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::inFlowNonReplacedHeight):
(WebCore::Layout::inFlowNonReplacedWidth):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeight):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidth):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeight): Deleted.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidth): Deleted.

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

15 months ago[LFC] Push FormattingContext::computeWidth/computeHeight logic from the base to the...
zalan@apple.com [Fri, 1 Jun 2018 14:07:24 +0000 (14:07 +0000)]
[LFC] Push FormattingContext::computeWidth/computeHeight logic from the base to the subclasses.
https://bugs.webkit.org/show_bug.cgi?id=186172

Reviewed by Antti Koivisto.

FormattingContext::computeWidth/computeHeight virtual functions have very little benefit and in the long run
it's better if we keep the number of virtual functions to the minimum necessary.

* layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeFloatingWidth const):
(WebCore::Layout::FormattingContext::computeStaticPosition const): Deleted.
(WebCore::Layout::FormattingContext::computeInFlowPositionedPosition const): Deleted.
(WebCore::Layout::FormattingContext::computeWidth const): Deleted.
(WebCore::Layout::FormattingContext::computeHeight const): Deleted.
(WebCore::Layout::FormattingContext::computeMargin const): Deleted.
* layout/FormattingContext.h:
* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHeight):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedWidth):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeight):
(WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidth):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeight):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidth):
(WebCore::Layout::FormattingContext::Geometry::replacedHeight): Deleted.
(WebCore::Layout::FormattingContext::Geometry::replacedWidth): Deleted.
* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeWidth const):
(WebCore::Layout::BlockFormattingContext::computeHeight const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeight const):
(WebCore::Layout::BlockFormattingContext::computeInFlowWidth const):
* layout/blockformatting/BlockFormattingContext.h:
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::computeStaticPosition const):
(WebCore::Layout::InlineFormattingContext::computeInFlowPositionedPosition const):
(WebCore::Layout::InlineFormattingContext::computeInFlowWidth const): Deleted.
(WebCore::Layout::InlineFormattingContext::computeInFlowHeight const): Deleted.
* layout/inlineformatting/InlineFormattingContext.h:

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

15 months ago[GTK] Difficult to read combo box text in dark theme
commit-queue@webkit.org [Fri, 1 Jun 2018 13:02:39 +0000 (13:02 +0000)]
[GTK] Difficult to read combo box text in dark theme
https://bugs.webkit.org/show_bug.cgi?id=165072

Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-06-01
Reviewed by Carlos Garcia Campos.

Set listbox foreground color to theme color to fix hard-to-read
text color in combo box while using dark theme.

No new tests required. ManualTests/gtk/theme.html already covers it.
See the "Option Lists" section.

* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
Adjust style for ListboxPart as well.
* rendering/RenderTheme.h: Add adjustListboxStyle()
* rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::adjustListboxStyle const):
Set color to the theme foreground color.
* rendering/RenderThemeGtk.h: adjustListboxStyle() overriden.

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

15 months agoUnreviewed. Try to fix GTK+ build with old versions of GTK+ after r232390.
carlosgc@webkit.org [Fri, 1 Jun 2018 08:09:44 +0000 (08:09 +0000)]
Unreviewed. Try to fix GTK+ build with old versions of GTK+ after r232390.

* UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

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

15 months ago[GTK] Switch to use a popup window with a tree view instead of a menu for option...
carlosgc@webkit.org [Fri, 1 Jun 2018 07:44:31 +0000 (07:44 +0000)]
[GTK] Switch to use a popup window with a tree view instead of a menu for option menu default implementation
https://bugs.webkit.org/show_bug.cgi?id=186146

Reviewed by Michael Catanzaro.

Source/WebCore:

Make it possible to use GUniquePtr with GtkTreePath.

* platform/gtk/GUniquePtrGtk.h:

Source/WebKit:

It's more convenient to use than the menu.

* UIProcess/API/gtk/WebKitPopupMenu.cpp:
(WebKit::menuCloseCallback):
(WebKit::WebKitPopupMenu::activateItem):
* UIProcess/API/gtk/WebKitPopupMenu.h:
* UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
(WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
(WebKit::WebPopupMenuProxyGtk::selectItem):
(WebKit::WebPopupMenuProxyGtk::activateItem):
(WebKit::WebPopupMenuProxyGtk::activateItemAtPath):
(WebKit::WebPopupMenuProxyGtk::treeViewRowActivatedCallback):
(WebKit::WebPopupMenuProxyGtk::treeViewButtonReleaseEventCallback):
(WebKit::WebPopupMenuProxyGtk::buttonPressEventCallback):
(WebKit::WebPopupMenuProxyGtk::keyPressEventCallback):
(WebKit::WebPopupMenuProxyGtk::createPopupMenu):
(WebKit::WebPopupMenuProxyGtk::show):
(WebKit::WebPopupMenuProxyGtk::showPopupMenu):
(WebKit::WebPopupMenuProxyGtk::hidePopupMenu):
(WebKit::WebPopupMenuProxyGtk::cancelTracking):
(WebKit::WebPopupMenuProxyGtk::typeAheadFindIndex):
(WebKit::WebPopupMenuProxyGtk::typeAheadFind):
* UIProcess/gtk/WebPopupMenuProxyGtk.h:

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

15 months agoexport-w3c-test-changes should use the new location & name of the WPT repo
fred.wang@free.fr [Fri, 1 Jun 2018 06:06:43 +0000 (06:06 +0000)]
export-w3c-test-changes should use the new location & name of the WPT repo
https://bugs.webkit.org/show_bug.cgi?id=186135

Patch by Frederic Wang <fwang@igalia.com> on 2018-05-31
Reviewed by Youenn Fablet.

Web platform tests have been moved to GitHub's web-platform-tests/wpt. This patch updates the
corresponding variables to use the new organization and repository name. It also refactors a
bit the code to reduce the amount of hardcoded strings.

* Scripts/webkitpy/w3c/common.py: Use org web-platform-tests, repo name wpt. Also removes the
final slash to WPT_GH_URL, so it can be used for repo URL too.
* Scripts/webkitpy/w3c/test_exporter.py: Import more symbols and define WPT_PR_URL from
WPT_GH_URL.
(WebPlatformTestExporter._wpt_fork_branch_github_url): Use WPT_GH_REPO_NAME.
(WebPlatformTestExporter._wpt_fork_push_url): Use WPT_GH_REPO_NAME.
(WebPlatformTestExporter._git): Use  WPT_GH_URL.
(WebPlatformTestExporter._ensure_username_and_token): Use WPT_GH_ORG, WPT_GH_REPO_NAME.
(WebPlatformTestExporter.make_pull_request): Use WPT_GH_ORG, WPT_GH_REPO_NAME.
(parse_args): Use WPT_GH_REPO_NAME, WPT_GH_URL.
* Scripts/webkitpy/w3c/test_exporter_unittest.py:
(TestExporterTest.test_export): Update organization and repository names for the remote
branch and pull request.
(TestExporterTest.test_export_with_specific_branch): Update repository name.

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

15 months agoSkip http/tests/security/referrer-policy-header.html on Windows.
pvollan@apple.com [Fri, 1 Jun 2018 04:46:05 +0000 (04:46 +0000)]
Skip http/tests/security/referrer-policy-header.html on Windows.
https://bugs.webkit.org/show_bug.cgi?id=186183

Unreviewed test gardening.

* platform/win/TestExpectations:

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

15 months ago[Baseline] Store constant directly in emit_op_mov
utatane.tea@gmail.com [Fri, 1 Jun 2018 04:45:24 +0000 (04:45 +0000)]
[Baseline] Store constant directly in emit_op_mov
https://bugs.webkit.org/show_bug.cgi?id=186182

Reviewed by Saam Barati.

In the old code, we first move a constant to a register and store it to the specified address.
But in 64bit JSC, we can directly store a constant to the specified address. This reduces the
generated code size. Since the old code was emitting a constant in a code anyway, this change
never increases the size of the generated code.

* jit/JITInlines.h:
(JSC::JIT::emitGetVirtualRegister):
We remove this obsolete comment. Our OSR relies on the fact that values are stored and loaded
from the stack. If we transfer values in registers without loading values from the stack, it
breaks this assumption.

* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_mov):

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

15 months ago[ESNext][BigInt] Implement support for "=<" and ">=" relational operation
ticaiolima@gmail.com [Fri, 1 Jun 2018 03:30:22 +0000 (03:30 +0000)]
[ESNext][BigInt] Implement support for "=<" and ">=" relational operation
https://bugs.webkit.org/show_bug.cgi?id=185929

Reviewed by Yusuke Suzuki.

JSTests:

* bigIntTests.yaml:
* stress/big-int-greater-than-or-equal-jit.js: Added.
* stress/big-int-greater-than-or-equal-order-of-evaluation.js: Added.
* stress/big-int-greater-than-or-equal-wrapped-values.js: Added.
* stress/big-int-greater-than-or-equal.js: Added.
* stress/big-int-less-than-or-equal-general.js: Added.
* stress/big-int-less-than-or-equal-jit.js: Added.
* stress/big-int-less-than-or-equal-order-of-evaluation.js: Added.
* stress/big-int-less-than-or-equal-wrapped-values.js: Added.

Source/JavaScriptCore:

This patch is introducing support to BigInt operands into ">=" and
"<=" operators.
Here we introduce ```bigIntCompareResult``` that is a helper function
to reuse code between "less than" and "less than or equal" operators.

* runtime/JSBigInt.h:
* runtime/Operations.h:
(JSC::bigIntCompareResult):
(JSC::bigIntCompare):
(JSC::jsLess):
(JSC::jsLessEq):
(JSC::bigIntCompareLess): Deleted.

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

15 months agoCache toString results for CoW arrays
sbarati@apple.com [Fri, 1 Jun 2018 03:07:28 +0000 (03:07 +0000)]
Cache toString results for CoW arrays
https://bugs.webkit.org/show_bug.cgi?id=186160

Reviewed by Keith Miller.

JSTests:

* microbenchmarks/to-string-on-cow-array.js: Added.
(foo):

Source/JavaScriptCore:

This patch makes it so that we cache the result of toString on
arrays with a CoW butterfly. This cache lives on Heap and is
cleared after every GC. We only cache the toString result when
the CoW butterfly doesn't have a hole (currently, all CoW arrays
have a hole, but this isn't an invariant we want to rely on). The
reason for this is that if there is a hole, the value may be loaded
from the prototype, and the cache may produce a stale result.

This is a ~4% speedup on the ML subtest in ARES. And is a ~1% overall
progression on ARES.

* heap/Heap.cpp:
(JSC::Heap::finalize):
(JSC::Heap::addCoreConstraints):
* heap/Heap.h:
* runtime/ArrayPrototype.cpp:
(JSC::canUseFastJoin):
(JSC::holesMustForwardToPrototype):
(JSC::isHole):
(JSC::containsHole):
(JSC::fastJoin):
(JSC::arrayProtoFuncToString):

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

15 months agoPutStructure AI rule needs to call didFoldClobberStructures when the incoming value...
sbarati@apple.com [Fri, 1 Jun 2018 03:06:25 +0000 (03:06 +0000)]
PutStructure AI rule needs to call didFoldClobberStructures when the incoming value's structure set is clear
https://bugs.webkit.org/show_bug.cgi?id=186169

Reviewed by Mark Lam.

If we don't do this, the CFA validation rule about StructureID being
clobbered but AI not clobbering or folding a clobber will cause us
to crash. Simon was running into this yesterday on arstechnica.com.
I couldn't come up with a test case for this, but it's obvious
what the issue is by looking at the IR dump at the time of the crash.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

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

15 months agoJSImmutableButterfly should align its variable storage
sbarati@apple.com [Fri, 1 Jun 2018 00:43:19 +0000 (00:43 +0000)]
JSImmutableButterfly should align its variable storage
https://bugs.webkit.org/show_bug.cgi?id=186159

Reviewed by Mark Lam.

I'm also making the use of reinterpret_cast and bitwise_cast consistent
inside of JSImmutableButterfly. I switched everything to use bitwise_cast.

* runtime/JSImmutableButterfly.h:
(JSC::JSImmutableButterfly::toButterfly const):
(JSC::JSImmutableButterfly::fromButterfly):
(JSC::JSImmutableButterfly::offsetOfData):
(JSC::JSImmutableButterfly::allocationSize):

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

15 months agoDFGArrayModes needs to know more about CoW arrays
keith_miller@apple.com [Thu, 31 May 2018 23:50:15 +0000 (23:50 +0000)]
DFGArrayModes needs to know more about CoW arrays
https://bugs.webkit.org/show_bug.cgi?id=186162

Reviewed by Filip Pizlo.

This patch fixes two issues in DFGArrayMode.

1) fromObserved was missing switch cases for when the only observed ArrayModes are CopyOnWrite.
2) DFGArrayModes needs to track if the ArrayClass is an OriginalCopyOnWriteArray in order
to vend an accurate original structure.

Additionally, this patch fixes some places in Bytecode parsing where we told the array mode
we were doing a read but actually doing a write. Also, DFGArrayMode will now print the
action it is expecting when being dumped.

* bytecode/ArrayProfile.h:
(JSC::hasSeenWritableArray):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::fromObserved):
(JSC::DFG::ArrayMode::refine const):
(JSC::DFG::ArrayMode::originalArrayStructure const):
(JSC::DFG::arrayActionToString):
(JSC::DFG::arrayClassToString):
(JSC::DFG::ArrayMode::dump const):
(WTF::printInternal):
* dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::withProfile const):
(JSC::DFG::ArrayMode::isJSArray const):
(JSC::DFG::ArrayMode::isJSArrayWithOriginalStructure const):
(JSC::DFG::ArrayMode::arrayModesWithIndexingShape const):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::isArrayTypeForArrayify):

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

15 months agoAdd OpenGL display mask to WebPage creation parameters.
pvollan@apple.com [Thu, 31 May 2018 23:43:13 +0000 (23:43 +0000)]
Add OpenGL display mask to WebPage creation parameters.
https://bugs.webkit.org/show_bug.cgi?id=186163
<rdar://problem/40634504>

Reviewed by Brent Fulgham.

To make sure the OpenGL display mask is always available, include it in the WebPage creation parameters.
The OpenGL display mask is sent to the WebProcess when the platform display ID changes, but that is not
early enough in all cases. If the OpenGL display mask is not set, only OpenGL software rendering is offered
on some hardware configurations.
Source/WebCore:

No new tests, since it is not trivial to test whether OpenGL rendering is hardware accelerated.

* platform/PlatformScreen.h:
* platform/mac/PlatformScreenMac.mm:
(WebCore::displayID):

Source/WebKit:

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_credentialsMessenger):

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

15 months agoVersioning.
kocsen_chung@apple.com [Thu, 31 May 2018 22:02:39 +0000 (22:02 +0000)]
Versioning.

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

15 months agoAdd a rule to allow reading files with prefix /private/var/db/CVMS/cvmsCodeSignObj
bfulgham@apple.com [Thu, 31 May 2018 21:23:32 +0000 (21:23 +0000)]
Add a rule to allow reading files with prefix /private/var/db/CVMS/cvmsCodeSignObj
https://bugs.webkit.org/show_bug.cgi?id=186157
<rdar://problem/40666437>

Reviewed by Eric Carlson.

* WebProcess/com.apple.WebProcess.sb.in:

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

15 months agoAdd setting to allow override screen size to be disabled.
megan_gardner@apple.com [Thu, 31 May 2018 21:03:36 +0000 (21:03 +0000)]
Add setting to allow override screen size to be disabled.
https://bugs.webkit.org/show_bug.cgi?id=186109

Reviewed by Andy Estes.

Source/WebCore:

Not Testable, and for debug only.

Pipe settings and use them to ignore override screen size if setting is set.

* page/DeprecatedGlobalSettings.cpp:
* page/DeprecatedGlobalSettings.h:
(WebCore::DeprecatedGlobalSettings::setDisableScreenSizeOverride):
(WebCore::DeprecatedGlobalSettings::disableScreenSizeOverride):
* page/Settings.yaml:
* platform/ios/PlatformScreenIOS.mm:

Source/WebKit:

Pipe the needed settings through to WebCore.

* Shared/WebPreferences.yaml:
* UIProcess/WebPageProxy.cpp:
(WebKit::m_configurationPreferenceValues):

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

15 months ago[css-text] Update test suite
rego@igalia.com [Thu, 31 May 2018 20:58:13 +0000 (20:58 +0000)]
[css-text] Update test suite
https://bugs.webkit.org/show_bug.cgi?id=186145

Reviewed by Youenn Fablet.

These tests used to have problems in Mac and iOS platforms,
but they were reworked in WPT upstream:
https://github.com/web-platform-tests/wpt/pull/10860

Importing the new version of the tests in this patch.

LayoutTests/imported/w3c:

* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-001-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-001.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-002-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-002.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-003-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-003.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-004-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-004.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-005-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-005.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-006-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-006.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-007-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-007.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-008-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-008.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-009-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-009.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-010-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-010.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-011-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-011.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-012-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-012.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-013-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-013.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-014-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-014.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-015-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-015.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-016-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-016.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-017-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-017.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-018-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-018.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-019-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-019.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-020-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-020.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-021-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-021.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-022-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-022.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-023-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-023.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-024-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-024.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-025-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-025.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-026-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-026.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-027-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-027.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-028-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-028.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-029-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-029.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-030-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-030.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-031-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-031.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-032-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-032.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-033-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-033.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-034-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-034.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-035-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-035.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-036-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-036.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-037-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-037.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-038-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-038.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-039-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-039.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-040-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-040.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-041-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-041.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-042-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-042.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-043-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-043.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-044-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-044.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-045-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-045.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-046-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-046.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-047-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-047.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-048-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-048.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-049-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-049.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-050-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-050.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-051-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-051.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-052-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-052.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-054-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-054.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-055-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-055.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-056-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-056.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-057-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-057.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-058-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-058.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-059-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-059.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-060-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-060.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-101-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-101.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-102-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-102.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-103-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-103.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-104-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-104.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-105-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-105.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-106-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-106.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-107-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-107.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-108-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-108.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-109-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-109.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-110-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-110.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-111-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-111.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-112-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-112.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-113-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-113.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-114-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-114.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-115-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-115.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-116-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-116.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-117-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-117.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-118-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-118.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-119-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-119.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-120-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-120.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-121-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-121.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-122-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-122.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-123-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-123.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-124-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-124.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-125-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-125.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-126-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-126.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-127-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-127.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-128-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-128.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-129-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-129.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-130-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-130.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-131-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-131.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-132-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-132.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-133-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-133.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-134-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-134.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-135-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-135.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-138-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-138.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-139-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-139.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-140-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-140.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-141-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-141.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-144-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-144.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-145-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-145.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-146-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-146.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-147-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-147.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-148-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-148.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-149-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-149.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-152-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-152.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-154-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-154.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-155-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-155.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-156-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-156.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-157-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-157.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-158-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-158.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-159-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-159.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-160-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-160.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-201-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-201.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-202-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-202.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-203-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-203.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-204-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-204.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-205-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-205.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-206-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-206.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-207-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-207.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-208-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-208.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-209-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-209.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-210-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-210.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-211-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-211.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-212-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-212.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-213-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-213.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-214-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-214.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-215-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-215.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-216-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-216.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-217-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-217.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-218-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-218.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-219-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-219.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-220-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-220.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-221-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-221.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-222-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-222.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-223-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-223.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-224-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-224.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-225-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-225.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-226-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-226.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-227-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-227.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-228-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-228.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-229-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-229.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-230-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-230.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-231-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-231.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-232-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-232.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-233-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-233.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-234-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-234.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-235-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-235.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-236-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-236.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-237-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-237.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-238-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-238.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-239-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-239.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-240-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-240.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-241-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-241.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-242-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-242.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-243-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-243.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-244-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-244.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-245-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-245.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-246-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-246.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-247-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-247.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-248-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-248.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-249-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-249.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-250-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-250.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-251-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-251.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-252-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-252.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-254-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-254.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-255-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-255.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-256-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-256.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-257-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-257.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-258-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-258.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-259-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-259.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-260-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-260.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-301-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-301.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-302-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-302.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-303-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-303.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-304-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-304.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-305-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-305.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-306-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-306.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-307-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-307.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-308-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-308.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-309-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-309.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-310-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-310.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-311-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-311.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-312-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-312.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-313-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-313.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-314-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-314.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-315-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-315.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-316-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-316.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-317-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-317.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-318-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-318.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-319-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-319.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-320-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-320.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-321-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-321.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-322-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-322.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-323-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-323.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-324-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-324.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-325-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-325.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-326-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-326.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-327-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-327.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-351-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-351.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-352-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-352.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-353-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-353.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-354-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-354.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-355-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-355.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-358-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-358.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-359-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-359.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-362-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-362.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-363-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-363.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-364-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-364.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-365-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-365.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-366-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-366.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-367-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-367.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-370-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-370.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-372-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-372.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-373-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-373.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-374-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-374.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-375-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-375.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-376-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-376.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-377-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-377.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-401-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-401.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-402-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-402.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-403-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-403.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-404-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-404.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-405-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-405.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-406-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-406.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-407-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-407.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-408-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-408.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-409-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-409.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-410-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-410.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-411-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-411.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-412-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-412.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-413-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-413.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-414-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-414.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-415-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-415.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-416-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-416.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-417-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-417.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-418-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-418.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-419-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-419.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-420-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-420.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-421-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-421.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-422-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-422.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-423-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-423.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-424-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-424.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-425-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-425.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-426-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-426.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-427-expected.html: Removed.
* web-platform-tests/css/css-text/i18n/css3-text-line-break-jazh-427.html: Removed.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html: Added.
* web-platform-tests/css/css-text/i18n/ja/w3c-import.log: Added.
* web-platform-tests/css/css-text/i18n/w3c-import.log:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict-expected.txt: Added.
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html: Added.
* web-platform-tests/css/css-text/i18n/zh/w3c-import.log: Added.

LayoutTests:

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

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

15 months agoREGRESSION(r216119): DocumentLoader::detachFromFrame still encounters nullptr frame
bfulgham@apple.com [Thu, 31 May 2018 20:54:24 +0000 (20:54 +0000)]
REGRESSION(r216119): DocumentLoader::detachFromFrame still encounters nullptr frame
https://bugs.webkit.org/show_bug.cgi?id=186081
<rdar://problem/34918109>

Reviewed by David Kilzer.

The nullptr check that was removed in r216119 was still needed because when the DocumentLoader
is in 'm_waitingForNavigationPolicy' or in 'm_waitingForContentPolicy', a call to the policy checker
to stopCheck we will clear the frame as part of the cleanup phase.

If m_frame is nullptr after cancelPolicyCheckIfNeeded, our work is already done so just return.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::detachFromFrame):

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

15 months agoDon't paint the System Preview badge if the image isn't fully decoded
dino@apple.com [Thu, 31 May 2018 20:37:04 +0000 (20:37 +0000)]
Don't paint the System Preview badge if the image isn't fully decoded
https://bugs.webkit.org/show_bug.cgi?id=186158
<rdar://problem/40454866>

Reviewed by Antoine Quint.

Only paint the system preview badge if the image itself said
that it succeeded in drawing.

* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintIntoRect): Check the ImageDrawResult.

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

15 months agoFix leak of AudioDeviceID array due to an early return in AudioDeviceMac::GetNumberDe...
ddkilzer@apple.com [Thu, 31 May 2018 19:51:30 +0000 (19:51 +0000)]
Fix leak of AudioDeviceID array due to an early return in AudioDeviceMac::GetNumberDevices()
<https://webkit.org/b/186152>
<rdar://problem/40692824>

Reviewed by Alex Christensen.

* Source/webrtc/modules/audio_device/mac/audio_device_mac.cc:
Use std::make_unique<> so that memory is allocated and
deallocated automatically.  Remove manual calls to free().
* WebKit/0011-Fix-AudioDeviceID-array-leak.patch: Add.

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

15 months ago[macOS] Add JIT entitlements to WebContent process and plugin process on macOS
bfulgham@apple.com [Thu, 31 May 2018 19:46:56 +0000 (19:46 +0000)]
[macOS] Add JIT entitlements to WebContent process and plugin process on macOS
https://bugs.webkit.org/show_bug.cgi?id=184485
<rdar://problem/37556535>

Reviewed by Dan Bernstein.

This patch builds on the changes from Bug 185526 to add support for a JIT entitlement. It makes the
following changes:

1. Adds a new 'WebContent-OSX.entitlements file that unconditionally adds the JIT entitlement for all builds.
2. Modifies the PluginService.entitlements to unconditionally add the JIT entitlement.

* Configurations/PluginService.entitlements: Updated to add the JIT entitlement.
* Configurations/WebContent-OSX.entitlements: Updated to add the JIT entitlement.
* Configurations/WebContentService.xcconfig: Updated to use the new 'WebContent-OSX.entitlements' file.
* WebKit.xcodeproj/project.pbxproj:

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

15 months agoUpdate expected results for BuildStepsConstructorTest
ryanhaddad@apple.com [Thu, 31 May 2018 19:36:20 +0000 (19:36 +0000)]
Update expected results for BuildStepsConstructorTest
https://bugs.webkit.org/show_bug.cgi?id=186119

Reviewed by Alex Christensen.

* BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Add missing entries for 'WinCairo 64-bit' bots.

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

15 months agoImplement checked cast for DDResultRef once DDResultGetCFTypeID() is available
ddkilzer@apple.com [Thu, 31 May 2018 19:33:38 +0000 (19:33 +0000)]
Implement checked cast for DDResultRef once DDResultGetCFTypeID() is available
<https://webkit.org/b/184554>
<rdar://problem/36241894>

Reviewed by Brent Fulgham.

* editing/cocoa/DataDetection.mm:
(WebCore::detectItemAtPositionWithRange): Implement checked cast
for DDResultRef.

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

15 months agoFix Windows build after r232246.
achristensen@apple.com [Thu, 31 May 2018 19:15:30 +0000 (19:15 +0000)]
Fix Windows build after r232246.
https://bugs.webkit.org/show_bug.cgi?id=186024

* rendering/svg/SVGTextLayoutEngineBaseline.cpp:
(WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift const):

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

15 months agoDon't attempt to extend sandbox when running tests with mock media devices
bfulgham@apple.com [Thu, 31 May 2018 19:13:35 +0000 (19:13 +0000)]
Don't attempt to extend sandbox when running tests with mock media devices
https://bugs.webkit.org/show_bug.cgi?id=186150
<rdar://problem/40690875>

Reviewed by Alexey Proskuryakov.

Avoid attempting to issue a sandbox extension to actual media devices when
running with Mock capture devices.

Also handle the 'denyNextRequest' test state outside of the USE(APPLE_INTERNAL_SDK)
guards, since it is needed for Open Source builds as well.

* UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::willCreateMediaStream):

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

15 months agoUnreviewed, rolling out r232212.
commit-queue@webkit.org [Thu, 31 May 2018 18:43:52 +0000 (18:43 +0000)]
Unreviewed, rolling out r232212.
https://bugs.webkit.org/show_bug.cgi?id=186153

broke build (Requested by alexchristensen on #webkit).

Reverted changeset:

"JavaScriptCore: Disable 32-bit JIT on Windows"
https://bugs.webkit.org/show_bug.cgi?id=185989
https://trac.webkit.org/changeset/232212

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

15 months ago[iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool fails because cookies...
sihui_liu@apple.com [Thu, 31 May 2018 18:04:54 +0000 (18:04 +0000)]
[iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool fails because cookies use different files with/without processpool
https://bugs.webkit.org/show_bug.cgi?id=185831
<rdar://problem/40468716>

Reviewed by David Kilzer.

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

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

15 months agoWebKit memory management: Safari jetsams on some websites when zooming and scrolling
antti@apple.com [Thu, 31 May 2018 17:55:43 +0000 (17:55 +0000)]
WebKit memory management: Safari jetsams on some websites when zooming and scrolling
https://bugs.webkit.org/show_bug.cgi?id=186091
<rdar://problem/36315010>

Reviewed by Geoff Garen.

When zooming a page rapidly the visible rect and the page zoom level may get momentarily out of sync.
When this happens we may generate tiles for a much larger area than needed and run out of memory
building the next layer tree transaction. Running out of memory is more likely if the page has lots of
tiled layers in addition to the main content layer.

We already have code for dealing with the scale mismatch for zoom-out case (where this would cause
visibly missing tiles). This patch enables the same exact adjustment for zoom-in case (where the
symptom is creating too many tiles).

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::adjustExposedRectForNewScale):

Do some renames to make it clear that this can both expand and contract the visible rect.
Bail out if there is nothing to do.

(WebKit::WebPage::updateVisibleContentRects):

Call adjustExposedRectForNewScale directly and unconditionally.

(WebKit::adjustExposedRectForBoundedScale): Deleted.

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

15 months agoRebaseline test for change in Error.stack behavior.
keith_miller@apple.com [Thu, 31 May 2018 17:42:04 +0000 (17:42 +0000)]
Rebaseline test for change in Error.stack behavior.

* stress/error-stack-trace-limit.js:
(numberOfFrames):

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

15 months agoFix memory leak under NetworkStateNotifier::updateStateWithoutNotifying()
cdumez@apple.com [Thu, 31 May 2018 17:38:59 +0000 (17:38 +0000)]
Fix memory leak under NetworkStateNotifier::updateStateWithoutNotifying()
https://bugs.webkit.org/show_bug.cgi?id=186149
<rdar://problem/40674537>

Reviewed by Geoffrey Garen.

* platform/network/mac/NetworkStateNotifierMac.cpp:
(WebCore::NetworkStateNotifier::updateStateWithoutNotifying):

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

15 months agoUpdate http/wpt/service-workers/header-filtering.https.html to use a valid Referrer...
cdumez@apple.com [Thu, 31 May 2018 16:58:45 +0000 (16:58 +0000)]
Update http/wpt/service-workers/header-filtering.https.html to use a valid Referrer-Policy
https://bugs.webkit.org/show_bug.cgi?id=186148

Reviewed by Youenn Fablet.

Update http/wpt/service-workers/header-filtering.https.html to use a valid Referrer-Policy to
avoid logging a console message.

* http/wpt/service-workers/header-filtering.https-expected.txt:
* http/wpt/service-workers/resources/response-full-of-headers.py:
(main):

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

15 months agoFix the macOS High Sierra build.
aestes@apple.com [Thu, 31 May 2018 16:52:31 +0000 (16:52 +0000)]
Fix the macOS High Sierra build.

* NetworkProcess/cocoa/NetworkSessionCocoa.mm:

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

15 months ago[iOS] API test ScrollViewInsetTests.InnerHeightWithLargeTopContentInset is a flaky...
cdumez@apple.com [Thu, 31 May 2018 16:47:31 +0000 (16:47 +0000)]
[iOS] API test ScrollViewInsetTests.InnerHeightWithLargeTopContentInset is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=184893
<rdar://problem/39747271>

Reviewed by Wenson Hsieh.

Update test to wait until the view is the expected height instead of
calling waitForNextPresentationUpdate once and expect the view to
have the right height. This fixes the flakiness.

* TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
(TestWebKitAPI::waitUntilInnerHeightIs):
(TestWebKitAPI::TEST):

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

15 months ago[LFC] Layout code needs to know the type of the Element associated with a Layout...
zalan@apple.com [Thu, 31 May 2018 16:43:52 +0000 (16:43 +0000)]
[LFC] Layout code needs to know the type of the Element associated with a Layout::Box
https://bugs.webkit.org/show_bug.cgi?id=186117

Reviewed by Antti Koivisto.

Since these attributes don't change during layout, we could just pass them in to Layout::Box instead
of keep querying the Element.

* layout/layouttree/LayoutBlockContainer.cpp:
(WebCore::Layout::BlockContainer::BlockContainer):
* layout/layouttree/LayoutBlockContainer.h:
* layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::Box):
(WebCore::Layout::Box::isPaddingApplicable const):
(WebCore::Layout::Box::isDocumentBox const): Deleted.
(WebCore::Layout::Box::isBodyBox const): Deleted.
* layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::isAnonymous const):
(WebCore::Layout::Box::isDocumentBox const):
(WebCore::Layout::Box::isBodyBox const):
(WebCore::Layout::Box::ElementAttributes::ElementAttributes):
(WebCore::Layout::Box::setPreviousSibling):
(WebCore::Layout::Box::setIsAnonymous): Deleted.
* layout/layouttree/LayoutContainer.cpp:
(WebCore::Layout::Container::Container):
* layout/layouttree/LayoutContainer.h:
* layout/layouttree/LayoutInlineBox.cpp:
(WebCore::Layout::InlineBox::InlineBox):
* layout/layouttree/LayoutInlineBox.h:
* layout/layouttree/LayoutInlineContainer.cpp:
(WebCore::Layout::InlineContainer::InlineContainer):
* layout/layouttree/LayoutInlineContainer.h:
* layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createLayoutTree):
(WebCore::Layout::TreeBuilder::createSubTree):

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

15 months agoUnreviewed iOS build fix after r232335.
cdumez@apple.com [Thu, 31 May 2018 16:24:59 +0000 (16:24 +0000)]
Unreviewed iOS build fix after r232335.

* html/BaseChooserOnlyDateAndTimeInputType.h:
* html/BaseDateAndTimeInputType.h:

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

15 months agoUnreviewed, apply review comments from Darin after r232310.
cdumez@apple.com [Thu, 31 May 2018 15:47:35 +0000 (15:47 +0000)]
Unreviewed, apply review comments from Darin after r232310.

* platform/ReferrerPolicy.cpp:
(WebCore::parseReferrerPolicy):

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

15 months ago[LFC] Margin box is border box + margins.
zalan@apple.com [Thu, 31 May 2018 14:59:37 +0000 (14:59 +0000)]
[LFC] Margin box is border box + margins.
https://bugs.webkit.org/show_bug.cgi?id=186124

Reviewed by Antti Koivisto.

* layout/displaytree/DisplayBox.cpp:
(WebCore::Display::Box::marginBox const):

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

15 months ago[LFC] Add quirks mode setter/getting to LayoutContext
zalan@apple.com [Thu, 31 May 2018 14:58:24 +0000 (14:58 +0000)]
[LFC] Add quirks mode setter/getting to LayoutContext
https://bugs.webkit.org/show_bug.cgi?id=186122

Reviewed by Antti Koivisto.

* layout/LayoutContext.h:
(WebCore::Layout::LayoutContext::setInQuirksMode):
(WebCore::Layout::LayoutContext::inQuirksMode const):
* page/FrameViewLayoutContext.cpp:
(WebCore::layoutUsingFormattingContext):

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

15 months ago[wpe] update the TestExpectations for encrypted-media after some investigations
commit-queue@webkit.org [Thu, 31 May 2018 11:00:16 +0000 (11:00 +0000)]
[wpe] update the TestExpectations for encrypted-media after some investigations
https://bugs.webkit.org/show_bug.cgi?id=185593

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

After the fix 185725 and some investigations, the WPE platform TestExpectations should be updated

* platform/wpe/TestExpectations:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license.https-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license.https-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted.https-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState.https-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential.https-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-waitingforkey.https-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key.https-expected.txt:

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

15 months agoUnreviewed GTK+ gardening after r232336.
magomez@igalia.com [Thu, 31 May 2018 10:27:24 +0000 (10:27 +0000)]
Unreviewed GTK+ gardening after r232336.

* platform/gtk/TestExpectations:

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

15 months agotest262-runner should run in verbose mode in automation
commit-queue@webkit.org [Thu, 31 May 2018 10:20:54 +0000 (10:20 +0000)]
test262-runner should run in verbose mode in automation
https://bugs.webkit.org/show_bug.cgi?id=186115

Patch by Leo Balter <leonardo.balter@gmail.com> on 2018-05-31
Reviewed by Yusuke Suzuki.

This patch toggles the verbose mode in the build bot and reports every test file
in order to avoid the '1200 seconds without output' issue.
* BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunTest262Tests):
* Scripts/test262/Runner.pm:
(processResult):

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

15 months ago[GTK] Hardcoded text color in input fields
commit-queue@webkit.org [Thu, 31 May 2018 06:41:41 +0000 (06:41 +0000)]
[GTK] Hardcoded text color in input fields
https://bugs.webkit.org/show_bug.cgi?id=126907

Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-05-30
Reviewed by Carlos Garcia Campos.

Set text color in input fields to foreground theme color.
Also, set "window.background" as base GtkStyleContext to mimic
GTK applications and fix some theme bugs.

No new tests required. ManualTests/gtk/theme.html already covers it.

* platform/gtk/RenderThemeGadget.cpp:
(WebCore::baseStyleContext): Added.
(WebCore::RenderThemeGadget::RenderThemeGadget):
Use "window.background" GtkStyleContext instead of
null parent for RenderThemeGadgets.
* rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::adjustButtonStyle const):
Set color as foreground theme color.
(WebCore::RenderThemeGtk::adjustTextFieldStyle const): Ditto.
(WebCore::RenderThemeGtk::adjustTextAreaStyle const): Ditto.
(WebCore::RenderThemeGtk::adjustSearchFieldStyle const): Ditto.
* rendering/RenderThemeGtk.h: adjustTextAreaStyle() overriden.

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

15 months ago[JSC] Pass VM& parameter as much as possible
utatane.tea@gmail.com [Thu, 31 May 2018 06:19:33 +0000 (06:19 +0000)]
[JSC] Pass VM& parameter as much as possible
https://bugs.webkit.org/show_bug.cgi?id=186085

Reviewed by Saam Barati.

Source/JavaScriptCore:

JSCell::vm() is slow compared to ExecState::vm(). That's why we have bunch of functions in JSCell/JSObject that take VM& as a parameter.
For example, we have JSCell::structure() and JSCell::structure(VM&), the former retrieves VM& from the cell and invokes structure(VM&).
If we can get VM& from ExecState* or the other place, it reduces the inlined code size.
This patch attempts to pass VM& parameter to such functions as much as possible.

* API/APICast.h:
(toJS):
(toJSForGC):
* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex):
(JSC::JSCallbackObject<Parent>::deletePropertyByIndex):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
* API/JSObjectRef.cpp:
(JSObjectIsConstructor):
* API/JSTypedArray.cpp:
(JSObjectGetTypedArrayBuffer):
* API/JSValueRef.cpp:
(JSValueIsInstanceOfConstructor):
* bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptFunctionCall::call):
* bindings/ScriptValue.cpp:
(Inspector::jsToInspectorValue):
* bytecode/AccessCase.cpp:
(JSC::AccessCase::generateImpl):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/ObjectAllocationProfileInlines.h:
(JSC::ObjectAllocationProfile::possibleDefaultPropertyCount):
* bytecode/ObjectPropertyConditionSet.cpp:
(JSC::generateConditionsForInstanceOf):
* bytecode/PropertyCondition.cpp:
(JSC::PropertyCondition::isWatchableWhenValid const):
(JSC::PropertyCondition::attemptToMakeEquivalenceWithoutBarrier const):
* bytecode/StructureStubClearingWatchpoint.cpp:
(JSC::StructureStubClearingWatchpoint::fireInternal):
* debugger/Debugger.cpp:
(JSC::Debugger::detach):
* debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::create):
(JSC::DebuggerScope::put):
(JSC::DebuggerScope::deleteProperty):
(JSC::DebuggerScope::getOwnPropertyNames):
(JSC::DebuggerScope::defineOwnProperty):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::mergeOSREntryValue):
* dfg/DFGArgumentsEliminationPhase.cpp:
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::refine const):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::handleTypedArrayConstructor):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::check):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::tryGetConstantProperty):
* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt):
* ftl/FTLOperations.cpp:
(JSC::FTL::operationPopulateObjectInOSR):
* inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::createInjectedScript):
* inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::caller const):
(Inspector::JSJavaScriptCallFrame::scopeChain const):
* interpreter/CallFrame.cpp:
(JSC::CallFrame::wasmAwareLexicalGlobalObject):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):
* jit/JITOperations.cpp:
(JSC::getByVal):
* jit/Repatch.cpp:
(JSC::tryCacheInByID):
* jsc.cpp:
(functionDollarAgentReceiveBroadcast):
(functionHasCustomProperties):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::setupGetByIdPrototypeCache):
(JSC::LLInt::getByVal):
(JSC::LLInt::handleHostCall):
(JSC::LLInt::llint_throw_stack_overflow_error):
* runtime/AbstractModuleRecord.cpp:
(JSC::AbstractModuleRecord::finishCreation):
* runtime/ArrayConstructor.cpp:
(JSC::constructArrayWithSizeQuirk):
* runtime/ArrayPrototype.cpp:
(JSC::speciesWatchpointIsValid):
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::ArrayPrototype::tryInitializeSpeciesWatchpoint):
* runtime/AsyncFunctionConstructor.cpp:
(JSC::callAsyncFunctionConstructor):
(JSC::constructAsyncFunctionConstructor):
* runtime/AsyncGeneratorFunctionConstructor.cpp:
(JSC::callAsyncGeneratorFunctionConstructor):
(JSC::constructAsyncGeneratorFunctionConstructor):
* runtime/BooleanConstructor.cpp:
(JSC::constructWithBooleanConstructor):
* runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createEmpty):
(JSC::ClonedArguments::createWithInlineFrame):
(JSC::ClonedArguments::createWithMachineFrame):
(JSC::ClonedArguments::createByCopyingFrom):
(JSC::ClonedArguments::getOwnPropertySlot):
(JSC::ClonedArguments::materializeSpecials):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::tryCachePutToScopeGlobal):
(JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal):
(JSC::CommonSlowPaths::canAccessArgumentIndexQuickly):
* runtime/ConstructData.cpp:
(JSC::construct):
* runtime/DateConstructor.cpp:
(JSC::constructWithDateConstructor):
* runtime/DatePrototype.cpp:
(JSC::dateProtoFuncToJSON):
* runtime/DirectArguments.cpp:
(JSC::DirectArguments::overrideThings):
* runtime/Error.cpp:
(JSC::getStackTrace):
* runtime/ErrorConstructor.cpp:
(JSC::Interpreter::constructWithErrorConstructor):
(JSC::Interpreter::callErrorConstructor):
* runtime/FunctionConstructor.cpp:
(JSC::constructWithFunctionConstructor):
(JSC::callFunctionConstructor):
* runtime/GeneratorFunctionConstructor.cpp:
(JSC::callGeneratorFunctionConstructor):
(JSC::constructGeneratorFunctionConstructor):
* runtime/GenericArgumentsInlines.h:
(JSC::GenericArguments<Type>::getOwnPropertySlot):
* runtime/InferredStructureWatchpoint.cpp:
(JSC::InferredStructureWatchpoint::fireInternal):
* runtime/InferredType.cpp:
(JSC::InferredType::removeStructure):
* runtime/InferredType.h:
* runtime/InferredTypeInlines.h:
(JSC::InferredType::finalizeUnconditionally):
* runtime/IntlCollator.cpp:
(JSC::IntlCollator::initializeCollator):
* runtime/IntlCollatorConstructor.cpp:
(JSC::IntlCollatorConstructorFuncSupportedLocalesOf):
* runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorPrototypeGetterCompare):
* runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::formatToParts):
* runtime/IntlDateTimeFormatConstructor.cpp:
(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf):
* runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
* runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::initializeNumberFormat):
(JSC::IntlNumberFormat::formatToParts):
* runtime/IntlNumberFormatConstructor.cpp:
(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf):
* runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototypeGetterFormat):
* runtime/IntlObject.cpp:
(JSC::canonicalizeLocaleList):
(JSC::defaultLocale):
(JSC::lookupSupportedLocales):
(JSC::intlObjectFuncGetCanonicalLocales):
* runtime/IntlPluralRules.cpp:
(JSC::IntlPluralRules::initializePluralRules):
(JSC::IntlPluralRules::resolvedOptions):
* runtime/IntlPluralRulesConstructor.cpp:
(JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf):
* runtime/IteratorOperations.cpp:
(JSC::iteratorNext):
(JSC::iteratorClose):
(JSC::iteratorForIterable):
* runtime/JSArray.cpp:
(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::unshiftCountWithArrayStorage):
(JSC::JSArray::isIteratorProtocolFastAndNonObservable):
* runtime/JSArrayBufferConstructor.cpp:
(JSC::JSArrayBufferConstructor::finishCreation):
(JSC::constructArrayBuffer):
* runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferProtoFuncSlice):
* runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::unsharedJSBuffer):
(JSC::JSArrayBufferView::possiblySharedJSBuffer):
* runtime/JSAsyncFunction.cpp:
(JSC::JSAsyncFunction::createImpl):
(JSC::JSAsyncFunction::create):
(JSC::JSAsyncFunction::createWithInvalidatedReallocationWatchpoint):
* runtime/JSAsyncGeneratorFunction.cpp:
(JSC::JSAsyncGeneratorFunction::createImpl):
(JSC::JSAsyncGeneratorFunction::create):
(JSC::JSAsyncGeneratorFunction::createWithInvalidatedReallocationWatchpoint):
* runtime/JSBoundFunction.cpp:
(JSC::boundThisNoArgsFunctionCall):
(JSC::boundFunctionCall):
(JSC::boundThisNoArgsFunctionConstruct):
(JSC::boundFunctionConstruct):
(JSC::getBoundFunctionStructure):
(JSC::JSBoundFunction::create):
(JSC::JSBoundFunction::boundArgsCopy):
* runtime/JSCJSValue.cpp:
(JSC::JSValue::putToPrimitive):
* runtime/JSCellInlines.h:
(JSC::JSCell::setStructure):
(JSC::JSCell::methodTable const):
(JSC::JSCell::toBoolean const):
* runtime/JSFunction.h:
(JSC::JSFunction::createImpl):
* runtime/JSGeneratorFunction.cpp:
(JSC::JSGeneratorFunction::createImpl):
(JSC::JSGeneratorFunction::create):
(JSC::JSGeneratorFunction::createWithInvalidatedReallocationWatchpoint):
* runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex):
(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):
(JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex):
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):
* runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::exposeDollarVM):
(JSC::JSGlobalObject::finishCreation):
* runtime/JSGlobalObject.h:
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
* runtime/JSInternalPromise.cpp:
(JSC::JSInternalPromise::then):
* runtime/JSInternalPromiseConstructor.cpp:
(JSC::constructPromise):
* runtime/JSJob.cpp:
(JSC::JSJobMicrotask::run):
* runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::getOwnPropertySlot):
(JSC::JSLexicalEnvironment::put):
* runtime/JSMap.cpp:
(JSC::JSMap::isIteratorProtocolFastAndNonObservable):
* runtime/JSMapIterator.cpp:
(JSC::JSMapIterator::createPair):
* runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::provideFetch):
(JSC::JSModuleLoader::loadAndEvaluateModule):
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::linkAndEvaluateModule):
(JSC::JSModuleLoader::requestImportModule):
* runtime/JSONObject.cpp:
(JSC::JSONProtoFuncParse):
* runtime/JSObject.cpp:
(JSC::JSObject::putInlineSlow):
(JSC::JSObject::putByIndex):
(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::createInitialIndexedStorage):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::convertFromCopyOnWrite):
(JSC::JSObject::ensureWritableInt32Slow):
(JSC::JSObject::ensureWritableDoubleSlow):
(JSC::JSObject::ensureWritableContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC::JSObject::setPrototypeDirect):
(JSC::JSObject::deleteProperty):
(JSC::callToPrimitiveFunction):
(JSC::JSObject::hasInstance):
(JSC::JSObject::getOwnNonIndexPropertyNames):
(JSC::JSObject::preventExtensions):
(JSC::JSObject::isExtensible):
(JSC::JSObject::reifyAllStaticProperties):
(JSC::JSObject::fillGetterPropertySlot):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength):
(JSC::JSObject::getNewVectorLength):
(JSC::JSObject::increaseVectorLength):
(JSC::JSObject::reallocateAndShrinkButterfly):
(JSC::JSObject::shiftButterflyAfterFlattening):
(JSC::JSObject::anyObjectInChainMayInterceptIndexedAccesses const):
(JSC::JSObject::prototypeChainMayInterceptStoreTo):
(JSC::JSObject::needsSlowPutIndexing const):
(JSC::JSObject::suggestedArrayStorageTransition const):
* runtime/JSObject.h:
(JSC::JSObject::mayInterceptIndexedAccesses):
(JSC::JSObject::hasIndexingHeader const):
(JSC::JSObject::hasCustomProperties):
(JSC::JSObject::hasGetterSetterProperties):
(JSC::JSObject::hasCustomGetterSetterProperties):
(JSC::JSObject::isExtensibleImpl):
(JSC::JSObject::isStructureExtensible):
(JSC::JSObject::indexingShouldBeSparse):
(JSC::JSObject::staticPropertiesReified):
(JSC::JSObject::globalObject const):
(JSC::JSObject::finishCreation):
(JSC::JSNonFinalObject::finishCreation):
(JSC::getCallData):
(JSC::getConstructData):
(JSC::JSObject::getOwnNonIndexPropertySlot):
(JSC::JSObject::putOwnDataProperty):
(JSC::JSObject::putOwnDataPropertyMayBeIndex):
(JSC::JSObject::butterflyPreCapacity):
(JSC::JSObject::butterflyTotalSize):
* runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectInternal):
* runtime/JSPromise.cpp:
(JSC::JSPromise::initialize):
(JSC::JSPromise::resolve):
* runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
* runtime/JSPromiseDeferred.cpp:
(JSC::newPromiseCapability):
(JSC::callFunction):
* runtime/JSScope.cpp:
(JSC::abstractAccess):
* runtime/JSScope.h:
(JSC::JSScope::globalObject): Deleted.
Remove this JSScope::globalObject function since it is completely the same to JSObject::globalObject().

* runtime/JSSet.cpp:
(JSC::JSSet::isIteratorProtocolFastAndNonObservable):
* runtime/JSSetIterator.cpp:
(JSC::JSSetIterator::createPair):
* runtime/JSStringIterator.cpp:
(JSC::JSStringIterator::clone):
* runtime/Lookup.cpp:
(JSC::reifyStaticAccessor):
(JSC::setUpStaticFunctionSlot):
* runtime/Lookup.h:
(JSC::getStaticPropertySlotFromTable):
(JSC::replaceStaticPropertySlot):
(JSC::reifyStaticProperty):
* runtime/MapConstructor.cpp:
(JSC::constructMap):
* runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::finishCreation):
* runtime/ObjectConstructor.cpp:
(JSC::constructObject):
(JSC::objectConstructorAssign):
(JSC::toPropertyDescriptor):
* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncToLocaleString):
* runtime/Operations.cpp:
(JSC::jsIsFunctionType): Deleted.
Replace it with JSValue::isFunction(VM&).

* runtime/Operations.h:
* runtime/ProgramExecutable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
* runtime/RegExpConstructor.cpp:
(JSC::constructWithRegExpConstructor):
(JSC::callRegExpConstructor):
* runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):
(JSC::SamplingProfiler::StackFrame::nameFromCallee):
* runtime/ScopedArguments.cpp:
(JSC::ScopedArguments::overrideThings):
* runtime/ScriptExecutable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::prepareForExecutionImpl):
* runtime/SetConstructor.cpp:
(JSC::constructSet):
* runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::putEntry):
(JSC::SparseArrayValueMap::putDirect):
* runtime/StringConstructor.cpp:
(JSC::constructWithStringConstructor):
* runtime/StringPrototype.cpp:
(JSC::replaceUsingRegExpSearch):
(JSC::replaceUsingStringSearch):
(JSC::stringProtoFuncIterator):
* runtime/Structure.cpp:
(JSC::Structure::materializePropertyTable):
(JSC::Structure::willStoreValueSlow):
* runtime/StructureCache.cpp:
(JSC::StructureCache::emptyStructureForPrototypeFromBaseStructure):
* runtime/StructureInlines.h:
(JSC::Structure::get):
* runtime/WeakMapConstructor.cpp:
(JSC::constructWeakMap):
* runtime/WeakSetConstructor.cpp:
(JSC::constructWeakSet):
* tools/HeapVerifier.cpp:
(JSC::HeapVerifier::reportCell):
* tools/JSDollarVM.cpp:
(JSC::functionGlobalObjectForObject):
(JSC::JSDollarVM::finishCreation):
* wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::finalizeCreation):
* wasm/js/WasmToJS.cpp:
(JSC::Wasm::handleBadI64Use):
(JSC::Wasm::wasmToJSException):
* wasm/js/WebAssemblyCompileErrorConstructor.cpp:
(JSC::constructJSWebAssemblyCompileError):
(JSC::callJSWebAssemblyCompileError):
* wasm/js/WebAssemblyLinkErrorConstructor.cpp:
(JSC::constructJSWebAssemblyLinkError):
(JSC::callJSWebAssemblyLinkError):
* wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::evaluate):
* wasm/js/WebAssemblyPrototype.cpp:
(JSC::instantiate):
* wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:
(JSC::constructJSWebAssemblyRuntimeError):
(JSC::callJSWebAssemblyRuntimeError):
* wasm/js/WebAssemblyToJSCallee.cpp:
(JSC::WebAssemblyToJSCallee::create):

Source/WebCore:

No behavior change.

* bindings/js/JSCSSRuleListCustom.cpp:
(WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
* bindings/js/JSCallbackData.cpp:
(WebCore::JSCallbackData::invokeCallback):
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSDOMBuiltinConstructorBase.cpp:
(WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments):
* bindings/js/JSDOMConvertScheduledAction.h:
(WebCore::Converter<IDLScheduledAction>::convert):
* bindings/js/JSDOMIterator.h:
(WebCore::iteratorForEach):
* bindings/js/JSDOMMapLike.cpp:
(WebCore::forwardFunctionCallToBackingMap):
(WebCore::forwardForEachCallToBackingMap):
* bindings/js/JSDOMPromise.cpp:
(WebCore::callFunction):
* bindings/js/JSDOMPromiseDeferred.cpp:
(WebCore::DeferredPromise::callFunction):
(WebCore::createRejectedPromiseWithTypeError):
* bindings/js/JSDeprecatedCSSOMValueCustom.cpp:
(WebCore::JSDeprecatedCSSOMValueOwner::isReachableFromOpaqueRoots):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementCustomPut):
(WebCore::callPlugin):
* bindings/js/JSWindowProxy.cpp:
(WebCore::JSWindowProxy::setWindow):
* bindings/js/ReadableStream.cpp:
(WebCore::ReadableStreamInternal::callFunction):
* bindings/js/ReadableStreamDefaultController.cpp:
(WebCore::callFunction):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::executeFunctionInContext):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::getProperty):
(WebCore::CloneSerializer::serialize):
* bindings/js/StructuredClone.cpp:
(WebCore::structuredCloneArrayBufferView):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::initScript):
* bridge/NP_jsobject.cpp:
* bridge/objc/WebScriptObject.mm:
(-[WebScriptObject callWebScriptMethod:withArguments:]):
* testing/Internals.cpp:
(WebCore::Internals::cloneArrayBuffer):
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::injectInternalsObject):

Source/WebKit:

* WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::construct):
(WebKit::NPJSObject::invoke):

Source/WebKitLegacy/mac:

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

Source/WebKitLegacy/win:

* Plugins/PluginPackage.cpp:
(WebCore::NPN_Invoke):

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

15 months agoREGRESSION(r232316) [Win] error C2039: 'event': is not a member of 'WebCore::Navigati...
Hironori.Fujii@sony.com [Thu, 31 May 2018 05:34:24 +0000 (05:34 +0000)]
REGRESSION(r232316) [Win] error C2039: 'event': is not a member of 'WebCore::NavigationAction'
https://bugs.webkit.org/show_bug.cgi?id=186125

Unreviewed build fix

* WebActionPropertyBag.cpp:
(WebActionPropertyBag::Read):
(findMouseEvent): Deleted.

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

15 months agoStraighten out HTMLInputElement attribute handling
darin@apple.com [Thu, 31 May 2018 04:22:59 +0000 (04:22 +0000)]
Straighten out HTMLInputElement attribute handling
https://bugs.webkit.org/show_bug.cgi?id=186043

Reviewed by Daniel Bates.

* dom/RadioButtonGroups.cpp:
(WebCore::RadioButtonGroup::requiredStateChanged): Renamed from requiredAttributeChanged,
and changed to take a reference.
(WebCore::RadioButtonGroups::requiredStateChanged): Ditto.
* dom/RadioButtonGroups.h: Updated for changes above.

* html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::createShadowSubtree): Call
updateInnerTextValue by its new name.
(WebCore::BaseChooserOnlyDateAndTimeInputType::updateInnerTextValue): Renamed
from updateAppearance.
(WebCore::BaseChooserOnlyDateAndTimeInputType::setValue): Call
updateInnerTextValue by its new name.
(WebCore::BaseChooserOnlyDateAndTimeInputType::attributeChanged): Override this
instead of valueAttributeChanged.
* html/BaseChooserOnlyDateAndTimeInputType.h: Tighten up inheritance a bit.
Also use final a bit more and update for changes above.

* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::attributeChanged): Replaced
minOrMaxAttributeChanged with this override, checking for the attribute names.
* html/BaseDateAndTimeInputType.h: Updated for changes above.

* html/FileInputType.cpp:
(WebCore::FileInputType::disabledStateChanged): Renamed from disabledAttributeChanged.
(WebCore::FileInputType::attributeChanged): Replaced
multipleAttributeChanged with this override, checking for the attribute names.
* html/FileInputType.h: Updated for changes above.

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::parseAttribute): Updated function names to say
"state changed" rather than "attribute changed" if they are called only when the
computed value is changed, not the raw attribute value.
(WebCore::HTMLFormControlElement::readOnlyStateChanged): Updated name.
(WebCore::HTMLFormControlElement::requiredStateChanged): Ditto.
* html/HTMLFormControlElement.h: Updated for changes above.

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute): Removed the code to call lots of specific
attribute changed functions that have now been deleted. Also removed empty code for a
couple of attributes.
(WebCore::HTMLInputElement::disabledStateChanged): Added. Forward call to input type.
(WebCore::HTMLInputElement::readOnlyStateChanged): Ditto.
(WebCore::HTMLInputElement::requiredStateChanged): Renamed from requiredAttributeChanged.
* html/HTMLInputElement.h: Updated for changes above.

* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::readOnlyStateChanged): Renamed from
readOnlyAttributeChanged. Also fixed incorrect call to base class. This may have
fixed a bug: With some work we could probably create a test case to demonstrate that.
* html/HTMLTextFormControlElement.h: Updated for changes above.

* html/ImageInputType.cpp:
(WebCore::ImageInputType::attributeChanged): Replaced
altAttributeChanged and srcAttributeChanged with this override, checking for the
attribute names.
* html/ImageInputType.h: Updated for changes above.

* html/InputType.cpp:
(WebCore::InputType::altAttributeChanged): Deleted.
(WebCore::InputType::srcAttributeChanged): Deleted.
(WebCore::InputType::maxResultsAttributeChanged): Deleted.
(WebCore::InputType::minOrMaxAttributeChanged): Deleted.
(WebCore::InputType::stepAttributeChanged): Deleted.
(WebCore::InputType::valueAttributeChanged): Deleted.
(WebCore::InputType::attributeChanged): Moved to header as an inline so derived
classes can call through to the base class with the empty function inlined.
(WebCore::InputType::multipleAttributeChanged): Deleted.
(WebCore::InputType::disabledAttributeChanged): Moved to header as an inline.
(WebCore::InputType::readonlyAttributeChanged): Ditto.
(WebCore::InputType::requiredAttributeChanged): Ditto.
* html/InputType.h: Updated for changes above.

* html/NumberInputType.cpp:
(WebCore::NumberInputType::attributeChanged): Replaced
minOrMaxAttributeChanged and stepAttributeChanged with this override, checking
for the attribute names.
* html/NumberInputType.h: Updated for changes above.

* html/RangeInputType.cpp:
(WebCore::RangeInputType::disabledStateChanged): Renamed from
disabledAttributeChanged.
(WebCore::RangeInputType::attributeChanged): Replaced
minOrMaxAttributeChanged with this override, checking for the attribute names.
* html/RangeInputType.h: Updated for changes above.

* html/SearchInputType.cpp:
(WebCore::SearchInputType::SearchInputType): Removed unneeded initialization of
RefPtr data members to nullptr.
(WebCore::updateResultButtonPseudoType): Removed unneeded if statement; the two
cases above cover 0, and less than 0, so there is no need to check for greater
than 0 for the third case.
(WebCore::SearchInputType::attributeChanged): Replaced
maxResultsAttributeChanged with this override, checking for the attribute name.
* html/SearchInputType.h: Updated for changes above and marked more
member functions final.

* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::attributeChanged): Added a call through to the
base class to match the style of other overrides of this function.
(WebCore::TextFieldInputType::disabledStateChanged): Renamed from disabledAttributeChanged.
(WebCore::TextFieldInputType::readOnlyStateChanged): Renamed from readonlyAttributeChanged.
* html/TextFieldInputType.h: Updated for changes above. Also made attributeChanged no
longer be marked final since derived classes now override it.

* html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::SliderThumbElement): Moved some data member initialization
from this constructor to the class definition.
(WebCore::SliderThumbElement::hostDisabledStateChanged): Renamed from disabledAttributeChanged.
* html/shadow/SliderThumbElement.h: Updated for changes above and marked more
member functions final.

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

15 months agoDFG combined liveness needs to say that the machine CodeBlock's arguments are live
sbarati@apple.com [Thu, 31 May 2018 03:57:59 +0000 (03:57 +0000)]
DFG combined liveness needs to say that the machine CodeBlock's arguments are live
https://bugs.webkit.org/show_bug.cgi?id=186121
<rdar://problem/39377796>

Reviewed by Keith Miller.

JSTests:

* stress/combined-liveness-needs-to-say-arguments-are-live.js: Added.
(baz):
(foo):

Source/JavaScriptCore:

DFG's combined liveness was reporting that the machine CodeBlock's |this|
argument was dead at certain points in the program. However, a CodeBlock's
arguments are considered live for the entire function. This fixes a bug
where object allocation sinking phase skipped materializing an allocation
because it thought that the argument it was associated with, |this|, was dead.

* dfg/DFGCombinedLiveness.cpp:
(JSC::DFG::liveNodesAtHead):

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

15 months ago[Win][MiniBrowser] Move MainWindow related code from Common.cpp to MainWindow.cpp
Hironori.Fujii@sony.com [Thu, 31 May 2018 03:31:15 +0000 (03:31 +0000)]
[Win][MiniBrowser] Move MainWindow related code from Common.cpp to MainWindow.cpp
https://bugs.webkit.org/show_bug.cgi?id=186079

Reviewed by Alex Christensen.

This is a sub task of Bug 184770.

This change is partial. I'm going to remove global variables
gMainWindow and gMiniBrowser and convert more functions to
MainWindow's methods in follow-up patches.

* MiniBrowser/win/CMakeLists.txt: Added Common.cpp
* MiniBrowser/win/Common.cpp:
(menuItemIsChecked): Moved to MainWindow.cpp.
(turnOffOtherUserAgents): Ditto.
(EditProc): Ditto.
(BackButtonProc): Ditto.
(ForwardButtonProc): Ditto.
(About): Ditto.
(Caches): Ditto.
(CustomUserAgent): Ditto.
(AuthDialogProc): Ditto.
(DisplayAuthDialog): Converted to MainWindow's method.
(ToggleMenuItem): Ditto.
(loadURL): Ditto.
* MiniBrowser/win/Common.h:
* MiniBrowser/win/MainWindow.cpp:
(MainWindow::init): Call SetFocus at the end of the construction.
(MainWindow::WndProc):
(menuItemIsChecked): Moved from Common.cpp.
(turnOffOtherUserAgents): Ditto.
(EditProc): Ditto.
(BackButtonProc): Ditto.
(ForwardButtonProc): Ditto.
(About): Ditto.
(Caches): Ditto.
(CustomUserAgent): Ditto.
(authDialogProc): Ditto.
(MainWindow::displayAuthDialog): Converted from a function of Common.cpp.
(MainWindow::toggleMenuItem): Ditto.
(MainWindow::loadURL): Ditto.
* MiniBrowser/win/MainWindow.h: Added method declarations.
* MiniBrowser/win/MiniBrowser.h: Added pragma once.
* MiniBrowser/win/WinMain.cpp:
(wWinMain): Include Common.h instead of Common.cpp.

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

15 months agoAX: VoiceOver on macOS does not announce fieldset description from aria-describedby...
n_wang@apple.com [Thu, 31 May 2018 02:27:08 +0000 (02:27 +0000)]
AX: VoiceOver on macOS does not announce fieldset description from aria-describedby when focussing inputs
https://bugs.webkit.org/show_bug.cgi?id=185246
<rdar://problem/39939028>

Reviewed by Chris Fleizach.

Source/WebCore:

Exposed the fieldset's description to its form control children.

Test: accessibility/mac/aria-describedby-fieldset.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::helpText const):

LayoutTests:

* accessibility/mac/aria-describedby-fieldset-expected.txt: Added.
* accessibility/mac/aria-describedby-fieldset.html: Added.

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

15 months agoAX: Expose link rel type to voiceover
cfleizach@apple.com [Thu, 31 May 2018 01:21:15 +0000 (01:21 +0000)]
AX: Expose link rel type to voiceover
https://bugs.webkit.org/show_bug.cgi?id=186084
<rdar://problem/40640871>

Reviewed by Sam Weinig.

Source/WebCore:

Make the link rel attribute available to accessibility clients.

Test: accessibility/mac/linkrel.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::linkRelValue const):
* accessibility/AccessibilityObject.h:
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityLinkRelationshipType]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

* accessibility/image-link-expected.txt:
* accessibility/image-map2-expected.txt:
* accessibility/mac/document-links-expected.txt:
* accessibility/mac/linkrel-expected.txt: Added.
* accessibility/mac/linkrel.html: Added.

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

15 months agoRebaseline http/wpt/service-workers/header-filtering.https.html after r232310.
ryanhaddad@apple.com [Thu, 31 May 2018 00:39:57 +0000 (00:39 +0000)]
Rebaseline http/wpt/service-workers/header-filtering.https.html after r232310.

Unreviewed test gardening.

* http/wpt/service-workers/header-filtering.https-expected.txt:

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

15 months agoREGRESSION (r224684): User-agent seen by page does not change when modified by the...
beidson@apple.com [Thu, 31 May 2018 00:20:16 +0000 (00:20 +0000)]
REGRESSION (r224684): User-agent seen by page does not change when modified by the develop menu options after reloading.
<rdar://problem/34918109> and https://bugs.webkit.org/show_bug.cgi?id=186111

Reviewed by Andy Estes.

Source/WebCore:

Test: http/tests/navigation/useragent-reload.php

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::clientHandshakeRequest const): Use setUserAgent() for consistency.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource): Clear the user agent from the original DocumentLoader request
  before adding additional fields, as reloads should pick up user agent changes.

Tools:

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setCustomUserAgent):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

* TestExpectations: Skip in WK1
* platform/wk2/TestExpectations: Enable in WK2

* http/tests/navigation/resources/user-agent-script.php: Added.
* http/tests/navigation/useragent-reload-expected.txt: Added.
* http/tests/navigation/useragent-reload.php: Added.

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

15 months agoFix leak of a CVPixelBufferRef due to early rerturn in -[RTCVideoEncoderH264 encode...
ddkilzer@apple.com [Thu, 31 May 2018 00:18:46 +0000 (00:18 +0000)]
Fix leak of a CVPixelBufferRef due to early rerturn in -[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]
<https://webkit.org/b/186114>
<rdar://problem/40668097>

Reviewed by Eric Carlson.

* Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:
(-[RTCVideoEncoderH264 encode:codecSpecificInfo:frameTypes:]):
Call CVBufferRelease(pixelBuffer) before early return to free
it.
* WebKit/0010-Fix-RTCVideoEncoderH264-CVPixelBuffer-leak.patch: Add.

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

15 months ago[macOS] WebProcess needs TCC entitlements for media capture (Take 2)
bfulgham@apple.com [Thu, 31 May 2018 00:08:35 +0000 (00:08 +0000)]
[macOS] WebProcess needs TCC entitlements for media capture (Take 2)
https://bugs.webkit.org/show_bug.cgi?id=185526
<rdar://problem/36674649>

Reviewed by Alexey Proskuryakov.

In Bug 181995 I added TCC entitlements for media capture to the macOS entitlements used for
relocatable builds. These changes also need to apply to system builds of WebKit.

Previously we had not needed an entitlements file for system builds of WebKit, so only provided
an entitlements file for our relocatable build targets. Now we need entitlements when building
on recent macOS targets using internal SDKs.

Since these various scenarios are beginning to multiple, this patch dynamically generates the
entitlements file.

This patch does the following:

1. Changes the "WebContent-OSX.entitlements" to hold the TCC entitlements needed for media capture, and rename
   to "WebContent-OSX-restricted.entitlements".
2. Removes the unneeded "com.apple.private.xpc.domain-extension" from WebContent-OSX.entitlement, and dynamically
   adds it using a new build step using the script 'process-webcontent-entitlements.sh'
3. Updates DebugRelease.xcconfig to use the 'Safari Engineering' signing key for internal builds.
4. Updates WebContentService.xcconfig to remove the CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_YES target
   since we no longer need a custom entitlement file for this case.
5. Updates WebContentService.Development.xcconfig to remove CODE_SIGN_ENTITLEMENTS_COCOA_TOUCH_NO since it is no
   longer needed.
6. Deletes the file Configurations/WebContent.Development.entitlements since it is no longer needed.
7. Revises the WebContent process sandbox to allow camera and microphone access without needing TCC
   entitlements, since those cannot be applied without an internal SDK.
8. Revises the UserMediaProcessManager to not pass dynamic sandbox extensions to the WebContent process
   when building with the public SDK since those entitlements cannot be added or consumed in Open
   Source builds.

We want to use the TCC entitlements when building with the internal SDK on recent macOS builds.

* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/WebContent-OSX-restricted.entitlements: Renamed from Source/WebKit/Configurations/WebContent-OSX.entitlements.
* Configurations/WebContent.Development.entitlements: Removed.
* Configurations/WebContentService.Development.xcconfig:
* Configurations/WebContentService.xcconfig:
* Scripts/process-webcontent-entitlements.sh: Added.
* UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::willCreateMediaStream): Don't bother creating and sending sandbox extensions for
camera and microphone control for builds that cannot support them.
* WebKit.xcodeproj/project.pbxproj:

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

15 months agoWebContent crashes with system preview content
dino@apple.com [Thu, 31 May 2018 00:02:07 +0000 (00:02 +0000)]
WebContent crashes with system preview content
https://bugs.webkit.org/show_bug.cgi?id=186118

Reviewed by Myles Maxfield.

We were receiving crash reports on iOS devices when getting
platformContext() from a GraphicsContext. This usually
occurred when the page was invisible. Debugging showed that
it was trying to draw with a disabled context.

* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintSystemPreviewBadge): Early
return if the context has painting disabled.

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

15 months agoUnreviewed, uncomment erroneously commented test code.
keith_miller@apple.com [Wed, 30 May 2018 23:48:36 +0000 (23:48 +0000)]
Unreviewed, uncomment erroneously commented test code.

* stress/error-stack-trace-limit.js:

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

15 months agoWeb Inspector: Annotate Same-Site cookies
dbates@webkit.org [Wed, 30 May 2018 23:42:36 +0000 (23:42 +0000)]
Web Inspector: Annotate Same-Site cookies
https://bugs.webkit.org/show_bug.cgi?id=184897
<rdar://problem/35178209>

Reviewed by Brian Burg.

Source/JavaScriptCore:

Update protocol to include cookie Same-Site policy.

* inspector/protocol/Page.json:

Source/WebCore:

Store and retrieve the Same-Site cookie policy from CFNetwork.

* inspector/agents/InspectorPageAgent.cpp:
(WebCore::cookieSameSitePolicyJSON): Added.
(WebCore::buildObjectForCookie): Modified to include cookie Same-Site policy.
* platform/Cookie.h:
(WebCore::Cookie::encode const): Encode Same-Site policy.
(WebCore::Cookie::decode): Decode Same-Site policy.
* platform/network/cocoa/CookieCocoa.mm:
(WebCore::portStringFromVector):
(WebCore::coreSameSitePolicy):
(WebCore::nsSameSitePolicy):
(WebCore::Cookie::operator NSHTTPCookie * _Nullable  const):
(WebCore::Cookie::operator NSHTTPCookie * const): Deleted.

Source/WebInspectorUI:

Add a new column for the value of the Same-Site cookie attribute to the resource cookie content
view (shown for a resource under the Network tab) and cookie storage content view (shown under
the Storage tab).

The SameSite column in the resource cookie content view reflects the parsing of the Same-Site
attribute from the HTTP response by Web Inspector. This parsing is materially consistent with
the parsing of the SameSite atttribute in CFNetwork. The Same-Site column in the cookie storage
content view reflects the Same-Site cookie policy associated with the cookies provided by the
network stack, if supported. This column will be blank on systems whose network stack does not
support Same-Site cookies (e.g libsoup).

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/HARBuilder.js:
(WI.HARBuilder.cookies):
* UserInterface/Models/Cookie.js:
(WI.Cookie):
(WI.Cookie.displayNameForSameSiteType):
(WI.Cookie.parseSameSiteAttributeValue):
(WI.Cookie.parseSetCookieResponseHeader):
* UserInterface/Views/CookieStorageContentView.js:
(WI.CookieStorageContentView.prototype._rebuildTable):
(WI.CookieStorageContentView.prototype._sortDataGrid):
* UserInterface/Views/ResourceCookiesContentView.js:
(WI.ResourceCookiesContentView.prototype.tablePopulateCell):
(WI.ResourceCookiesContentView.prototype._generateSortComparator):
(WI.ResourceCookiesContentView.prototype._refreshResponseCookiesSection):

LayoutTests:

Update an existing test to ensure we include cookie details in the HTTP Archive (HAR) report.

* http/tests/inspector/network/har/har-page-expected.txt:
* http/tests/inspector/network/har/har-page.html:

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

15 months agoAdd console logging to grant-storage-access-under-opener.html to assess its flakiness
wilander@apple.com [Wed, 30 May 2018 23:34:12 +0000 (23:34 +0000)]
Add console logging to grant-storage-access-under-opener.html to assess its flakiness
https://bugs.webkit.org/show_bug.cgi?id=183714
<rdar://problem/38666060>

Unreviewed test gardening.

* http/tests/storageAccess/grant-storage-access-under-opener-expected.txt:
* http/tests/storageAccess/grant-storage-access-under-opener.html:
    Now outputs console log entries, step by step, to see where the timeouts happen.
* platform/ios-wk2/TestExpectations:
    Switched to [ Pass ] on iOS Debug to maximize chance of seeing the flakiness.

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

15 months agoNavigationAction does not need to hold initiating DOM Event
dbates@webkit.org [Wed, 30 May 2018 23:30:09 +0000 (23:30 +0000)]
NavigationAction does not need to hold initiating DOM Event
https://bugs.webkit.org/show_bug.cgi?id=185958
<rdar://problem/40531539>

Reviewed by Simon Fraser.

Source/WebCore:

Take a similar approach as was done in <https://bugs.webkit.org/show_bug.cgi?id=185712>
and have NavigationAction hold only as many details of the initiating DOM Event as
necessary to support WebKit functionality. Retaining a DOM Event effectively retains
the document that associated with the event. And DocumentLoader always keeps around
the NavigationAction of the last navigation for the "benefit of the various policy handlers".
Therefore, having NavigationAction hold only the relevant details of the DOM Event
instead of the DOM Event itself we avoid keeping the document we navigated from alive
longer than necessary.

* dom/MouseRelatedEvent.h:
* dom/UIEventWithKeyState.h:
* loader/NavigationAction.cpp:
(WebCore::NavigationAction::UIEventWithKeyStateData::UIEventWithKeyStateData): Added.
(WebCore::NavigationAction::MouseEventData::MouseEventData): Added.
(WebCore::keyStateDataForFirstEventWithKeyState): Added.
(WebCore::mouseEventDataForFirstMouseEvent): Added.
* loader/NavigationAction.h:
(WebCore::NavigationAction::keyStateEventData const): Added.
(WebCore::NavigationAction::mouseEventData const): Added
(WebCore::NavigationAction::event const): Deleted.

Source/WebKit:

Write in terms of NavigationAction::{keyStateEventData, mouseEventDataForFirstMouseEvent}().

* WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
(WebKit::mouseButtonForMouseEventData):
(WebKit::syntheticClickTypeForMouseEventData):
(WebKit::clickLocationInRootViewCoordinatesForMouseEventData):
(WebKit::InjectedBundleNavigationAction::modifiersForNavigationAction):
(WebKit::InjectedBundleNavigationAction::mouseButtonForNavigationAction):
(WebKit::InjectedBundleNavigationAction::syntheticClickTypeForNavigationAction):
(WebKit::InjectedBundleNavigationAction::clickLocationInRootViewCoordinatesForNavigationAction):
(WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
(WebKit::mouseEventForNavigationAction): Deleted.
(WebKit::mouseButtonForMouseEvent): Deleted.
(WebKit::syntheticClickTypeForMouseEvent): Deleted.
(WebKit::clickLocationInRootViewCoordinatesForMouseEvent): Deleted.

Source/WebKitLegacy/mac:

Write in terms of NavigationAction::{keyStateEventData, mouseEventDataForFirstMouseEvent}().

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary const):
(findMouseEvent): Deleted.

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

15 months agoRevert changes made to URLWithUserTypedString made in https://trac.webkit.org/changes...
youenn@apple.com [Wed, 30 May 2018 23:23:00 +0000 (23:23 +0000)]
Revert changes made to URLWithUserTypedString made in https://trac.webkit.org/changeset/232281
https://bugs.webkit.org/show_bug.cgi?id=186108
<rdar://problem/40663065>

Reviewed by Alex Christensen.

Covered by existing API tests.

* platform/mac/WebCoreNSURLExtras.mm:
(WebCore::URLWithUserTypedString):
Return early if WebCore::URL is not able to create a CFURL.
Use CFURL otherwise to keep the existing behavior as much as possible.

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

15 months agoError instances should not strongly hold onto StackFrames
keith_miller@apple.com [Wed, 30 May 2018 23:19:51 +0000 (23:19 +0000)]
Error instances should not strongly hold onto StackFrames
https://bugs.webkit.org/show_bug.cgi?id=185996

Reviewed by Mark Lam.

Source/JavaScriptCore:

Previously, we would hold onto all the StackFrames until the the user
looked at one of the properties on the Error object. This patch makes us
only weakly retain the StackFrames and collect all the information
if we are about to collect any frame.

This patch also adds a method to $vm that returns the heaps count
of live global objects.

* heap/Heap.cpp:
(JSC::Heap::finalizeUnconditionalFinalizers):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::stackTraceAsString):
* interpreter/Interpreter.h:
* runtime/Error.cpp:
(JSC::addErrorInfo):
* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::finalizeUnconditionally):
(JSC::ErrorInstance::computeErrorInfo):
(JSC::ErrorInstance::materializeErrorInfoIfNeeded):
(JSC::ErrorInstance::visitChildren): Deleted.
* runtime/ErrorInstance.h:
(JSC::ErrorInstance::subspaceFor):
* runtime/JSFunction.cpp:
(JSC::getCalculatedDisplayName):
* runtime/StackFrame.h:
(JSC::StackFrame::isMarked const):
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
* tools/JSDollarVM.cpp:
(JSC::functionGlobalObjectCount):
(JSC::JSDollarVM::finishCreation):

LayoutTests:

* js/error-should-not-strong-reference-global-object-expected.txt: Added.
* js/error-should-not-strong-reference-global-object.html: Added.

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

15 months agoLLInt get_by_id prototype caching doesn't properly handle changes
keith_miller@apple.com [Wed, 30 May 2018 23:07:16 +0000 (23:07 +0000)]
LLInt get_by_id prototype caching doesn't properly handle changes
https://bugs.webkit.org/show_bug.cgi?id=186112

Reviewed by Filip Pizlo.

JSTests:

* stress/llint-proto-get-by-id-cache-change-prototype.js: Added.
(foo):
* stress/llint-proto-get-by-id-cache-intercept-value.js: Added.
(foo):

Source/JavaScriptCore:

The caching would sometimes fail to track that a prototype had changed
and wouldn't update its set of watchpoints.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finalizeLLIntInlineCaches):
* bytecode/CodeBlock.h:
* bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h:
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::key const):
* bytecode/ObjectPropertyConditionSet.h:
(JSC::ObjectPropertyConditionSet::size const):
* bytecode/Watchpoint.h:
(JSC::Watchpoint::Watchpoint): Deleted.
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setupGetByIdPrototypeCache):

Source/WTF:

Mark some methods const.

* wtf/Bag.h:
(WTF::Bag::begin const):
(WTF::Bag::end const):
(WTF::Bag::unwrappedHead const):
(WTF::Bag::end): Deleted.
(WTF::Bag::unwrappedHead): Deleted.

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

15 months ago[Cocoa] Add an SPI to suppress connection termination errors from CFNetwork when...
aestes@apple.com [Wed, 30 May 2018 22:11:54 +0000 (22:11 +0000)]
[Cocoa] Add an SPI to suppress connection termination errors from CFNetwork when network interfaces change
https://bugs.webkit.org/show_bug.cgi?id=186107
<rdar://problem/39338957>

Reviewed by Brady Eidson.

Source/WebCore/PAL:

* pal/spi/cf/CFNetworkSPI.h: Declared new SPI.

Source/WebKit:

Added an SPI which configures a process pool's networking process to set the
kCFStreamPropertyAutoErrorOnSystemChange to NO on its NSURLSessionConfigurations.
This instructs CFNetwork to not terminate active connections when the system's
network interfaces change.

* NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::suppressesConnectionTerminationOnSystemChange const):
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration suppressesConnectionTerminationOnSystemChange]):
(-[_WKProcessPoolConfiguration setSuppressesConnectionTerminationOnSystemChange:]):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

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

15 months agoRename FromOrigin runtime flag to CrossOriginResourcePolicy and enable it by default
youenn@apple.com [Wed, 30 May 2018 21:38:06 +0000 (21:38 +0000)]
Rename FromOrigin runtime flag to CrossOriginResourcePolicy and enable it by default
https://bugs.webkit.org/show_bug.cgi?id=186082

Reviewed by Chris Dumez.

Source/WebCore:

No change of behavior.

* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setCrossOriginResourcePolicyEnabled):
(WebCore::RuntimeEnabledFeatures::crossOriginResourcePolicyEnabled const):
(WebCore::RuntimeEnabledFeatures::setFromOriginResponseHeaderEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::fromOriginResponseHeaderEnabled const): Deleted.

Source/WebKit:

* NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
* NetworkProcess/NetworkResourceLoadParameters.h:
* Shared/WebPreferences.yaml:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetCrossOriginResourcePolicyEnabled):
(WKPreferencesGetCrossOriginResourcePolicyEnabled):
(WKPreferencesSetFromOriginResponseHeaderEnabled): Deleted.
(WKPreferencesGetFromOriginResponseHeaderEnabled): Deleted.
* UIProcess/API/C/WKPreferencesRef.h:
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):

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

15 months agoReferrer-Policy response header is ignored
cdumez@apple.com [Wed, 30 May 2018 21:30:21 +0000 (21:30 +0000)]
Referrer-Policy response header is ignored
https://bugs.webkit.org/show_bug.cgi?id=186037
<rdar://problem/40600335>

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline existing WPT now that one more check is passing.

* web-platform-tests/fetch/api/policies/referrer-origin-expected.txt:

Source/WebCore:

Add support for Referrer-Policy HTTP response header:
- https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-header

Tests: http/tests/security/referrer-policy-header-and-meta-tag-emptyString.html
       http/tests/security/referrer-policy-header-and-meta-tag.html
       http/tests/security/referrer-policy-header.html

* dom/Document.cpp:
(WebCore::Document::setReferrerPolicy):
(WebCore::Document::processReferrerPolicy):
* dom/Document.h:
(WebCore::Document::referrerPolicy const):
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::process):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::updateReferrerPolicy):
* platform/ReferrerPolicy.cpp:
(WebCore::parseReferrerPolicyToken):
(WebCore::parseReferrerPolicy):
* platform/ReferrerPolicy.h:

LayoutTests:

Add layout test coverage.

* http/tests/security/referrer-policy-header-and-meta-tag-emptyString-expected.txt: Added.
* http/tests/security/referrer-policy-header-and-meta-tag-emptyString.html: Added.
* http/tests/security/referrer-policy-header-and-meta-tag-expected.txt: Added.
* http/tests/security/referrer-policy-header-and-meta-tag.html: Added.
* http/tests/security/referrer-policy-header-expected.txt: Added.
* http/tests/security/referrer-policy-header.html: Added.
* http/tests/security/referrer-policy-invalid-expected.txt:
* http/tests/security/referrer-policy-invalid.html:
* http/tests/security/resources/postReferrer.php: Added.
* http/tests/security/resources/serve-referrer-policy-and-meta-tag.php: Added.
* http/tests/security/resources/serve-referrer-policy-and-test.php: Added.

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

15 months agoRename CrossOriginResourcePolicy same to same-origin
youenn@apple.com [Wed, 30 May 2018 20:44:08 +0000 (20:44 +0000)]
Rename CrossOriginResourcePolicy same to same-origin
https://bugs.webkit.org/show_bug.cgi?id=186080

Reviewed by Chris Dumez.

Source/WebCore:

Covered by updated tests.

* platform/network/HTTPParsers.cpp:
(WebCore::parseCrossOriginResourcePolicyHeader):
* platform/network/HTTPParsers.h:

Source/WebKit:

* NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::shouldCrossOriginResourcePolicyPolicyCancelLoad):

Tools:

* TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp:
(TestWebKitAPI::TEST):

LayoutTests:

* http/wpt/cross-origin-resource-policy/fetch-expected.txt:
* http/wpt/cross-origin-resource-policy/fetch-in-iframe-expected.txt:
* http/wpt/cross-origin-resource-policy/fetch-in-iframe.html:
* http/wpt/cross-origin-resource-policy/fetch.html:
* http/wpt/cross-origin-resource-policy/iframe-loads-expected.txt:
* http/wpt/cross-origin-resource-policy/iframe-loads.html:
* http/wpt/cross-origin-resource-policy/image-loads-expected.txt:
* http/wpt/cross-origin-resource-policy/image-loads.html:
* http/wpt/cross-origin-resource-policy/script-loads-expected.txt:
* http/wpt/cross-origin-resource-policy/script-loads.html:

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

15 months ago[iOS] -[WKFullScreenViewController viewWillAppear:] should call [super viewWillAppeear:]
ddkilzer@apple.com [Wed, 30 May 2018 20:41:07 +0000 (20:41 +0000)]
[iOS] -[WKFullScreenViewController viewWillAppear:] should call [super viewWillAppeear:]
<https://webkit.org/b/186103>
<rdar://problem/40655695>

Reviewed by Eric Carlson.

* UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(WKFullScreenViewControllerPlaybackSessionModelClient::setInterface):
Drive-by clean up.  For consistency, we always use the same
variable in the body of the `if` statement that was used in the
condition.
(-[WKFullScreenViewController viewWillAppear:]): Call
[super viewWillAppeear:] to fulfill API contract.

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

15 months agoTake a background process assertion in WebPageProxy::callAfterNextPresentationUpdate()
cdumez@apple.com [Wed, 30 May 2018 20:37:50 +0000 (20:37 +0000)]
Take a background process assertion in WebPageProxy::callAfterNextPresentationUpdate()
https://bugs.webkit.org/show_bug.cgi?id=186097
<rdar://problem/40651225>

Reviewed by Dan Bernstein.

Refactor fix landed in r232298 so that we rely on the existing Callback infrastructure
to take a background process assertion.

* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::callAfterNextPresentationUpdate):

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

15 months agoFix the ENABLE(DATALIST_ELEMENT) build
commit-queue@webkit.org [Wed, 30 May 2018 20:35:11 +0000 (20:35 +0000)]
Fix the ENABLE(DATALIST_ELEMENT) build
https://bugs.webkit.org/show_bug.cgi?id=186105

Patch by Aditya Keerthi <akeerthi@apple.com> on 2018-05-30
Reviewed by Wenson Hsieh.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* html/ColorInputType.cpp:
(WebCore::ColorInputType::suggestions const):
* html/HTMLInputElement.h:
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::ownerDataListElement const):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintSliderTicks):

Source/WebKit:

* WebProcess/Automation/WebAutomationSessionProxy.cpp:

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

15 months agoANGLE: Fix clang static analyzer issues in GetExecutablePath() and GetExecutableDirec...
ddkilzer@apple.com [Wed, 30 May 2018 19:47:58 +0000 (19:47 +0000)]
ANGLE: Fix clang static analyzer issues in GetExecutablePath() and GetExecutableDirectory()
<https://webkit.org/b/186106>
<rdar://problem/40659179>

Reviewed by Alex Christensen.

* src/common/system_utils_linux.cpp:
(angle::GetExecutablePath):
(angle::GetExecutableDirectory):
* src/common/system_utils_mac.cpp:
(angle::GetExecutablePath):
(angle::GetExecutableDirectory):
* src/common/system_utils_win.cpp:
(angle::GetExecutablePath):
(angle::GetExecutableDirectory):

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

15 months agoUnreviewed, a quick build fix for r232276.
jiewen_tan@apple.com [Wed, 30 May 2018 19:23:57 +0000 (19:23 +0000)]
Unreviewed, a quick build fix for r232276.

Enabled SecItemShim again as it turns out to be useful for CFNetwork APIs that
query Keychains underneath us.

* NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):

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

15 months agoReduce String allocations
commit-queue@webkit.org [Wed, 30 May 2018 19:21:34 +0000 (19:21 +0000)]
Reduce String allocations
https://bugs.webkit.org/show_bug.cgi?id=186059

Patch by Alex Christensen <achristensen@webkit.org> on 2018-05-30
Reviewed by Darin Adler.

Source/WebCore:

Don't allocate Strings just to convert it to another form.
Based mostly on Darin's feedback on bug 185986.

No change in behavior.

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::hostName):
(WebCore::WebSocketHandshake::host const):
* css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::CSSSelectorParser::consumeANPlusB):
* loader/mac/LoaderNSURLExtras.mm:
(suggestedFilenameWithMIMEType):
* page/SecurityOriginData.h:
(WebCore::SecurityOriginData::fromURL):
* page/csp/ContentSecurityPolicySource.cpp:
(WebCore::wildcardMatches):
(WebCore::ContentSecurityPolicySource::hostMatches const):
* platform/URL.cpp:
(WebCore::URL::hostAndPort const):
* platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::SocketStreamHandleImpl::createStreams):

Source/WTF:

* wtf/text/StringView.cpp:
(WTF::convertASCIICase):
(WTF::StringView::convertToASCIILowercase const):
(WTF::StringView::convertToASCIIUppercase const):
* wtf/text/StringView.h:
* wtf/text/cf/StringViewCF.cpp:
(WTF::StringView::createCFString const):

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

15 months agoAuto-pip should use main content heuristic.
jer.noble@apple.com [Wed, 30 May 2018 18:00:27 +0000 (18:00 +0000)]
Auto-pip should use main content heuristic.
https://bugs.webkit.org/show_bug.cgi?id=186065
<rdar://problem/35862502>

Reviewed by Eric Carlson.

Make the m_pipStandbyElement clearable, which will allow the auto-pip mechanism to be torn down. Add
a WebProcess-side notification when the main content changes, to facilitate this.

* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::videoControlsManagerDidChange):
(WebKit::WebFullScreenManager::setPIPStandbyElement):
(WebKit::WebFullScreenManager::didEnterFullScreen):
(WebKit::WebFullScreenManager::willExitFullScreen):
* WebProcess/FullScreen/WebFullScreenManager.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::videoControlsManagerDidChange):
* WebProcess/WebPage/WebPage.h:
* WebProcess/cocoa/PlaybackSessionManager.h:
* WebProcess/cocoa/PlaybackSessionManager.mm:
(WebKit::PlaybackSessionManager::setUpPlaybackControlsManager):
(WebKit::PlaybackSessionManager::clearPlaybackControlsManager):
(WebKit::PlaybackSessionManager::currentPlaybackControlsElement const):

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

15 months agoMedia elements outside fullscreen should not be considered main content.
jer.noble@apple.com [Wed, 30 May 2018 18:00:23 +0000 (18:00 +0000)]
Media elements outside fullscreen should not be considered main content.
https://bugs.webkit.org/show_bug.cgi?id=186063
<rdar://problem/40630437>

Reviewed by Eric Carlson.

Source/WebCore:

Test: platform/mac/media/video-best-element-for-playback-controls-purpose.html

Media elements outside the current fullscreen element are not visible, and thus should not be considered
main content.

Drive-by fix: set the m_hasEverNotifiedAboutPlaying before dispatching the 'playing' event, so that
tests can check bestMediaElementForShowingPlaybackControlsManager() in the 'playing' handler.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::notifyAboutPlaying):
* html/HTMLMediaElement.h:
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canShowControlsManager const):
* testing/Internals.cpp:
(WebCore::Internals::bestMediaElementForShowingPlaybackControlsManager):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* platform/mac/media/video-best-element-for-playback-controls-purpose-expected.txt: Added.
* platform/mac/media/video-best-element-for-playback-controls-purpose.html: Added.

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

15 months agoFix a few issues in WKFullScreenViewController
jer.noble@apple.com [Wed, 30 May 2018 17:46:49 +0000 (17:46 +0000)]
Fix a few issues in WKFullScreenViewController
https://bugs.webkit.org/show_bug.cgi?id=186067
<rdar://problem/40630944>

Reviewed by Darin Adler.

The check in setInterface() is checking the wrong pointer:
* UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(WKFullScreenViewControllerPlaybackSessionModelClient::setInterface):

The check in -_effectiveFullscreenInsetTop is backwards:
(-[WKFullScreenViewController _effectiveFullscreenInsetTop]):

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

15 months agoTake a background process assertion in WebPageProxy::callAfterNextPresentationUpdate()
cdumez@apple.com [Wed, 30 May 2018 17:42:51 +0000 (17:42 +0000)]
Take a background process assertion in WebPageProxy::callAfterNextPresentationUpdate()
https://bugs.webkit.org/show_bug.cgi?id=186097
<rdar://problem/40651225>

Reviewed by Tim Horton.

Take a background process assertion in WebPageProxy::callAfterNextPresentationUpdate(). Otherwise,
apps may get stuck on _doAfterNextPresentationUpdate because the WebProcess got suspended.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::callAfterNextPresentationUpdate):

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

15 months agoUnreviewed, silence a -Wreturn-type warning
mcatanzaro@igalia.com [Wed, 30 May 2018 17:06:09 +0000 (17:06 +0000)]
Unreviewed, silence a -Wreturn-type warning

* css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::glyphOrientationToCSSPrimitiveValue):

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

15 months ago[GTK] Unreviewed test gardening
Ms2ger@igalia.com [Wed, 30 May 2018 16:46:02 +0000 (16:46 +0000)]
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=186098

Unreviewed gardening.

Tools:

* TestWebKitAPI/glib/TestExpectations.json: update expectations.

LayoutTests:

* platform/gtk/TestExpectations:
  - css3/blending/blend-mode-clip-accelerated-transformed-blending.html: passing since r230479, failing again since 230991.
  - fast/text/font-collection.html: fails due to a lack of font collection support
  - editing/caret/caret-in-empty-cell.html: fails since it was added
  - css3/color-filters/color-filter-color-property-list-item.html: fails since it was added
  - css3/color-filters/color-filter-opacity.html: fails since it was added
  - fast/hidpi/filters-turbulence.html: fails since it was added

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

15 months ago[ESNext][BigInt] Implement support for "%" operation
ticaiolima@gmail.com [Wed, 30 May 2018 16:40:17 +0000 (16:40 +0000)]
[ESNext][BigInt] Implement support for "%" operation
https://bugs.webkit.org/show_bug.cgi?id=184327

Reviewed by Yusuke Suzuki.

JSTests:

* bigIntTests.yaml:
* stress/big-int-mod-memory-stress.js: Added.
* stress/big-int-mod-to-primitive-precedence.js: Added.
* stress/big-int-mod-to-primitive.js: Added.
* stress/big-int-mod-type-error.js: Added.
* stress/big-int-mod-wrapped-value.js: Added.
* stress/big-int-mod.js: Added.

Source/JavaScriptCore:

We are introducing the support of BigInt into remainder (a.k.a mod)
operation.

* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/JSBigInt.cpp:
(JSC::JSBigInt::remainder):
(JSC::JSBigInt::rightTrim):
* runtime/JSBigInt.h:

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

15 months agoAI for Atomics.load() is too conservative in always clobbering world
sbarati@apple.com [Wed, 30 May 2018 16:20:58 +0000 (16:20 +0000)]
AI for Atomics.load() is too conservative in always clobbering world
https://bugs.webkit.org/show_bug.cgi?id=185738
<rdar://problem/40342214>

Reviewed by Yusuke Suzuki.

It fails the assertion that Fil added for catching disagreements between
AI and clobberize. This patch fixes that. You'd run into this if you
manually enabled SAB in a build and ran any SAB tests.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

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

15 months agoREGRESSION(r232212): Broke Win32 Builds
msaboff@apple.com [Wed, 30 May 2018 16:09:01 +0000 (16:09 +0000)]
REGRESSION(r232212): Broke Win32 Builds
https://bugs.webkit.org/show_bug.cgi?id=186061

Reviewed by Yusuke Suzuki.

Changed Windows builds with the JIT disabled to generate and use LLIntAssembly.h
instead of LowLevelInterpreterWin.asm.

* CMakeLists.txt:

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

15 months agoBuild fix attempt after https://trac.webkit.org/r232198
ap@apple.com [Wed, 30 May 2018 15:47:41 +0000 (15:47 +0000)]
Build fix attempt after https://trac.webkit.org/r232198

* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection): Added some toString() calls.

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

15 months ago[LFC] Miscellaneous fixes to get closer to geometry correctness
zalan@apple.com [Wed, 30 May 2018 15:26:51 +0000 (15:26 +0000)]
[LFC] Miscellaneous fixes to get closer to geometry correctness
https://bugs.webkit.org/show_bug.cgi?id=186083

Reviewed by Antti Koivisto.

* layout/FormattingContextGeometry.cpp:
(WebCore::Layout::FormattingContext::Geometry::computedBorder):
* layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::initializeRoot):
* layout/Verification.cpp:
(WebCore::Layout::outputMismatchingBoxInformationIfNeeded):
* layout/blockformatting/BlockFormattingContextGeometry.cpp:
(WebCore::Layout::isStretchedToViewport):
(WebCore::Layout::initialContainingBlock):
(WebCore::Layout::computedInFlowNonReplacedComputedHeight):
(WebCore::Layout::inFlowNonReplacedComputedWidth):
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeight): lambda should capture the specification part.
(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidth):
* layout/displaytree/DisplayBox.cpp:
(WebCore::Display::Box::marginBox const):
(WebCore::Display::Box::paddingBox const):
(WebCore::Display::Box::contentBox const):
* layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isDocumentBox const):
(WebCore::Layout::Box::isBodyBox const):
* layout/layouttree/LayoutBox.h:
* rendering/style/BorderValue.h: ignore border-width when type is hidden or none.
(WebCore::BorderValue::boxModelWidth const):

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

15 months ago[MIPS] Fix build on MIPS32r1
commit-queue@webkit.org [Wed, 30 May 2018 14:13:22 +0000 (14:13 +0000)]
[MIPS] Fix build on MIPS32r1
https://bugs.webkit.org/show_bug.cgi?id=185944

Patch by Dominik Infuehr <dinfuehr@igalia.com> on 2018-05-30
Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

Only use instructions on MIPS32r2 or later. mthc1 and mfhc1 are not supported
on MIPS32r1.

* offlineasm/mips.rb:

Source/WTF:

Added WTF_MIPS_ISA_REV_AT_LEAST to test for certain release or later.

* wtf/Platform.h:

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

15 months agoiOS: setting 'defaultValue' of input type=date from script should cause a UI update
commit-queue@webkit.org [Wed, 30 May 2018 13:35:49 +0000 (13:35 +0000)]
iOS: setting 'defaultValue' of input type=date from script should cause a UI update
https://bugs.webkit.org/show_bug.cgi?id=185982

Patch by Stephen McGruer <smcgruer@chromium.org> on 2018-05-30
Reviewed by Darin Adler.

Source/WebCore:

Test: fast/forms/date/date-appearance-defaultValue.html

* html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::valueAttributeChanged):
* html/BaseChooserOnlyDateAndTimeInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::parseAttribute):
* html/InputType.cpp:
(WebCore::InputType::valueAttributeChanged):
* html/InputType.h:

LayoutTests:

* fast/forms/date/date-appearance-defaultValue-expected.html: Added.
* fast/forms/date/date-appearance-defaultValue.html: Added.

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

15 months agoImport WPT tests for CSS animations
fred.wang@free.fr [Wed, 30 May 2018 09:28:52 +0000 (09:28 +0000)]
Import WPT tests for CSS animations
https://bugs.webkit.org/show_bug.cgi?id=186046

Patch by Frederic Wang <fwang@igalia.com> on 2018-05-29
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* web-platform-tests/css/css-animations/OWNERS: Added.
* web-platform-tests/css/css-animations/animation-delay-008-expected.html: Added.
* web-platform-tests/css/css-animations/animation-delay-008.html: Added.
* web-platform-tests/css/css-animations/animation-delay-009-expected.html: Added.
* web-platform-tests/css/css-animations/animation-delay-009.html: Added.
* web-platform-tests/css/css-animations/animation-delay-010-expected.html: Added.
* web-platform-tests/css/css-animations/animation-delay-010.html: Added.
* web-platform-tests/css/css-animations/animation-delay-011-expected.html: Added.
* web-platform-tests/css/css-animations/animation-delay-011.html: Added.
* web-platform-tests/css/css-animations/animation-iteration-count-calc-expected.txt: Added.
* web-platform-tests/css/css-animations/animation-iteration-count-calc.html: Added.
* web-platform-tests/css/css-animations/animationevent-interface-expected.txt: Added.
* web-platform-tests/css/css-animations/animationevent-interface.html: Added.
* web-platform-tests/css/css-animations/animationevent-interface.js: Added.
(test):
* web-platform-tests/css/css-animations/animationevent-pseudoelement-expected.txt: Added.
* web-platform-tests/css/css-animations/animationevent-pseudoelement.html: Added.
* web-platform-tests/css/css-animations/animationevent-types-expected.txt: Added.
* web-platform-tests/css/css-animations/animationevent-types.html: Added.
* web-platform-tests/css/css-animations/pending-style-changes-001-expected.txt: Added.
* web-platform-tests/css/css-animations/pending-style-changes-001.html: Added.
* web-platform-tests/css/css-animations/w3c-import.log: Added.

LayoutTests:

* TestExpectations: Mark some tests requiring support for reftest-wait as failing/flacky.
* tests-options.json: Mark animationevent-types.html as slow.

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

15 months agoUnreviewed, follow-up after r232285
n_wang@apple.com [Wed, 30 May 2018 06:30:02 +0000 (06:30 +0000)]
Unreviewed, follow-up after r232285
https://bugs.webkit.org/show_bug.cgi?id=180871

Removed redundant null check.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isExpanded const):

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

15 months agoAdd a version of JSVirtualMachine shrinkFootprint that runs when the VM goes idle
sbarati@apple.com [Wed, 30 May 2018 04:36:07 +0000 (04:36 +0000)]
Add a version of JSVirtualMachine shrinkFootprint that runs when the VM goes idle
https://bugs.webkit.org/show_bug.cgi?id=186064

Reviewed by Mark Lam.

shrinkFootprint was implemented as:
```
sanitizeStackForVM(this);
deleteAllCode(DeleteAllCodeIfNotCollecting);
heap.collectNow(Synchronousness::Sync);
WTF::releaseFastMallocFreeMemory();
```

However, for correctness reasons, deleteAllCode is implemented to do
work when the VM is idle: no JS is running on the stack. This means
that if shrinkFootprint is called when JS is running on the stack, it
ends up freeing less memory than it could have if it waited to run until
the VM goes idle.

This patch makes it so we wait until idle before doing work. I'm seeing a
10% footprint progression when testing this against a client of the JSC SPI.

Because this is a semantic change in how the SPI works, this patch
adds new SPI named shrinkFootprintWhenIdle. The plan is to move
all clients of the shrinkFootprint SPI to shrinkFootprintWhenIdle.
Once that happens, we will delete shrinkFootprint. Until then,
we make shrinkFootprint do exactly what shrinkFootprintWhenIdle does.

* API/JSVirtualMachine.mm:
(-[JSVirtualMachine shrinkFootprint]):
(-[JSVirtualMachine shrinkFootprintWhenIdle]):
* API/JSVirtualMachinePrivate.h:
* runtime/VM.cpp:
(JSC::VM::shrinkFootprintWhenIdle):
(JSC::VM::shrinkFootprint): Deleted.
* runtime/VM.h:

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

15 months agoAX: macOS VoiceOver doesn't announce when details element is expanded when using...
n_wang@apple.com [Wed, 30 May 2018 04:01:14 +0000 (04:01 +0000)]
AX: macOS VoiceOver doesn't announce when details element is expanded when using role group
https://bugs.webkit.org/show_bug.cgi?id=180866
<rdar://problem/36074338>

Reviewed by Chris Fleizach.

Source/WebCore:

We should use is<HTMLDetailsElement> to check for the details parent instead
of using the role.

Added test cases to the existing test.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isExpanded const):

LayoutTests:

* accessibility/mac/details-summary-expected.txt:
* accessibility/mac/details-summary.html:

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

15 months agoFix the build
timothy_horton@apple.com [Wed, 30 May 2018 03:36:34 +0000 (03:36 +0000)]
Fix the build
https://bugs.webkit.org/show_bug.cgi?id=186078

Unreviewed build fix.

Source/WebKit:

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

Source/WTF:

* wtf/Platform.h:

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

15 months ago[Wi-Fi Assertions] Track whether WiFiAssertionHolder should actually hold a Wi-Fi...
aestes@apple.com [Wed, 30 May 2018 00:47:00 +0000 (00:47 +0000)]
[Wi-Fi Assertions] Track whether WiFiAssertionHolder should actually hold a Wi-Fi assertion
https://bugs.webkit.org/show_bug.cgi?id=185983
<rdar://problem/40205486>

Reviewed by Tim Horton.

* Configurations/Network-iOS.entitlements:

Added a needed entitlement.

* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/WiFiAssertionHolder.h:
(WebKit::WiFiAssertionHolder::shouldHoldWiFiAssertion const):

Track whether WiFiAssertionHolder should actually hold a Wi-Fi assertion.

* NetworkProcess/cocoa/WiFiAssertionHolder.mm: Renamed from Source/WebKit/NetworkProcess/cocoa/WiFiAssertionHolder.cpp.
(holdWiFiAssertion):
(releaseWiFiAssertion):
(WebKit::WiFiAssertionHolder::WiFiAssertionHolder):
(WebKit::WiFiAssertionHolder::~WiFiAssertionHolder):

Changed holdWiFiAssertion() and releaseWiFiAssertion() to take the
WiFiAssertionHolder as an argument.

* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

Added a needed sandbox extension.

* WebKit.xcodeproj/project.pbxproj:

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

15 months ago[JSTests] update test262 expectations after r232261
caitp@igalia.com [Wed, 30 May 2018 00:40:28 +0000 (00:40 +0000)]
[JSTests] update test262 expectations after r232261
https://bugs.webkit.org/show_bug.cgi?id=184267

Reviewed by Saam Barati.

* test262/expectations.yaml:

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

15 months agoAdd a consistency check between URL and CFURL
youenn@apple.com [Wed, 30 May 2018 00:18:39 +0000 (00:18 +0000)]
Add a consistency check between URL and CFURL
Source/WebCore:

https://bugs.webkit.org/show_bug.cgi?id=186057
<rdar://problem/40258457>

Reviewed by Geoff Garen.

It is important that WebCore::URL used in WebCore and CFURL that gets serialized in the network pipe remain consistent.
Otherwise, we will end-up with odd bugs.

We add such a check when creating a CFURL from an URL.
To make things more consistent, we also rely now more on WebCore::URL instead of directly creating a CFURL.

* platform/URL.h:
* platform/cf/CFURLExtras.cpp:
(WebCore::isCFURLSameOrigin):
* platform/cf/CFURLExtras.h:
* platform/cf/URLCF.cpp:
(WebCore::URL::createCFURL const):
* platform/mac/URLMac.mm:
(WebCore::URL::createCFURL const):
* platform/mac/WebCoreNSURLExtras.mm:
(WebCore::URLWithUserTypedString):

Source/WebKit:

https://bugs.webkit.org/show_bug.cgi?id=186057
<rdar://problem/40258457>

Reviewed by Geoff Garen.

* Shared/Cocoa/WKNSURLExtras.mm:
(+[NSURL _web_URLWithWTFString:relativeToURL:]):
(urlWithWTFString): Deleted.
(+[NSURL _web_URLWithWTFString:]): Deleted.

Tools:

https://bugs.webkit.org/show_bug.cgi?id=182444
<rdar://problem/37164835>

Reviewed by Geoff Garen.

DRT code expected a non null URL which is no longer the case now.
Updated DRT to remove that assumption.

* DumpRenderTree/TestRunner.cpp:
(TestRunner::redirectionDestinationForURL):
* DumpRenderTree/TestRunner.h:
* DumpRenderTree/mac/ResourceLoadDelegate.mm:
(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):

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