WebKit-https.git
22 months agoSpeedometer: ensure all TodoMVC tests use the complete latest CSS
commit-queue@webkit.org [Tue, 26 Sep 2017 23:48:14 +0000 (23:48 +0000)]
Speedometer: ensure all TodoMVC tests use the complete latest CSS
https://bugs.webkit.org/show_bug.cgi?id=177358

Patch by Mathias Bynens <mathias@qiwi.be> on 2017-09-26
Reviewed by Ryosuke Niwa.

* Speedometer/resources/todomvc/architecture-examples/angular/dist/*: Updated per build instructions.
* Speedometer/resources/todomvc/architecture-examples/angular/src/assets/css/todomvc-app.css: Updated to latest version.
* Speedometer/resources/todomvc/architecture-examples/angularjs/node_modules/*: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/architecture-examples/angularjs/package-lock.json: Added.
* Speedometer/resources/todomvc/architecture-examples/angularjs/package.json: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/architecture-examples/angularjs/todomvc-index.html: Updated to match new CSS classnames.
* Speedometer/resources/todomvc/architecture-examples/emberjs-debug/assets/vendor.css: Manually updated to latest TodoMVC CSS, except with IDs instead of classes. (Build steps unknown.)
* Speedometer/resources/todomvc/architecture-examples/emberjs/app/components/todo-list.js: Updated to match new CSS classnames.
* Speedometer/resources/todomvc/architecture-examples/emberjs/app/templates/application.hbs: Updated to match new CSS classnames.
* Speedometer/resources/todomvc/architecture-examples/emberjs/app/templates/components/todo-list.hbs: Updated to match new CSS classnames.
* Speedometer/resources/todomvc/architecture-examples/emberjs/dist/*: Updated per build instructions.
* Speedometer/resources/todomvc/architecture-examples/emberjs/vendor/index.css: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/architecture-examples/inferno/node_modules/*: Updated TodoMVC CSS.
* Speedometer/resources/todomvc/architecture-examples/inferno/package.json: Updated TodoMVC CSS.
* Speedometer/resources/todomvc/architecture-examples/jquery/index.html: Updated to match new CSS classnames.
* Speedometer/resources/todomvc/architecture-examples/jquery/node_modules/*: Updated TodoMVC CSS.
* Speedometer/resources/todomvc/architecture-examples/jquery/package.json: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/dependency-examples/flight/flight/app/templates/stats.html: Updated to match new CSS classnames.
* Speedometer/resources/todomvc/dependency-examples/flight/flight/index.html: Updated to match new CSS classnames.
* Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-app-css/package.json: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/dependency-examples/flight/flight/node_modules/todomvc-common/*: Updated to latest version.
* Speedometer/resources/todomvc/dependency-examples/flight/flight/package.json: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/functional-prog-examples/elm/node_modules/todomvc-common/base.js: Updated to latest version.
* Speedometer/resources/todomvc/functional-prog-examples/elm/package.json: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/dist/*: Updated per build instructions.
* Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package-lock.json: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/vanilla-examples/es2015-babel-webpack/package.json: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/package.json: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-app-css/readme.md: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/vanilla-examples/es2015/node_modules/todomvc-common/*: Updated to latest version.
* Speedometer/resources/todomvc/vanilla-examples/es2015/package.json: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-app-css/index.css: Updated to latest TodoMVC CSS.
* Speedometer/resources/todomvc/vanilla-examples/vanillajs/node_modules/todomvc-common/*: Updated to latest version.
* Speedometer/resources/todomvc/vanilla-examples/vanillajs/package.json: Updated to latest TodoMVC CSS.

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

22 months ago[Cocoa] Add a modern WKPreferences switch to disable WebRTC
commit-queue@webkit.org [Tue, 26 Sep 2017 23:35:41 +0000 (23:35 +0000)]
[Cocoa] Add a modern WKPreferences switch to disable WebRTC
https://bugs.webkit.org/show_bug.cgi?id=176638
<rdar://problem/34335158>

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-26
Reviewed by Alex Christensen.

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _peerConnectionEnabled]):
(-[WKPreferences _setPeerConnectionEnabled:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:

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

22 months agoMake fontToUse() a member function of InlineTextBox
dbates@webkit.org [Tue, 26 Sep 2017 23:05:29 +0000 (23:05 +0000)]
Make fontToUse() a member function of InlineTextBox
https://bugs.webkit.org/show_bug.cgi?id=177495

Reviewed by Myles C. Maxfield.

Following bug #177493 we can write fontToUse() in terms of InlineTextBox::combinedText().

No functionality changed. So, no new tests.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::lineFont const): Added; extracted from fontToUse().
(WebCore::InlineTextBox::combinedText const): Mark inline to give a hint to the compiler
that this function is small and seems reasonable to inline.
(WebCore::InlineTextBox::localSelectionRect const): Modified to call lineFont().
(WebCore::InlineTextBox::paint): Ditto.
(WebCore::InlineTextBox::offsetForPosition const): Ditto.
(WebCore::InlineTextBox::positionForOffset const): Ditto. Remove an extraneous
if-statement while I am here.
(WebCore::fontToUse): Deleted; moved logic to InlineTextBox::lineFont().
* rendering/InlineTextBox.h:

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

22 months agoRemove unnecessary libwebrtc dependencies
commit-queue@webkit.org [Tue, 26 Sep 2017 22:56:06 +0000 (22:56 +0000)]
Remove unnecessary libwebrtc dependencies
https://bugs.webkit.org/show_bug.cgi?id=177494

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-26
Reviewed by Alex Christensen.

* libwebrtc.xcodeproj/project.pbxproj:

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

22 months agoFollowup (r222427): SynchronizedFixedQueue should not have a public constructor
commit-queue@webkit.org [Tue, 26 Sep 2017 22:40:51 +0000 (22:40 +0000)]
Followup (r222427): SynchronizedFixedQueue should not have a public constructor
https://bugs.webkit.org/show_bug.cgi?id=177458

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-26
Reviewed by Tim Horton.

Source/WebCore:

ImageFrameCache::decodingQueue() and frameRequestQueue() should return
raw references instead of Ref objects.

* platform/graphics/ImageFrameCache.cpp:
(WebCore::ImageFrameCache::decodingQueue):
(WebCore::ImageFrameCache::frameRequestQueue):
(WebCore::ImageFrameCache::startAsyncDecodingQueue):
* platform/graphics/ImageFrameCache.h:

Source/WTF:

Since SynchronizedFixedQueue is now derived from ThreadSafeRefCounted<SynchronizedFixedQueue>,
the standard way to have an instance of it is to call SynchronizedFixedQueue::create()
which returns a Ref<SynchronizedFixedQueue>. Now it does not make sense to still
have the constructor public.

* wtf/SynchronizedFixedQueue.h:
(WTF::SynchronizedFixedQueue::SynchronizedFixedQueue):

Tools:

Fix the definition and the creation of SynchronizedFixedQueue.

* TestWebKitAPI/Tests/WTF/SynchronizedFixedQueue.cpp:
(TestWebKitAPI::ToUpperConverter::ToUpperConverter):
(TestWebKitAPI::ToUpperConverter::startProducing):
(TestWebKitAPI::ToUpperConverter::startConsuming):
(TestWebKitAPI::ToUpperConverter::stopProducing):
(TestWebKitAPI::ToUpperConverter::stopConsuming):
(TestWebKitAPI::ToUpperConverter::enqueueLower):

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

22 months agoCMake should reconfigure if the Sources.txt files are touched
keith_miller@apple.com [Tue, 26 Sep 2017 22:34:31 +0000 (22:34 +0000)]
CMake should reconfigure if the Sources.txt files are touched
https://bugs.webkit.org/show_bug.cgi?id=177508

Reviewed by JF Bastien.

* Source/cmake/WebKitMacros.cmake:

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

22 months agoExtract out combined text query into a member function
dbates@webkit.org [Tue, 26 Sep 2017 22:28:43 +0000 (22:28 +0000)]
Extract out combined text query into a member function
https://bugs.webkit.org/show_bug.cgi?id=177493

Reviewed by Zalan Bujtas.

Towards removing duplication throughout the paint code extract the
querying for the combined text of an inline text box into a member
function.

For a similar reason, update functions to query lineStyle() instead
of passing this information an argument.

No functionality changed. So, no new tests.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint): Extract logic to query for combined text
from here to InlineTextBox::combinedText() and modify code to call this
member function.
(WebCore::InlineTextBox::paintTextSubrangeBackground): Query for line style
instead of taking it as an argument.
(WebCore::InlineTextBox::paintCompositionBackground): Ditto.
(WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
(WebCore::InlineTextBox::paintDecoration): Update code to query combinedText()
instead of taking RenderCombineText as an argument. While I am here make use of
GraphicsContextStateSaver to save and restore the graphics context state when
we have a non-empty clip rect.
(WebCore::InlineTextBox::paintDocumentMarker): Query for line style instead of
taking it as an argument.
(WebCore::InlineTextBox::paintDocumentMarkers): Ditto.
(WebCore::InlineTextBox::combinedText const): Added; extracted from InlineTextBox::paint().
* rendering/InlineTextBox.h:
* rendering/TextPainter.h:
(WebCore::TextPainter::setEmphasisMark): Modified to take a const RenderCombineText*
as opposed to a pointer to a non-const RenderCombineText.

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

22 months agoAX: ARIA grids claim to be multiselectable even with aria-multiselectable is set...
jdiggs@igalia.com [Tue, 26 Sep 2017 22:19:12 +0000 (22:19 +0000)]
AX: ARIA grids claim to be multiselectable even with aria-multiselectable is set to false
https://bugs.webkit.org/show_bug.cgi?id=177498

Reviewed by Chris Fleizach.

Source/WebCore:

AccessibilityARIAGrid::isMultiSelectable() was unconditionally returning
true. Modify it to return false if aria-multiselectable has been set to
false by the author.

Test: accessibility/aria-multiselectable-grid.html

* accessibility/AccessibilityARIAGrid.cpp:
(WebCore::AccessibilityARIAGrid::isMultiSelectable const):
* accessibility/AccessibilityARIAGrid.h:

LayoutTests:

* accessibility/aria-multiselectable-grid-expected.txt: Added.
* accessibility/aria-multiselectable-grid.html: Added.

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

22 months ago[Win] WebKitCOMAPI.h is not copied after build has finished.
pvollan@apple.com [Tue, 26 Sep 2017 22:00:52 +0000 (22:00 +0000)]
[Win] WebKitCOMAPI.h is not copied after build has finished.
https://bugs.webkit.org/show_bug.cgi?id=177505

Reviewed by Brent Fulgham.

The file is located in the WebKitLegacy forwarding headers folder, not the WebKit folder.

* WebKitLegacy.vcxproj/WebKitLegacy.proj:

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

22 months agoAX: Several ARIA roles with presentational children are exposing children
jdiggs@igalia.com [Tue, 26 Sep 2017 21:51:04 +0000 (21:51 +0000)]
AX: Several ARIA roles with presentational children are exposing children
https://bugs.webkit.org/show_bug.cgi?id=177502

Reviewed by Chris Fleizach.

Source/WebCore:

Add MenuItemCheckboxRole, MenuItemRadioRole, and SplitterRole to the list
of AccessibilityRole types which cannot have children. In the case of
DocumentMathRole, only treat children as presentational (excluded from the
accessibility tree) if the element is not MathML.

Test: accessibility/presentational-children.html

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

LayoutTests:

* accessibility/presentational-children-expected.txt: Added.
* accessibility/presentational-children.html: Added.

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

22 months ago[PAL][CMake] Include ICU directories
don.olmstead@sony.com [Tue, 26 Sep 2017 21:43:12 +0000 (21:43 +0000)]
[PAL][CMake] Include ICU directories
https://bugs.webkit.org/show_bug.cgi?id=177504

Reviewed by Myles C. Maxfield.

* pal/CMakeLists.txt:

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

22 months agoUnreviewed, rolling out r222518.
commit-queue@webkit.org [Tue, 26 Sep 2017 21:25:44 +0000 (21:25 +0000)]
Unreviewed, rolling out r222518.
https://bugs.webkit.org/show_bug.cgi?id=177507

Break the High Sierra build (Requested by yusukesuzuki on
#webkit).

Reverted changeset:

"Add Above/Below comparisons for UInt32 patterns"
https://bugs.webkit.org/show_bug.cgi?id=177281
http://trac.webkit.org/changeset/222518

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

22 months ago[ios-simulator] API test DataInteractionTests.ExternalSourceDataTransferItemGetFolder...
wenson_hsieh@apple.com [Tue, 26 Sep 2017 20:49:52 +0000 (20:49 +0000)]
[ios-simulator] API test DataInteractionTests.ExternalSourceDataTransferItemGetFolderAsEntry is failing
https://bugs.webkit.org/show_bug.cgi?id=177271

Reviewed by Tim Horton and Megan Gardner.

Rebaseline a failing API test.

* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):

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

22 months ago[Curl] Introduce CurlResponse to hold response information among threads.
commit-queue@webkit.org [Tue, 26 Sep 2017 20:48:02 +0000 (20:48 +0000)]
[Curl] Introduce CurlResponse to hold response information among threads.
https://bugs.webkit.org/show_bug.cgi?id=177496

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2017-09-26
Reviewed by Alex Christensen.

* platform/network/curl/AuthenticationChallenge.h:
* platform/network/curl/AuthenticationChallengeCurl.cpp:
(WebCore::AuthenticationChallenge::AuthenticationChallenge):
(WebCore::AuthenticationChallenge::protectionSpaceFromHandle):
* platform/network/curl/CurlContext.cpp:
(WebCore::CurlHandle::getHttpConnectCode):
* platform/network/curl/CurlContext.h:
* platform/network/curl/CurlResponse.h: Added.
(WebCore::CurlResponse::isolatedCopy const):
* platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::didReceiveContentData):
(WebCore::ResourceHandleCurlDelegate::handleLocalReceiveResponse):
(WebCore::ResourceHandleCurlDelegate::didFinish):
(WebCore::ResourceHandleCurlDelegate::handleDataURL):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::isHttpInfo): Deleted.
* platform/network/curl/ResourceHandleCurlDelegate.h:
* platform/network/curl/ResourceResponse.h:
(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::setResponseFired): Deleted.
(WebCore::ResourceResponse::responseFired): Deleted.
* platform/network/curl/ResourceResponseCurl.cpp:
(WebCore::ResourceResponse::ResourceResponse):
(WebCore::ResourceResponse::appendHTTPHeaderField):
(WebCore::ResourceResponse::setStatusLine):

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

22 months agoHarden our access to the vector of URL schemes.
bfulgham@apple.com [Tue, 26 Sep 2017 20:42:14 +0000 (20:42 +0000)]
Harden our access to the vector of URL schemes.
https://bugs.webkit.org/show_bug.cgi?id=177470
<rdar://problem/33881522>

Reviewed by Chris Dumez.

Instead of asserting, use MESSAGE_CHECK so that we actually refuse to access an invalid iterator.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::startURLSchemeTask):
(WebKit::WebPageProxy::stopURLSchemeTask):

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

22 months agoMake StoredCredentials an enum class and rename its header
cdumez@apple.com [Tue, 26 Sep 2017 20:36:29 +0000 (20:36 +0000)]
Make StoredCredentials an enum class and rename its header
https://bugs.webkit.org/show_bug.cgi?id=177455

Reviewed by Youenn Fablet.

Follow-up to r222467, actually make it an enum *class*.

* platform/network/StoredCredentialsPolicy.h:
(): Deleted.

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

22 months agoAdd Above/Below comparisons for UInt32 patterns
utatane.tea@gmail.com [Tue, 26 Sep 2017 20:32:18 +0000 (20:32 +0000)]
Add Above/Below comparisons for UInt32 patterns
https://bugs.webkit.org/show_bug.cgi?id=177281

Reviewed by Saam Barati.

JSTests:

* stress/uint32-comparison-jump.js: Added.
(shouldBe):
(above):
(aboveOrEqual):
(below):
(belowOrEqual):
(notAbove):
(notAboveOrEqual):
(notBelow):
(notBelowOrEqual):
* stress/uint32-comparison.js: Added.
(shouldBe):
(above):
(aboveOrEqual):
(below):
(belowOrEqual):
(aboveTest):
(aboveOrEqualTest):
(belowTest):
(belowOrEqualTest):

Source/JavaScriptCore:

Sometimes, we would like to have UInt32 operations in JS. While VM does
not support UInt32 nicely, VM supports efficient Int32 operations. As long
as signedness does not matter, we can just perform Int32 operations instead
and recognize its bit pattern as UInt32.

But of course, some operations respect signedness. The most frequently
used one is comparison. Octane/zlib performs UInt32 comparison by performing
`val >>> 0`. It emits op_urshift and op_unsigned. op_urshift produces
UInt32 in Int32 form. And op_unsigned will generate Double value if
the generated Int32 is < 0 (which should be UInt32).

There is a chance for optimization. The given code pattern is the following.

    op_unsigned(op_urshift(@1)) lessThan:< op_unsigned(op_urshift(@2))

This can be converted to the following.

    op_urshift(@1) below:< op_urshift(@2)

The above conversion is nice since

1. We can avoid op_unsigned. This could be unsignedness check in DFG. Since
this check depends on the value of Int32, dropping this check is not as easy as
removing Int32 edge filters.

2. We can perform unsigned comparison in Int32 form. We do not need to convert
them to DoubleRep.

Since the above comparison exists in Octane/zlib's *super* hot path, dropping
op_unsigned offers huge win.

At first, my patch attempts to convert the above thing in DFG pipeline.
However it poses several problems.

1. MovHint is not well removed. It makes UInt32ToNumber (which is for op_unsigned) live.
2. UInt32ToNumber could cause an OSR exit. So if we have the following nodes,

    2: UInt32ToNumber(@0)
    3: MovHint(@2, xxx)
    4: UInt32ToNumber(@1)
    5: MovHint(@1, xxx)

we could drop @5's MovHint. But @3 is difficult since @4 can exit.

So, instead, we start introducing a simple optimization in the bytecode compiler.
It performs pattern matching for op_urshift and comparison to drop op_unsigned.
We adds op_below and op_above families to bytecodes. They only accept Int32 and
perform unsigned comparison.

This offers 4% performance improvement in Octane/zlib.

                            baseline                  patched

zlib           x2     431.07483+-16.28434       414.33407+-9.38375         might be 1.0404x faster

* bytecode/BytecodeDumper.cpp:
(JSC::BytecodeDumper<Block>::printCompareJump):
(JSC::BytecodeDumper<Block>::dumpBytecode):
* bytecode/BytecodeDumper.h:
* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/Opcode.h:
(JSC::isBranch):
* bytecode/PreciseJumpTargetsInlines.h:
(JSC::extractStoredJumpTargetsForBytecodeOffset):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitJumpIfTrue):
(JSC::BytecodeGenerator::emitJumpIfFalse):
* bytecompiler/NodesCodegen.cpp:
(JSC::BinaryOpNode::emitBytecode):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGIntegerRangeOptimizationPhase.cpp:
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCompareUnsigned):
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
* dfg/DFGValidate.cpp:
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareBelow):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareBelowEq):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JIT.h:
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_below):
(JSC::JIT::emit_op_beloweq):
(JSC::JIT::emit_op_jbelow):
(JSC::JIT::emit_op_jbeloweq):
(JSC::JIT::emit_compareUnsignedAndJump):
(JSC::JIT::emit_compareUnsigned):
* jit/JITArithmetic32_64.cpp:
(JSC::JIT::emit_compareUnsignedAndJump):
(JSC::JIT::emit_compareUnsigned):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* parser/Nodes.h:
(JSC::ExpressionNode::isBinaryOpNode const):

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

22 months agoAdd helper functions to write better selection tests
megan_gardner@apple.com [Tue, 26 Sep 2017 20:24:19 +0000 (20:24 +0000)]
Add helper functions to write better selection tests
https://bugs.webkit.org/show_bug.cgi?id=177403

Reviewed by Tim Horton.

Selection tests are finicky to write, so having some more helper functions
that can assist in double checking where we think we are selecting, or where we
think words are located in helpful.

* fast/events/touch/ios/resources/ui-debugging.js: Added.
(debugDot):
(removeDebugDot):
(debugRect):
(removeDebugRect):

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

22 months agoRemove extraneous includes of TextRun.h
commit-queue@webkit.org [Tue, 26 Sep 2017 20:22:19 +0000 (20:22 +0000)]
Remove extraneous includes of TextRun.h
https://bugs.webkit.org/show_bug.cgi?id=177499

Patch by Daniel Bates <dabates@apple.com> on 2017-09-26
Reviewed by Myles C. Maxfield.

No functionality changed. So, no new tests.

* platform/graphics/mac/ComplexTextControllerCoreText.mm:
* platform/mac/DragImageMac.mm:
* platform/text/ios/LocalizedDateCache.mm:
* testing/InternalSettings.cpp:

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

22 months ago[PAL] Move Clock into PAL
commit-queue@webkit.org [Tue, 26 Sep 2017 19:57:30 +0000 (19:57 +0000)]
[PAL] Move Clock into PAL
https://bugs.webkit.org/show_bug.cgi?id=174342

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-09-26
Reviewed by Myles C. Maxfield.

Source/WebCore:

No new tests. No change in behavior.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* html/MediaController.cpp:
(MediaController::MediaController):
* html/MediaController.h:
* platform/Clock.cpp: Removed.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
* platform/mac/PlatformClockCA.cpp: Removed. PlatformClockCA is no longer used.
* platform/mac/PlatformClockCA.h: Removed.

Source/WebCore/PAL:

* PAL.xcodeproj/project.pbxproj:
* pal/PlatformGTK.cmake:
* pal/PlatformWin.cmake:
* pal/system/Clock.h: Renamed from Source/WebCore/platform/Clock.h.
* pal/system/ClockGeneric.cpp: Renamed from Source/WebCore/platform/ClockGeneric.cpp.
(PAL::Clock::create):
* pal/system/ClockGeneric.h: Renamed from Source/WebCore/platform/ClockGeneric.h.
* pal/system/mac/ClockCM.h: Renamed from Source/WebCore/platform/mac/PlatformClockCM.h.
* pal/system/mac/ClockCM.mm: Renamed from Source/WebCore/platform/mac/PlatformClockCM.mm.
(Clock::create):
(ClockCM::ClockCM):
(ClockCM::initializeWithTimingSource):
(ClockCM::setCurrentTime):
(ClockCM::currentTime const):
(ClockCM::setCurrentMediaTime):
(ClockCM::currentMediaTime const):
(ClockCM::setPlayRate):
(ClockCM::start):
(ClockCM::stop):

* pal/cf/CoreMediaSoftLink.cpp:
* pal/cf/CoreMediaSoftLink.h:
Add requrired functions.

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

22 months agoSet LF eol-style on Windows shell script, because the script failed on one of the EWS
pvollan@apple.com [Tue, 26 Sep 2017 19:06:57 +0000 (19:06 +0000)]
Set LF eol-style on Windows shell script, because the script failed on one of the EWS
bots, when it had the 'native' style.

Unreviewed Windows EWS fix.

* EWSTools/start-queue-win.sh: Modified property svn:eol-style.

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

22 months ago[Curl] Change member variable of CurlHandle to use std::unique_ptr
commit-queue@webkit.org [Tue, 26 Sep 2017 19:03:35 +0000 (19:03 +0000)]
[Curl] Change member variable of CurlHandle to use std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=177492

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2017-09-26
Reviewed by Alex Christensen.

* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::init):
(WebCore::CurlDownload::getResponse const):
(WebCore::CurlDownload::setupTransfer):
(WebCore::CurlDownload::didCompleteTransfer):
(WebCore::CurlDownload::didCancelTransfer):
(WebCore::CurlDownload::didReceiveHeader):
(WebCore::CurlDownload::addHeaders): Deleted.
* platform/network/curl/CurlDownload.h:
* platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::ResourceHandleCurlDelegate):
(WebCore::ResourceHandleCurlDelegate::start):
(WebCore::ResourceHandleCurlDelegate::setDefersLoading):
(WebCore::ResourceHandleCurlDelegate::setAuthentication):
(WebCore::ResourceHandleCurlDelegate::setupTransfer):
(WebCore::ResourceHandleCurlDelegate::didCompleteTransfer):
(WebCore::ResourceHandleCurlDelegate::didCancelTransfer):
(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::handleLocalReceiveResponse):
(WebCore::ResourceHandleCurlDelegate::setupPOST):
(WebCore::ResourceHandleCurlDelegate::setupPUT):
(WebCore::ResourceHandleCurlDelegate::setupFormData):
(WebCore::ResourceHandleCurlDelegate::applyAuthentication):
(WebCore::ResourceHandleCurlDelegate::getNetworkLoadMetrics):
(WebCore::ResourceHandleCurlDelegate::willSetupSslCtx):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::ResourceHandleCurlDelegate::didReceiveData):
* platform/network/curl/ResourceHandleCurlDelegate.h:

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

22 months agowebkitpy: Notify parent process when a worker is spawned
jbedard@apple.com [Tue, 26 Sep 2017 18:58:57 +0000 (18:58 +0000)]
webkitpy: Notify parent process when a worker is spawned
https://bugs.webkit.org/show_bug.cgi?id=177467
<rdar://problem/34660194>

Reviewed by Daniel Bates.

When we fork the parent process, there may be resources in that process
which workers will take ownership of. Notify ports when a new worker is created
so that these resources can be correctly managed.

* Scripts/webkitpy/common/message_pool.py:
(_MessagePool._start_workers): After all workers are started, notify the caller
that a worker has been created, unless we are running inline, in which case the
parent process is still the worker.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner._handle_did_spawn_worker): Notify the port that a worker process
has been created.
* Scripts/webkitpy/port/base.py:
(Port.did_spawn_worker): Add function so that ports may manage any
resources created on the parent process but managed by the provided worker.
* Scripts/webkitpy/port/device.py:
(Device.release_worker_resources): Call release_worker_resources on the
platform_device if such a function is defined.
* Scripts/webkitpy/port/ios.py:
(IOSPort.did_spawn_worker): Release any worker resources on the iOS
device object associated with the spawned worker.
* Scripts/webkitpy/test/runner.py:
(Runner.handle): Ignore the did_spawn_worker message during testing.

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

22 months agoWeb Inspector: Improve Table scrolling performance
joepeck@webkit.org [Tue, 26 Sep 2017 18:22:40 +0000 (18:22 +0000)]
Web Inspector: Improve Table scrolling performance
https://bugs.webkit.org/show_bug.cgi?id=177468

Reviewed by Brian Burg.

This reduces work during scrolling updates in two ways.

1. Avoid recalculating the width/height of the Table on scroll.
  - We only need to recalculate sizes if the view changes size.
2. Avoid resetting sizes on all cells if the sizes did not change.
  - Enumerating and setting style.width values was showing up in profiles.

* UserInterface/Views/Table.js:
(WI.Table):
New member variables for a cached width/height of the scrollable region.
_cachedWidth is the same as _cachedScrollableHeight but they could be
different so I just kept them separate for now. Also switch to
getBoundingClientRect which gets us a better value then
offsetWidth/offsetHeight.

(WI.Table.prototype.resize):
Clear cached size and relayout.

(WI.Table.prototype.layout):
If we did not resize, layout without recalculating sizes.

(WI.Table.prototype.resizerDragging):
(WI.Table.prototype._getOrCreateRow):
When column widths change increment the width generation. This will let
us quickly check if a row's cells are appropriately sized or not.

(WI.Table.prototype._resizeColumnsAndFiller):
Cache width values after recalculating. Provide a fast path if values
have not changed.

(WI.Table.prototype._updateVisibleRows):
(WI.Table.prototype._updateFillerRowWithNewHeight):
Factor out updating the filler row into a function.

(WI.Table.prototype._applyColumnWidths):
Always update the width generation of a row after setting its cell widths.

(WI.Table.prototype._applyColumnWidthsToColumnsIfNeeded):
Fast path only updates row cell widths if they need to change.

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

22 months ago[Curl] Simplify JobManager's duty and move the tasks to client
commit-queue@webkit.org [Tue, 26 Sep 2017 18:20:59 +0000 (18:20 +0000)]
[Curl] Simplify JobManager's duty and move the tasks to client
for easy handling. Also simlify CurlHandle by not storing internal
error value as a member variable.
https://bugs.webkit.org/show_bug.cgi?id=177466

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2017-09-26
Reviewed by Alex Christensen.

* platform/network/curl/CurlContext.cpp:
(WebCore::CurlHandle::perform):
(WebCore::CurlHandle::pause):
(WebCore::CurlHandle::getEffectiveURL):
(WebCore::CurlHandle::getPrimaryPort):
(WebCore::CurlHandle::getResponseCode):
(WebCore::CurlHandle::getContentLength):
(WebCore::CurlHandle::getHttpAuthAvail):
(WebCore::CurlHandle::getNetworkLoadMetrics):
* platform/network/curl/CurlContext.h:
(WebCore::CurlHandle::errorCode const): Deleted.
(WebCore::CurlHandle::setErrorCode): Deleted.
* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::start):
(WebCore::CurlDownload::cancel):
(WebCore::CurlDownload::setupTransfer):
(WebCore::CurlDownload::didCompleteTransfer):
(WebCore::CurlDownload::didCancelTransfer):
(WebCore::CurlDownload::setupRequest): Deleted.
(WebCore::CurlDownload::notifyFinish): Deleted.
(WebCore::CurlDownload::notifyFail): Deleted.
* platform/network/curl/CurlDownload.h:
* platform/network/curl/CurlJobManager.cpp:
(WebCore::CurlJobList::startJobs):
(WebCore::CurlJobList::finishJobs):
(WebCore::CurlJobManager::add):
(WebCore::CurlJobManager::cancel):
(WebCore::CurlJobManager::callOnJobThread):
(WebCore::CurlJobManager::updateJobList):
(WebCore::CurlJobManager::workerThread):
(WebCore::CurlJobList::notifyResult): Deleted.
* platform/network/curl/CurlJobManager.h:
* platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::start):
(WebCore::ResourceHandleCurlDelegate::cancel):
(WebCore::ResourceHandleCurlDelegate::dispatchSynchronousJob):
(WebCore::ResourceHandleCurlDelegate::setupTransfer):
(WebCore::ResourceHandleCurlDelegate::didCompleteTransfer):
(WebCore::ResourceHandleCurlDelegate::didCancelTransfer):
(WebCore::ResourceHandleCurlDelegate::didFinish):
(WebCore::ResourceHandleCurlDelegate::didFail):
(WebCore::ResourceHandleCurlDelegate::setupRequest): Deleted.
(WebCore::ResourceHandleCurlDelegate::notifyFinish): Deleted.
(WebCore::ResourceHandleCurlDelegate::notifyFail): Deleted.
* platform/network/curl/ResourceHandleCurlDelegate.h:

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

22 months agoCleanup: Consolidate non-selection background painting code for text
dbates@webkit.org [Tue, 26 Sep 2017 18:12:50 +0000 (18:12 +0000)]
Cleanup: Consolidate non-selection background painting code for text
https://bugs.webkit.org/show_bug.cgi?id=177490

Reviewed by Zalan Bujtas.

Share code to paint the background of a text subrange instead of duplicating
it for text match markers and composition underlines.

Additionally standardize the argument order for various paint functions and
make more paint functions private.

No functionality changed. So, no new tests.

* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paint): Updated code as needed for changes below.
(WebCore::InlineTextBox::paintSelection): Add FIXME comment to fix up this code for
combined text while I am in this file.
(WebCore::InlineTextBox::paintTextSubrangeBackground): Added. Extracted from the common code of
paintCompositionBackground() and paintTextMatchMarker().
(WebCore::InlineTextBox::paintCompositionBackground): Modified to use paintTextSubrangeBackground().
(WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
(WebCore::InlineTextBox::paintDocumentMarker): Add FIXME comment to fix up this code for
combined and hyphenated text while I am here.
(WebCore::InlineTextBox::paintDocumentMarkers): Update code as needed for changes
above.
* rendering/InlineTextBox.h: Change visibility of paintCompositionBackground(),
paintDocumentMarkers() and paintCompositionUnderline() from protected to private
as no derived class makes use of these functions. Group related functions to
improve readability.

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

22 months agoUnreviewed. Remove hardware concurrency from features list.
dino@apple.com [Tue, 26 Sep 2017 18:08:23 +0000 (18:08 +0000)]
Unreviewed. Remove hardware concurrency from features list.

* features.json:

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

22 months agoThrown ObjC exception when right clicking on <img> containing mp4 link
jer.noble@apple.com [Tue, 26 Sep 2017 17:53:47 +0000 (17:53 +0000)]
Thrown ObjC exception when right clicking on <img> containing mp4 link
https://bugs.webkit.org/show_bug.cgi?id=177370

Reviewed by Darin Adler.

Source/WebKit:

Creating a NSImage from mp4 data will fail and return nil; do a nil-check before attempting
to put the results into a NSMutableArray.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::createShareMenuItem):

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.html: Added.
* TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm: Added.
(-[ContextMenuImgWithVideoDelegate _webView:contextMenu:forElement:]):
(TestWebKitAPI::TEST):

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

22 months agoUpdate TestExpectations for http/tests/local/blob/send-hybrid-blob-using-open-panel...
ryanhaddad@apple.com [Tue, 26 Sep 2017 17:40:40 +0000 (17:40 +0000)]
Update TestExpectations for http/tests/local/blob/send-hybrid-blob-using-open-panel.html.
https://bugs.webkit.org/show_bug.cgi?id=171353

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

22 months agoWeb Automation: add commands to get and set user permissions for pages in an automati...
bburg@apple.com [Tue, 26 Sep 2017 17:12:21 +0000 (17:12 +0000)]
Web Automation: add commands to get and set user permissions for pages in an automation session
https://bugs.webkit.org/show_bug.cgi?id=177405
<rdar://problem/34493846>

Reviewed by Joseph Pecoraro.

To test some Web APIs via WebDriver, it needs to be possible to simulate a user accepting or
denying requests for elevated permissions, such as getUserMedia() or geolocation.

This patch adds a generic way for a test to configure the automation session's
simulated user action that will happen every time a specific permission is requested.
A test can set a "session permission", trigger the permission request via Web API,
and then verify that the page behaves correctly when the user accepted or denied the request.

A proposal will follow shortly to expose this functionality via a new REST API endpoint.

* UIProcess/Automation/Automation.json: Add get/set commands.

* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::getSessionPermissions):
(WebKit::WebAutomationSession::setSessionPermissions):
For now, store the permission value in a member of the session. The getUserMedia
permission only needs a bool, but there is no reason we couldn't use more complicated
values for permissions (i.e., strings, numbers, arrays, objects) someday.

(WebKit::WebAutomationSession::shouldAllowGetUserMediaForPage const):
Expose the specific decision to be taken based on whether the request is allowed or denied.

* UIProcess/Automation/WebAutomationSession.h:
* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
If the page is under automation, then simulate the user action according to the
current values of permissions set for the session.

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

22 months ago[Win] 'webkit-patch clean' is failing on bot.
pvollan@apple.com [Tue, 26 Sep 2017 16:29:08 +0000 (16:29 +0000)]
[Win] 'webkit-patch clean' is failing on bot.
https://bugs.webkit.org/show_bug.cgi?id=177488

Reviewed by Brent Fulgham.

If 'os.remove' throws an exception, catch it.

* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.discard_working_directory_changes):

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

22 months agoREGRESSION (222040): Google Maps Street View CrashTracer: [USER] com.apple.WebKit...
antti@apple.com [Tue, 26 Sep 2017 15:51:55 +0000 (15:51 +0000)]
REGRESSION (222040): Google Maps Street View CrashTracer: [USER] com.apple.WebKit.WebContent.Development at com.apple.WebCore: WebCore::PropertyWrapperAcceleratedTransform::blend const + 92
https://bugs.webkit.org/show_bug.cgi?id=177485

Reviewed by Zalan Bujtas.

Source/WebCore:

We crash when animating between two different types of transforms because renderer is null for the first frame.

Test: fast/animation/animation-mixed-transform-crash.html

* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::currentStyle const):

    Add a way to get the current style from animations.
    This is either the render style or the inital style.

* page/animation/AnimationBase.h:
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):

    Renderer may be null when computing the first frame of the animation. Null check.

(WebCore::blendFilter):

    Here too.

* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions):
* page/animation/ImplicitAnimation.h:
* page/animation/KeyframeAnimation.h:

LayoutTests:

* fast/animation/animation-mixed-transform-crash-expected.html: Added.
* fast/animation/animation-mixed-transform-crash.html: Added.

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

22 months agoMark compositing/masks/compositing-clip-path-change-no-repaint.html as flaky.
ryanhaddad@apple.com [Tue, 26 Sep 2017 15:40:08 +0000 (15:40 +0000)]
Mark compositing/masks/compositing-clip-path-change-no-repaint.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177397

Unreviewed test gardening.

* platform/ios/TestExpectations:

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

22 months agoJSC build should use unified sources for derived sources
keith_miller@apple.com [Tue, 26 Sep 2017 15:34:19 +0000 (15:34 +0000)]
JSC build should use unified sources for derived sources
https://bugs.webkit.org/show_bug.cgi?id=177421

Reviewed by JF Bastien.

.:

* Source/cmake/WebKitMacros.cmake:

Source/JavaScriptCore:

This patch make a couple of changes:

1) Make derived sources added to relevant bundles. I was going to add JSCBuiltins.cpp
to runtime but that kept breaking the windows build. I'll get back to it later
2) Move the derived location of some sources both for clarity and for ease of use.
3) Make auto generator scripts able to create directories if needed.
4) Move some scripts from the top level of the JavaScriptCore directory to a
more appropriate directory.
5) Move some CMake generation commands around for clarity.

* CMakeLists.txt:
* DerivedSources.make:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Scripts/lazywriter.py:
(LazyFileWriter.close):
* Sources.txt:
* inspector/scripts/generate-inspector-protocol-bindings.py:
(IncrementalFileWriter.close):
* yarr/create_regex_tables: Renamed from Source/JavaScriptCore/create_regex_tables.
* yarr/generateYarrCanonicalizeUnicode: Renamed from Source/JavaScriptCore/generateYarrCanonicalizeUnicode.

Source/WTF:

The script now needs to determine if a file is from a derived
source. This is only relevant for the CMake build since the
script needs to provide a list of the bundled source files. If the
script does not provide the full path for derived sources then
CMake will be unable to find them and the build will fail.

Additionally, I move the error message for the Xcode build outside
the main loop. This means that the error message will contain all
the files you need to add to Xcode and all those files will now be
written in DerivedSources so they should be easier to add.

* Scripts/generate-unified-source-bundles.rb:

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

22 months ago[EME] Add ClearKey support for persistent session data load and removal
zandobersek@gmail.com [Tue, 26 Sep 2017 09:48:23 +0000 (09:48 +0000)]
[EME] Add ClearKey support for persistent session data load and removal
https://bugs.webkit.org/show_bug.cgi?id=177442

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Implement the session data load and removal for persistent sessions
in the ClearKey implementation of the CDMInstance interface.

CDMInstanceClearKey::loadSession() finds data for the specified session
name, if any, and constructs a corresponding KeyStatusVector object that
holds information about all known keys associated with this session before
dispatching the LoadSessionCallback asynchronously.

CDMInstanceClearKey::removeSessionData() similarly finds the session data,
if any, and then removes it from the state tracker. The key data is still
reused to construct the KeyStatusVector object that holds information
about all the keys that were stored for this session. The key information
is also embedded in the 'license release' JSON message. Both key status
vector and message are then used in the RemoveSessionDataCallback dispatch
that is again done asynchronously.

No new tests -- affected tests have their baselines updated.

* platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::CDMInstanceClearKey::loadSession):
(WebCore::CDMInstanceClearKey::removeSessionData):

LayoutTests:

Update WPE baselines for EME tests affected by the addition of persistent
session data load and removal in the ClearKey implementation.

All the affected tests progress, but most of them still don't pass
entirely due to missing functionality in the GStreamer pipeline.

* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-destroy-persistent-license-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-events-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt:

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

22 months ago[GCrypt] Only report libgcrypt errors when logging is enabled
zandobersek@gmail.com [Tue, 26 Sep 2017 08:38:16 +0000 (08:38 +0000)]
[GCrypt] Only report libgcrypt errors when logging is enabled
https://bugs.webkit.org/show_bug.cgi?id=177360

Reviewed by Xabier Rodriguez-Calvar.

* pal/crypto/gcrypt/Utilities.h:
(PAL::GCrypt::logError): Only print out the libgcrypt error on stderr
when logging is enabled at build-time, avoiding unnecessary output in
non-debugging use cases.

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

22 months agoUpdate compressedTexImage3D to match the signature in the specification.
Ms2ger@igalia.com [Tue, 26 Sep 2017 08:13:38 +0000 (08:13 +0000)]
Update compressedTexImage3D to match the signature in the specification.
https://bugs.webkit.org/show_bug.cgi?id=177431

Reviewed by Sam Weinig.

No new tests: not much point in adding tests now; this method doesn't
do anything anyway.

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::compressedTexImage3D):
* html/canvas/WebGL2RenderingContext.h:
* html/canvas/WebGL2RenderingContext.idl:

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

22 months agoSupport building JavaScriptCore with the Bionic C library
zandobersek@gmail.com [Tue, 26 Sep 2017 07:07:45 +0000 (07:07 +0000)]
Support building JavaScriptCore with the Bionic C library
https://bugs.webkit.org/show_bug.cgi?id=177427

Reviewed by Michael Catanzaro.

Source/JavaScriptCore:

When compiling with the Bionic C library, the MachineContext.h header
should enable the same code paths that are enabled for the GNU C library.

The Bionic C library defines the __BIONIC__ macro, but unlike other C
libraries that mimic the GNU one, it doesn't define __GLIBC__. So the
__BIONIC__ macro checks have to match the __GLIBC__ ones.

* runtime/MachineContext.h:
(JSC::MachineContext::stackPointer):
(JSC::MachineContext::framePointer):
(JSC::MachineContext::instructionPointer):
(JSC::MachineContext::argumentPointer<1>):
(JSC::MachineContext::llintInstructionPointer):

Source/WTF:

* wtf/Platform.h: Define HAVE_MACHINE_CONTEXT when __BIONIC__
is defined, i.e. when building with the Bionic C library.

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

22 months ago[CMake] Use implicit include directories for Clang as well
zandobersek@gmail.com [Tue, 26 Sep 2017 07:05:46 +0000 (07:05 +0000)]
[CMake] Use implicit include directories for Clang as well
https://bugs.webkit.org/show_bug.cgi?id=177426

Reviewed by Michael Catanzaro.

In WebKitCompilerFlags.cmake, also gather and use the system
include directories for C and C++ build targets when compiling
with Clang. This fixes compilation errors when cross-building
WebKit with a Clang-based toolchain.

COMPILER_IS_GCC_OR_CLANG is used to check for GCC or Clang
compilers. That only checks for the C++ compiler, but it's not
reasonable to expect two widely different compilers being used
for C and C++ compilation.

* Source/cmake/WebKitCompilerFlags.cmake:

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

22 months agoFix the macOS WebCore CMake build
timothy_horton@apple.com [Tue, 26 Sep 2017 06:43:42 +0000 (06:43 +0000)]
Fix the macOS WebCore CMake build

* PlatformMac.cmake:

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

22 months agoMake PolicyAction an encodable enum class
achristensen@apple.com [Tue, 26 Sep 2017 05:52:40 +0000 (05:52 +0000)]
Make PolicyAction an encodable enum class
https://bugs.webkit.org/show_bug.cgi?id=177480

Reviewed by Antti Koivisto.

Source/WebCore:

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::continueAfterContentPolicy):
* loader/FrameLoaderTypes.h:
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
(WebCore::PolicyChecker::checkNewWindowPolicy):

Source/WebKit:

* NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::continueDecidePendingDownloadDestination):
(WebKit::DownloadManager::cancelDownload):
* NetworkProcess/NetworkCORSPreflightChecker.cpp:
(WebKit::NetworkCORSPreflightChecker::didReceiveResponseNetworkSession):
* NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::didReceiveResponse):
* NetworkProcess/NetworkDataTaskBlob.cpp:
(WebKit::NetworkDataTaskBlob::dispatchDidReceiveResponse):
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::~NetworkLoad):
(WebKit::NetworkLoad::continueDidReceiveResponse):
(WebKit::NetworkLoad::notifyDidReceiveResponse):
* NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::didReceiveResponseNetworkSession):
* NetworkProcess/capture/NetworkDataTaskReplay.cpp:
(WebKit::NetworkCapture::NetworkDataTaskReplay::didReceiveResponse):
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(toNSURLSessionResponseDisposition):
* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::dispatchDidReceiveResponse):
* Scripts/webkit/messages.py:
(headers_for_type):
* UIProcess/WebFormSubmissionListenerProxy.h:
* UIProcess/WebFrameListenerProxy.h:
(WebKit::WebFrameListenerProxy::navigation): Deleted.
* UIProcess/WebFramePolicyListenerProxy.cpp:
(WebKit::WebFramePolicyListenerProxy::use):
(WebKit::WebFramePolicyListenerProxy::download):
(WebKit::WebFramePolicyListenerProxy::ignore):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::invalidatePolicyListener):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceivePolicyDecision):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Source/WebKitLegacy/mac:

* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck _continueWithPolicy:]):
(-[WebPluginContainerCheck _isForbiddenFileLoad]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(-[WebFramePolicyListener invalidate]):
(-[WebFramePolicyListener ignore]):
(-[WebFramePolicyListener download]):
(-[WebFramePolicyListener use]):
(-[WebFramePolicyListener continue]):
* WebView/WebPolicyDelegate.mm:
(-[WebPolicyDecisionListener use]):
(-[WebPolicyDecisionListener ignore]):
(-[WebPolicyDecisionListener download]):

Source/WebKitLegacy/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* WebFramePolicyListener.cpp:
(WebFramePolicyListener::use):
(WebFramePolicyListener::download):
(WebFramePolicyListener::ignore):
(WebFramePolicyListener::continueSubmit):

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

22 months agoFix the macOS WebCore CMake build
timothy_horton@apple.com [Tue, 26 Sep 2017 05:26:34 +0000 (05:26 +0000)]
Fix the macOS WebCore CMake build

* PlatformMac.cmake:

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

22 months ago[WinCairo] Share default value of font family preferences among non-cocoa builds
commit-queue@webkit.org [Tue, 26 Sep 2017 04:56:11 +0000 (04:56 +0000)]
[WinCairo] Share default value of font family preferences among non-cocoa builds
https://bugs.webkit.org/show_bug.cgi?id=177479

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-09-25
Reviewed by Yusuke Suzuki.

* Shared/WebPreferencesDefinitions.h:

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

22 months agoFix the macOS WebKit CMake build
timothy_horton@apple.com [Tue, 26 Sep 2017 04:19:22 +0000 (04:19 +0000)]
Fix the macOS WebKit CMake build

* CMakeLists.txt:
Before r222194, this -umbrella flag mentioned "WebKit" twice:
first, the name of the target to affect; second, the name of the
umbrella framework. In r222194, the targets were renamed. It turns
out that a global find and replace isn't a great way to do this,
because it caught the name of the umbrella framework too.

Put it back; the umbrella framework will always be named "WebKit".

This makes it once again possible to link WebKit (before, it was
complaining about us linking directly to WebKitLegacy instead of the
nonsensical WebKitLegacy umbrella framework).

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

22 months agoSpeedometer: Add missing build scripts for Vue.js example
commit-queue@webkit.org [Tue, 26 Sep 2017 03:29:41 +0000 (03:29 +0000)]
Speedometer: Add missing build scripts for Vue.js example
https://bugs.webkit.org/show_bug.cgi?id=177359

Patch by Mathias Bynens <mathias@qiwi.be> on 2017-09-25
Reviewed by Ryosuke Niwa.

This directory contains the build scripts needed to update `dist/*`. It had not been checked in because previously, all `build` directories were ignored by `.gitignore`. This directory is generated as part of `npm install -g vue-cli && vue init webpack some-project-name`.

* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/build.js: Added.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/check-versions.js: Added.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/dev-client.js: Added.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/dev-server.js: Added.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/utils.js: Added.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/vue-loader.conf.js: Added.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.base.conf.js: Added.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.dev.conf.js: Added.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.prod.conf.js: Added.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/build/webpack.test.conf.js: Added.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/dist/*: Updated per build instructions.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package-lock.json: Added build dependencies per vue-cli.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/package.json: Added build dependencies per vue-cli.
* Speedometer/resources/todomvc/architecture-examples/vuejs-cli/src/components/todo.css: Updated CSS to the latest version for #177358.

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

22 months agoExpose way to set values of classified form controls as {Legacy WebKit, WebKit} SPI
commit-queue@webkit.org [Tue, 26 Sep 2017 02:33:43 +0000 (02:33 +0000)]
Expose way to set values of classified form controls as {Legacy WebKit, WebKit} SPI
https://bugs.webkit.org/show_bug.cgi?id=174394
<rdar://problem/33183504>

Patch by Frederik Riedel <riedel@apple.com> on 2017-09-25
Reviewed by Ryosuke Niwa.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* editing/ios/AutofillElements.cpp: Added.
(WebCore::isAutofillableElement): Returns true if the element is of type text or email.
(WebCore::nextAutofillableElement): Returns the next focusable element that is autofillable.
(WebCore::previousAutofillableElement): Returns the previous focusable element that is autofillable.
(WebCore::AutofillElements::computeAutofillElements): Computes the autofill elements (username & password)
for a given input element.
(WebCore::AutofillElements::autofill): Fills the credentials into the pair of username/password elements.
* editing/ios/AutofillElements.h: Added.

Source/WebKit:

* Platform/spi/ios/UIKitSPI.h:
* Shared/AssistedNodeInformation.cpp:
(WebKit::AssistedNodeInformation::encode const):
Encodes additional node information, including if the node is part of a login screen.
(WebKit::AssistedNodeInformation::decode):
Decodes the additional assisted node information.
* Shared/AssistedNodeInformation.h:
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView acceptsAutofilledLoginCredentials]):
Determines if the WKContentView shows a login screen.
(-[WKContentView representingPageUrl]):
Returns the URL of the currently displayed web page.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView insertTextSuggestion:]):
Inserts the login credentials into the Web View.
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::startAssistingNode):
Transfer the additional assistednode information (acceptsAutofilledLoginCredentials and representingPageUrl).
(WebKit::WebPageProxy::acceptsAutofilledLoginCredentials):
Returns if the Web View shows a login screen.
(WebKit::WebPageProxy::representingPageUrl):
Returns the Web View's URL.
(WebKit::WebPageProxy::autofillLoginCredentials):
Insert the credentials into the Web View.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getAssistedNodeInformation): Transports the information if the currently
highlighted node accepts autofilled login credentials.
(WebKit::WebPage::autofillLoginCredentials): Fills the login credentials into the
WebPage.

Source/WebKitLegacy/mac:

* DOM/DOMHTMLInputElement.h:
* DOM/DOMHTMLInputElement.mm:
(-[DOMHTMLInputElement acceptsAutofilledLoginCredentials]):
Determines if this HTMLInputElement is part of a login screen.
(-[DOMHTMLInputElement representingPageUrl]):
Returns the webpage's URL that is currently displayed in the Web View.
(-[DOMHTMLInputElement insertTextSuggestion:]):
Inserts login credentials into the Web View.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm: Added.
(-[WKWebView _privateTextInput]): Testing helpers.
(TestWebKitAPI::TEST): Added test cases to test AutoFill for web views.
* TestWebKitAPI/ios/UIKitSPI.h:

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

22 months agoWeb Inspector: move Console.addInspectedNode to DOM.setInspectedNode
webkit@devinrousso.com [Tue, 26 Sep 2017 01:40:30 +0000 (01:40 +0000)]
Web Inspector: move Console.addInspectedNode to DOM.setInspectedNode
https://bugs.webkit.org/show_bug.cgi?id=176827

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

* inspector/agents/InspectorConsoleAgent.h:

* inspector/agents/JSGlobalObjectConsoleAgent.h:
* inspector/agents/JSGlobalObjectConsoleAgent.cpp:
(Inspector::JSGlobalObjectConsoleAgent::addInspectedNode): Deleted.

* inspector/protocol/Console.json:
* inspector/protocol/DOM.json:

Source/WebCore:

Tests: http/tests/inspector/dom/cross-domain-inspected-node-access.html
       inspector/dom/setInspectedNode.html

* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setInspectedNode):

* inspector/PageConsoleAgent.h:
* inspector/PageConsoleAgent.cpp:
(WebCore::PageConsoleAgent::addInspectedNode): Deleted.

* inspector/WorkerConsoleAgent.h:
* inspector/WorkerConsoleAgent.cpp:
(WebCore::WorkerConsoleAgent::addInspectedNode): Deleted.

Source/WebInspectorUI:

* UserInterface/Controllers/DOMTreeManager.js:
(WI.DOMTreeManager):
(WI.DOMTreeManager.prototype.setInspectedNode):

* UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView.prototype._selectedNodeDidChange):

LayoutTests:

* http/tests/inspector/dom/cross-domain-inspected-node-access-expected.txt: Renamed from LayoutTests/http/tests/inspector/console/cross-domain-inspected-node-access-expected.txt.
* http/tests/inspector/dom/cross-domain-inspected-node-access.html: Renamed from LayoutTests/http/tests/inspector/console/cross-domain-inspected-node-access.html.
* inspector/console/command-line-api.html:
* inspector/dom/setInspectedNode-expected.txt: Renamed from LayoutTests/inspector/console/addInspectedNode-expected.txt.
* inspector/dom/setInspectedNode.html: Renamed from LayoutTests/inspector/console/addInspectedNode.html.
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:

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

22 months agoWeb Inspector: Add loading indicator next to resources in the Network Tab
commit-queue@webkit.org [Tue, 26 Sep 2017 01:35:52 +0000 (01:35 +0000)]
Web Inspector: Add loading indicator next to resources in the Network Tab
https://bugs.webkit.org/show_bug.cgi?id=177469

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-09-25
Reviewed by Matt Baker.

* UserInterface/Models/Resource.js:
(WI.Resource.prototype.isLoading):
Provide a useful accessor to check if the Resource is considered loading or not.

* UserInterface/Views/NetworkGridContentView.js:
(WI.NetworkGridContentView.prototype._networkTimelineRecordAdded):
* UserInterface/Views/ResourceTimelineDataGridNode.js:
(WI.ResourceTimelineDataGridNode.prototype._updateStatus):
* UserInterface/Views/ResourceTreeElement.js:
(WI.ResourceTreeElement.prototype._updateStatus):
Switch existing code to use the new isLoading() function and make the similiar
code more consistent.

* UserInterface/Views/NetworkTableContentView.css:
(body[dir=ltr] .content-view.network .table .cell.name > .status):
(body[dir=rtl] .content-view.network .table .cell.name > .status):
(.content-view.network .table .cell.name > .status .indeterminate-progress-spinner):
* UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype._populateNameCell):
Add a loading indicator to the Name column in the Network tab.
It is sized the same as the loading indicator in the Resource tab.

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

22 months agoWeb Inspector: Elements tab's Layers sidebar should disappear when Layers tab is...
commit-queue@webkit.org [Tue, 26 Sep 2017 01:31:25 +0000 (01:31 +0000)]
Web Inspector: Elements tab's Layers sidebar should disappear when Layers tab is present.
https://bugs.webkit.org/show_bug.cgi?id=177476

Patch by Ross Kirsling <ross.kirsling@sony.com> on 2017-09-25
Reviewed by Devin Rousso.

* UserInterface/Views/ElementsTabContentView.js:
(WI.ElementsTabContentView):

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

22 months agoWeb Inspector: Add autocompletion suggestions for CSS attr based on the selected...
webkit@devinrousso.com [Tue, 26 Sep 2017 01:24:43 +0000 (01:24 +0000)]
Web Inspector: Add autocompletion suggestions for CSS attr based on the selected element's attributes
https://bugs.webkit.org/show_bug.cgi?id=177346

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

* UserInterface/Controllers/CodeMirrorCompletionController.js:
(WI.CodeMirrorCompletionController.prototype._generateCSSCompletions):
Provide a way for delegates to add completion items for CSS functions based on the name of
the function.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WI.CSSStyleDeclarationTextEditor.prototype.completionControllerCSSFunctionValuesNeeded):
If the function name is "attr", also return a list of the names of all the selected node's
attributes.

LayoutTests:

* inspector/model/dom-node-expected.txt: Added.
* inspector/model/dom-node.html: Added.

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

22 months agoChange my status to reviewer and reformat with validate-committer-lists
fred.wang@free.fr [Tue, 26 Sep 2017 00:48:19 +0000 (00:48 +0000)]
Change my status to reviewer and reformat with validate-committer-lists

Unreviewed.

Patch by Frederic Wang <fwang@igalia.com> on 2017-09-25

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

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

22 months agoUnreviewed, rebaseline builtins generator tests after r222473.
ryanhaddad@apple.com [Tue, 26 Sep 2017 00:23:36 +0000 (00:23 +0000)]
Unreviewed, rebaseline builtins generator tests after r222473.

* Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result:

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

22 months ago[WebIDL] Factor out IsExceptionOr check from toJS/toJSNewlyCreated signature
commit-queue@webkit.org [Mon, 25 Sep 2017 23:27:02 +0000 (23:27 +0000)]
[WebIDL] Factor out IsExceptionOr check from toJS/toJSNewlyCreated signature
https://bugs.webkit.org/show_bug.cgi?id=177457

Patch by Sam Weinig <sam@webkit.org> on 2017-09-25
Reviewed by Youenn Fablet.

Add new type, IsExceptionOr, that factors out the previously repeated logic of determining
if a type is an ExceptionOr template type.

* bindings/js/JSDOMConvertBase.h:
(WebCore::toJS):
(WebCore::toJSNewlyCreated):

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

22 months ago[Curl] Refactor and improve methods in the CurlHandle
commit-queue@webkit.org [Mon, 25 Sep 2017 23:24:37 +0000 (23:24 +0000)]
[Curl] Refactor and improve methods in the CurlHandle
https://bugs.webkit.org/show_bug.cgi?id=177373

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2017-09-25
Reviewed by Alex Christensen.

* platform/network/curl/CurlContext.cpp:
(WebCore::CurlShareHandle::~CurlShareHandle):
(WebCore::CurlMultiHandle::~CurlMultiHandle):
(WebCore::CurlHandle::~CurlHandle):
(WebCore::CurlHandle::initialize):
(WebCore::CurlHandle::pause):
(WebCore::CurlHandle::setUrl):
(WebCore::CurlHandle::appendRequestHeaders):
(WebCore::CurlHandle::appendRequestHeader):
(WebCore::CurlHandle::removeRequestHeader):
(WebCore::CurlHandle::enableRequestHeaders):
(WebCore::CurlHandle::getContentLength):
(WebCore::CurlHandle::getNetworkLoadMetrics):
(WebCore::CurlHandle::errorDescription const): Deleted.
(WebCore::CurlHandle::clearUrl): Deleted.
(WebCore::CurlHandle::getContentLenghtDownload): Deleted.
(WebCore::CurlHandle::getTimes): Deleted.
* platform/network/curl/CurlContext.h:
(WebCore::CurlHandle::privateData const): Deleted.
(WebCore::CurlHandle::setPrivateData): Deleted.
(WebCore::CurlHandle::url const): Deleted.
* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::setupRequest):
* platform/network/curl/CurlSSLVerifier.cpp:
(WebCore::CurlSSLVerifier::certVerifyCallback):
* platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::setupRequest):
(WebCore::ResourceHandleCurlDelegate::setupPUT):
(WebCore::ResourceHandleCurlDelegate::getNetworkLoadMetrics):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):

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

22 months agoWebRTC video does not resume receiving when switching back to Safari 11 on iOS
commit-queue@webkit.org [Mon, 25 Sep 2017 23:23:27 +0000 (23:23 +0000)]
WebRTC video does not resume receiving when switching back to Safari 11 on iOS
https://bugs.webkit.org/show_bug.cgi?id=175472
<rdar://problem/33860863>

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Darin Adler.

Source/ThirdParty/libwebrtc:

Adding a method to disable any decoding/encoding task.
When reenabling the decoder, the decoder will request an I frame after failing the first initial decoding task.

* Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.h:
(webrtc::H264VideoToolboxDecoder::SetActive):
* Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/decoder.mm:
(webrtc::H264VideoToolboxDecoder::Decode):
* Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h:
* Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm:
(webrtc::H264VideoToolboxEncoder::Encode):

Source/WebCore:

Test: webrtc/video-interruption.html and manual testing.

Using new SetActive method from libwebrtc encoder/decoder to enable/disable them based on interuptions.
For that purpose, LibWebRTCProvider is now storing the peer connection factory and keeping track of the encoder/decoder factories.
LibWebRTCProvider is then notified by WebPage when backgrounded/foregrounded.

* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::staticFactoryAndThreads):
(WebCore::initializePeerConnectionFactoryAndThreads):
(WebCore::LibWebRTCProvider::factory):
(WebCore::LibWebRTCProvider::setPeerConnectionFactory):
(WebCore::LibWebRTCProvider::createPeerConnection):
(WebCore::LibWebRTCProvider::setActive):
(WebCore::LibWebRTCProvider::webRTCAvailable):
(WebCore::LibWebRTCProvider::mayResumePlayback): Deleted.
(WebCore::LibWebRTCProvider::suspendPlayback): Deleted.
* platform/mediastream/libwebrtc/LibWebRTCProvider.h:
* platform/mediastream/libwebrtc/VideoToolBoxDecoderFactory.cpp: Copied from Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.cpp.
(WebCore::VideoToolboxVideoDecoderFactory::setActive):
(WebCore::VideoToolboxVideoDecoderFactory::CreateVideoDecoder):
(WebCore::VideoToolboxVideoDecoderFactory::DestroyVideoDecoder):
* platform/mediastream/libwebrtc/VideoToolBoxDecoderFactory.h: Copied from Source/WebCore/platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h.
* platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.cpp:
(WebCore::VideoToolboxVideoEncoderFactory::setActive):
(WebCore::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
(WebCore::VideoToolboxVideoEncoderFactory::DestroyVideoEncoder):
* platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h:
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
* testing/MockLibWebRTCPeerConnection.cpp:
(WebCore::useRealRTCPeerConnectionFactory):
(WebCore::useMockRTCPeerConnectionFactory):
* testing/MockLibWebRTCPeerConnection.h:

Source/WebKit:

Notifying LibWebRTC of backgrounding/foregrouding.

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

LayoutTests:

* webrtc/video-interruption-expected.txt: Added.
* webrtc/video-interruption.html: Added.

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

22 months agoRemove unused EditorClient functions
commit-queue@webkit.org [Mon, 25 Sep 2017 23:17:07 +0000 (23:17 +0000)]
Remove unused EditorClient functions
https://bugs.webkit.org/show_bug.cgi?id=177463

Patch by Sam Weinig <sam@webkit.org> on 2017-09-25
Reviewed by Alex Christensen.

Remove unused EditorClient functions.

Source/WebCore:

* loader/EmptyClients.cpp:
* page/EditorClient.h:

Source/WebKit:

* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
(WebKit::WebEditorClient::canonicalizeURL): Deleted.
(WebKit::WebEditorClient::canonicalizeURLString): Deleted.
(WebKit::WebEditorClient::writeDataToPasteboard): Deleted.
(WebKit::WebEditorClient::supportedPasteboardTypesForCurrentSelection): Deleted.
(WebKit::WebEditorClient::readDataFromPasteboard): Deleted.
(WebKit::WebEditorClient::pasteboardChangeCount): Deleted.
* WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::canonicalizeURL): Deleted.
(WebKit::WebEditorClient::canonicalizeURLString): Deleted.

Source/WebKitLegacy/mac:

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::canonicalizeURL): Deleted.
(WebEditorClient::canonicalizeURLString): Deleted.
(WebEditorClient::writeDataToPasteboard): Deleted.
(WebEditorClient::supportedPasteboardTypesForCurrentSelection): Deleted.
(WebEditorClient::readDataFromPasteboard): Deleted.
(WebEditorClient::pasteboardChangeCount): Deleted.

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

22 months agoAdding per-platform libwebrtc export files
commit-queue@webkit.org [Mon, 25 Sep 2017 23:13:35 +0000 (23:13 +0000)]
Adding per-platform libwebrtc export files
https://bugs.webkit.org/show_bug.cgi?id=177465

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Alex Christensen.

Using per platform export symbol files for libwebrtc.dylib.
This allows exporting platform-specific symbols that are used by libwebrtc unit tests.

* Configurations/libwebrtc.iOS.exp: Added.
* Configurations/libwebrtc.iOSsim.exp: Added.
* Configurations/libwebrtc.mac.exp: Added.
* Configurations/libwebrtc.exp: Removed.
* Configurations/libwebrtc.xcconfig:
* libwebrtc.xcodeproj/project.pbxproj: Adding ISAC/fix codec files used for
by audio codec unit tests to libwebrtc.dylib. This files will allow us to add support to the ISAC/fix codec.

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

22 months agoUnreviewed follow-up to r222470.
joepeck@webkit.org [Mon, 25 Sep 2017 23:02:17 +0000 (23:02 +0000)]
Unreviewed follow-up to r222470.

* UserInterface/Main.html:
Remove reference to css file that doesn't exist yet.

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

22 months agoCrash in WebCore::TreeScope::documentScope
pvollan@apple.com [Mon, 25 Sep 2017 22:56:11 +0000 (22:56 +0000)]
Crash in WebCore::TreeScope::documentScope
https://bugs.webkit.org/show_bug.cgi?id=176159

Reviewed by Ryosuke Niwa.

Source/WebCore:

When all children are replaced with a new node in ContainerNode::replaceAllChildren,
the treescope of the new node should be set after the call to willRemoveChildren,
since this call can fire events, and execute JS code, which might change the treescope
of the container node.

Test: fast/dom/crash-moving-subtree-between-documents.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::replaceAllChildren):

LayoutTests:

* fast/dom/crash-moving-subtree-between-documents-expected.txt: Added.
* fast/dom/crash-moving-subtree-between-documents.html: Added.

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

22 months agoMake Attribute an enum class
achristensen@apple.com [Mon, 25 Sep 2017 22:37:03 +0000 (22:37 +0000)]
Make Attribute an enum class
https://bugs.webkit.org/show_bug.cgi?id=177414

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

I've had enough of these naming collisions.  This is what enum classes are for.
Unfortunately a lot of static_cast<unsigned> is necessary until those functions take
an OptionSet<Attribute> instead of an unsigned parameter, but this is a big step
towards where we ought to be.

* API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
* API/JSObjectRef.cpp:
(JSObjectMakeConstructor):
* Scripts/builtins/builtins_generate_internals_wrapper_implementation.py:
(BuiltinsInternalsWrapperImplementationGenerator.property_macro):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
(JSC::GetByIdStatus::computeFor):
* bytecode/PropertyCondition.cpp:
(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint const):
(JSC::PropertyCondition::isValidValueForAttributes):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeFor):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::instantiateLexicalVariables):
(JSC::BytecodeGenerator::variable):
* bytecompiler/BytecodeGenerator.h:
(JSC::Variable::isReadOnly const):
(JSC::Variable::setIsReadOnly):
* bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode):
* create_hash_table:
* debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::getOwnPropertySlot):
* dfg/DFGOperations.cpp:
* inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::JSInjectedScriptHostPrototype::finishCreation):
* inspector/JSJavaScriptCallFramePrototype.cpp:
(Inspector::JSJavaScriptCallFramePrototype::finishCreation):
* jit/Repatch.cpp:
(JSC::tryCacheGetByID):
* jsc.cpp:
(WTF::CustomGetter::getOwnPropertySlot):
(WTF::RuntimeArray::getOwnPropertySlot):
(WTF::RuntimeArray::getOwnPropertySlotByIndex):
(WTF::DOMJITGetter::finishCreation):
(WTF::DOMJITGetterComplex::finishCreation):
(WTF::DOMJITFunctionObject::finishCreation):
(WTF::DOMJITCheckSubClassObject::finishCreation):
(GlobalObject::finishCreation):
* runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::finishCreation):
* runtime/ArrayIteratorPrototype.cpp:
(JSC::ArrayIteratorPrototype::finishCreation):
* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
* runtime/AsyncFromSyncIteratorPrototype.cpp:
(JSC::AsyncFromSyncIteratorPrototype::finishCreation):
* runtime/AsyncFunctionConstructor.cpp:
(JSC::AsyncFunctionConstructor::finishCreation):
* runtime/AsyncFunctionPrototype.cpp:
(JSC::AsyncFunctionPrototype::finishCreation):
* runtime/AsyncGeneratorFunctionConstructor.cpp:
(JSC::AsyncGeneratorFunctionConstructor::finishCreation):
* runtime/AsyncGeneratorFunctionPrototype.cpp:
(JSC::AsyncGeneratorFunctionPrototype::finishCreation):
* runtime/AsyncGeneratorPrototype.cpp:
(JSC::AsyncGeneratorPrototype::finishCreation):
* runtime/AsyncIteratorPrototype.cpp:
(JSC::AsyncIteratorPrototype::finishCreation):
* runtime/AtomicsObject.cpp:
(JSC::AtomicsObject::finishCreation):
* runtime/BooleanConstructor.cpp:
(JSC::BooleanConstructor::finishCreation):
* runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createStructure):
(JSC::ClonedArguments::getOwnPropertySlot):
(JSC::ClonedArguments::materializeSpecials):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/ConsoleObject.cpp:
(JSC::ConsoleObject::finishCreation):
* runtime/DateConstructor.cpp:
(JSC::DateConstructor::finishCreation):
* runtime/DatePrototype.cpp:
(JSC::DatePrototype::finishCreation):
* runtime/DirectArguments.cpp:
(JSC::DirectArguments::overrideThings):
* runtime/Error.cpp:
(JSC::addErrorInfo):
* runtime/ErrorConstructor.cpp:
(JSC::ErrorConstructor::finishCreation):
* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::finishCreation):
* runtime/ErrorPrototype.cpp:
(JSC::ErrorPrototype::finishCreation):
* runtime/FunctionConstructor.cpp:
(JSC::FunctionConstructor::finishCreation):
* runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::finishCreation):
(JSC::FunctionPrototype::addFunctionProperties):
(JSC::FunctionPrototype::initRestrictedProperties):
* runtime/GeneratorFunctionConstructor.cpp:
(JSC::GeneratorFunctionConstructor::finishCreation):
* runtime/GeneratorFunctionPrototype.cpp:
(JSC::GeneratorFunctionPrototype::finishCreation):
* runtime/GeneratorPrototype.cpp:
(JSC::GeneratorPrototype::finishCreation):
* runtime/GenericArgumentsInlines.h:
(JSC::GenericArguments<Type>::getOwnPropertySlot):
(JSC::GenericArguments<Type>::getOwnPropertySlotByIndex):
* runtime/InternalFunction.cpp:
(JSC::InternalFunction::finishCreation):
* runtime/IntlCollatorConstructor.cpp:
(JSC::IntlCollatorConstructor::finishCreation):
* runtime/IntlDateTimeFormatConstructor.cpp:
(JSC::IntlDateTimeFormatConstructor::finishCreation):
* runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatPrototype::finishCreation):
* runtime/IntlNumberFormatConstructor.cpp:
(JSC::IntlNumberFormatConstructor::finishCreation):
* runtime/IntlObject.cpp:
(JSC::IntlObject::finishCreation):
* runtime/IteratorPrototype.cpp:
(JSC::IteratorPrototype::finishCreation):
* runtime/JSArray.cpp:
(JSC::JSArray::getOwnPropertySlot):
(JSC::JSArray::setLengthWithArrayStorage):
* runtime/JSArrayBufferConstructor.cpp:
(JSC::JSArrayBufferConstructor::finishCreation):
* runtime/JSArrayBufferPrototype.cpp:
(JSC::JSArrayBufferPrototype::finishCreation):
* runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::finishCreation):
* runtime/JSCJSValue.cpp:
(JSC::JSValue::putToPrimitive):
* runtime/JSDataView.cpp:
(JSC::JSDataView::getOwnPropertySlot):
* runtime/JSDataViewPrototype.cpp:
(JSC::JSDataViewPrototype::finishCreation):
* runtime/JSFunction.cpp:
(JSC::JSFunction::finishCreation):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::defineOwnProperty):
(JSC::JSFunction::reifyLength):
(JSC::JSFunction::reifyName):
(JSC::JSFunction::reifyLazyBoundNameIfNeeded):
* runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::JSGenericTypedArrayViewConstructor<ViewClass>::finishCreation):
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot):
(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex):
* runtime/JSGenericTypedArrayViewPrototypeInlines.h:
(JSC::JSGenericTypedArrayViewPrototype<ViewClass>::finishCreation):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::addStaticGlobals):
* runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames):
* runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon):
* runtime/JSONObject.cpp:
(JSC::JSONObject::finishCreation):
* runtime/JSObject.cpp:
(JSC::getClassPropertyNames):
(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::ordinarySetSlow):
(JSC::JSObject::putInlineSlow):
(JSC::JSObject::putGetter):
(JSC::JSObject::putSetter):
(JSC::JSObject::putDirectAccessor):
(JSC::JSObject::putDirectCustomAccessor):
(JSC::JSObject::putDirectNonIndexAccessor):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::deletePropertyByIndex):
(JSC::JSObject::getOwnPropertyNames):
(JSC::JSObject::putIndexedDescriptor):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype):
(JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength):
(JSC::JSObject::getOwnPropertyDescriptor):
(JSC::putDescriptor):
(JSC::validateAndApplyPropertyDescriptor):
* runtime/JSObject.h:
(JSC::JSObject::putDirect):
* runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectWithoutTransition):
(JSC::JSObject::putDirectInternal):
* runtime/JSPromiseConstructor.cpp:
(JSC::JSPromiseConstructor::finishCreation):
(JSC::JSPromiseConstructor::addOwnInternalSlots):
* runtime/JSPromisePrototype.cpp:
(JSC::JSPromisePrototype::finishCreation):
(JSC::JSPromisePrototype::addOwnInternalSlots):
* runtime/JSString.cpp:
(JSC::JSString::getStringPropertyDescriptor):
* runtime/JSString.h:
(JSC::JSString::getStringPropertySlot):
* runtime/JSSymbolTableObject.cpp:
(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):
* runtime/JSSymbolTableObject.h:
(JSC::symbolTableGet):
* runtime/JSTypedArrayViewConstructor.cpp:
(JSC::JSTypedArrayViewConstructor::finishCreation):
* runtime/JSTypedArrayViewPrototype.cpp:
(JSC::JSTypedArrayViewPrototype::finishCreation):
* runtime/LazyClassStructure.cpp:
(JSC::LazyClassStructure::Initializer::setConstructor):
* runtime/Lookup.cpp:
(JSC::reifyStaticAccessor):
(JSC::setUpStaticFunctionSlot):
* runtime/Lookup.h:
(JSC::HashTableValue::intrinsic const):
(JSC::HashTableValue::builtinGenerator const):
(JSC::HashTableValue::function const):
(JSC::HashTableValue::functionLength const):
(JSC::HashTableValue::propertyGetter const):
(JSC::HashTableValue::propertyPutter const):
(JSC::HashTableValue::domJIT const):
(JSC::HashTableValue::signature const):
(JSC::HashTableValue::accessorGetter const):
(JSC::HashTableValue::accessorSetter const):
(JSC::HashTableValue::constantInteger const):
(JSC::HashTableValue::lazyCellPropertyOffset const):
(JSC::HashTableValue::lazyClassStructureOffset const):
(JSC::HashTableValue::lazyPropertyCallback const):
(JSC::HashTableValue::builtinAccessorGetterGenerator const):
(JSC::HashTableValue::builtinAccessorSetterGenerator const):
(JSC::getStaticPropertySlotFromTable):
(JSC::putEntry):
(JSC::reifyStaticProperty):
* runtime/MapConstructor.cpp:
(JSC::MapConstructor::finishCreation):
* runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototype::finishCreation):
* runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
* runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::finishCreation):
* runtime/NativeErrorPrototype.cpp:
(JSC::NativeErrorPrototype::finishCreation):
* runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::finishCreation):
* runtime/NumberPrototype.cpp:
(JSC::NumberPrototype::finishCreation):
* runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation):
(JSC::objectConstructorAssign):
(JSC::objectConstructorValues):
(JSC::objectConstructorDefineProperty):
* runtime/ObjectPrototype.cpp:
(JSC::ObjectPrototype::finishCreation):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
* runtime/ProgramExecutable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
* runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::writable const):
(JSC::PropertyDescriptor::enumerable const):
(JSC::PropertyDescriptor::configurable const):
(JSC::PropertyDescriptor::setUndefined):
(JSC::PropertyDescriptor::setDescriptor):
(JSC::PropertyDescriptor::setCustomDescriptor):
(JSC::PropertyDescriptor::setAccessorDescriptor):
(JSC::PropertyDescriptor::setWritable):
(JSC::PropertyDescriptor::setEnumerable):
(JSC::PropertyDescriptor::setConfigurable):
(JSC::PropertyDescriptor::setSetter):
(JSC::PropertyDescriptor::setGetter):
(JSC::PropertyDescriptor::attributesEqual const):
(JSC::PropertyDescriptor::attributesOverridingCurrent const):
* runtime/PropertySlot.cpp:
(JSC::PropertySlot::customGetter const):
* runtime/PropertySlot.h:
(JSC::operator| ):
(JSC::operator&):
(JSC::operator<):
(JSC::operator~):
(JSC::operator|=):
(JSC::PropertySlot::setUndefined):
* runtime/ProxyConstructor.cpp:
(JSC::makeRevocableProxy):
(JSC::ProxyConstructor::finishCreation):
* runtime/ProxyObject.cpp:
(JSC::ProxyObject::performHasProperty):
* runtime/ProxyRevoke.cpp:
(JSC::ProxyRevoke::finishCreation):
* runtime/ReflectObject.cpp:
(JSC::ReflectObject::finishCreation):
(JSC::reflectObjectDefineProperty):
* runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::finishCreation):
* runtime/RegExpObject.cpp:
(JSC::RegExpObject::getOwnPropertySlot):
* runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
* runtime/ScopedArguments.cpp:
(JSC::ScopedArguments::overrideThings):
* runtime/SetConstructor.cpp:
(JSC::SetConstructor::finishCreation):
* runtime/SetIteratorPrototype.cpp:
(JSC::SetIteratorPrototype::finishCreation):
* runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
* runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::putDirect):
(JSC::SparseArrayEntry::put):
* runtime/StringConstructor.cpp:
(JSC::StringConstructor::finishCreation):
* runtime/StringIteratorPrototype.cpp:
(JSC::StringIteratorPrototype::finishCreation):
* runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
* runtime/Structure.cpp:
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::isSealed):
(JSC::Structure::isFrozen):
(JSC::Structure::getPropertyNamesFromStructure):
(JSC::Structure::prototypeChainMayInterceptStoreTo):
* runtime/StructureInlines.h:
(JSC::Structure::add):
* runtime/SymbolConstructor.cpp:
(JSC::SymbolConstructor::finishCreation):
* runtime/SymbolPrototype.cpp:
(JSC::SymbolPrototype::finishCreation):
* runtime/SymbolTable.h:
(JSC::SymbolTableEntry::Fast::getAttributes const):
(JSC::SymbolTableEntry::SymbolTableEntry):
(JSC::SymbolTableEntry::setAttributes):
* runtime/TemplateRegistry.cpp:
(JSC::TemplateRegistry::getTemplateObject):
* runtime/WeakMapConstructor.cpp:
(JSC::WeakMapConstructor::finishCreation):
* runtime/WeakMapPrototype.cpp:
(JSC::WeakMapPrototype::finishCreation):
* runtime/WeakSetConstructor.cpp:
(JSC::WeakSetConstructor::finishCreation):
* runtime/WeakSetPrototype.cpp:
(JSC::WeakSetPrototype::finishCreation):
* tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::finishCreation):
* wasm/js/WebAssemblyCompileErrorConstructor.cpp:
(JSC::WebAssemblyCompileErrorConstructor::finishCreation):
* wasm/js/WebAssemblyInstanceConstructor.cpp:
(JSC::WebAssemblyInstanceConstructor::finishCreation):
* wasm/js/WebAssemblyLinkErrorConstructor.cpp:
(JSC::WebAssemblyLinkErrorConstructor::finishCreation):
* wasm/js/WebAssemblyMemoryConstructor.cpp:
(JSC::WebAssemblyMemoryConstructor::finishCreation):
* wasm/js/WebAssemblyMemoryPrototype.cpp:
* wasm/js/WebAssemblyModuleConstructor.cpp:
(JSC::WebAssemblyModuleConstructor::finishCreation):
* wasm/js/WebAssemblyRuntimeErrorConstructor.cpp:
(JSC::WebAssemblyRuntimeErrorConstructor::finishCreation):
* wasm/js/WebAssemblyTableConstructor.cpp:
(JSC::WebAssemblyTableConstructor::finishCreation):

Source/WebCore:

No change in behavior.

* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):
* bindings/js/JSDOMMapLike.cpp:
(WebCore::initializeBackingMap):
(WebCore::createBackingMap):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::finishCreation):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
* bindings/js/JSDOMWindowProperties.cpp:
(WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter):
* bindings/js/JSImageDataCustom.cpp:
(WebCore::toJSNewlyCreated):
* bindings/js/JSLocationCustom.cpp:
(WebCore::getOwnPropertySlotCommon):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementCustomGetOwnPropertySlot):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateIndexedGetter):
(GenerateNamedGetter):
(GetJSCAttributesForAttribute):
(GeneratePropertiesHashTable):
(addUnscopableProperties):
(GenerateImplementation):
(GenerateCallbackImplementationContent):
(GenerateHashTableValueArray):
(GenerateConstructorHelperMethods):
(ComputeFunctionSpecial):
* bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::JSInterfaceNameConstructor::initializeProperties):
* bindings/scripts/test/JS/JSMapLike.cpp:
(WebCore::JSMapLikeConstructor::initializeProperties):
(WebCore::JSMapLikePrototype::finishCreation):
* bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
(WebCore::JSReadOnlyMapLikeConstructor::initializeProperties):
(WebCore::JSReadOnlyMapLikePrototype::finishCreation):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObjectConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactionsConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifierConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracerConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
(WebCore::JSTestCallbackInterfaceConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructorConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::JSTestCustomConstructorWithNoInterfaceObjectConstructor::initializeProperties):
(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
* bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJITConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySettingConstructor::initializeProperties):
(WebCore::JSTestEnabledBySetting::finishCreation):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetConstructor::initializeProperties):
(WebCore::JSTestEventTarget::getOwnPropertySlot):
(WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachableConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObjectConstructor::initializeProperties):
(WebCore::JSTestGlobalObject::finishCreation):
* bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifierConstructor::initializeProperties):
(WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot):
(WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingExceptionConstructor::initializeProperties):
(WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot):
(WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifierConstructor::initializeProperties):
(WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot):
(WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscoreConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::JSTestIterableConstructor::initializeProperties):
(WebCore::JSTestIterablePrototype::finishCreation):
* bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructorConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingExceptionConstructor::initializeProperties):
(WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot):
(WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorConstructor::initializeProperties):
(WebCore::JSTestNamedConstructorNamedConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingExceptionConstructor::initializeProperties):
(WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot):
(WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetterConstructor::initializeProperties):
(WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot):
(WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWithConstructor::initializeProperties):
(WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot):
(WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingExceptionConstructor::initializeProperties):
(WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot):
(WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifierConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetterConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
(WebCore::JSTestNamedSetterWithOverrideBuiltinsConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor::initializeProperties):
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot):
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::initializeProperties):
(WebCore::JSTestNodePrototype::finishCreation):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::initializeProperties):
(WebCore::JSTestObjPrototype::finishCreation):
(WebCore::JSTestObj::getOwnPropertySlot):
(WebCore::JSTestObj::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::JSTestOverrideBuiltinsConstructor::initializeProperties):
(WebCore::JSTestOverrideBuiltins::getOwnPropertySlot):
(WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex):
* bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterfaceConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEventConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestSerialization.cpp:
(WebCore::JSTestSerializationConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
(WebCore::JSTestSerializationIndirectInheritanceConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
(WebCore::JSTestSerializationInheritConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
(WebCore::JSTestSerializationInheritFinalConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifierConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperationConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperationConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAsConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToStringConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttributeConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttributeConstructor::initializeProperties):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::initializeProperties):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertySlot):
(JSC::RuntimeArray::getOwnPropertySlotByIndex):
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::getOwnPropertySlot):
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::getOwnPropertySlot):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):

Source/WebKit:

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::getOwnPropertySlot):

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

22 months agoStop using PolicyCallback
achristensen@apple.com [Mon, 25 Sep 2017 22:33:19 +0000 (22:33 +0000)]
Stop using PolicyCallback
https://bugs.webkit.org/show_bug.cgi?id=176088

Reviewed by Andy Estes.

Source/WebCore:

This is what lambdas are for. No change in behavior.
Cancelling the callback is now the responsibility of the FrameLoaderClient, to whom we have given the lambda.
That is why there are changes in WebKit and WebKitLegacy where the FrameLoaderClient::cancelPolicyCheck finds the lambda it has stored.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* loader/DocumentLoader.cpp:
* loader/FrameLoader.cpp:
* loader/FrameLoaderClient.h:
* loader/PolicyCallback.cpp: Removed.
* loader/PolicyCallback.h: Removed.
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
(WebCore::PolicyChecker::checkNewWindowPolicy):
(WebCore::PolicyChecker::stopCheck):
(WebCore::PolicyChecker::continueAfterNavigationPolicy): Deleted.
* loader/PolicyChecker.h:
(WebCore::PolicyChecker::setSuggestedFilename): Deleted.

Source/WebKit:

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::invalidatePolicyListener):
* WebProcess/WebPage/WebFrame.h:
* WebProcess/WebPage/WebInspector.cpp:

Source/WebKitLegacy/mac:

* WebCoreSupport/WebFrameLoaderClient.mm:
(-[WebFramePolicyListener invalidate]):
(-[WebFramePolicyListener receivedPolicyDecision:]):

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

22 months agoMediaStreamTrack.getSettings should compute its deviceId/groupId like enumerateDevices
commit-queue@webkit.org [Mon, 25 Sep 2017 21:46:46 +0000 (21:46 +0000)]
MediaStreamTrack.getSettings should compute its deviceId/groupId like enumerateDevices
https://bugs.webkit.org/show_bug.cgi?id=177433

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Jer Noble.

Source/WebCore:

Covered by improved test.

Hash the deviceId returned by getSettings as done by enumerateDevices/getUserMedia.
Do the same thing for groupId.
Make sure mock sources have their deviceId set consistently with mock devices.

* Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::getSettings const):
* Modules/mediastream/MediaStreamTrack.h:
* Modules/mediastream/MediaStreamTrack.idl:
* platform/mediastream/mac/MockRealtimeAudioSourceMac.h:
* platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:
(WebCore::MockRealtimeAudioSource::create):
(WebCore::MockRealtimeAudioSourceMac::MockRealtimeAudioSourceMac):
* platform/mediastream/mac/MockRealtimeVideoSourceMac.h:
* platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSource::create):
(WebCore::MockRealtimeVideoSourceMac::MockRealtimeVideoSourceMac):
* platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::create):
(WebCore::MockRealtimeAudioSource::createMuted):
(WebCore::MockRealtimeAudioSource::MockRealtimeAudioSource):
* platform/mock/MockRealtimeAudioSource.h:
* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::create):
(WebCore::MockRealtimeVideoSource::createMuted):
(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):
* platform/mock/MockRealtimeVideoSource.h:

LayoutTests:

* fast/mediastream/get-user-media-device-id.html:

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

22 months agoWeb Inspector: Include a table in New Network Tab
joepeck@webkit.org [Mon, 25 Sep 2017 21:43:54 +0000 (21:43 +0000)]
Web Inspector: Include a table in New Network Tab
https://bugs.webkit.org/show_bug.cgi?id=177206

Reviewed by Matt Baker and Brian Burg.

This includes an initial implementation of the NetworkTableContentView,
and a generic Table / TableColumn implementation ported from DataGrid.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Main.html:
New strings and files.

* UserInterface/Views/NetworkGridContentView.css:
(.content-view:matches(.network, .network-grid) > .data-grid .cache-type):
(.cache-type): Deleted.
* UserInterface/Views/ResourceDetailsSidebarPanel.css:
(.sidebar > .panel.resource-details .cache-type):
Make the .cache-type selector more specific for the legacy cases.

* UserInterface/Views/NetworkTabContentView.css: Copied from Source/WebInspectorUI/UserInterface/Views/NetworkGridContentView.css.
(.content-view.network > .content-browser):
* UserInterface/Views/NetworkTabContentView.js:
(WI.NetworkTabContentView.prototype.shown):
(WI.NetworkTabContentView.prototype.hidden):
(WI.NetworkTabContentView.prototype.closed):
NetworkTabContentView has a ContentBrowser so it should be passing
ContentBrowser lifecycle events (shown, hidden, closed) through to
the sub-content browser.

* UserInterface/Views/TableColumn.js: Added.
(WI.TableColumn.prototype.get identifier):
(WI.TableColumn.prototype.get name):
(WI.TableColumn.prototype.get width):
(WI.TableColumn.prototype.get minWidth):
(WI.TableColumn.prototype.get maxWidth):
(WI.TableColumn.prototype.get hidden):
(WI.TableColumn.prototype.get defaultHidden):
(WI.TableColumn.prototype.get sortable):
(WI.TableColumn.prototype.get align):
(WI.TableColumn.prototype.get locked):
(WI.TableColumn.prototype.get flexible):
(WI.TableColumn.prototype.setWidth):
(WI.TableColumn.prototype.setHidden):
Model object for a column. Values are getter only. Columns may express
size constraints (min width / max width) that are respected as much as
possible. When a column is resized it dispatches an event.

* UserInterface/Views/Table.js: Added.
(WI.Table):
(WI.Table.prototype.get element):
(WI.Table.prototype.get identifier):
(WI.Table.prototype.get dataSource):
(WI.Table.prototype.get delegate):
(WI.Table.prototype.get rowHeight):
(WI.Table.prototype.get selectedRow):
(WI.Table.prototype.get sortOrder):
(WI.Table.prototype.set sortOrder):
(WI.Table.prototype.get sortColumnIdentifier):
(WI.Table.prototype.set sortColumnIdentifier):
(WI.Table.prototype.resize):
(WI.Table.prototype.reloadData):
(WI.Table.prototype.reloadDataAddedToEndOnly):
(WI.Table.prototype.reloadRow):
(WI.Table.prototype.reloadCell):
(WI.Table.prototype.selectRow):
(WI.Table.prototype.clearSelectedRow):
(WI.Table.prototype.columnWithIdentifier):
(WI.Table.prototype.addColumn):
(WI.Table.prototype.showColumn):
(WI.Table.prototype.hideColumn):
(WI.Table.prototype.restoreScrollPosition):
(WI.Table.prototype.initialLayout):
(WI.Table.prototype.layout):
(WI.Table.prototype.resizerDragStarted):
(WI.Table.prototype.resizerDragging.growableSize):
(WI.Table.prototype.resizerDragging.shrinkableSize):
(WI.Table.prototype.resizerDragging.canGrow):
(WI.Table.prototype.resizerDragging.canShrink):
(WI.Table.prototype.resizerDragging.columnToResize):
(WI.Table.prototype.resizerDragging):
(WI.Table.prototype.resizerDragEnded):
(WI.Table.prototype._needsLayout):
(WI.Table.prototype._createHeaderCell):
(WI.Table.prototype._createFillerCell):
(WI.Table.prototype._createCell):
(WI.Table.prototype._getOrCreateRow):
(WI.Table.prototype._populatedCellForColumnAndRow):
(WI.Table.prototype._populateRow):
(WI.Table.prototype._resizeColumnsAndFiller.distributeRemainingPixels):
(WI.Table.prototype._resizeColumnsAndFiller.bestFit):
(WI.Table.prototype._resizeColumnsAndFiller):
(WI.Table.prototype._updateVisibleRows):
(WI.Table.prototype._applyColumnWidths):
(WI.Table.prototype._positionResizerElements):
(WI.Table.prototype._isRowVisible):
(WI.Table.prototype._indexToInsertColumn):
(WI.Table.prototype._handleScroll):
(WI.Table.prototype._handleKeyDown):
(WI.Table.prototype._handleClick):
(WI.Table.prototype._handleContextMenu):
(WI.Table.prototype._handleHeaderCellClicked):
(WI.Table.prototype._handleHeaderContextMenu):
Table is mostly a re-implementation of DataGrid. Much of its functionality
was a direct copy that was then modified and simplified for a smaller
and simpler feature set.

Table behaves more like Cocoa's NSTableView. A datasource supplies the
number of rows, which Table uses to resize appropriately. A delegate is
then called to populate cells in a row when they become visible. Table
does minimal caching, and in the event of data source changes
(resorting, adding rows, modifying rows, etc) the visible rows are
simply recreated from scratch. Clients should therefore make generating
a cell's contents as simple and performant as possible.

Unlike DataGrid, rows are just an <li> with a bunch of cells. Since the
number of rows are limited to (roughly) those that are visible, most
operations, like resizing, creates / modifies each of the visible cells.

Finally, Table's resizing operations behave more like flexible content
than DataGrid's neighbor only approach. This makes resizing the table
generally easier to do, but may need refinement to decide which columns
we would prefer to distribute columns during resizing.

* UserInterface/Views/Table.css: Added.
(.table):
(.table > .header):
(.table > .header > .sortable:active):
(.table > .header > :matches(.sort-ascending, .sort-descending)):
(.table > .header > :matches(.sort-ascending, .sort-descending)::after):
(body[dir=ltr] .table > .header > :matches(.sort-ascending, .sort-descending)):
(body[dir=rtl] .table > .header > :matches(.sort-ascending, .sort-descending)):
(body[dir=ltr] .table > .header > :matches(.sort-ascending, .sort-descending)::after):
(body[dir=rtl] .table > .header > :matches(.sort-ascending, .sort-descending)::after):
(.table > .header > .sort-ascending::after):
(.table > .header > .sort-descending::after):
(.table > .data-container):
(.table > .data-container.not-scrollable):
(.table > .data-container > .data-list):
(.table > .data-container > .data-list.odd-first-zebra-stripe):
(.table > .data-container > .data-list > li):
(.table > .data-container > .data-list > li.selected):
(.table:focus > .data-container > .data-list li.selected):
(.table .cell):
(body[dir=ltr] .table .cell:not(:last-child)):
(body[dir=rtl] .table .cell:not(:last-child)):
(body[dir=ltr] .table .cell:first-child):
(body[dir=rtl] .table .cell:first-child):
(.table :not(.header) .cell:first-of-type):
(.table .cell.align-right):
(.table .cell.align-left):
(.table .cell.align-center):
Styles mostly taken from DataGrid with a few minor tweaks.

* UserInterface/Views/NetworkTableContentView.css: Copied from Source/WebInspectorUI/UserInterface/Views/NetworkGridContentView.css.
(.content-view.network .table .icon):
(body[dir=ltr] .content-view.network .table .icon):
(body[dir=rtl] .content-view.network .table .icon):
(.content-view.network .table li:not(.filler) .cell.name):
(.content-view.network .table .cache-type):
(.content-view.network .table .error):
* UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView):
(WI.NetworkTableContentView.shortDisplayNameForResourceType):
(WI.NetworkTableContentView.prototype.get navigationItems):
(WI.NetworkTableContentView.prototype.shown):
(WI.NetworkTableContentView.prototype.closed):
(WI.NetworkTableContentView.prototype.reset):
(WI.NetworkTableContentView.prototype.tableNumberOfRows):
(WI.NetworkTableContentView.prototype.tableSortChanged):
(WI.NetworkTableContentView.prototype.tableCellClicked):
(WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
(WI.NetworkTableContentView.prototype.tableSelectedRowChanged):
(WI.NetworkTableContentView.prototype.tablePopulateCell):
(WI.NetworkTableContentView.prototype._populateNameCell):
(WI.NetworkTableContentView.prototype._populateTransferSizeCell):
(WI.NetworkTableContentView.prototype._generateSortComparator):
(WI.NetworkTableContentView.prototype.initialLayout):
(WI.NetworkTableContentView.prototype.layout):
(WI.NetworkTableContentView.prototype._processPendingEntries):
(WI.NetworkTableContentView.prototype._rowIndexForResource):
(WI.NetworkTableContentView.prototype._updateEntryForResource):
(WI.NetworkTableContentView.prototype._mainResourceDidChange):
(WI.NetworkTableContentView.prototype._resourceLoadingDidFinish):
(WI.NetworkTableContentView.prototype._resourceLoadingDidFail):
(WI.NetworkTableContentView.prototype._resourceTransferSizeDidChange):
(WI.NetworkTableContentView.prototype._networkTimelineRecordAdded):
(WI.NetworkTableContentView.prototype._isDefaultSort):
(WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
(WI.NetworkTableContentView.prototype._displayType):
(WI.NetworkTableContentView.prototype._entryForResource):
(WI.NetworkTableContentView.prototype._passFilter):
(WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries):
(WI.NetworkTableContentView.prototype._updateFilteredEntries):
(WI.NetworkTableContentView.prototype._generateTypeFilter):
(WI.NetworkTableContentView.prototype._areFilterListsIdentical):
(WI.NetworkTableContentView.prototype._typeFilterScopeBarSelectionChanged):
(WI.NetworkTableContentView.prototype._tableNameColumnDidChangeWidth):
The NetworkTableContentView has a Table and it is the table's data source
and delegate. It contains a complete list of entries, and a filtered list
of entries, which is the backing list of rows for the table. As entries
are created, updated, or filters modified, this generally modifies
entries, sorts, filters, and reloads the table. As much as possible it
batches operations in the usual layout loop.

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

22 months agoAdd High Sierra bots to buildbot and dashboard.
ryanhaddad@apple.com [Mon, 25 Sep 2017 21:30:55 +0000 (21:30 +0000)]
Add High Sierra bots to buildbot and dashboard.
https://bugs.webkit.org/show_bug.cgi?id=177437

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/config.json: Add High Sierra queues, move Leaks and JSC queues over from Sierra.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Update expected results.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js: Add High Sierra.
(WebKitBuildbot):

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

22 months ago[WK2] Add API to query if a download was user-initiated
cdumez@apple.com [Mon, 25 Sep 2017 21:28:01 +0000 (21:28 +0000)]
[WK2] Add API to query if a download was user-initiated
https://bugs.webkit.org/show_bug.cgi?id=177435
<rdar://problem/34498422>

Reviewed by Alex Christensen.

Source/WebKit:

Add C and Cocoa private API to query if a download was user-initiated.

For clarity, we now construct navigation object for subframe loads
as well (we used to do so only for main frame loads). This allows us
to store the user-intiated flag and the redirect chain on the navigation
object instead of the WebFrameProxy.

* UIProcess/API/APINavigation.cpp:
(API::Navigation::Navigation):
(API::Navigation::appendRedirectionURL):
* UIProcess/API/APINavigation.h:
(API::Navigation::takeRedirectChain):
(API::Navigation::setWasUserInitiated):
(API::Navigation::wasUserInitiated const):
* UIProcess/API/C/WKDownload.cpp:
(WKDownloadGetWasUserInitiated):
* UIProcess/API/C/WKDownload.h:
* UIProcess/API/Cocoa/_WKDownload.h:
* UIProcess/API/Cocoa/_WKDownload.mm:
(-[_WKDownload wasUserInitiated]):
* UIProcess/Downloads/DownloadProxy.h:
(WebKit::DownloadProxy::setWasUserInitiated):
(WebKit::DownloadProxy::wasUserInitiated const):
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameProxy::didFailProvisionalLoad):
(WebKit::WebFrameProxy::didFinishLoad):
(WebKit::WebFrameProxy::didFailLoad):
* UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::title const):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseSync):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

Tools:

Add API test coverage.

* TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
(TestWebKitAPI::decideDestinationWithSuggestedFilename):
* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[DownloadDelegate _downloadDidStart:]):
(-[DownloadDelegate _downloadDidFinish:]):
(runTest):
(TEST):
(-[BlobDownloadDelegate _downloadDidStart:]):
(-[BlobDownloadDelegate _downloadDidFinish:]):
(-[RedirectedDownloadDelegate _downloadDidStart:]):
(-[RedirectedDownloadDelegate _downloadDidFinish:]):

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

22 months agoMake StoredCredentials an enum class and rename its header
cdumez@apple.com [Mon, 25 Sep 2017 21:17:43 +0000 (21:17 +0000)]
Make StoredCredentials an enum class and rename its header
https://bugs.webkit.org/show_bug.cgi?id=177455

Reviewed by Youenn Fablet.

Make StoredCredentials an enum class and rename its header for clarity. This was error-prone because 0 meant
"allow" and and 1 meant "do not allow". It was trivial to convert it to a boolean by mistake and get the
opposite behavior.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::requestStyleSheet):
* loader/CrossOriginAccessControl.cpp:
(WebCore::updateRequestForAccessControl):
(WebCore::createAccessControlPreflightRequest):
(WebCore::passesAccessControlCheck):
(WebCore::validatePreflightResponse):
* loader/CrossOriginAccessControl.h:
* loader/CrossOriginPreflightChecker.cpp:
(WebCore::CrossOriginPreflightChecker::validatePreflightResponse):
(WebCore::CrossOriginPreflightChecker::doPreflight):
* loader/CrossOriginPreflightResultCache.cpp:
(WebCore::CrossOriginPreflightResultCacheItem::allowsRequest const):
(WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
* loader/CrossOriginPreflightResultCache.h:
(WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::redirectReceived):
(WebCore::DocumentThreadableLoader::preflightSuccess):
(WebCore::DocumentThreadableLoader::loadRequest):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/FrameLoader.h:
* loader/LoaderStrategy.h:
* loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::requestResource):
* loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::shouldUseCredentialStorage):
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
* loader/ResourceLoaderOptions.h:
(WebCore::ResourceLoaderOptions::ResourceLoaderOptions):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl):
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):
* loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoaderOptions::isolatedCopy const):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::loadFrom):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::defaultCachedResourceOptions):
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::setAsPotentiallyCrossOrigin):
(WebCore::CachedResourceRequest::updateForAccessControl):
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
* platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
(WebCore::WebCoreAVCFResourceLoader::startLoading):
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::startLoading):
* platform/network/BlobRegistryImpl.cpp:
(WebCore::loadBlobResourceSynchronously):
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::loadResourceSynchronously):
* platform/network/ResourceHandle.h:
* platform/network/StoredCredentialsPolicy.h: Renamed from Source/WebCore/platform/network/ResourceHandleTypes.h.
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
* style/StylePendingResources.cpp:
(WebCore::Style::loadPendingImage):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::openFunc):

Source/WebKit:

* NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
* NetworkProcess/NetworkCORSPreflightChecker.cpp:
(WebKit::NetworkCORSPreflightChecker::didCompleteWithError):
* NetworkProcess/NetworkCORSPreflightChecker.h:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::loadPing):
* NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::create):
(WebKit::NetworkDataTask::NetworkDataTask):
* NetworkProcess/NetworkDataTask.h:
* NetworkProcess/NetworkDataTaskBlob.cpp:
(WebKit::NetworkDataTaskBlob::NetworkDataTaskBlob):
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::shouldUseCredentialStorage):
* NetworkProcess/NetworkLoadParameters.h:
* NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
* NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::willPerformHTTPRedirection):
(WebKit::PingLoad::makeCrossOriginAccessRequest):
(WebKit::PingLoad::makeSimpleCrossOriginAccessRequest):
(WebKit::PingLoad::makeCrossOriginAccessRequestWithPreflight):
(WebKit::PingLoad::preflightSuccess):
* NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
* NetworkProcess/capture/NetworkDataTaskReplay.cpp:
(WebKit::NetworkCapture::NetworkDataTaskReplay::NetworkDataTaskReplay):
* NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::tryPasswordBasedAuthentication):
* NetworkProcess/cocoa/NetworkSessionCocoa.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate existingTask:]):
(WebKit::NetworkSessionCocoa::dataTaskForIdentifier):
* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
(WebKit::NetworkDataTaskSoup::createRequest):
(WebKit::NetworkDataTaskSoup::authenticate):
(WebKit::NetworkDataTaskSoup::continueAuthenticate):
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
* NetworkProcess/soup/NetworkDataTaskSoup.h:
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::startPingLoad):
* WebProcess/Network/WebLoaderStrategy.h:

Source/WebKitLegacy:

* WebCoreSupport/WebResourceLoadScheduler.cpp:
(WebResourceLoadScheduler::loadResourceSynchronously):
* WebCoreSupport/WebResourceLoadScheduler.h:

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

22 months agoSpeedometer: Fix typo
commit-queue@webkit.org [Mon, 25 Sep 2017 21:11:35 +0000 (21:11 +0000)]
Speedometer: Fix typo
https://bugs.webkit.org/show_bug.cgi?id=177425

Patch by Mathias Bynens <mathias@qiwi.be> on 2017-09-25
Reviewed by Ryosuke Niwa.

* Speedometer/InteractiveRunner.html: Fix typo: “Arithemtic Mean” → “Arithmetic Mean”.

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

22 months agoRemove unnecessary userVisibleString EditorClient function
commit-queue@webkit.org [Mon, 25 Sep 2017 21:08:10 +0000 (21:08 +0000)]
Remove unnecessary userVisibleString EditorClient function
https://bugs.webkit.org/show_bug.cgi?id=177456

Patch by Sam Weinig <sam@webkit.org> on 2017-09-25
Reviewed by Dan Bernstein.

Source/WebCore:

The implementation of userVisibleString has been in WebCore for sometime (in WebCoreNSURLExtras)
so there is no need to call through the EditorClient, just for it to call back to WebCore.

* editing/Editor.h:

    Keep userVisibleString helper function but make it static, as it no longer needs
    any state. It is useful to have this helper, so non-ObjC code in Editor can get a
    userVisibleString.

* editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::userVisibleString):

    Call through to the WebCoreNSURLExtras implementation.

* editing/mac/EditorMac.mm:
(WebCore::Editor::plainTextFromPasteboard):
(WebCore::Editor::writeImageToPasteboard):
(WebCore::Editor::userVisibleString): Deleted.
* editing/mac/WebContentReaderMac.mm:
(WebCore::WebContentReader::readFilenames):

    Replace client calls with direct calls.

* loader/EmptyClients.cpp:
* page/EditorClient.h:

    Remove client function.

* testing/Internals.mm:
(WebCore::Internals::userVisibleString):

    Replace client call with direct call.

Source/WebKit:

* WebProcess/WebCoreSupport/WebEditorClient.h:
* WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:
(WebKit::WebEditorClient::userVisibleString): Deleted.
* WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::userVisibleString): Deleted.

    Remove userVisibleString client function.

Source/WebKitLegacy/mac:

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::userVisibleString): Deleted.

    Remove userVisibleString client function.

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

22 months agoFix the build with <attachment> disabled
timothy_horton@apple.com [Mon, 25 Sep 2017 21:05:06 +0000 (21:05 +0000)]
Fix the build with <attachment> disabled

* editing/mac/WebContentReaderMac.mm:

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

22 months agoUnreviewed Windows build fix.
pvollan@apple.com [Mon, 25 Sep 2017 20:50:48 +0000 (20:50 +0000)]
Unreviewed Windows build fix.

* platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
(WebCore::InbandTextTrackPrivateAVCF::readNativeSampleBuffer):

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

22 months agoUnreviewed, rolling out r222455.
commit-queue@webkit.org [Mon, 25 Sep 2017 20:38:23 +0000 (20:38 +0000)]
Unreviewed, rolling out r222455.
https://bugs.webkit.org/show_bug.cgi?id=177460

broke iOS build (Requested by alexchristensen on #webkit).

Reverted changeset:

"Add WKContentRuleList notify action type"
https://bugs.webkit.org/show_bug.cgi?id=177013
http://trac.webkit.org/changeset/222455

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

22 months agoUnreviewed GTK test gardening
mcatanzaro@igalia.com [Mon, 25 Sep 2017 20:20:21 +0000 (20:20 +0000)]
Unreviewed GTK test gardening

* platform/gtk/TestExpectations:

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

22 months ago[Win] run-api-tests is failing.
pvollan@apple.com [Mon, 25 Sep 2017 20:07:35 +0000 (20:07 +0000)]
[Win] run-api-tests is failing.
https://bugs.webkit.org/show_bug.cgi?id=177454

Reviewed by Brent Fulgham.

TestWebKit.exe has changed name to TestWebKitLegacy.exe.

* Scripts/run-api-tests:
(testToolPaths):

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

22 months agoBuilding release with -DLOG_DISABLED=0 fails
clopez@igalia.com [Mon, 25 Sep 2017 20:06:12 +0000 (20:06 +0000)]
Building release with -DLOG_DISABLED=0 fails
https://bugs.webkit.org/show_bug.cgi?id=177441

Reviewed by Michael Catanzaro.

No new tests, it is a build fix.

* Modules/indexeddb/IDBKeyPath.cpp:
* Modules/indexeddb/IDBKeyPath.h:

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

22 months ago[Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
pvollan@apple.com [Mon, 25 Sep 2017 19:55:31 +0000 (19:55 +0000)]
[Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
https://bugs.webkit.org/show_bug.cgi?id=177244

Reviewed by Alex Christensen.

The 64-bit EWS shell process should try to find Visual Studio in the 32-bit program files folder.

* EWSTools/start-queue-win.sh:

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

22 months agoSwitch back to partitioning (rather than blocking) prevalent origins without interaction
bfulgham@apple.com [Mon, 25 Sep 2017 19:47:50 +0000 (19:47 +0000)]
Switch back to partitioning (rather than blocking) prevalent origins without interaction
https://bugs.webkit.org/show_bug.cgi?id=177452
<rdar://problem/34632618>

Reviewed by Chris Dumez.

Temporarily revert to "partition-only" behavior, due to site compatibility issues with
full blocking.

* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::setPrevalentDomainsToPartitionOrBlockCookies):

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

22 months agoSeparate form submission from PolicyChecker infrastructure
achristensen@apple.com [Mon, 25 Sep 2017 19:18:50 +0000 (19:18 +0000)]
Separate form submission from PolicyChecker infrastructure
https://bugs.webkit.org/show_bug.cgi?id=177396

Reviewed by Geoffrey Garen.

Source/WebCore:

We used PolicyChecker for WillSubmitForm even though we just need a completion handler
with no parameters.  That is what lambdas and WTF::Functions are for.

No change in behavior.

* loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Deleted.
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::continueLoadAfterWillSubmitForm): Deleted.
* loader/PolicyChecker.h:

Source/WebKit:

* UIProcess/API/APIFormClient.h:
(API::FormClient::willSubmitForm):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setInputDelegate:]):
* UIProcess/WebFormClient.cpp:
(WebKit::WebFormClient::willSubmitForm):
* UIProcess/WebFormClient.h:
* UIProcess/WebFormSubmissionListenerProxy.cpp:
(WebKit::WebFormSubmissionListenerProxy::continueSubmission):
(WebKit::WebFormSubmissionListenerProxy::WebFormSubmissionListenerProxy): Deleted.
* UIProcess/WebFormSubmissionListenerProxy.h:
(WebKit::WebFormSubmissionListenerProxy::create):
(WebKit::WebFormSubmissionListenerProxy::WebFormSubmissionListenerProxy):
(): Deleted.
(WebKit::WebFormSubmissionListenerProxy::operator new): Deleted.
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::setUpFormSubmissionListenerProxy): Deleted.
* UIProcess/WebFrameProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::willSubmitForm):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::setUpWillSubmitFormListener):
(WebKit::WebFrame::continueWillSubmitForm):
* WebProcess/WebPage/WebFrame.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::continueWillSubmitForm):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Source/WebKitLegacy/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSubmitForm):

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

22 months agoAdd WKContentRuleList notify action type
achristensen@apple.com [Mon, 25 Sep 2017 19:17:28 +0000 (19:17 +0000)]
Add WKContentRuleList notify action type
https://bugs.webkit.org/show_bug.cgi?id=177013
<rdar://problem/31073936>

Reviewed by Darin Adler.

Source/WebCore:

Covered by new API tests.

* contentextensions/ContentExtensionActions.h:
(WebCore::ContentExtensions::hasStringArgument):
* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::resolvePendingDisplayNoneActions):
(WebCore::ContentExtensions::serializeActions):
* contentextensions/ContentExtensionError.cpp:
(WebCore::ContentExtensions::contentExtensionErrorCategory):
* contentextensions/ContentExtensionError.h:
* contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::loadAction):
* contentextensions/ContentExtensionRule.cpp:
(WebCore::ContentExtensions::Action::deserialize):
(WebCore::ContentExtensions::Action::deserializeType):
(WebCore::ContentExtensions::Action::serializedLength):
* contentextensions/ContentExtensionRule.h:
(WebCore::ContentExtensions::Action::Action):
* contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):
(WebCore::ContentExtensions::applyBlockedStatusToRequest):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/PingLoader.cpp:
(WebCore::processContentExtensionRulesForLoad):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequestInternal):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
* loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::applyBlockedStatus):
* loader/cache/CachedResourceRequest.h:
* page/ChromeClient.h:

Source/WebKit:

* NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::processContentExtensionRulesForLoad):
* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::contentRuleListNotification):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageNavigationClient):
* UIProcess/API/C/WKPageNavigationClient.h:
* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::contentRuleListNotification):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contentRuleListNotification):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::contentRuleListNotification):
* WebProcess/WebCoreSupport/WebChromeClient.h:

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(WebCore::ContentExtensions::operator<<):
(TestWebKitAPI::InMemoryCompiledContentExtension::create):
(TestWebKitAPI::InMemoryCompiledContentExtension::data):
(TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
(TestWebKitAPI::makeBackend):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::actionsEqual):
(TestWebKitAPI::sequenceInstances):
(TestWebKitAPI::InMemoryCompiledContentExtension::createFromFilter): Deleted.
(TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension): Deleted.
* TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm: Added.
(-[ContentRuleListNotificationDelegate _webView:URL:contentRuleListIdentifiers:notifications:]):
(-[ContentRuleListNotificationDelegate webView:startURLSchemeTask:]):
(-[ContentRuleListNotificationDelegate webView:stopURLSchemeTask:]):
(-[ContentRuleListNotificationDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(makeWarnContentRuleList):
(TEST):

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

22 months ago[WebIDL] Remove GetterMayThrowException
weinig@apple.com [Mon, 25 Sep 2017 19:16:14 +0000 (19:16 +0000)]
[WebIDL] Remove GetterMayThrowException
https://bugs.webkit.org/show_bug.cgi?id=177422

Reviewed by Youenn Fablet.

* bindings/js/JSDOMConvertBase.h:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):

    Add overloads of toJS and toJSNewlyCreated that take ThrowScopes and a value that
    is not an ExceptionOr (keeping the existing overloads that take an ExceptionOr).
    This allows NativeToJSValue to not need to know of a conversion can throw, as the
    c++ type system will now make the determination for it.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateSerializerDefinition):
(NativeToJSValueUsingReferences):
(NativeToJSValueUsingPointers):
(NativeToJSValue):

    Always assume an exception can be thrown for attributes now that the converters will
    do the right thing based on whether the value is an ExceptionOr or not. Also, remove
    $suppressExceptionCheck and $excludeNullability, they were never being set.

* bindings/scripts/IDLAttributes.json:

    Remove GetterMayThrowException from the list of supported extended attributes.

* Modules/indexeddb/IDBRequest.idl:
* Modules/mediasource/SourceBuffer.idl:
* Modules/webdatabase/SQLResultSet.idl:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/TestTypedefs.idl:
* dom/Document.idl:
* html/HTMLInputElement.idl:
* page/DOMWindow.idl:
* page/History.idl:
* svg/SVGLength.idl:
* xml/XMLHttpRequest.idl:
* xml/XPathResult.idl:

    Remove GetterMayThrowException extended attribute from IDL files.

* bindings/scripts/test/JS/JSMapLike.cpp:
* bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestCEReactions.cpp:
* bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
* bindings/scripts/test/JS/JSTestCallTracer.cpp:
* bindings/scripts/test/JS/JSTestDOMJIT.cpp:
* bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
* bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
* bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
* bindings/scripts/test/JS/JSTestNode.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
* bindings/scripts/test/JS/JSTestSerialization.cpp:
* bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
* bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
* bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:

    Update test results.

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

22 months agoMake progress on getting Mac CMake building again
timothy_horton@apple.com [Mon, 25 Sep 2017 19:03:00 +0000 (19:03 +0000)]
Make progress on getting Mac CMake building again
https://bugs.webkit.org/show_bug.cgi?id=177443

Unreviewed, just "fixing" the build.

.:

* Source/cmake/OptionsMac.cmake:
Turn on WEB_CRYPTO on Mac. We need to do a bigger cleanup of feature
defines, but this one is important because we have SUBTLE_CRYPTO on
and there is some amount of interdependency.

Source/WebCore:

* PlatformMac.cmake:
Add some missing files and include paths.

Source/WebCore/PAL:

* pal/PlatformMac.cmake:
Add some missing files and include paths.

Source/WebKit:

* PlatformMac.cmake:
Add some missing files and include paths.

Source/WebKitLegacy:

* PlatformMac.cmake:
Set up dependencies correctly for our mig-generated files.
MAIN_DEPENDENCY is for VS, not what it sounds like.

Add mig-generated files to WebKitLegacy, not WebKit (I think this was
missed in the WebKit2 rename).

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

22 months agoMark fast/loader/form-submission-after-beforeunload-cancel.html as flaky.
ryanhaddad@apple.com [Mon, 25 Sep 2017 18:41:26 +0000 (18:41 +0000)]
Mark fast/loader/form-submission-after-beforeunload-cancel.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177445

Unreviewed test gardening.

* platform/ios/TestExpectations:

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

22 months agoMark imported/w3c/web-platform-tests/fetch/security/embedded-credentials.tentative...
ryanhaddad@apple.com [Mon, 25 Sep 2017 17:43:06 +0000 (17:43 +0000)]
Mark imported/w3c/web-platform-tests/fetch/security/embedded-credentials.tentative.sub.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=177323

Unreviewed test gardening.

* platform/ios/TestExpectations:

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

22 months agoMark http/tests/cache-storage/cache-representation.https.html as flaky.
ryanhaddad@apple.com [Mon, 25 Sep 2017 17:33:58 +0000 (17:33 +0000)]
Mark http/tests/cache-storage/cache-representation.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177438

Unreviewed test gardening.

* platform/ios/TestExpectations:

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

22 months agoUpdate TestExpectations for WPT LayoutTests that crash.
ryanhaddad@apple.com [Mon, 25 Sep 2017 17:26:52 +0000 (17:26 +0000)]
Update TestExpectations for WPT LayoutTests that crash.

Unreviewed test gardening.

* TestExpectations:

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

22 months agowebrtc/peer-connection-audio-mute.html is sometimes flaky
commit-queue@webkit.org [Mon, 25 Sep 2017 16:01:47 +0000 (16:01 +0000)]
webrtc/peer-connection-audio-mute.html is sometimes flaky
https://bugs.webkit.org/show_bug.cgi?id=172649

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Darin Adler.

Iterating until getting the expected result to make test more stable.

* webrtc/peer-connection-audio-mute.html:
* webrtc/peer-connection-remote-audio-mute.html:

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

22 months agoMake captureCanvas-webrtc.html more robust
commit-queue@webkit.org [Mon, 25 Sep 2017 16:00:42 +0000 (16:00 +0000)]
Make captureCanvas-webrtc.html more robust
https://bugs.webkit.org/show_bug.cgi?id=177334

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Darin Adler.

Making test more robust by printing synchronously the canvas and increasing.
the threshold for pixel comparison.
Minor refactoring for improving the readability.

* webrtc/captureCanvas-webrtc.html:

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

22 months agoLayoutTest webrtc/video-mute.html is very often failing
commit-queue@webkit.org [Mon, 25 Sep 2017 15:59:58 +0000 (15:59 +0000)]
LayoutTest webrtc/video-mute.html is very often failing
https://bugs.webkit.org/show_bug.cgi?id=177331

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-25
Reviewed by Darin Adler.

* webrtc/video-mute.html: using getStats instead of internals to check whether black frames are received.

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

22 months agoUpdate waitSync and the TIMEOUT_IGNORED constant to use signed integers.
Ms2ger@igalia.com [Mon, 25 Sep 2017 13:38:57 +0000 (13:38 +0000)]
Update waitSync and the TIMEOUT_IGNORED constant to use signed integers.
https://bugs.webkit.org/show_bug.cgi?id=177239

Reviewed by Žan Doberšek.

This matches the specification.

Source/WebCore:

Test: fast/canvas/webgl/webgl2/constants.html

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::waitSync):
* html/canvas/WebGL2RenderingContext.h:
* html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

* fast/canvas/webgl/webgl2/constants-expected.txt: Added.
* fast/canvas/webgl/webgl2/constants.html: Added.

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

22 months agoAlign Media Source Extension IDL with spec
nael.ouedraogo@crf.canon.fr [Mon, 25 Sep 2017 12:27:37 +0000 (12:27 +0000)]
Align Media Source Extension IDL with spec
https://bugs.webkit.org/show_bug.cgi?id=177369

Reviewed by Sam Weinig.

Align IDL as per specification:
 - https://www.w3.org/TR/media-source/

* Modules/mediasource/AudioTrackMediaSource.idl:
* Modules/mediasource/SourceBuffer.idl:
* Modules/mediasource/TextTrackMediaSource.idl:
* Modules/mediasource/VideoTrackMediaSource.idl:

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

22 months agoREGRESSION(r222160) [GTK] [Debug] Internal compiler error on the buildbot (huge memor...
clopez@igalia.com [Mon, 25 Sep 2017 12:21:47 +0000 (12:21 +0000)]
REGRESSION(r222160) [GTK] [Debug] Internal compiler error on the buildbot (huge memory usage by GCC)
https://bugs.webkit.org/show_bug.cgi?id=177223

Reviewed by Carlos Garcia Campos.

When the user environment sets the variable NUMBER_OF_PROCESSORS
this should be passed down to the build system (ninja or make) always.

Playing with the number of this variable is needed when using icecc
(as you usually want to launch more parallel build process than your
number of cores), or when you want to limit the number of parallel
build process for hardware capacity reasons.

* Scripts/build-webkit:

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

22 months ago[css-grid] Small refactoring adding RenderGrid::contentAlignment()
rego@igalia.com [Mon, 25 Sep 2017 08:39:48 +0000 (08:39 +0000)]
[css-grid] Small refactoring adding RenderGrid::contentAlignment()
https://bugs.webkit.org/show_bug.cgi?id=177130

Reviewed by Sergio Villar Senin.

As a follow-up of r221931, this patch does a small refactoring
adding a new method RenderGrid::contentAlignment()
that is used from RenderGrid and GridTrackSizingAlgorithm.

No new tests, no change of behavior.

* rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::stretchAutoTracks):
* rendering/RenderGrid.cpp:
(WebCore::contentAlignmentNormalBehaviorGrid):
(WebCore::RenderGrid::contentAlignment const):
(WebCore::RenderGrid::computeContentPositionAndDistributionOffset const):
(WebCore::RenderGrid::contentAlignmentNormalBehaviorGrid): Deleted.
* rendering/RenderGrid.h:
* rendering/style/RenderStyle.cpp:
(WebCore::resolvedContentAlignment):
(WebCore::RenderStyle::resolvedAlignContent const):
(WebCore::RenderStyle::resolvedJustifyContent const):
* rendering/style/RenderStyle.h:

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

22 months ago[css-grid] fit-content() tracks shouldn't stretch
rego@igalia.com [Mon, 25 Sep 2017 07:28:07 +0000 (07:28 +0000)]
[css-grid] fit-content() tracks shouldn't stretch
https://bugs.webkit.org/show_bug.cgi?id=177300

Reviewed by Sergio Villar Senin.

LayoutTests/imported/w3c:

Imported a new test in WPT covering several cases for this issue.

* web-platform-tests/css/css-grid-1/alignment/grid-fit-content-tracks-dont-stretch-001-expected.txt: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-fit-content-tracks-dont-stretch-001.html: Added.
* web-platform-tests/css/css-grid-1/alignment/w3c-import.log:

Source/WebCore:

The spec is pretty clear regarding this
(https://drafts.csswg.org/css-grid/#algo-stretch):
  "This step sizes expands tracks that have an auto max track sizing
   function by dividing any remaining positive, definite free space
   equally amongst them."

The fit-content() tracks don't have an auto max track sizing function,
so they shouldn't be considered in this step of the algorithm.

The patch modifies GridTrackSizingAlgorithm::initializeTrackSizes()
so it doesn't consider fit-content() tracks as auto sized ones
(which are the ones later stretched in the last step of the algorithm).

Test: imported/w3c/web-platform-tests/css/css-grid-1/alignment/grid-fit-content-tracks-dont-stretch-001.html

* rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::initializeTrackSizes):
(WebCore::GridTrackSizingAlgorithm::stretchAutoTracks):
(WebCore::GridTrackSizingAlgorithm::setup):
(WebCore::GridTrackSizingAlgorithm::reset):
* rendering/GridTrackSizingAlgorithm.h:

LayoutTests:

Added new case to an existent test and also modified
the expected result in another one.

* fast/css-grid-layout/grid-content-alignment-stretch-only-valid-for-auto-sized-tracks-expected.txt:
* fast/css-grid-layout/grid-content-alignment-stretch-only-valid-for-auto-sized-tracks.html:
* fast/css-grid-layout/grid-intrinsic-maximums-expected.html:

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

22 months ago[GTK] Incremental builds fail every time Web Inspector icons are removed
commit-queue@webkit.org [Mon, 25 Sep 2017 05:57:01 +0000 (05:57 +0000)]
[GTK] Incremental builds fail every time Web Inspector icons are removed
https://bugs.webkit.org/show_bug.cgi?id=177349

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-09-24
Reviewed by Carlos Garcia Campos.

Removing GTK WebInspector image files always breaks the GTK and
WPE ports incremental builds.

* Scripts/webkitdirs.pm:
(shouldRemoveCMakeCache): Check the timestamp of
Source/WebInspectorUI/UserInterface/Images/gtk directory if
isGtk() or isWPE().

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

22 months agoViewport fit is no longer experimental
mcatanzaro@igalia.com [Mon, 25 Sep 2017 03:02:24 +0000 (03:02 +0000)]
Viewport fit is no longer experimental
https://bugs.webkit.org/show_bug.cgi?id=177417

Reviewed by Darin Adler.

* Shared/WebPreferencesDefinitions.h:

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

22 months ago[GTK] Unreviewed, move webkit_hit_test_result_context_is_scrollbar in documentation
mcatanzaro@igalia.com [Sun, 24 Sep 2017 23:52:28 +0000 (23:52 +0000)]
[GTK] Unreviewed, move webkit_hit_test_result_context_is_scrollbar in documentation

* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:

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

22 months agoWeb Inspector: Reduce work during resizing
commit-queue@webkit.org [Sun, 24 Sep 2017 18:55:03 +0000 (18:55 +0000)]
Web Inspector: Reduce work during resizing
https://bugs.webkit.org/show_bug.cgi?id=177402

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-09-24
Reviewed by Matt Baker.

* UserInterface/Views/ConsolePrompt.js:
(WI.ConsolePrompt.prototype.layout):
In the most common case there is no text so avoid doing work in CodeMirror.

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

22 months agoRemove CSS regions related fields from RenderStyle
antti@apple.com [Sun, 24 Sep 2017 18:30:54 +0000 (18:30 +0000)]
Remove CSS regions related fields from RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=177415

Reviewed by Sam Weinig.

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator RegionFragment const): Deleted.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::avoidsFloats const): Deleted.
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::hasNextPage const):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects const):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout const):
* rendering/style/RenderStyle.h:
(WebCore::pseudoElementRendererIsNeeded):
(WebCore::RenderStyle::hasFlowInto const): Deleted.
(WebCore::RenderStyle::flowThread const): Deleted.
(WebCore::RenderStyle::hasFlowFrom const): Deleted.
(WebCore::RenderStyle::regionThread const): Deleted.
(WebCore::RenderStyle::regionFragment const): Deleted.
(WebCore::RenderStyle::setFlowThread): Deleted.
(WebCore::RenderStyle::setRegionThread): Deleted.
(WebCore::RenderStyle::setRegionFragment): Deleted.
(WebCore::RenderStyle::initialFlowThread): Deleted.
(WebCore::RenderStyle::initialRegionThread): Deleted.
(WebCore::RenderStyle::initialRegionFragment): Deleted.
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):
* rendering/style/StyleRareNonInheritedData.h:

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

22 months agoAlphabetize experimental features list
mcatanzaro@igalia.com [Sun, 24 Sep 2017 15:07:32 +0000 (15:07 +0000)]
Alphabetize experimental features list
https://bugs.webkit.org/show_bug.cgi?id=177374

Reviewed by Darin Adler.

* Shared/WebPreferencesDefinitions.h:

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

22 months ago[ATK] Object attributes are missing for ARIA live region roles
jdiggs@igalia.com [Sun, 24 Sep 2017 11:52:36 +0000 (11:52 +0000)]
[ATK] Object attributes are missing for ARIA live region roles
https://bugs.webkit.org/show_bug.cgi?id=171174

Reviewed by Chris Fleizach.

Source/WebCore:

Expose the values of aria-live, aria-atomic, and aria-relevant via AtkObject
attributes on live region elements and their descendants. In order to accomplish
exposure on descendants, add AccessibilityObject::ariaLiveRegionAncestor(). Add an
optional argument, excludeIfOff, to AccessibilityObject::isInsideARIALiveRegion()
and AccessibilityObject::supportsARIALiveRegion(). This is needed because we need
to expose live region properties via ATK even in the case where the live region
is disabled/off, but supportsARIALiveRegion() deliberately checks if the live
region is enabled.

Tests: accessibility/aria-liveregion-marquee-default.html
       accessibility/aria-liveregions-attributes.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isInsideARIALiveRegion const):
(WebCore::AccessibilityObject::ariaLiveRegionAncestor const):
(WebCore::AccessibilityObject::supportsARIALiveRegion const):
* accessibility/AccessibilityObject.h:
* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes):

Tools:

Add support for testing property values for AXARIALive, AXARIAAtomic, and
AXARIARelevant. Also add handling for testing whether AXElementBusy is
"supported" (in ATK, busy is a state and is supported on all elements
regardless of whether the state is present or absent from the state set).

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::boolAttributeValue):
(WTR::AccessibilityUIElement::isAttributeSupported):

LayoutTests:

Move two macOS tests to the shared layout test set.

* accessibility/aria-liveregion-marquee-default-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-liveregion-marquee-default-expected.txt.
* accessibility/aria-liveregion-marquee-default.html: Renamed from LayoutTests/accessibility/mac/aria-liveregion-marquee-default.html.
* accessibility/aria-liveregions-attributes-expected.txt: Renamed from LayoutTests/accessibility/mac/aria-liveregions-attributes-expected.txt.
* accessibility/aria-liveregions-attributes.html: Renamed from LayoutTests/accessibility/mac/aria-liveregions-attributes.html.
* platform/win/TestExpectations: Add the above tests to the list of known failures.

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

22 months ago[WebKit] Changing EME setting through InjectedBundle should update WebPreferencesStore
zandobersek@gmail.com [Sun, 24 Sep 2017 10:32:49 +0000 (10:32 +0000)]
[WebKit] Changing EME setting through InjectedBundle should update WebPreferencesStore
https://bugs.webkit.org/show_bug.cgi?id=177312

Reviewed by Carlos Garcia Campos.

Source/WebKit:

When enabling EME through the InjectedBundle for testing purposes, it's
only enabled in RuntimeEnabledFeatures, but not in WebPreferencesStore.
This causes failures on imported W3C tests that cover EME persistent
state licenses and perform parts of that test in a new window, where
the original RuntimeEnabledFeatures state doesn't have any effect.

To avoid those failures, when enabling EME feature for testing purposes
through InjectedBundle, the feature should also be enabled in the
WebPreferencesStore.

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

LayoutTests:

Update test baselines for two tests that now properly execute (even if
they still fail) due to EME setting now also being updated in
WebPreferencesStore.

* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt:

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