WebKit-https.git
13 months agoUnreviewed, forgot to add untracked files.
keith_miller@apple.com [Tue, 16 Oct 2018 17:49:00 +0000 (17:49 +0000)]
Unreviewed, forgot to add untracked files.

* llint/LLIntSettingsExtractor.cpp: Added.
(main):
* offlineasm/generate_settings_extractor.rb: Added.

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

13 months agoUnreviewed, reland https://bugs.webkit.org/show_bug.cgi?id=189708 with build fix.
keith_miller@apple.com [Tue, 16 Oct 2018 17:44:22 +0000 (17:44 +0000)]
Unreviewed, reland https://bugs.webkit.org/show_bug.cgi?id=189708 with build fix.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* llint/LLIntOffsetsExtractor.cpp:
(JSC::LLIntOffsetsExtractor::dummy):
* offlineasm/generate_offset_extractor.rb:
* offlineasm/offsets.rb:
* offlineasm/settings.rb:

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

13 months ago[WebVTT] Support inline WebVTT styles
pvollan@apple.com [Tue, 16 Oct 2018 17:29:34 +0000 (17:29 +0000)]
[WebVTT] Support inline WebVTT styles
https://bugs.webkit.org/show_bug.cgi?id=190369

Reviewed by Eric Carlson.

Source/WebCore:

Add support for inline WebVTT styles, see https://w3c.github.io/webvtt/#styling. The parsed
style strings from the VTT file are added to an optional vector of style strings in the
TextTrack class. These styles are then added as HTMLStyleElement children to the parent of
the cue span element.

Test: media/track/track-cue-css.html

* html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::newStyleSheetsParsed):
* html/track/InbandGenericTextTrack.h:
* html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::newStyleSheetsParsed):
* html/track/InbandWebVTTTextTrack.h:
* html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::newStyleSheetsAvailable):
* html/track/LoadableTextTrack.h:
* html/track/TextTrack.h:
(WebCore::TextTrack::styleSheets const):
* html/track/VTTCue.cpp:
(WebCore::VTTCue::getDisplayTree):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::getNewCues):
(WebCore::WebVTTParser::getStyleSheets):
(WebCore::WebVTTParser::parse):
(WebCore::WebVTTParser::collectWebVTTBlock):
(WebCore::WebVTTParser::collectStyleSheet):
(WebCore::WebVTTParser::checkStyleSheet):
(WebCore::WebVTTParser::checkAndStoreStyleSheet):
* html/track/WebVTTParser.h:
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::newStyleSheetsParsed):
(WebCore::TextTrackLoader::getNewStyleSheets):
* loader/TextTrackLoader.h:

LayoutTests:

* media/track/captions-webvtt/css-styling.vtt: Added.
* media/track/captions-webvtt/no-css-styling.vtt: Added.
* media/track/track-cue-css-expected.html: Added.
* media/track/track-cue-css.html: Added.

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

13 months agoWeb Inspector: sequences of spaces longer than 16 don't show a dot
drousso@apple.com [Tue, 16 Oct 2018 16:47:07 +0000 (16:47 +0000)]
Web Inspector: sequences of spaces longer than 16 don't show a dot
https://bugs.webkit.org/show_bug.cgi?id=190528

Reviewed by Matt Baker.

* UserInterface/Views/CodeMirrorAdditions.js:
Create a new CSS rule and add it to a unique <style> whenever a whitespace sequence with
a length is seen for the first time.

* UserInterface/Views/CodeMirrorOverrides.css:
(.show-whitespace-characters .CodeMirror .cm-whitespace-1::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-2::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-3::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-4::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-5::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-6::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-7::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-8::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-9::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-10::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-11::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-12::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-13::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-14::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-15::before): Deleted.
(.show-whitespace-characters .CodeMirror .cm-whitespace-16::before): Deleted.

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

13 months agowindow.navigator should not become null after the window loses its browsing context
cdumez@apple.com [Tue, 16 Oct 2018 16:24:12 +0000 (16:24 +0000)]
window.navigator should not become null after the window loses its browsing context
https://bugs.webkit.org/show_bug.cgi?id=190595

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline test which is not failing differently. The last check of this test is checking that
navigator.serviceWorker returns null after the frame has been detached. The test has been written
this way because this is how Chromium behaves. However, Firefox keeps returning the
ServiceWorkerContainer, as we do. Also, the specification indicates the the attribute cannot
return null (since the attribute is not nullable):
- https://w3c.github.io/ServiceWorker/#navigator-serviceworker

* web-platform-tests/service-workers/service-worker/detached-context.https-expected.txt:

Source/WebCore:

window.navigator should not become null after the window loses its browsing context.
This does not match the HTML specification or the behavior of other browsers.

No new tests, updated existing tests.

* Modules/geolocation/NavigatorGeolocation.cpp:
(WebCore::NavigatorGeolocation::geolocation const):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::navigator):
* page/Navigator.cpp:
(WebCore::Navigator::Navigator):
* page/Navigator.h:
* page/NavigatorBase.cpp:
(WebCore::NavigatorBase::NavigatorBase):
* page/NavigatorBase.h:
* page/WorkerNavigator.cpp:
(WebCore::WorkerNavigator::WorkerNavigator):
* workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::ServiceWorkerContainer):
* workers/service/ServiceWorkerContainer.h:

LayoutTests:

Extend layout test coverage.

* fast/frames/detached-frame-property-expected.txt:
* fast/frames/detached-frame-property.html:
* http/tests/dom/cross-origin-detached-window-properties-expected.txt:
* http/tests/dom/cross-origin-detached-window-properties.html:
* http/tests/dom/same-origin-detached-window-properties-expected.txt:
* http/tests/dom/same-origin-detached-window-properties.html:

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

13 months agoReplace HistoryItem* with HistoryItem& where possible
achristensen@apple.com [Tue, 16 Oct 2018 15:58:10 +0000 (15:58 +0000)]
Replace HistoryItem* with HistoryItem& where possible
https://bugs.webkit.org/show_bug.cgi?id=190617

Reviewed by Chris Dumez.

Source/WebCore:

* history/BackForwardClient.h:
* history/BackForwardController.cpp:
(WebCore::BackForwardController::setCurrentItem):
* history/BackForwardController.h:
* history/HistoryItem.cpp:
(WebCore::defaultNotifyHistoryItemChanged):
(WebCore::HistoryItem::setAlternateTitle):
(WebCore::HistoryItem::setURLString):
(WebCore::HistoryItem::setOriginalURLString):
(WebCore::HistoryItem::setReferrer):
(WebCore::HistoryItem::setTitle):
(WebCore::HistoryItem::setTarget):
(WebCore::HistoryItem::setShouldRestoreScrollPosition):
(WebCore::HistoryItem::setStateObject):
(WebCore::HistoryItem::notifyChanged):
* history/HistoryItem.h:
* loader/EmptyClients.cpp:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::loadSameDocumentItem):
* loader/HistoryController.cpp:
(WebCore::HistoryController::goToItem):
(WebCore::HistoryController::updateForCommit):
(WebCore::HistoryController::recursiveUpdateForCommit):
(WebCore::HistoryController::recursiveUpdateForSameDocumentNavigation):
(WebCore::HistoryController::setCurrentItem):
(WebCore::HistoryController::createItem):
(WebCore::HistoryController::itemsAreClones const):
(WebCore::HistoryController::currentFramesMatchItem const):
* loader/HistoryController.h:

Source/WebKit:

* WebProcess/WebCoreSupport/SessionStateConversion.h:
* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WK2NotifyHistoryItemChanged):
(WebKit::WebBackForwardListProxy::goToItem):
* WebProcess/WebPage/WebBackForwardListProxy.h:

Source/WebKitLegacy/mac:

* History/BackForwardList.h:
* History/BackForwardList.mm:
(BackForwardList::goToItem):
* History/WebBackForwardList.mm:
(-[WebBackForwardList goToItem:]):
* History/WebHistoryItem.mm:
(WKNotifyHistoryItemChanged):
* History/WebHistoryItemInternal.h:

Source/WebKitLegacy/win:

* BackForwardList.cpp:
(BackForwardList::goToItem):
* BackForwardList.h:
* WebBackForwardList.cpp:
(WebBackForwardList::goToItem):

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

13 months ago[EME] Add some ClearKey baselines for passing tests
cturner@igalia.com [Tue, 16 Oct 2018 15:49:15 +0000 (15:49 +0000)]
[EME] Add some ClearKey baselines for passing tests
https://bugs.webkit.org/show_bug.cgi?id=190579

Reviewed by Unreviewed test gardening.

* web-platform-tests/encrypted-media/clearkey-check-initdata-type.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-events-session-closed-event.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-events.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-invalid-license.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-keystatuses.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-at-same-time.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-the-same-mediakeys.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-to-multiple-video-elements.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysystemaccess.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-not-callable-after-createsession.https-expected.txt: Added.
* web-platform-tests/encrypted-media/clearkey-update-non-ascii-input.https-expected.txt: Added.

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

13 months agoRemove unused WebHistoryItem._transientPropertyForKey
achristensen@apple.com [Tue, 16 Oct 2018 15:39:42 +0000 (15:39 +0000)]
Remove unused WebHistoryItem._transientPropertyForKey
https://bugs.webkit.org/show_bug.cgi?id=190606

Reviewed by Chris Dumez.

Source/WebCore:

This is unnecessary complexity in HistoryItem.

* history/HistoryItem.h:
* history/mac/HistoryItemMac.mm:
(WebCore::HistoryItem::getTransientProperty const): Deleted.
(WebCore::HistoryItem::setTransientProperty): Deleted.

Source/WebKitLegacy/mac:

* History/WebHistoryItem.mm:
* History/WebHistoryItemPrivate.h:

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

13 months ago[Curl] Separate SSL Class for platform dependent way of setup.
Basuke.Suzuki@sony.com [Tue, 16 Oct 2018 15:21:16 +0000 (15:21 +0000)]
[Curl] Separate SSL Class for platform dependent way of setup.
https://bugs.webkit.org/show_bug.cgi?id=190597

Reviewed by Alex Christensen.

SSL setup is very platform dependent. This patch separate the class to allow
platform-dependent setup at the SSL handle instantiation.

No new tests because there's no behaviro changes.

* PlatformWinCairo.cmake:
* platform/network/curl/CurlSSLHandle.cpp:
(WebCore::CurlSSLHandle::CurlSSLHandle):
(WebCore::CurlSSLHandle::getCACertPathEnv): Moved.
* platform/network/curl/CurlSSLHandle.h:
* platform/network/win/CurlSSLHandleWin.cpp:
(WebCore::getCACertPathEnv):
(WebCore::CurlSSLHandle::platformInitialize):

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

13 months ago[EME] Multiple ClearKey tests crashing in gst_qtdemux_request_protection_context
cturner@igalia.com [Tue, 16 Oct 2018 14:54:24 +0000 (14:54 +0000)]
[EME] Multiple ClearKey tests crashing in gst_qtdemux_request_protection_context
https://bugs.webkit.org/show_bug.cgi?id=190577

Reviewed by Michael Catanzaro.

* platform/gtk/TestExpectations:

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

13 months agoUnreviewed, GTK Ubuntu LTS Jhbuild prospective build fix
philn@webkit.org [Tue, 16 Oct 2018 11:01:36 +0000 (11:01 +0000)]
Unreviewed, GTK Ubuntu LTS Jhbuild prospective build fix

* gstreamer/jhbuild.modules:

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

13 months ago[GTK][JHBuild] Disable libmount support in glib
philn@webkit.org [Tue, 16 Oct 2018 10:04:01 +0000 (10:04 +0000)]
[GTK][JHBuild] Disable libmount support in glib

Rubber-stamped by Alejandro G. Castro.

This feature doesn't seem required for our setup.

* gtk/jhbuild.modules:

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

13 months agoUnreviewed, another GTK build fix after r237146
philn@webkit.org [Tue, 16 Oct 2018 09:44:08 +0000 (09:44 +0000)]
Unreviewed, another GTK build fix after r237146

* UIProcess/gtk/RemoteWebInspectorProxyGtk.cpp:
(WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):

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

13 months agoUnreviewed, GTK bots build fix
philn@webkit.org [Tue, 16 Oct 2018 08:47:39 +0000 (08:47 +0000)]
Unreviewed, GTK bots build fix

* Source/cmake/OptionsGTK.cmake: Disable Sandbox support until the
bots have all the needed dependencies installed.

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

13 months agoUnreviewed, add missing include.
keith_miller@apple.com [Tue, 16 Oct 2018 07:52:11 +0000 (07:52 +0000)]
Unreviewed, add missing include.

* runtime/BasicBlockLocation.h:

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

13 months ago[GTK][WPE] Make libwebrtc compile using the system opus library
commit-queue@webkit.org [Tue, 16 Oct 2018 07:39:06 +0000 (07:39 +0000)]
[GTK][WPE] Make libwebrtc compile using the system opus library
https://bugs.webkit.org/show_bug.cgi?id=190573

Patch by Alejandro G. Castro <alex@igalia.com> on 2018-10-16
Reviewed by Philippe Normand.

We found some situations where gstreamer gets confused when it
tries to use opus because it finds opus symbols compiled for
liwebrtc. We are going to try the option to use the system opus
library also for libwebrtc.

* CMakeLists.txt: Added opus dependency.
* cmake/FindOpus.cmake: Added the hints to find the opus library
in the compilation.

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

13 months agoSupport arm64 CPUs with a 32-bit address space
keith_miller@apple.com [Tue, 16 Oct 2018 07:19:13 +0000 (07:19 +0000)]
Support arm64 CPUs with a 32-bit address space
https://bugs.webkit.org/show_bug.cgi?id=190273

Reviewed by Michael Saboff.

Source/JavaScriptCore:

This patch adds support for arm64_32 in the LLInt. In order to
make this work we needed to add a new type that reflects the size
of a cpu register. This type is called CPURegister or UCPURegister
for the unsigned version. Most places that used void* or intptr_t
to refer to a register have been changed to use this new type.

* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/ARM64Assembler.h:
(JSC::isInt):
(JSC::is4ByteAligned):
(JSC::PairPostIndex::PairPostIndex):
(JSC::PairPreIndex::PairPreIndex):
(JSC::ARM64Assembler::readPointer):
(JSC::ARM64Assembler::readCallTarget):
(JSC::ARM64Assembler::computeJumpType):
(JSC::ARM64Assembler::linkCompareAndBranch):
(JSC::ARM64Assembler::linkConditionalBranch):
(JSC::ARM64Assembler::linkTestAndBranch):
(JSC::ARM64Assembler::loadRegisterLiteral):
(JSC::ARM64Assembler::loadStoreRegisterPairPostIndex):
(JSC::ARM64Assembler::loadStoreRegisterPairPreIndex):
(JSC::ARM64Assembler::loadStoreRegisterPairOffset):
(JSC::ARM64Assembler::loadStoreRegisterPairNonTemporal):
(JSC::isInt7): Deleted.
(JSC::isInt11): Deleted.
* assembler/CPU.h:
(JSC::isAddress64Bit):
(JSC::isAddress32Bit):
* assembler/MacroAssembler.h:
(JSC::MacroAssembler::shouldBlind):
* assembler/MacroAssemblerARM64.cpp:
(JSC::MacroAssemblerARM64::collectCPUFeatures):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::load):
(JSC::MacroAssemblerARM64::store):
(JSC::MacroAssemblerARM64::isInIntRange): Deleted.
* assembler/Printer.h:
* assembler/ProbeContext.h:
(JSC::Probe::CPUState::gpr):
(JSC::Probe::CPUState::spr):
(JSC::Probe::Context::gpr):
(JSC::Probe::Context::spr):
* b3/B3ConstPtrValue.h:
* b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::isArgValidForRep):
* b3/air/AirArg.h:
(JSC::B3::Air::Arg::stackSlot const):
(JSC::B3::Air::Arg::special const):
* b3/air/testair.cpp:
* b3/testb3.cpp:
(JSC::B3::testStoreConstantPtr):
(JSC::B3::testInterpreter):
(JSC::B3::testAddShl32):
(JSC::B3::testLoadBaseIndexShift32):
* bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptCallArgumentHandler::appendArgument):
* bindings/ScriptFunctionCall.h:
* bytecode/CodeBlock.cpp:
(JSC::roundCalleeSaveSpaceAsVirtualRegisters):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::restoreCalleeSavesFor):
(JSC::DFG::saveCalleeSavesFor):
(JSC::DFG::restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer):
(JSC::DFG::copyCalleeSavesToVMEntryFrameCalleeSavesBuffer):
* dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::reifyInlinedCallFrames):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* disassembler/UDis86Disassembler.cpp:
(JSC::tryToDisassembleWithUDis86):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileWeakMapGet):
* heap/MachineStackMarker.cpp:
(JSC::copyMemory):
* interpreter/CallFrame.h:
(JSC::ExecState::returnPC const):
(JSC::ExecState::hasReturnPC const):
(JSC::ExecState::clearReturnPC):
(JSC::ExecState::returnPCOffset):
(JSC::ExecState::isGlobalExec const):
(JSC::ExecState::setReturnPC):
* interpreter/CalleeBits.h:
(JSC::CalleeBits::boxWasm):
(JSC::CalleeBits::isWasm const):
(JSC::CalleeBits::asWasmCallee const):
* interpreter/Interpreter.cpp:
(JSC::UnwindFunctor::copyCalleeSavesToEntryFrameCalleeSavesBuffer const):
* interpreter/VMEntryRecord.h:
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::clearStackFrame):
* jit/RegisterAtOffset.h:
(JSC::RegisterAtOffset::offsetAsIndex const):
* jit/RegisterAtOffsetList.cpp:
(JSC::RegisterAtOffsetList::RegisterAtOffsetList):
* llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
* llint/LLIntOfflineAsmConfig.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter64.asm:
* offlineasm/arm64.rb:
* offlineasm/asm.rb:
* offlineasm/ast.rb:
* offlineasm/backends.rb:
* offlineasm/parser.rb:
* offlineasm/x86.rb:
* runtime/BasicBlockLocation.cpp:
(JSC::BasicBlockLocation::dumpData const):
(JSC::BasicBlockLocation::emitExecuteCode const):
* runtime/BasicBlockLocation.h:
* runtime/HasOwnPropertyCache.h:
* runtime/JSBigInt.cpp:
(JSC::JSBigInt::inplaceMultiplyAdd):
(JSC::JSBigInt::digitDiv):
* runtime/JSBigInt.h:
* runtime/JSObject.h:
* runtime/Options.cpp:
(JSC::jitEnabledByDefault):
* runtime/Options.h:
* runtime/RegExp.cpp:
(JSC::RegExp::printTraceData):
* runtime/SamplingProfiler.cpp:
(JSC::CFrameWalker::walk):
* runtime/SlowPathReturnType.h:
(JSC::encodeResult):
(JSC::decodeResult):
* tools/SigillCrashAnalyzer.cpp:
(JSC::SigillCrashAnalyzer::dumpCodeBlock):

Source/WebCore:

Fix missing namespace annotation.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAddStyleRelation):

Source/WTF:

Use WTF_CPU_ADDRESS64/32 to decide if the system is running on arm64_32.

* wtf/MathExtras.h:
(getLSBSet):
* wtf/Platform.h:

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

13 months agoAdd WebGPU 2018 feature flag and experimental feature flag
justin_fan@apple.com [Tue, 16 Oct 2018 04:57:47 +0000 (04:57 +0000)]
Add WebGPU 2018 feature flag and experimental feature flag
https://bugs.webkit.org/show_bug.cgi?id=190509

Reviewed by Dean Jackson.

.:

Update FeatureDefines for WebGPU -> WebMetal renaming, while preserving WebGPU
references for 2018 WebGPU Sketch implementation.

* Source/cmake/OptionsMac.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:

Source/JavaScriptCore:

Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.

* Configurations/FeatureDefines.xcconfig:
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setWebGPUEnabled):
(WebCore::RuntimeEnabledFeatures::webGPUEnabled const):

Source/WebCore/PAL:

Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.

* Configurations/FeatureDefines.xcconfig:
* Shared/WebPreferences.yaml:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

Source/WebKitLegacy/mac:

Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.

* Configurations/FeatureDefines.xcconfig:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences webGPUEnabled]):
(-[WebPreferences setWebGPUEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Tools:

Re-add ENABLE_WEBGPU, an experimental feature flag, and a RuntimeEnabledFeature
for the 2018 WebGPU prototype.

* DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

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

13 months agoSkip stress/array-prototype-concat-of-long-spliced-arrays2.js on arm and mips/linux
guijemont@igalia.com [Tue, 16 Oct 2018 01:30:21 +0000 (01:30 +0000)]
Skip stress/array-prototype-concat-of-long-spliced-arrays2.js on arm and mips/linux

Unreviewed gardening.

* stress/array-prototype-concat-of-long-spliced-arrays2.js:

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

13 months agoUnreviewed, rolling out r237162.
commit-queue@webkit.org [Tue, 16 Oct 2018 01:15:27 +0000 (01:15 +0000)]
Unreviewed, rolling out r237162.
https://bugs.webkit.org/show_bug.cgi?id=190612

Broke Windows build (Requested by dolmstead on #webkit).

Reverted changeset:

"Add stub implementation for accessibility objects"
https://bugs.webkit.org/show_bug.cgi?id=190608
https://trac.webkit.org/changeset/237162

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

13 months agoFix API tests after r237146
achristensen@apple.com [Tue, 16 Oct 2018 01:12:59 +0000 (01:12 +0000)]
Fix API tests after r237146

* Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::decode):
I accidentally changed the decoder.

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

13 months agoHSTS cache entries cannot be removed by origin
ryanhaddad@apple.com [Tue, 16 Oct 2018 01:04:37 +0000 (01:04 +0000)]
HSTS cache entries cannot be removed by origin
https://bugs.webkit.org/show_bug.cgi?id=190455
<rdar://problem/45181322>

Patch by Sihui Liu <sihui_liu@apple.com> on 2018-10-15
Reviewed by Chris Dumez.

The SPI _CFNetworkResetHSTS does not recognize url without protocol, so we need to add protocol manually.

* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::deleteHSTSCacheForHostNames):

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

13 months agoSource/WebKit:
achristensen@apple.com [Tue, 16 Oct 2018 01:02:54 +0000 (01:02 +0000)]
Source/WebKit:
Fix GTK build, even though bots are not working right now.

* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateFrontendPage):

Source/WebKitLegacy/win:
Fix Windows build.

* WebView.cpp:
(WebView::loadBackForwardListFromOtherView):

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

13 months agoFix WinCairo build.
achristensen@apple.com [Tue, 16 Oct 2018 00:56:23 +0000 (00:56 +0000)]
Fix WinCairo build.

* WebView.cpp:
(WebView::backForwardList):

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

13 months ago[CG] Adopt CG SPI for non-even cornered rounded rects
commit-queue@webkit.org [Tue, 16 Oct 2018 00:53:13 +0000 (00:53 +0000)]
[CG] Adopt CG SPI for non-even cornered rounded rects
https://bugs.webkit.org/show_bug.cgi?id=190155

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2018-10-15
Reviewed by Simon Fraser.

Source/WebCore:

Instead of creating bezier curves for the non-even corners of the rounded
rects, we should use the optimized SPI provided by CG.

* platform/graphics/cg/PathCG.cpp:
(WebCore::Path::platformAddPathForRoundedRect):

Source/WebCore/PAL:

* pal/spi/cg/CoreGraphicsSPI.h:

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

13 months agoAdd stub implementation for accessibility objects
don.olmstead@sony.com [Tue, 16 Oct 2018 00:46:37 +0000 (00:46 +0000)]
Add stub implementation for accessibility objects
https://bugs.webkit.org/show_bug.cgi?id=190608

Reviewed by Michael Catanzaro.

No new tests. No change in behavior.

Add default implementation to associated cpp file. Removes the WPE
specific stubs.

* SourcesWPE.txt:
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::detachWrapper):
(WebCore::AXObjectCache::attachWrapper):
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
(WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
(WebCore::AXObjectCache::platformHandleFocusedUIElementChanged):
(WebCore::AXObjectCache::handleScrolledToAnchor):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::accessibilityIgnoreAttachment const):
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject const):
* accessibility/AccessibilityObject.h:
* accessibility/wpe/AXObjectCacheWPE.cpp: Removed.
* accessibility/wpe/AccessibilityObjectWPE.cpp: Removed.

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

13 months agoFix WinCairo build after r237146
achristensen@apple.com [Tue, 16 Oct 2018 00:38:30 +0000 (00:38 +0000)]
Fix WinCairo build after r237146

* UIProcess/win/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::platformCreateFrontendPage):

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

13 months agoFix iOS build after r237157
achristensen@apple.com [Tue, 16 Oct 2018 00:34:02 +0000 (00:34 +0000)]
Fix iOS build after r237157

* WebView/WebView.mm:
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

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

13 months agoREGRESSION (r236512): [ Mac WK2 ] Layout Test editing/undo/undo-smart-delete-word...
cdumez@apple.com [Tue, 16 Oct 2018 00:32:56 +0000 (00:32 +0000)]
REGRESSION (r236512): [ Mac WK2 ] Layout Test editing/undo/undo-smart-delete-word.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=190375
<rdar://problem/45177807>

Reviewed by Ryosuke Niwa.

The test is doing the following:
> document.execCommand("Delete"); document.execCommand("Undo");

Both operation are synchronous and rely on synchronous IPC from the WebProcess to the UIProcess.
However, for the undo operation to succeed, the first command need to have been registered with
with the UIProcess via the WebPageProxy::RegisterEditCommandForUndo IPC to the UIProcess, which
is asynchronous.

After r236512, the UIProcess no longer processes incoming sync / async IPC in order and thus,
it is possible for the WebPageProxy::ExecuteUndoRedo synchronous IPC to get processed by the
UIProcess *before* the WebPageProxy::RegisterEditCommandForUndo asynchronous IPC for the
previous "Delete" command. As a result, canUndo would return false and we would fail to undo.

To address the issue, use SendOption::DispatchMessageEvenWhenWaitingForSyncReply flag when sending
the WebPageProxy::RegisterEditCommandForUndo IPC, so that it gets processed in order with regards
to surrounding synchronous IPC.

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::registerUndoStep):

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

13 months agoUpdate bot configuration for Sierra archive queues
ryanhaddad@apple.com [Tue, 16 Oct 2018 00:30:49 +0000 (00:30 +0000)]
Update bot configuration for Sierra archive queues
https://bugs.webkit.org/show_bug.cgi?id=190605

Reviewed by Aakash Jain.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

13 months agoModernize BackForwardClient.h
achristensen@apple.com [Tue, 16 Oct 2018 00:14:41 +0000 (00:14 +0000)]
Modernize BackForwardClient.h
https://bugs.webkit.org/show_bug.cgi?id=190610

Reviewed by Chris Dumez.

Source/WebCore:

* editing/markup.cpp:
(WebCore::createPageForSanitizingWebContent):
* history/BackForwardClient.h:
* history/BackForwardController.h:
(WebCore::BackForwardController::client):
(WebCore::BackForwardController::client const):
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::overlayPage):
* loader/EmptyClients.cpp:
(WebCore::pageConfigurationWithEmptyClients):
(WebCore::createEmptyFrameNetworkingContext): Deleted.
(WebCore::fillWithEmptyClients): Deleted.
(WebCore::createEmptyEditorClient): Deleted.
* loader/EmptyClients.h:
* page/Page.cpp:
(WebCore::Page::Page):
* page/PageConfiguration.cpp:
(WebCore::PageConfiguration::PageConfiguration):
* page/PageConfiguration.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):

Source/WebKit:

* WebProcess/InjectedBundle/InjectedBundleBackForwardList.cpp:
(WebKit::InjectedBundleBackForwardList::clear):
* WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::installServiceWorker):
* WebProcess/WebPage/WebBackForwardListProxy.cpp:
(WebKit::WebBackForwardListProxy::WebBackForwardListProxy):
(WebKit::WebBackForwardListProxy::backListCount const):
(WebKit::WebBackForwardListProxy::forwardListCount const):
(WebKit::WebBackForwardListProxy::backListCount): Deleted.
(WebKit::WebBackForwardListProxy::forwardListCount): Deleted.
* WebProcess/WebPage/WebBackForwardListProxy.h:
(WebKit::WebBackForwardListProxy::create):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_cpuLimit):
(WebKit::WebPage::restoreSessionInternal):

Source/WebKitLegacy/mac:

* History/BackForwardList.h:
* History/BackForwardList.mm:
(BackForwardList::backListCount const):
(BackForwardList::forwardListCount const):
(BackForwardList::backListCount): Deleted.
(BackForwardList::forwardListCount): Deleted.
* History/WebBackForwardList.mm:
(-[WebBackForwardList init]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::canCachePage const):
* WebView/WebFrameView.mm:
(-[WebFrameView keyDown:keyDown:]):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _loadBackForwardListFromOtherView:]):
(-[WebView initWithCoder:]):
(-[WebView encodeWithCoder:]):
(-[WebView backForwardList]):
(-[WebView setMaintainsBackForwardList:]):

Source/WebKitLegacy/win:

* BackForwardList.cpp:
(BackForwardList::backListCount const):
(BackForwardList::forwardListCount const):
(BackForwardList::backListCount): Deleted.
(BackForwardList::forwardListCount): Deleted.
* BackForwardList.h:
* WebView.cpp:
(WebView::initWithFrame):
(WebView::backForwardList):

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

13 months agoAdd support for prefers-color-scheme media query
timothy@apple.com [Mon, 15 Oct 2018 23:43:02 +0000 (23:43 +0000)]
Add support for prefers-color-scheme media query
https://bugs.webkit.org/show_bug.cgi?id=190499
rdar://problem/45212025

Reviewed by Dean Jackson.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.

Source/WebCore:

Test: css-dark-mode/prefers-color-scheme.html

* Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.
* css/CSSValueKeywords.in: Added light and dark.
* css/MediaFeatureNames.h: Added prefers-color-scheme.
* css/MediaQueryEvaluator.cpp:
(WebCore::prefersColorSchemeEvaluate): Added.
* css/MediaQueryExpression.cpp:
(WebCore::featureWithValidIdent): Added prefers-color-scheme.
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setDarkModeCSSEnabled): Added.
(WebCore::RuntimeEnabledFeatures::darkModeCSSEnabled const): Added.
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::resetToConsistentState): Reset setUseDarkAppearance.
(WebCore::InternalSettings::setUseDarkAppearance): Added.
* testing/InternalSettings.h: Added setUseDarkAppearance.
* testing/InternalSettings.idl: Ditto.

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.

Source/WebKit:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.
* Shared/WebPreferences.yaml: Added DarkModeCSSEnabled as experimental.

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.

Source/WTF:

* wtf/FeatureDefines.h: Added ENABLE_DARK_MODE_CSS.

Tools:

* Scripts/webkitperl/FeatureList.pm: Added ENABLE_DARK_MODE_CSS as dark-mode-css.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Added ENABLE_DARK_MODE_CSS.

LayoutTests:

* css-dark-mode/prefers-color-scheme-expected.txt: Added.
* css-dark-mode/prefers-color-scheme.html: Added.
* platform/gtk/TestExpectations: Skip css-dark-mode.
* platform/ios/TestExpectations: Skip css-dark-mode.
* platform/mac-wk1/TestExpectations: Skip css-dark-mode.
* platform/win/TestExpectations: Skip css-dark-mode.
* platform/wincairo/TestExpectations: Skip css-dark-mode.
* platform/wpe/TestExpectations: Skip css-dark-mode.

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

13 months agoWeb Inspector: Cleanup Table test utilities
mattbaker@apple.com [Mon, 15 Oct 2018 23:29:28 +0000 (23:29 +0000)]
Web Inspector: Cleanup Table test utilities
https://bugs.webkit.org/show_bug.cgi?id=190538
<rdar://problem/45237730>

Reviewed by Joseph Pecoraro.

Cleanup Table test utilities by exposing removing the artificial dependency
between TableDelegate and TableDataSource, and exposing a cleaner set of
utility methods to InspectorTest. This patch changes `InspectorTest.createTable`
to take no parameters, and adds `InspectorTest.createTableWithDelegate` for
tests that need to supply a custom delegate.

* inspector/table/resources/table-utilities.js:
(TestPage.registerInitializer.InspectorTest.TableDataSource):
(TestPage.registerInitializer.InspectorTest.TableDelegate):
(TestPage.registerInitializer.InspectorTest.TableDelegate.prototype.tablePopulateCell):
(TestPage.registerInitializer.createDataSource):
(TestPage.registerInitializer.createTableInternal):
(TestPage.registerInitializer.InspectorTest.createTable):
(TestPage.registerInitializer.InspectorTest.createTableWithDelegate):
(TestPage.registerInitializer):

* inspector/table/table-selection-expected.txt:
Update with new test suite name.

* inspector/table/table-selection.html:

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

13 months agoRemove StorageProcess leftover
commit-queue@webkit.org [Mon, 15 Oct 2018 23:18:52 +0000 (23:18 +0000)]
Remove StorageProcess leftover
https://bugs.webkit.org/show_bug.cgi?id=190591

Patch by Patrick Griffis <pgriffis@igalia.com> on 2018-10-15
Reviewed by Michael Catanzaro.

The process was deleted.

* Shared/ChildProcess.h:
* Shared/mac/ChildProcessMac.mm:
(WebKit::processStorageClass):
(WebKit::sandboxDirectory):
* UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::getLaunchOptions):
* UIProcess/Launcher/ProcessLauncher.h:
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::serviceName):

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

13 months ago[JHBuild] Add xdg-dbus-proxy module
commit-queue@webkit.org [Mon, 15 Oct 2018 23:14:33 +0000 (23:14 +0000)]
[JHBuild] Add xdg-dbus-proxy module
https://bugs.webkit.org/show_bug.cgi?id=190589

Patch by Patrick Griffis <pgriffis@igalia.com> on 2018-10-15
Reviewed by Michael Catanzaro.

* gtk/jhbuild.modules:

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

13 months ago[GTK] Add new sandboxing dependencies to install-dependencies
commit-queue@webkit.org [Mon, 15 Oct 2018 23:14:00 +0000 (23:14 +0000)]
[GTK] Add new sandboxing dependencies to install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=190588

Patch by Patrick Griffis <pgriffis@igalia.com> on 2018-10-15
Reviewed by Michael Catanzaro.

* gtk/install-dependencies:

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

13 months agoWeb Inspector: Expose Server Timing Response Headers in Network Tab
commit-queue@webkit.org [Mon, 15 Oct 2018 23:10:20 +0000 (23:10 +0000)]
Web Inspector: Expose Server Timing Response Headers in Network Tab
https://bugs.webkit.org/show_bug.cgi?id=190440

Patch by Charles Vazac <cvazac@gmail.com> on 2018-10-15
Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js: new key "Server Timing:"
* UserInterface/Main.html: add reference to Models/ServerTimingEntry.js
* UserInterface/Models/Resource.js:
(WI.Resource.prototype.get serverTiming):
(WI.Resource.prototype.updateForResponse):
* UserInterface/Models/ServerTimingEntry.js: Added.
(WI.ServerTimingEntry):
(WI.ServerTimingEntry.parseHeaders): parse raw response headers into an array of ServerTimingEntry objects
(WI.ServerTimingEntry.parseHeaders.consumeDelimiter):
(WI.ServerTimingEntry.parseHeaders.consumeToken):
(WI.ServerTimingEntry.):
* UserInterface/Test.html: add reference to Models/ServerTimingEntry.js
* UserInterface/Views/ResourceTimingBreakdownView.js:
(WI.ResourceTimingBreakdownView.prototype._appendServerTimingRow): render a table row per ServerTimingEntry object
(WI.ResourceTimingBreakdownView.prototype.initialLayout):
(WI.ResourceTimingBreakdownView):

LayoutTests:

* inspector/unit-tests/server-timing-entry-expected.txt:
* inspector/unit-tests/server-timing-entry.html:

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

13 months agoWeb Inspector: Dark Mode: pseudo elements in DOM tree are too dark
nvasilyev@apple.com [Mon, 15 Oct 2018 22:51:45 +0000 (22:51 +0000)]
Web Inspector: Dark Mode: pseudo elements in DOM tree are too dark
https://bugs.webkit.org/show_bug.cgi?id=190541
<rdar://problem/45238443>

Reviewed by Matt Baker.

* UserInterface/Views/DOMTreeOutline.css:
(@media (prefers-dark-interface)):
(.tree-outline.dom .html-pseudo-element):

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

13 months agoGarden WK2 tests after r237104
achristensen@apple.com [Mon, 15 Oct 2018 22:35:35 +0000 (22:35 +0000)]
Garden WK2 tests after r237104
https://bugs.webkit.org/show_bug.cgi?id=190522

* platform/wk2/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt: Removed.
I added  this wk2 expectation in r234658 after r234640.  r237104 effectively did the inverse of r234640,
so behavior is back to how it was before then.  This makes the expectations reflect such.

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

13 months agoRemove unused WebView._globalHistoryItem
achristensen@apple.com [Mon, 15 Oct 2018 21:45:55 +0000 (21:45 +0000)]
Remove unused WebView._globalHistoryItem
https://bugs.webkit.org/show_bug.cgi?id=190601

Reviewed by Chris Dumez.

Source/WebCore:

This was a hack to give the client a more reliable current back/forward item, but it hasn't been used for years
and it's adding unnecessary complexity to the history code.

* loader/EmptyFrameLoaderClient.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
* loader/FrameLoaderClient.h:
* loader/HistoryController.cpp:
(WebCore::HistoryController::goToItem):
(WebCore::HistoryController::updateForStandardLoad):
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):

Source/WebKitLegacy/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistoryItemForPage): Deleted.
* WebView/WebView.mm:
(-[WebView _globalHistoryItem]): Deleted.
(-[WebView _setGlobalHistoryItem:]): Deleted.
* WebView/WebViewData.h:
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:

Source/WebKitLegacy/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::updateGlobalHistoryItemForPage): Deleted.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebView.cpp:
(WebView::globalHistoryItem):
(WebView::setGlobalHistoryItem): Deleted.
* WebView.h:

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

13 months agoUnreviewed, rolling out r237084, r237088, r237098, and
ryanhaddad@apple.com [Mon, 15 Oct 2018 21:40:49 +0000 (21:40 +0000)]
Unreviewed, rolling out r237084, r237088, r237098, and
r237114.
https://bugs.webkit.org/show_bug.cgi?id=190602

Breaks internal builds. (Requested by ryanhaddad on #webkit).

Reverted changesets:

"Separate configuration extraction from offset extraction"
https://bugs.webkit.org/show_bug.cgi?id=189708
https://trac.webkit.org/changeset/237084

"Gardening: Build fix after r237084."
https://bugs.webkit.org/show_bug.cgi?id=189708
https://trac.webkit.org/changeset/237088

"Gardening: Build fix after r237084."
https://bugs.webkit.org/show_bug.cgi?id=189708
https://trac.webkit.org/changeset/237098

"REGRESSION (r237084): JavaScriptCore fails to build on Linux"
https://trac.webkit.org/changeset/237114

Patch by Commit Queue <commit-queue@webkit.org> on 2018-10-15

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

13 months agoRemove unused parameters of WebPageGroupData
achristensen@apple.com [Mon, 15 Oct 2018 21:33:52 +0000 (21:33 +0000)]
Remove unused parameters of WebPageGroupData
https://bugs.webkit.org/show_bug.cgi?id=190600

Reviewed by Chris Dumez.

visibleToInjectedBundle and visibleToHistoryClient are both always true.
This removes a mysterious check in the history code.

* Shared/WebPageGroupData.cpp:
(WebKit::WebPageGroupData::encode const):
(WebKit::WebPageGroupData::decode):
* Shared/WebPageGroupData.h:
* UIProcess/WebPageGroup.cpp:
(WebKit::WebPageGroup::create):
(WebKit::pageGroupData):
(WebKit::WebPageGroup::WebPageGroup):
* UIProcess/WebPageGroup.h:
(WebKit::WebPageGroup::WebPageGroup):
(WebKit::WebPageGroup::create):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::updateGlobalHistory):
(WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
(WebKit::WebFrameLoaderClient::setTitle):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::create):
(WebKit::WebPage::close):
* WebProcess/WebPage/WebPageGroupProxy.cpp:
(WebKit::WebPageGroupProxy::create):
* WebProcess/WebPage/WebPageGroupProxy.h:
(WebKit::WebPageGroupProxy::pageGroupID const):
(WebKit::WebPageGroupProxy::isVisibleToInjectedBundle const): Deleted.
(WebKit::WebPageGroupProxy::isVisibleToHistoryClient const): Deleted.

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

13 months agoWeb Inspector: REGRESSION (r233824): execution highlight range missing/incorrect...
mattbaker@apple.com [Mon, 15 Oct 2018 21:21:16 +0000 (21:21 +0000)]
Web Inspector: REGRESSION (r233824): execution highlight range missing/incorrect in pretty printed code
https://bugs.webkit.org/show_bug.cgi?id=188082
<rdar://problem/42640580>

Reviewed by Joseph Pecoraro.

* UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
TextEditor expects positions returned by the delegate to be relative to
the editor's text content, not the original source code content.

* UserInterface/Views/TextEditor.js:
(WI.TextEditor.prototype._updateExecutionRangeHighlight):
Convert positions to CodeMirror format here rather than in the delegate
method, which is a layer removed from CodeMirror.

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

13 months agoExperiment: target=_blank on anchors should imply rel=noopener
cdumez@apple.com [Mon, 15 Oct 2018 21:21:07 +0000 (21:21 +0000)]
Experiment: target=_blank on anchors should imply rel=noopener
https://bugs.webkit.org/show_bug.cgi?id=190481

Reviewed by Alex Christensen.

Source/WebCore:

As an experiment, try and make it so that target=_blank on anchors implies `rel=noopener` for improved security.
WebContent can then request an opener relationship by using `rel=opener` instead.

This change was discussed at:
- https://github.com/whatwg/html/issues/4078

We want to attempt this change is STP to see if it is Web-compatible. Preliminary testing seems to indicate
that OAuth workflows still work.

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::parseAttribute):
(WebCore::HTMLAnchorElement::handleClick):
(WebCore::HTMLAnchorElement::effectiveTarget const):
* html/HTMLAnchorElement.h:
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setBlankAnchorTargetImpliesNoOpenerEnabled):
(WebCore::RuntimeEnabledFeatures::blankAnchorTargetImpliesNoOpenerEnabled const):

Source/WebKit:

* Shared/WebPreferences.yaml:

Tools:

Add API test coverage to make sure we can now swap process when target=_blank
is specified on an anchor but rel=noopener is not.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

LayoutTests:

Update existing tests to reflect behavior change.

* TestExpectations:
* http/tests/navigation/no-referrer-reset.html:
* http/tests/security/resources/referrer-policy-redirect-link.html:
* http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html:
* http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html:
* http/tests/security/xssAuditor/link-opens-new-window.html:

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

13 months agoWeb Inspector: Dark Mode: unreadable text when hovering CSS properties while holding...
nvasilyev@apple.com [Mon, 15 Oct 2018 21:14:52 +0000 (21:14 +0000)]
Web Inspector: Dark Mode: unreadable text when hovering CSS properties while holding Command
https://bugs.webkit.org/show_bug.cgi?id=190548
<rdar://problem/45242098>

Reviewed by Joseph Pecoraro.

* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.meta-key-pressed .spreadsheet-css-declaration:not(.locked) :matches(.name, .value):not(.editing):hover):
In the light mode the color remained the same.

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

13 months ago[Apple Pay] New shipping methods are ignored when updating after the shippingaddressc...
aestes@apple.com [Mon, 15 Oct 2018 21:10:56 +0000 (21:10 +0000)]
[Apple Pay] New shipping methods are ignored when updating after the shippingaddresschange event
https://bugs.webkit.org/show_bug.cgi?id=190560
<rdar://problem/44559075>

Reviewed by Youenn Fablet.

Source/WebCore:

When a PaymentDetailsUpdate with shipping options was specified to updateWith() after the
shippingaddresschange event fires, ApplePayPaymentHandler needs to convert the shipping
options to ShippingMethods and add them to the ShippingContactUpdate so that the Apple Pay
UI renders the new options.

Added test cases to http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrors.https.html.

* Modules/applepay/ApplePayShippingMethod.idl:
* Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::computeShippingMethods):
(WebCore::ApplePayPaymentHandler::shippingAddressUpdated):
* Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
* testing/MockPaymentCoordinator.cpp:
(WebCore::convert):
(WebCore::MockPaymentCoordinator::showPaymentUI):
(WebCore::MockPaymentCoordinator::completeShippingContactSelection):
* testing/MockPaymentCoordinator.h:
* testing/MockPaymentCoordinator.idl:

LayoutTests:

* http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrors.https-expected.txt:
* http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrors.https.html:

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

13 months agoBytecodeDumper should print all switch labels
keith_miller@apple.com [Mon, 15 Oct 2018 20:58:24 +0000 (20:58 +0000)]
BytecodeDumper should print all switch labels
https://bugs.webkit.org/show_bug.cgi?id=190596

Reviewed by Saam Barati.

Right now the bytecode dumper only prints the default target not any of the
non-default targets.

* bytecode/BytecodeDumper.cpp:
(JSC::BytecodeDumper<Block>::dumpBytecode):

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

13 months agoRTCPeerConnection.generateCertificate is not a function
youenn@apple.com [Mon, 15 Oct 2018 20:52:15 +0000 (20:52 +0000)]
RTCPeerConnection.generateCertificate is not a function
https://bugs.webkit.org/show_bug.cgi?id=173541
<rdar://problem/32638029>

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

* web-platform-tests/webrtc/RTCCertificate-expected.txt:
* web-platform-tests/webrtc/RTCPeerConnection-generateCertificate-expected.txt:
* web-platform-tests/webrtc/interfaces.https-expected.txt:
* web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt:

Source/ThirdParty/libwebrtc:

* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:

Source/WebCore:

Add support for RTCCertificate generation through libwebrtc certificate generator.
Make generation in the webrtc network thread.
Support is as per spec (ECDSA and RSASSA_PKCS).

Partially covered by WPT tests.

* css/StyleBuilder.h: Fixing build.
* CMakeLists.txt:
* DerivedSources.make:
* Modules/webauthn/PublicKeyCredential.cpp: Fixing build.
* Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::generateCertificate):
* Modules/mediastream/PeerConnectionBackend.h:
(WebCore::PeerConnectionBackend::CertificateInformation::RSASSA_PKCS1_v1_5):
(WebCore::PeerConnectionBackend::CertificateInformation::ECDSA_P256):
(WebCore::PeerConnectionBackend::CertificateInformation::CertificateInformation):
* Modules/mediastream/RTCCertificate.cpp: Added.
(WebCore::RTCCertificate::create):
(WebCore::RTCCertificate::RTCCertificate):
* Modules/mediastream/RTCCertificate.h: Added.
(WebCore::RTCCertificate::expires const):
(WebCore::RTCCertificate::getFingerprints const):
* Modules/mediastream/RTCCertificate.idl: Added.
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::certificateTypeFromAlgorithmIdentifier):
(WebCore::RTCPeerConnection::generateCertificate):
* Modules/mediastream/RTCPeerConnection.h:
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/mediastream/libwebrtc/LibWebRTCCertificateGenerator.cpp: Added.
(WebCore::LibWebRTCCertificateGenerator::RTCCertificateGeneratorCallback::RTCCertificateGeneratorCallback):
(WebCore::LibWebRTCCertificateGenerator::RTCCertificateGeneratorCallback::~RTCCertificateGeneratorCallback):
(WebCore::LibWebRTCCertificateGenerator::keyParamsFromCertificateType):
(WebCore::LibWebRTCCertificateGenerator::generateCertificate):
* Modules/mediastream/libwebrtc/LibWebRTCCertificateGenerator.h: Added.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:
* platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::certificateGenerator):
* platform/mediastream/libwebrtc/LibWebRTCProvider.h:

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

13 months agoAdd compact logging for the paint-order RenderLayer tree
simon.fraser@apple.com [Mon, 15 Oct 2018 20:09:15 +0000 (20:09 +0000)]
Add compact logging for the paint-order RenderLayer tree
https://bugs.webkit.org/show_bug.cgi?id=190592

Reviewed by Zalan Bujtas.

Add a way to dump the RenderLayer tree in paint order, which will be extended in future
to show more dirty bit state.

* rendering/RenderLayer.cpp:
(WebCore::outputPaintOrderTreeLegend):
(WebCore::outputIdent):
(WebCore::outputPaintOrderTreeRecursive):
(WebCore::showPaintOrderTree):
* rendering/RenderLayer.h:

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

13 months agoRemove unused parameters from FrameLoaderClient::createFrame
achristensen@apple.com [Mon, 15 Oct 2018 19:55:39 +0000 (19:55 +0000)]
Remove unused parameters from FrameLoaderClient::createFrame
https://bugs.webkit.org/show_bug.cgi?id=190587

Reviewed by Chris Dumez.

Source/WebCore:

* loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::createFrame):
* loader/EmptyFrameLoaderClient.h:
* loader/FrameLoaderClient.h:
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):

Source/WebKit:

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createFrame):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKitLegacy/mac:

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

Source/WebKitLegacy/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createFrame):
* WebCoreSupport/WebFrameLoaderClient.h:

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

13 months agoRemove unused WebFrame._loadType
achristensen@apple.com [Mon, 15 Oct 2018 19:53:47 +0000 (19:53 +0000)]
Remove unused WebFrame._loadType
https://bugs.webkit.org/show_bug.cgi?id=190583

Reviewed by Chris Dumez.

This is unused, and this concept needs to not be exposed from WebCore to WebKitLegacy for me to fix history bugs.

* WebView/WebFrame.mm:
(toWebFrameLoadType): Deleted.
(-[WebFrame _loadType]): Deleted.
* WebView/WebFramePrivate.h:

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

13 months agoEmit fjcvtzs on ARM64E on Darwin
sbarati@apple.com [Mon, 15 Oct 2018 19:47:09 +0000 (19:47 +0000)]
Emit fjcvtzs on ARM64E on Darwin
https://bugs.webkit.org/show_bug.cgi?id=184023

Reviewed by Yusuke Suzuki and Filip Pizlo.

JSTests:

* stress/double-to-int32-NaN.js: Added.
(assert):
(foo):

Source/JavaScriptCore:

ARMv8.3 introduced the fjcvtzs instruction which does double->int32
conversion using the semantics defined by JavaScript:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0801g/hko1477562192868.html
This patch teaches JSC to use that instruction when possible.

* assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::fjcvtzs):
(JSC::ARM64Assembler::fjcvtzsInsn):
* assembler/MacroAssemblerARM64.cpp:
(JSC::MacroAssemblerARM64::collectCPUFeatures):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::supportsDoubleToInt32ConversionUsingJavaScriptSemantics):
(JSC::MacroAssemblerARM64::convertDoubleToInt32UsingJavaScriptSemantics):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
* disassembler/ARM64/A64DOpcode.cpp:
* disassembler/ARM64/A64DOpcode.h:
(JSC::ARM64Disassembler::A64DOpcode::appendInstructionName):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::doubleToInt32):
* jit/JITRightShiftGenerator.cpp:
(JSC::JITRightShiftGenerator::generateFastPath):
* runtime/MathCommon.h:
(JSC::toInt32):

Source/WTF:

* wtf/Platform.h:

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

13 months ago[iOS] Can't select text after dismissing the keyboard when changing focus
wenson_hsieh@apple.com [Mon, 15 Oct 2018 19:47:03 +0000 (19:47 +0000)]
[iOS] Can't select text after dismissing the keyboard when changing focus
https://bugs.webkit.org/show_bug.cgi?id=190563
<rdar://problem/44613559>

Reviewed by Tim Horton.

Source/WebKit:

In r230686, we switched from using UIWKSelectionAssistant to UIWKTextInteractionAssistant for handling selection
in non-editable content on iOS; as such, when an editable element loses focus, instead of switching from the
text interaction assistant to the web selection assistant as we've previously done, we now reset our text
interaction assistant by calling `-[UIWKTextInteractionAssistant setGestureRecognizers]`, which removes all of
the current text selection gesture recognizers from WKContentView and regenerates them by building up a tree of
`UITextInteraction`s and adding them to the assistant (see `-[UITextInteractionAssistant
addGestureRecognizersToView:]`). In particular, `_UITextSelectionForceGesture` is the gesture recognizer used to
trigger text selection when long pressing.

After dismissing the keyboard by tapping the "Done" button, the UITextInteractions and gesture recognizers on
the interaction assistant include:

    <UITextInteraction>
        …
        <UITextIndirectNonEditableInteraction>
            <_UIKeyboardBasedNonEditableTextSelectionInteraction>
              ↳ "_UIKeyboardTextSelectionGestureForcePress" → <_UITextSelectionForceGesture>

However, after the keyboard dismisses due to an editable element losing focus, the UITextInteractions on the
interaction assistant look like this:

    <UITextInteraction>
        …
        <UITextIndirectNonEditableInteraction>

Subsequently, the lack of a `_UIKeyboardBasedNonEditableTextSelectionInteraction` makes text selection by long
pressing impossible, since the `_UITextSelectionForceGesture` is never introduced to `WKContentView`. In UIKit,
`UITextIndirectNonEditableInteraction` only adds `_UIKeyboardBasedNonEditableTextSelectionInteraction` as a
child if the text input view — in our case, WKContentView — is missing an input delegate (see `-initWithView:`).
In the case where the Done button is used to dismiss the keyboard, WKContentView loses first responder, and the
input delegate of WKContentView is cleared out early on, before we call `-stopAssistingKeyboard`:

    -[WKContentView(WKInteraction) setInputDelegate:]
    -[UIKeyboardImpl setDelegate:force:]
    -[UIPeripheralHost(UIKitInternal) _reloadInputViewsForResponder:]
    -[UIResponder _finishResignFirstResponder]
    -[UIResponder resignFirstResponder]
    -[WKContentView(WKInteraction) resignFirstResponderForWebView]
    -[UIKeyboardImpl dismissKeyboard]

However, in the case where the focused element is blurred, we end up clearing out the delegate in
`-_stopAssistingNode`, *after* we've already called `-setGestureRecognizers` on the interaction assistant. This
means UIKit will skip adding `_UIKeyboardBasedNonEditableTextSelectionInteraction` to the text interaction
assistant.

    -[WKContentView(WKInteraction) setInputDelegate:]
    -[UIKeyboardImpl setDelegate:force:]
    -[UIPeripheralHost(UIKitInternal) _reloadInputViewsForResponder:]
    -[UIResponder(UIResponderInputViewAdditions) reloadInputViews]
    -[WKContentView(WKInteraction) _stopAssistingNode]

To fix this, we simply reset our `inputDelegate` earlier in `_stopAssistingKeyboard` instead of waiting until
we reload input views. This ensures that UIKit sets up the text interaction assistant's gestures when changing
focus in the same way as we would when the keyboard is dismissed via `-resignFirstResponder` (e.g. when pressing
the Done button).

Test: editing/selection/ios/select-text-after-changing-focus.html

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView setUpTextSelectionAssistant]):
(-[WKContentView _startAssistingKeyboard]):
(-[WKContentView _stopAssistingKeyboard]):
(-[WKContentView useSelectionAssistantWithGranularity:]): Deleted.

Additionally rename this to -setUpTextSelectionAssistant and remove the selection granularity argument. This was
previously used to switch between web and text interaction assistants.

Tools:

* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::isShowingKeyboard const):

Add a new UIScriptController method that returns whether the keyboard is shown. See `ui-helper.js` for more
details.

* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::isShowingKeyboard const):
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:

Also rename the `isShowingKeyboard` Objective-C property to the more canonical `showingKeyboard`, with
`isShowingKeyboard` as the getter method.

(-[TestRunnerWKWebView _invokeShowKeyboardCallbackIfNecessary]):
(-[TestRunnerWKWebView _invokeHideKeyboardCallbackIfNecessary]):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::isShowingKeyboard const):

LayoutTests:

Add a new layout test to check that the user can make a selection by long pressing after the keyboard is
dismissed due to changing the focused element.

* editing/selection/ios/select-text-after-changing-focus-expected.txt: Added.
* editing/selection/ios/select-text-after-changing-focus.html: Added.
* resources/ui-helper.js:

Also tweak the behavior of `UIHelper.waitForKeyboardToHide()`, so that it resolves immediately if the keyboard
is not shown. This allows us to ensure that tests which use `UIHelper.waitForKeyboardToHide()` are robust in the
case where they wait for another action to complete (e.g. a simulated tap) prior to registering a keyboard
hiding callback.

(window.UIHelper.waitForKeyboardToHide.return.new.Promise):
(window.UIHelper.waitForKeyboardToHide):

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

13 months ago[Apple Pay] Payment authorization results with ApplePayErrors should never be conside...
aestes@apple.com [Mon, 15 Oct 2018 19:40:32 +0000 (19:40 +0000)]
[Apple Pay] Payment authorization results with ApplePayErrors should never be considered final
https://bugs.webkit.org/show_bug.cgi?id=190559
<rdar://problem/37250908>

Reviewed by Anders Carlsson.

Source/WebCore:

When PaymentCoordinator thinks a payment authorization result is final it releases the
active ApplePaySession. The Apple Pay UI is dismissed after a receiving a final result.

However, WebCore::isFinalStateResult had the wrong idea about what was a final state,
in some cases causing PaymentCoordinator to release the active session even when the UI is
still presented. If the user authorizes payment again, the website will not receive another
paymentauthorized event, and the Apple Pay UI will eventually time out waiting for a result.

Specifically, isFinalStateResult thought that:

(1) results with STATUS_SUCCESS were always final, even if they had errors
(2) errors with code "unknown" were final

Both of these assumptions are wrong. PassKit considers any result with errors to be
non-final, even if an error has code "unknown."

Fixed WebCore::isFinalStateResult to agree with what PassKit considers to be final results.

Test: http/tests/ssl/applepay/ApplePaySessionFinalState.https.html

* Modules/applepay/ApplePaySessionPaymentRequest.cpp:
(WebCore::isFinalStateResult):
* testing/MockPaymentCoordinator.cpp:
(WebCore::MockPaymentCoordinator::completePaymentSession):

LayoutTests:

* http/tests/ssl/applepay/ApplePaySessionFinalState.https-expected.txt: Added.
* http/tests/ssl/applepay/ApplePaySessionFinalState.https.html: Added.

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

13 months ago[Payment Request] PaymentResponse should be a ContextDestructionObserver
aestes@apple.com [Mon, 15 Oct 2018 19:37:17 +0000 (19:37 +0000)]
[Payment Request] PaymentResponse should be a ContextDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=190558

Reviewed by Alex Christensen.

Make PaymentResponse a ContextDestructionObserver so it has a ScriptExecutionContext to
return for its override of EventTarget::scriptExecutionContext(). Do this instead of
downcasting m_request to an ActiveDOMObject to ask for its context.

* Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::accept):
* Modules/paymentrequest/PaymentResponse.cpp:
(WebCore::PaymentResponse::PaymentResponse):
(WebCore::PaymentResponse::scriptExecutionContext const): Deleted.
* Modules/paymentrequest/PaymentResponse.h:

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

13 months ago[Payment Request] Use a PendingActivity token rather than calling (un)setPendingActivity
aestes@apple.com [Mon, 15 Oct 2018 19:34:18 +0000 (19:34 +0000)]
[Payment Request] Use a PendingActivity token rather than calling (un)setPendingActivity
https://bugs.webkit.org/show_bug.cgi?id=190557

Reviewed by Alex Christensen.

PaymentRequest has pending activity whenever there is an active payment handler, since
user-initiated events can occur whenever the payment UI is displayed.

Rather than manually track the pending activity with setPendingActivity() and
unsetPendingActivity(), use a PendingActivity token tied to the lifetime of the active
payment handler. Also, rewrite canSuspendForDocumentSuspension() in terms of
hasPendingActivity().

* Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::show):
(WebCore::PaymentRequest::abortWithException):
(WebCore::PaymentRequest::canSuspendForDocumentSuspension const):
(WebCore::PaymentRequest::paymentMethodChanged):
(WebCore::PaymentRequest::completeMerchantValidation):
(WebCore::PaymentRequest::settleDetailsPromise):
(WebCore::PaymentRequest::complete):
(WebCore::PaymentRequest::cancel):
* Modules/paymentrequest/PaymentRequest.h:

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

13 months agoWeb Inspector: RDM: Toolbar hidden in when Inspector is docked to side.
commit-queue@webkit.org [Mon, 15 Oct 2018 19:28:09 +0000 (19:28 +0000)]
Web Inspector: RDM: Toolbar hidden in when Inspector is docked to side.
https://bugs.webkit.org/show_bug.cgi?id=190545
rdar://problem/44674500

Patch by Remy Demarest <rdemarest@apple.com> on 2018-10-15
Reviewed by Brian Burg.

When the inspector is placed next to the web view it uses its _topContentInset and _totalHeightOfBanners
to lay out the inspector so it does not underlap the window toolbar, but this technique does not work when
in responsive design mode because of the different attachment view. This patch fixes the issue by using
-[NSWindow contentLayoutRect] to figure out the height of the inspector instead of relying on the content
insets of the web view. This requires observing -contentLayoutRect and ensure we only observe its changes
when the view is actually on the screen.

* UIProcess/WebInspectorProxy.h:
Declare helpers to add/remove observer on the attached inspector window.

* UIProcess/mac/WKInspectorViewController.h:
* UIProcess/mac/WKInspectorViewController.mm:
(-[WKInspectorViewController inspectorWKWebView:willMoveToWindow:]):
(-[WKInspectorViewController inspectorWKWebViewDidMoveToWindow:]):

* UIProcess/mac/WKInspectorWKWebView.h:
* UIProcess/mac/WKInspectorWKWebView.mm:
(-[WKInspectorWKWebView viewWillMoveToWindow:]):
(-[WKInspectorWKWebView viewDidMoveToWindow]):

* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter observeValueForKeyPath:ofObject:change:context:]): Update inspector layout
whenever the contentLayoutRect changes. Except when live resizing since the attachment view also sends
notifications at the same time.
(-[WKWebInspectorProxyObjCAdapter inspectorViewController:willMoveToWindow:]):
(-[WKWebInspectorProxyObjCAdapter inspectorViewControllerDidMoveToWindow:]):
(WebKit::WebInspectorProxy::attachmentWillMoveFromWindow): Remove the observer only if we set it up before.
(WebKit::WebInspectorProxy::attachmentDidMoveToWindow): Set up the observer and immediately update the frame
of the inspector since it just moved to its final destination.
(WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Adjust the frame of the attached inspector based
on the contentLayoutRect of the window rather than the topContentInset of the web view.

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

13 months agoUnreviewed, fix JSC tests after WebGPUShadingLanguageRI directory was removed in...
ryanhaddad@apple.com [Mon, 15 Oct 2018 19:14:50 +0000 (19:14 +0000)]
Unreviewed, fix JSC tests after WebGPUShadingLanguageRI directory was removed in r237115.

* Scripts/run-javascriptcore-tests:
(runJSCStressTests): Remove wsl-tests.yaml.

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

13 months agoJSArray::shiftCountWithArrayStorage is wrong when an array has holes
sbarati@apple.com [Mon, 15 Oct 2018 19:14:42 +0000 (19:14 +0000)]
JSArray::shiftCountWithArrayStorage is wrong when an array has holes
https://bugs.webkit.org/show_bug.cgi?id=190262
<rdar://problem/44986241>

Reviewed by Mark Lam.

JSTests:

* stress/array-prototype-concat-of-long-spliced-arrays.js:
(test):
* stress/slice-array-storage-with-holes.js: Added.
(main):

Source/JavaScriptCore:

We would take the fast path for shiftCountWithArrayStorage when the array
hasHoles(). However, the code for this was wrong. It'd incorrectly update
ArrayStorage::m_numValuesInVector. Since the hasHoles() for ArrayStorage
path is never taken in JetStream 2, this patch just removes that from
the fast path. Instead, we just fallback to the slow path when hasHoles().
If we find evidence that this matters for real use cases, we can
figure out a way to make the fast path work.

* runtime/JSArray.cpp:
(JSC::JSArray::shiftCountWithArrayStorage):

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

13 months agoUnreviewed, rolling out r237054.
commit-queue@webkit.org [Mon, 15 Oct 2018 18:42:44 +0000 (18:42 +0000)]
Unreviewed, rolling out r237054.
https://bugs.webkit.org/show_bug.cgi?id=190593

"this regressed JetStream 2 by 6% on iOS" (Requested by
saamyjoon on #webkit).

Reverted changeset:

"[JSC] JSC should have "parseFunction" to optimize Function
constructor"
https://bugs.webkit.org/show_bug.cgi?id=190340
https://trac.webkit.org/changeset/237054

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

13 months agoChanging view scale should zoom to initial scale if the page is already at initial...
wenson_hsieh@apple.com [Mon, 15 Oct 2018 17:36:31 +0000 (17:36 +0000)]
Changing view scale should zoom to initial scale if the page is already at initial scale
https://bugs.webkit.org/show_bug.cgi?id=190570
<rdar://problem/45261877>

Reviewed by Tim Horton.

Source/WebCore:

Add a getter for ViewportConfiguration's layout size scale factor.
See Source/WebKit/ChangeLog for more details.

* page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::layoutSizeScaleFactor const):

Source/WebKit:

r237087 added support for changing the view scale on iOS, by making it possible to let the minimum layout size
be a factor of the view size; this allows internal clients to change page zoom levels on iOS. Currently,
changing the page zoom level automatically zooms to the new initial scale only if the user has not manually
scaled the page before, even if the page is already at initial scale (e.g. after the user double taps to zoom on
a small element, and double taps again to zoom back out to initial scale).

This patch makes some minor adjustments to automatically zoom to the new initial scale after changing the view
scale, as long as the page was at initial scale when changing zoom levels.

Test: fast/viewport/ios/initial-scale-after-changing-view-scale.html

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

Move this function further up in the file, so that we can use it in `setViewportConfigurationViewLayoutSize`.

(WebKit::WebPage::setViewportConfigurationViewLayoutSize):

If the page is near initial scale and the zoom level changes, zoom to the new initial scale.

(WebKit::WebPage::viewportConfigurationChanged):

Make this take a new enum argument that determines whether we want to zoom to initial scale as a result of the
viewport configuration change (`No` by default).

LayoutTests:

* fast/viewport/ios/initial-scale-after-changing-view-scale-expected.txt: Added.
* fast/viewport/ios/initial-scale-after-changing-view-scale.html: Added.

Add a new layout test to verify that:
1.  Changing view scale before the page scale factor is changed by the user zooms to the new initial scale.
2.  Changing view scale after the user changes the page scale to something different than initial scale does not
    cause the page to zoom to the new initial scale.
3.  Changing view scale after the user changes the page scale factor back to initial scale causes the page to
    zoom to the new initial scale.

* resources/basic-gestures.js:

Make a small tweak in `doubleTapToZoomAtPoint` to ensure that both single taps as well as zooming are complete
before invoking UIScriptController completion.

(return.new.Promise):

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

13 months agoFix build error with !LOG_DISABLED in Release mode
cturner@igalia.com [Mon, 15 Oct 2018 17:33:21 +0000 (17:33 +0000)]
Fix build error with !LOG_DISABLED in Release mode
https://bugs.webkit.org/show_bug.cgi?id=190465

Reviewed by Michael Catanzaro.

No tests due to no new functionality.

* workers/service/ServiceWorkerRegistrationKey.cpp:
* workers/service/ServiceWorkerRegistrationKey.h:

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

13 months agoWeb Inspector: Dark Mode: style editor warnings should not look like errors
nvasilyev@apple.com [Mon, 15 Oct 2018 17:27:02 +0000 (17:27 +0000)]
Web Inspector: Dark Mode: style editor warnings should not look like errors
https://bugs.webkit.org/show_bug.cgi?id=190569
<rdar://problem/45261689>

Reviewed by Matt Baker.

Make warnings in the style editor look the same as warnings in the content views.
Unify warning and error background color variables.

* UserInterface/Views/LogContentView.css:
(@media (prefers-dark-interface)):
(.console-error-level):
(.console-warning-level):
* UserInterface/Views/SourceCodeTextEditor.css:
(.source-code.text-editor > .CodeMirror .warning):
(.source-code.text-editor > .CodeMirror .error):
(.source-code.text-editor > .CodeMirror .issue-widget.warning):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
(.source-code.text-editor > .CodeMirror .issue-widget.error):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
(@media (prefers-dark-interface)):
(.source-code.text-editor > .CodeMirror .issue-widget):
* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.spreadsheet-style-declaration-editor .property.has-warning):
(.spreadsheet-style-declaration-editor .property.has-warning .warning):
(@media (prefers-dark-interface)):
(.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
* UserInterface/Views/Variables.css:
(:root):
(@media (prefers-dark-interface)):

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

13 months agoLayerListMutationDetector should take a reference
simon.fraser@apple.com [Mon, 15 Oct 2018 17:25:50 +0000 (17:25 +0000)]
LayerListMutationDetector should take a reference
https://bugs.webkit.org/show_bug.cgi?id=190586

Reviewed by Zalan Bujtas.

Change LayerListMutationDetector to take a RenderLayer&.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects const):
* rendering/RenderLayer.h:
(WebCore::LayerListMutationDetector::LayerListMutationDetector):
(WebCore::LayerListMutationDetector::~LayerListMutationDetector):
* rendering/RenderLayerBacking.cpp:
(WebCore::traverseVisibleNonCompositedDescendantLayers):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
(WebCore::RenderLayerCompositor::recursiveRepaintLayer):
(WebCore::RenderLayerCompositor::layerHas3DContent const):

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

13 months agoShare some code to dirty z-order and normal flow lists when child layers are added...
simon.fraser@apple.com [Mon, 15 Oct 2018 17:25:47 +0000 (17:25 +0000)]
Share some code to dirty z-order and normal flow lists when child layers are added or removed
https://bugs.webkit.org/show_bug.cgi?id=190585

Reviewed by Zalan Bujtas.

Factor code which dirties the normal flow list and child stacking context z-order lists
when a layer is added or removed.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::dirtyPaintOrderListsOnChildChange):
* rendering/RenderLayer.h:

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

13 months agoMake a helper function to check for reflection layers
simon.fraser@apple.com [Mon, 15 Oct 2018 17:25:45 +0000 (17:25 +0000)]
Make a helper function to check for reflection layers
https://bugs.webkit.org/show_bug.cgi?id=190584

Reviewed by Zalan Bujtas.

Add RenderLayer::isReflectionLayer() which returns true if the passed layer
is the layer of this layer's reflection. It's used in z-order list building.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateNormalFlowList):
(WebCore::RenderLayer::rebuildZOrderLists):
(WebCore::RenderLayer::collectLayers):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::calculateClipRects const):
* rendering/RenderLayer.h:

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

13 months agoRenderLayer::addChild() and removeChild() should take references
simon.fraser@apple.com [Mon, 15 Oct 2018 17:25:42 +0000 (17:25 +0000)]
RenderLayer::addChild() and removeChild() should take references
https://bugs.webkit.org/show_bug.cgi?id=190582

Reviewed by Zalan Bujtas.

Pass the layer to be added or removed as a reference; it's never null.

* rendering/RenderElement.cpp:
(WebCore::addLayers):
(WebCore::RenderElement::removeLayers):
(WebCore::RenderElement::moveLayers):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::insertOnlyThisLayer):
(WebCore::RenderLayer::removeOnlyThisLayer):
* rendering/RenderLayer.h:

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

13 months agoUnreviewed Windows build fix after r237112.
cdumez@apple.com [Mon, 15 Oct 2018 16:59:49 +0000 (16:59 +0000)]
Unreviewed Windows build fix after r237112.

* Plugins/PluginView.cpp:
(WebCore::PluginView::performRequest):
(WebCore::PluginView::load):

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

13 months ago[Cairo] Incorrect rendering for 135-deg skews
yoshiaki.jitsukawa@sony.com [Mon, 15 Oct 2018 16:50:33 +0000 (16:50 +0000)]
[Cairo] Incorrect rendering for 135-deg skews
https://bugs.webkit.org/show_bug.cgi?id=190513

Source/WebCore:

Compensation value to zero the the translation components
of the transformation matrix is incorrect if the matrix
has a shear factor.

Reviewed by Žan Doberšek.

Tests: fast/transforms/skew-x-135deg-with-gradient.html
       fast/transforms/skew-y-135deg-with-gradient.html

* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::drawPatternToCairoContext):

LayoutTests:

Reviewed by Žan Doberšek.

* fast/transforms/skew-x-135deg-with-gradient-expected.html: Added.
* fast/transforms/skew-x-135deg-with-gradient.html: Added.
* fast/transforms/skew-y-135deg-with-gradient-expected.html: Added.
* fast/transforms/skew-y-135deg-with-gradient.html: Added.

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

13 months ago[Curl][WinCairo] Add Public Suffix support to WinCairo
chris.reid@sony.com [Mon, 15 Oct 2018 16:33:56 +0000 (16:33 +0000)]
[Curl][WinCairo] Add Public Suffix support to WinCairo
https://bugs.webkit.org/show_bug.cgi?id=183060

Reviewed by Alex Christensen.

.:

* Source/cmake/FindLibPSL.cmake: Added.
* Source/cmake/OptionsWin.cmake:
* Source/cmake/OptionsWinCairo.cmake:

Source/WebCore:

Add Public Suffix support to WinCairo using LibPSL.
LibPSL has been added to WinCairoRequirements in v2018.10.09.

* platform/Curl.cmake:
* platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::searchCookies): Search for cookies using the topPrivatelyControlledDomain
(WebCore::CookieJarDB::setCookie): Prevent cookies from being added under TLDs
* platform/network/curl/PublicSuffixCurl.cpp: Added.
(WebCore::isPublicSuffix):
(WebCore::topPrivatelyControlledDomainInternal):
(WebCore::topPrivatelyControlledDomain):

Tools:

Share mac's PublicSuffix tests with all ports.

* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp:
* TestWebKitAPI/Tests/mac/PublicSuffix.mm: Removed.

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

13 months agoRenderLayer tree-related cleanup
simon.fraser@apple.com [Mon, 15 Oct 2018 16:12:37 +0000 (16:12 +0000)]
RenderLayer tree-related cleanup
https://bugs.webkit.org/show_bug.cgi?id=190572

Reviewed by Zalan Bujtas.

Move code around so that functions related to parent/child and z-order tree structure
are near the top of RenderLayer.cpp, since this is one of the primary functions of layers.

Attempts to use inheritance or composition to separate out tree structure resulted in
unwieldy code and/or performance regressions.

The only behavior change is to store a bit for m_isStackingContext so that we don't have
to consult the old style to know if it changed.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::insertOnlyThisLayer):
(WebCore::RenderLayer::removeOnlyThisLayer):
(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::shouldBeNormalFlowOnly const):
(WebCore::RenderLayer::shouldBeStackingContext const):
(WebCore::RenderLayer::setIsNormalFlowOnly):
(WebCore::RenderLayer::setIsStackingContext):
(WebCore::RenderLayer::setParent):
(WebCore::RenderLayer::dirtyZOrderLists):
(WebCore::RenderLayer::dirtyStackingContextZOrderLists):
(WebCore::RenderLayer::dirtyNormalFlowList):
(WebCore::RenderLayer::updateNormalFlowList):
(WebCore::RenderLayer::rebuildZOrderLists):
(WebCore::RenderLayer::collectLayers):
(WebCore::RenderLayer::updateLayerListsIfNeeded):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::willBeDestroyed):
(WebCore::RenderLayer::isDescendantOf const):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::compareZIndex): Deleted.
* rendering/RenderLayer.h:

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

13 months ago[PSON] Prewarm system fallback fonts
antti@apple.com [Mon, 15 Oct 2018 16:02:35 +0000 (16:02 +0000)]
[PSON] Prewarm system fallback fonts
https://bugs.webkit.org/show_bug.cgi?id=190517

Reviewed by Ryosuke Niwa.

This seems to be ~2% progression in PSON PLT4 with large (40ms+) improvements on some pages
after process swaps.

* page/PrewarmInformation.h:
(WebCore::PrewarmInformation::encode const):
(WebCore::PrewarmInformation::decode):
* page/ProcessWarming.cpp:
(WebCore::ProcessWarming::collectPrewarmInformation):
(WebCore::ProcessWarming::prewarmWithInformation):
* platform/graphics/FontCache.cpp:
(WebCore::FontCache::collectPrewarmInformation const):
(WebCore::FontCache::prewarm):
* platform/graphics/FontCache.h:
(WebCore::FontCache::PrewarmInformation::isolatedCopy const):
(WebCore::FontCache::PrewarmInformation::encode const):
(WebCore::FontCache::PrewarmInformation::decode):

Make font cache prewarm information a struct with encode/decode support and move it into FontCache scope.

* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontDatabase::collectionForFamily):
(WebCore::FontCache::systemFallbackForCharacters):

Collect the names of fonts that end up needing character specific system fallbacks.

(WebCore::FontCache::collectPrewarmInformation const):

Include them into prewarm information.

(WebCore::FontCache::prewarm):

Invoking CTFontCreateForCharactersWithLanguage for the correct named font seems sufficient to fully
prewarm it for fallbacks (independent of size, locale or other characteristics).
Any future calls to systemFallbackForCharacters are fast.

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

13 months ago[WHLSL] Migrated WebGPUShadingLanguageRI to the W3C
mmaxfield@apple.com [Mon, 15 Oct 2018 15:54:50 +0000 (15:54 +0000)]
[WHLSL] Migrated WebGPUShadingLanguageRI to the W3C
https://bugs.webkit.org/show_bug.cgi?id=190555

Unreviewed.

Migrated to https://github.com/gpuweb/WHLSL/tree/master/Source

* WebGPUShadingLanguageRI/AddressSpace.js: Removed.
* WebGPUShadingLanguageRI/All.js: Removed.
* WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Removed.
* WebGPUShadingLanguageRI/AnonymousVariable.js: Removed.
* WebGPUShadingLanguageRI/ArrayRefType.js: Removed.
* WebGPUShadingLanguageRI/ArrayType.js: Removed.
* WebGPUShadingLanguageRI/Assignment.js: Removed.
* WebGPUShadingLanguageRI/AutoWrapper.js: Removed.
* WebGPUShadingLanguageRI/Block.js: Removed.
* WebGPUShadingLanguageRI/BoolLiteral.js: Removed.
* WebGPUShadingLanguageRI/Break.js: Removed.
* WebGPUShadingLanguageRI/BuiltInSemantic.js: Removed.
* WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Removed.
* WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Removed.
* WebGPUShadingLanguageRI/BuiltinVectorGetter.js: Removed.
* WebGPUShadingLanguageRI/BuiltinVectorSetter.js: Removed.
* WebGPUShadingLanguageRI/CallExpression.js: Removed.
* WebGPUShadingLanguageRI/CallFunction.js: Removed.
* WebGPUShadingLanguageRI/Casts.js: Removed.
* WebGPUShadingLanguageRI/Check.js: Removed.
* WebGPUShadingLanguageRI/CheckLiteralTypes.js: Removed.
* WebGPUShadingLanguageRI/CheckLoops.js: Removed.
* WebGPUShadingLanguageRI/CheckNativeFuncStages.js: Removed.
* WebGPUShadingLanguageRI/CheckRecursion.js: Removed.
* WebGPUShadingLanguageRI/CheckRecursiveTypes.js: Removed.
* WebGPUShadingLanguageRI/CheckReturns.js: Removed.
* WebGPUShadingLanguageRI/CheckTypesWithArguments.js: Removed.
* WebGPUShadingLanguageRI/CheckUnreachableCode.js: Removed.
* WebGPUShadingLanguageRI/CheckWrapped.js: Removed.
* WebGPUShadingLanguageRI/Checker.js: Removed.
* WebGPUShadingLanguageRI/CloneProgram.js: Removed.
* WebGPUShadingLanguageRI/CommaExpression.js: Removed.
* WebGPUShadingLanguageRI/ConstexprFolder.js: Removed.
* WebGPUShadingLanguageRI/Continue.js: Removed.
* WebGPUShadingLanguageRI/ConvertPtrToArrayRefExpression.js: Removed.
* WebGPUShadingLanguageRI/CreateLiteral.js: Removed.
* WebGPUShadingLanguageRI/CreateLiteralType.js: Removed.
* WebGPUShadingLanguageRI/DereferenceExpression.js: Removed.
* WebGPUShadingLanguageRI/DoWhileLoop.js: Removed.
* WebGPUShadingLanguageRI/DotExpression.js: Removed.
* WebGPUShadingLanguageRI/EArrayRef.js: Removed.
* WebGPUShadingLanguageRI/EBuffer.js: Removed.
* WebGPUShadingLanguageRI/EBufferBuilder.js: Removed.
* WebGPUShadingLanguageRI/EPtr.js: Removed.
* WebGPUShadingLanguageRI/EnumLiteral.js: Removed.
* WebGPUShadingLanguageRI/EnumMember.js: Removed.
* WebGPUShadingLanguageRI/EnumType.js: Removed.
* WebGPUShadingLanguageRI/EvaluationCommon.js: Removed.
* WebGPUShadingLanguageRI/Evaluator.js: Removed.
* WebGPUShadingLanguageRI/Expression.js: Removed.
* WebGPUShadingLanguageRI/ExpressionFinder.js: Removed.
* WebGPUShadingLanguageRI/ExternalOrigin.js: Removed.
* WebGPUShadingLanguageRI/Field.js: Removed.
* WebGPUShadingLanguageRI/FindHighZombies.js: Removed.
* WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js: Removed.
* WebGPUShadingLanguageRI/FloatLiteral.js: Removed.
* WebGPUShadingLanguageRI/FloatLiteralType.js: Removed.
* WebGPUShadingLanguageRI/FoldConstexprs.js: Removed.
* WebGPUShadingLanguageRI/ForLoop.js: Removed.
* WebGPUShadingLanguageRI/Func.js: Removed.
* WebGPUShadingLanguageRI/FuncAttribute.js: Removed.
* WebGPUShadingLanguageRI/FuncDef.js: Removed.
* WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Removed.
* WebGPUShadingLanguageRI/FuncParameter.js: Removed.
* WebGPUShadingLanguageRI/FunctionLikeBlock.js: Removed.
* WebGPUShadingLanguageRI/HighZombieFinder.js: Removed.
* WebGPUShadingLanguageRI/IdentityExpression.js: Removed.
* WebGPUShadingLanguageRI/IfStatement.js: Removed.
* WebGPUShadingLanguageRI/IndexExpression.js: Removed.
* WebGPUShadingLanguageRI/InferTypesForCall.js: Removed.
* WebGPUShadingLanguageRI/Inline.js: Removed.
* WebGPUShadingLanguageRI/Inliner.js: Removed.
* WebGPUShadingLanguageRI/IntLiteral.js: Removed.
* WebGPUShadingLanguageRI/IntLiteralType.js: Removed.
* WebGPUShadingLanguageRI/Intrinsics.js: Removed.
* WebGPUShadingLanguageRI/LayoutBuffers.js: Removed.
* WebGPUShadingLanguageRI/Lexer.js: Removed.
* WebGPUShadingLanguageRI/LexerToken.js: Removed.
* WebGPUShadingLanguageRI/LiteralTypeChecker.js: Removed.
* WebGPUShadingLanguageRI/LogicalExpression.js: Removed.
* WebGPUShadingLanguageRI/LogicalNot.js: Removed.
* WebGPUShadingLanguageRI/LoopChecker.js: Removed.
* WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Removed.
* WebGPUShadingLanguageRI/MakePtrExpression.js: Removed.
* WebGPUShadingLanguageRI/MatrixType.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLBackend.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Removed.
* WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Removed.
* WebGPUShadingLanguageRI/Metal/TypeOf.js: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/.gitignore: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/AppDelegate.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/AppIcon.appiconset/Contents.json: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Assets.xcassets/Contents.json: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Base.lproj/Main.storyboard: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CompileResult.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Compiler.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/CustomMetalView.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Default.whlsl: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Julia.whlsl: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Demo shaders/Mandelbrot.whlsl: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Info.plist: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OffscreenRenderer.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/OnscreenRenderer.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/Renderer/Renderer.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestCallArgument.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestDescription.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamily.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/TestFamilyRunner.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.h: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/ViewController.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/WHLSL.entitlements: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/_SharedMetal.txt: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/Core/main.m: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL Tests.xcodeproj/project.pbxproj: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/Info.plist: Removed.
* WebGPUShadingLanguageRI/Metal/WHLSL Tests/WHLSL ToyTests/WHLSL_ToyTests.m: Removed.
* WebGPUShadingLanguageRI/Metal/WhlslToMsl.html: Removed.
* WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Removed.
* WebGPUShadingLanguageRI/NameContext.js: Removed.
* WebGPUShadingLanguageRI/NameFinder.js: Removed.
* WebGPUShadingLanguageRI/NameResolver.js: Removed.
* WebGPUShadingLanguageRI/NativeFunc.js: Removed.
* WebGPUShadingLanguageRI/NativeType.js: Removed.
* WebGPUShadingLanguageRI/Node.js: Removed.
* WebGPUShadingLanguageRI/NormalUsePropertyResolver.js: Removed.
* WebGPUShadingLanguageRI/NullLiteral.js: Removed.
* WebGPUShadingLanguageRI/NullType.js: Removed.
* WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Removed.
* WebGPUShadingLanguageRI/OperatorArrayRefLength.js: Removed.
* WebGPUShadingLanguageRI/OriginKind.js: Removed.
* WebGPUShadingLanguageRI/OverloadResolutionFailure.js: Removed.
* WebGPUShadingLanguageRI/Parse.js: Removed.
* WebGPUShadingLanguageRI/Prepare.js: Removed.
* WebGPUShadingLanguageRI/Program.js: Removed.
* WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js: Removed.
* WebGPUShadingLanguageRI/PropertyAccessExpression.js: Removed.
* WebGPUShadingLanguageRI/PropertyResolver.js: Removed.
* WebGPUShadingLanguageRI/PtrType.js: Removed.
* WebGPUShadingLanguageRI/ReadModifyWriteExpression.js: Removed.
* WebGPUShadingLanguageRI/RecursionChecker.js: Removed.
* WebGPUShadingLanguageRI/RecursiveTypeChecker.js: Removed.
* WebGPUShadingLanguageRI/ReferenceType.js: Removed.
* WebGPUShadingLanguageRI/ResolveNames.js: Removed.
* WebGPUShadingLanguageRI/ResolveOverloadImpl.js: Removed.
* WebGPUShadingLanguageRI/ResolveProperties.js: Removed.
* WebGPUShadingLanguageRI/ResolveTypeDefs.js: Removed.
* WebGPUShadingLanguageRI/ResourceSemantic.js: Removed.
* WebGPUShadingLanguageRI/Return.js: Removed.
* WebGPUShadingLanguageRI/ReturnChecker.js: Removed.
* WebGPUShadingLanguageRI/ReturnException.js: Removed.
* WebGPUShadingLanguageRI/Rewriter.js: Removed.
* WebGPUShadingLanguageRI/SPIR-V.js: Removed.
* WebGPUShadingLanguageRI/SPIRV.html: Removed.
* WebGPUShadingLanguageRI/SPIRVCodegen.js: Removed.
* WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Removed.
* WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Removed.
* WebGPUShadingLanguageRI/Sampler.js: Removed.
* WebGPUShadingLanguageRI/Semantic.js: Removed.
* WebGPUShadingLanguageRI/SpecializationConstantSemantic.js: Removed.
* WebGPUShadingLanguageRI/StageInOutSemantic.js: Removed.
* WebGPUShadingLanguageRI/StandardLibrary.js: Removed.
* WebGPUShadingLanguageRI/StatementCloner.js: Removed.
* WebGPUShadingLanguageRI/StructLayoutBuilder.js: Removed.
* WebGPUShadingLanguageRI/StructType.js: Removed.
* WebGPUShadingLanguageRI/SwitchCase.js: Removed.
* WebGPUShadingLanguageRI/SwitchStatement.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeArrayOperatorLength.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeCopyConstructorOperator.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Removed.
* WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Removed.
* WebGPUShadingLanguageRI/TernaryExpression.js: Removed.
* WebGPUShadingLanguageRI/Test.html: Removed.
* WebGPUShadingLanguageRI/Test.js: Removed.
* WebGPUShadingLanguageRI/Texture.js: Removed.
* WebGPUShadingLanguageRI/TextureOperations.js: Removed.
* WebGPUShadingLanguageRI/TrapStatement.js: Removed.
* WebGPUShadingLanguageRI/Type.js: Removed.
* WebGPUShadingLanguageRI/TypeDef.js: Removed.
* WebGPUShadingLanguageRI/TypeDefResolver.js: Removed.
* WebGPUShadingLanguageRI/TypeOverloadResolutionFailure.js: Removed.
* WebGPUShadingLanguageRI/TypeRef.js: Removed.
* WebGPUShadingLanguageRI/TypedValue.js: Removed.
* WebGPUShadingLanguageRI/UintLiteral.js: Removed.
* WebGPUShadingLanguageRI/UintLiteralType.js: Removed.
* WebGPUShadingLanguageRI/UnificationContext.js: Removed.
* WebGPUShadingLanguageRI/UnreachableCodeChecker.js: Removed.
* WebGPUShadingLanguageRI/Value.js: Removed.
* WebGPUShadingLanguageRI/VariableDecl.js: Removed.
* WebGPUShadingLanguageRI/VariableRef.js: Removed.
* WebGPUShadingLanguageRI/VectorType.js: Removed.
* WebGPUShadingLanguageRI/VisitingSet.js: Removed.
* WebGPUShadingLanguageRI/Visitor.js: Removed.
* WebGPUShadingLanguageRI/WLexicalError.js: Removed.
* WebGPUShadingLanguageRI/WSyntaxError.js: Removed.
* WebGPUShadingLanguageRI/WTrapError.js: Removed.
* WebGPUShadingLanguageRI/WTypeError.js: Removed.
* WebGPUShadingLanguageRI/WhileLoop.js: Removed.
* WebGPUShadingLanguageRI/WrapChecker.js: Removed.
* WebGPUShadingLanguageRI/index.html: Removed.
* WebGPUShadingLanguageRI/spirv.core.grammar.json: Removed.
* WebGPUShadingLanguageRI/wsl-tests.yaml: Removed.

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

13 months agoREGRESSION (r237084): JavaScriptCore fails to build on Linux
ddkilzer@apple.com [Mon, 15 Oct 2018 15:51:59 +0000 (15:51 +0000)]
REGRESSION (r237084): JavaScriptCore fails to build on Linux
<https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10949>

* llint/LLIntSettingsExtractor.cpp: Attempt to fix build by
including <stdio.h>.

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

13 months ago[GTK] Disable MSE build support on Debian and Ubuntu LTS bots
philn@webkit.org [Mon, 15 Oct 2018 15:42:31 +0000 (15:42 +0000)]
[GTK] Disable MSE build support on Debian and Ubuntu LTS bots
https://bugs.webkit.org/show_bug.cgi?id=190581

Reviewed by Michael Catanzaro.

These bots don't use JHBuild and their host GStreamer version is
too old for the GStreamer MSE backend. Version 1.14 is needed at least.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

13 months agoRestrict browsing context lookup by name to frames that are related to one another
cdumez@apple.com [Mon, 15 Oct 2018 15:34:39 +0000 (15:34 +0000)]
Restrict browsing context lookup by name to frames that are related to one another
https://bugs.webkit.org/show_bug.cgi?id=190475

Reviewed by Alex Christensen.

Source/WebCore:

Update our frame lookup by name logic to take in the active / requesting frame and
only a return a frame that is related to it. By related to it, I mean:
- Ancestor <-> Descendant relationship
- Opener <-> Openee relationship

Being able to look up unrelated frames makes process swapping difficult so we need
to be stricter.

This change is being discussed at:
- https://github.com/whatwg/html/issues/313

Tests: http/tests/dom/new-window-can-target-opener.html
       http/tests/dom/noopener-window-cannot-target-opener.html
       http/tests/dom/noopener-window-not-targetable.html
       http/tests/dom/noopener-window-not-targetable2.html
       http/tests/dom/noreferrer-window-not-targetable.html
       http/tests/dom/opened-window-not-targetable-after-disowning-opener.html

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::findFrameForNavigation):
* page/FrameTree.cpp:
(WebCore::isFrameFamiliarWith):
(WebCore::FrameTree::find const):
* page/FrameTree.h:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::targetFrame const):

Source/WebKit:

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

Source/WebKitLegacy/mac:

* WebView/WebFrame.mm:
(-[WebFrame findFrameNamed:]):

LayoutTests:

* http/tests/dom/new-window-can-target-opener-expected.txt: Added.
* http/tests/dom/new-window-can-target-opener.html: Added.
* http/tests/dom/noopener-window-cannot-target-opener-expected.txt: Added.
* http/tests/dom/noopener-window-cannot-target-opener.html: Added.
* http/tests/dom/noopener-window-not-targetable-expected.txt: Added.
* http/tests/dom/noopener-window-not-targetable.html: Added.
* http/tests/dom/noopener-window-not-targetable2-expected.txt: Added.
* http/tests/dom/noopener-window-not-targetable2.html: Added.
* http/tests/dom/noreferrer-window-not-targetable-expected.txt: Added.
* http/tests/dom/noreferrer-window-not-targetable.html: Added.
* http/tests/dom/opened-window-not-targetable-after-disowning-opener-expected.txt: Added.
* http/tests/dom/opened-window-not-targetable-after-disowning-opener.html: Added.
* http/tests/dom/resources/new-window-can-target-opener-win.html: Added.
* http/tests/dom/resources/noopener-window-cannot-target-opener-win.html: Added.
Add layout test coverage.

* fast/dom/Window/a-rel-noopener-expected.txt:
* fast/dom/Window/area-rel-noopener-expected.txt:
* fast/dom/Window/resources/rel-noopener.js:
* http/tests/navigation/no-referrer-target-blank-expected.txt:
* http/tests/navigation/resources/no-referrer-helper.php:
* platform/mac-wk1/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt:
* platform/wk2/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt:
Update / rebaseline existing tests to reflect behavior change.

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

13 months agoFix assertion after r237102
achristensen@apple.com [Mon, 15 Oct 2018 15:29:47 +0000 (15:29 +0000)]
Fix assertion after r237102
https://bugs.webkit.org/show_bug.cgi?id=190459

* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::InjectedBundlePageLoaderClient):
Shipping Safari still uses shouldGoToBackForwardListItem, so only assert on
newer platforms like we do in WKPageSetPageLoaderClient.

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

13 months agoShrink more enum classes
achristensen@apple.com [Mon, 15 Oct 2018 15:23:59 +0000 (15:23 +0000)]
Shrink more enum classes
https://bugs.webkit.org/show_bug.cgi?id=190540

Reviewed by Chris Dumez.

Source/JavaScriptCore:

* runtime/ConsoleTypes.h:

Source/WebCore:

* Modules/notifications/NotificationDirection.h:
* dom/Document.h:
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:
* loader/HistoryController.h:
* loader/ShouldSkipSafeBrowsingCheck.h:
* loader/ShouldTreatAsContinuingLoad.h:
* page/AutoplayEvent.h:
* page/ChromeClient.h:
* page/DiagnosticLoggingClient.h:
* page/Page.h:
* platform/CookiesStrategy.h:
* platform/audio/AudioSession.h:
* platform/network/NetworkStorageSession.h:
* platform/network/StoredCredentialsPolicy.h:
* workers/service/SWClientConnection.h:
* workers/service/ServiceWorkerContainer.h:
* workers/service/ServiceWorkerRegistrationData.h:
* workers/service/ServiceWorkerRegistrationOptions.h:
* workers/service/ServiceWorkerTypes.h:
* workers/service/ServiceWorkerUpdateViaCache.h:
* workers/service/server/SWServer.h:
* workers/service/server/SWServerRegistration.h:

Source/WebKit:

* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkDataTask.h:
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* Shared/Authentication/AuthenticationChallengeDisposition.h:
* Shared/Authentication/AuthenticationManager.h:
* Shared/Authentication/AuthenticationManager.messages.in:
* Shared/DragControllerAction.h:
* Shared/LayerTreeContext.h:
* Shared/UndoOrRedo.h:
* UIProcess/Authentication/AuthenticationDecisionListener.h:
* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/Notifications/WebNotification.h:
* UIProcess/Notifications/WebNotificationManagerProxy.h:
* UIProcess/PageClient.h:
* UIProcess/UserContent/WebUserContentControllerProxy.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/forms/WKAirPlayRoutePicker.h:
* WebProcess/Automation/WebAutomationSessionProxy.messages.in:
* WebProcess/MediaStream/UserMediaPermissionRequestManager.h:
* WebProcess/Storage/WebSWClientConnection.messages.in:
* WebProcess/UserContent/InjectUserScriptImmediately.h:
* WebProcess/UserContent/WebUserContentController.h:
* WebProcess/UserContent/WebUserContentController.messages.in:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

13 months agoAdd new files missing from previous commit.
mcatanzaro@igalia.com [Mon, 15 Oct 2018 15:10:27 +0000 (15:10 +0000)]
Add new files missing from previous commit.

* Source/cmake/FindLibseccomp.cmake: Added.

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

13 months ago[JSC] Disable DOMJIT on 32bit architecture
yusukesuzuki@slowstart.org [Mon, 15 Oct 2018 15:07:29 +0000 (15:07 +0000)]
[JSC] Disable DOMJIT on 32bit architecture
https://bugs.webkit.org/show_bug.cgi?id=190387

Reviewed by Mark Lam.

We disable DOMJIT on 32bit architecture due to exhaustion of registers.

* runtime/Options.h:

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

13 months ago[GTK][WPE] Implement subprocess sandboxing
mcatanzaro@igalia.com [Mon, 15 Oct 2018 15:02:59 +0000 (15:02 +0000)]
[GTK][WPE] Implement subprocess sandboxing
https://bugs.webkit.org/show_bug.cgi?id=188568

Patch by Patrick Griffis <pgriffis@igalia.com> on 2018-10-15
Reviewed by Michael Catanzaro.

.:

Add ENABLE_BUBBLEWRAP_SANDBOX option for sandboxing.

* Source/cmake/FindLibseccomp.cmake: Added.
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/WebCore:

Link against libseccomp.

* PlatformGTK.cmake:

Source/WebKit:

This implements sandboxing of WebKitWebProcesses.

The sandbox is opt-in at runtime as it is a behavior change.
See webkit_web_context_set_sandbox_enabled() and the
WEBKIT_FORCE_SANDBOX env var for developers.

This is Linux specific using Namespaces, Seccomp, and a DBus proxy service.
This introduces three new dependencies:

- bwrap executable
- libseccomp library
- xdg-dbus-proxy executable

The use of xdg-dbus-proxy will ideally be replaced once upstream DBus
gains the same filtering abilities which is a work in progress.

Currently the sandbox is not completed and there are a few large holes:

- Pulseaudio: The Pipewire project will solve this.
- DRI device access: No immediate solutions planned.
- Webcam device access: Pipewire will also solve this.
- Webprocess network access: Will require GStreamer changes.
- DConf access: Custom proxy planned.
- X11 access: Wayland solves this.

That is not an exhaustive list but are the noteworthy ones. Filesystem access
is still an evolving list as problems are found as is specific DBus name access.

* PlatformGTK.cmake:
* PlatformWPE.cmake:
* SourcesGTK.txt:
* SourcesWPE.txt:
* UIProcess/API/glib/WebKitWebContext.cpp:
(webkit_web_context_set_sandbox_enabled):
(webkit_web_context_get_sandbox_enabled):
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
* UIProcess/API/wpe/WebKitWebContext.h:
* UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::getLaunchOptions):
* UIProcess/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::platformGetLaunchOptions):
* UIProcess/Launcher/ProcessLauncher.h:
* UIProcess/Launcher/glib/BubblewrapLauncher.cpp: Added.
(WebKit::memfd_create):
(WebKit::argsToFd):
(WebKit::XDGDBusProxyLauncher::setAddress):
(WebKit::XDGDBusProxyLauncher::isRunning const):
(WebKit::XDGDBusProxyLauncher::path const):
(WebKit::XDGDBusProxyLauncher::proxyPath const):
(WebKit::XDGDBusProxyLauncher::setPermissions):
(WebKit::XDGDBusProxyLauncher::launch):
(WebKit::XDGDBusProxyLauncher::childSetupFunc):
(WebKit::XDGDBusProxyLauncher::makeProxyPath):
(WebKit::XDGDBusProxyLauncher::dbusAddressToPath):
(WebKit::bindIfExists):
(WebKit::bindDBusSession):
(WebKit::bindX11):
(WebKit::bindDconf):
(WebKit::bindWayland):
(WebKit::bindPulse):
(WebKit::bindFonts):
(WebKit::bindGtkData):
(WebKit::bindA11y):
(WebKit::bindPathVar):
(WebKit::bindGStreamerData):
(WebKit::bindOpenGL):
(WebKit::bindV4l):
(WebKit::bindSymlinksRealPath):
(WebKit::setupSeccomp):
(WebKit::bubblewrapSpawn):
* UIProcess/Launcher/glib/BubblewrapLauncher.h: Added.
* UIProcess/Launcher/glib/FlatpakLauncher.cpp: Added.
(WebKit::flatpakSpawn):
* UIProcess/Launcher/glib/FlatpakLauncher.h: Added.
* UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
(WebKit::isInsideFlatpak):
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::getLaunchOptions):
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes):
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformGetLaunchOptionsWithAttributes):
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::platformGetLaunchOptions):
* UIProcess/WebProcessProxy.h:
* UIProcess/glib/WebProcessProxyGLib.cpp: Added.
(WebKit::WebProcessProxy::platformGetLaunchOptions):

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

13 months agoImplement error handler of MediaRecorder
commit-queue@webkit.org [Mon, 15 Oct 2018 14:56:03 +0000 (14:56 +0000)]
Implement error handler of MediaRecorder
https://bugs.webkit.org/show_bug.cgi?id=190438

Patch by YUHAN WU <yuhan_wu@apple.com> on 2018-10-15
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* web-platform-tests/mediacapture-record/MediaRecorder-error-expected.txt: Added.
* web-platform-tests/mediacapture-record/MediaRecorder-error.html: Added.

Source/WebCore:

Test: imported/w3c/web-platform-tests/mediacapture-record/MediaRecorder-error.html

Implement error event handler (onerror) for MediaRecorder and basic architecture of start() function.

* CMakeLists.txt:
* DerivedSources.make:
* Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::~MediaRecorder):
(WebCore::MediaRecorder::stop):
(WebCore::MediaRecorder::start):
(WebCore::MediaRecorder::setNewRecordingState):
(WebCore::MediaRecorder::scheduleDeferredTask):
(WebCore::MediaRecorder::didAddOrRemoveTrack):
* Modules/mediarecorder/MediaRecorder.h:
* Modules/mediarecorder/MediaRecorder.idl:
* Modules/mediarecorder/MediaRecorderErrorEvent.cpp: Added.
(WebCore::MediaRecorderErrorEvent::create):
(WebCore::MediaRecorderErrorEvent::MediaRecorderErrorEvent):
(WebCore::MediaRecorderErrorEvent::eventInterface const):
* Modules/mediarecorder/MediaRecorderErrorEvent.h: Added.
* Modules/mediarecorder/MediaRecorderErrorEvent.idl: Added.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:
* dom/EventNames.in:
* dom/EventTargetFactory.in:

LayoutTests:

Since dataavailable event has not been implemented, skip three MediaRecorder-related tests now.
We will need to reenable those tests once implementing the dataavailable event for MediaRecorder.

* TestExpectations:

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

13 months agoWindow's properties such as 'location' should not become null when it loses its brows...
cdumez@apple.com [Mon, 15 Oct 2018 14:54:21 +0000 (14:54 +0000)]
Window's properties such as 'location' should not become null when it loses its browsing context
https://bugs.webkit.org/show_bug.cgi?id=190539

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline WPT test whose output has changed.

* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window-expected.txt:

Source/WebCore:

Window's properties such as 'location' should not become null when it loses its browsing context.
This Webkit behavior is not standard and does not match other browsers so this patch makes it so
that those properties persist.

Tests: http/tests/dom/cross-origin-detached-window-properties.html
       http/tests/dom/same-origin-detached-window-properties.html

* bindings/js/JSDOMBindingSecurity.cpp:
(WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):
* bindings/js/JSDOMBindingSecurity.h:
* bindings/js/JSDOMWindowProperties.cpp:
(WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter):
(WebCore::JSDOMWindowProperties::getOwnPropertySlot):
* bindings/js/JSLocationCustom.cpp:
(WebCore::getOwnPropertySlotCommon):
(WebCore::putCommon):
(WebCore::JSLocation::deleteProperty):
(WebCore::JSLocation::deletePropertyByIndex):
(WebCore::JSLocation::getOwnPropertyNames):
(WebCore::JSLocation::defineOwnProperty):
(WebCore::JSLocation::getPrototype):
(WebCore::JSLocation::toStringName):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributeGetterBodyDefinition):
(GenerateAttributeSetterBodyDefinition):
(GenerateOperationBodyDefinition):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttrGetter):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody):
* crypto/SubtleCrypto.cpp:
(WebCore::SubtleCrypto::SubtleCrypto):
* crypto/SubtleCrypto.h:
(WebCore::SubtleCrypto::create):
* dom/Document.cpp:
(WebCore::Document::~Document):
* page/Crypto.cpp:
(WebCore::Crypto::Crypto):
* page/Crypto.h:
(WebCore::Crypto::create):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::frameDestroyed):
(WebCore::DOMWindow::screen):
(WebCore::DOMWindow::history):
(WebCore::DOMWindow::crypto):
(WebCore::DOMWindow::locationbar):
(WebCore::DOMWindow::menubar):
(WebCore::DOMWindow::personalbar):
(WebCore::DOMWindow::scrollbars):
(WebCore::DOMWindow::statusbar):
(WebCore::DOMWindow::toolbar):
(WebCore::DOMWindow::console const):
(WebCore::DOMWindow::applicationCache):
(WebCore::DOMWindow::navigator):
(WebCore::DOMWindow::performance const):
(WebCore::DOMWindow::location):
(WebCore::DOMWindow::visualViewport):
(WebCore::DOMWindow::styleMedia):
* page/DOMWindow.h:
* page/DOMWindow.idl:
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::crypto):

LayoutTests:

* http/tests/dom/cross-origin-detached-window-properties-expected.txt: Added.
* http/tests/dom/cross-origin-detached-window-properties.html: Added.
* http/tests/dom/resources/post-message-to-parent-when-loaded.html: Added.
* http/tests/dom/same-origin-detached-window-properties-expected.txt: Added.
* http/tests/dom/same-origin-detached-window-properties.html: Added.
Add layout test coverage.

* fast/frames/detached-frame-property-expected.txt:
* fast/frames/detached-frame-property.html:
* http/tests/security/named-window-property-from-same-origin-inactive-document-expected.txt:
* http/tests/security/named-window-property-from-same-origin-inactive-document.html:
* http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document-expected.txt:
* http/tests/security/xss-DENIED-named-window-property-from-cross-origin-inactive-document.html:
* http/tests/security/xss-DENIED-script-inject-into-inactive-window.html:
* http/tests/security/xss-DENIED-script-inject-into-inactive-window2-pson.html:
* http/tests/security/xss-DENIED-script-inject-into-inactive-window2.html:
* http/tests/security/xss-DENIED-script-inject-into-inactive-window3.html:
Update existing layout tests to reflect behavior change.

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

13 months agoAdd a temporarily off by default preference for doing safe browsing checks
achristensen@apple.com [Mon, 15 Oct 2018 14:31:39 +0000 (14:31 +0000)]
Add a temporarily off by default preference for doing safe browsing checks
https://bugs.webkit.org/show_bug.cgi?id=190522

Reviewed by Chris Dumez.

Safe browsing development has taken longer than anticipated.
To prevent the unused possible contacting the safe browsing provider for no benefit, make this off by default for now.
I'll make it on by default when it's actually used.

* Shared/WebPreferences.yaml:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setSafeBrowsingEnabled:]):
(-[WKPreferences _safeBrowsingEnabled]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):

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

13 months agoInclude EnumTraits.h less
achristensen@apple.com [Mon, 15 Oct 2018 14:30:57 +0000 (14:30 +0000)]
Include EnumTraits.h less
https://bugs.webkit.org/show_bug.cgi?id=190535

Reviewed by Chris Dumez.

Source/JavaScriptCore:

* runtime/ConsoleTypes.h:

Source/WebCore:

* Modules/applepay/ApplePaySessionPaymentRequest.h:
* Modules/applepay/PaymentAuthorizationStatus.h:
* Modules/applicationmanifest/ApplicationManifest.h:
* Modules/fetch/FetchHeaders.h:
* Modules/webauthn/AuthenticatorTransport.h:
* Modules/webauthn/PublicKeyCredentialType.h:
* loader/ShouldSkipSafeBrowsingCheck.h:
* loader/ShouldTreatAsContinuingLoad.h:
* platform/Cookie.h:
* platform/audio/AudioSession.h:
* platform/mediastream/CaptureDevice.h:
* platform/mediastream/MediaStreamRequest.h:
* platform/mediastream/RealtimeMediaSourceSettings.h:
* platform/mediastream/libwebrtc/LibWebRTCProvider.h:
* platform/network/NetworkLoadInformation.h:
* workers/service/ServiceWorkerClientType.h:
* workers/service/ServiceWorkerTypes.h:
* workers/service/ServiceWorkerUpdateViaCache.h:

Source/WebKit:

* NetworkProcess/NetworkSessionCreationParameters.h:
* Shared/Authentication/AuthenticationChallengeDisposition.h:
* Shared/CoordinateSystem.h:
* Shared/LayerTreeContext.h:
* Shared/UndoOrRedo.h:
* Shared/WebsiteAutoplayPolicy.h:
* Shared/WebsitePopUpPolicy.h:
* UIProcess/API/APIWebsitePolicies.h:
* WebProcess/UserContent/InjectUserScriptImmediately.h:

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

13 months agoRemove InjectedBundle processing of back/forward lists
achristensen@apple.com [Mon, 15 Oct 2018 14:29:53 +0000 (14:29 +0000)]
Remove InjectedBundle processing of back/forward lists
https://bugs.webkit.org/show_bug.cgi?id=190459

Reviewed by Chris Dumez.

Source/WebCore:

The uses of these functions are dead code I removed in rdar://problem/45180545
Removing these functions is a step towards fixing the PSON history bugs.

* loader/EmptyFrameLoaderClient.h:
* loader/FrameLoaderClient.h:
* loader/HistoryController.cpp:
(WebCore::HistoryController::goToItem):

Source/WebKit:

* Shared/API/c/WKDeprecated.h:
* UIProcess/API/APINavigationClient.h:
(API::NavigationClient::willGoToBackForwardListItem):
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::willGoToBackForwardListItem):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::willGoToBackForwardListItem):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
(API::InjectedBundle::PageLoaderClient::shouldGoToBackForwardListItem): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
(WKBundleBackForwardListItemCopyOriginalURL):
(WKBundleBackForwardListItemCopyTitle):
(WKBundleBackForwardListItemIsTargetItem):
(WKBundleBackForwardListItemIsInPageCache):
(WKBundleBackForwardListItemHasCachedPageExpired):
* WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
* WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::InjectedBundlePageLoaderClient):
(WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem): Deleted.
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::shouldGoToHistoryItem const):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKitLegacy/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::shouldGoToHistoryItem const):

Source/WebKitLegacy/win:

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::shouldGoToHistoryItem const):
* WebCoreSupport/WebFrameLoaderClient.h:

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

13 months agoWebPageProxy should always have a HistoryClient
achristensen@apple.com [Mon, 15 Oct 2018 14:28:13 +0000 (14:28 +0000)]
WebPageProxy should always have a HistoryClient
https://bugs.webkit.org/show_bug.cgi?id=190450

Reviewed by Chris Dumez.

This will make it so we don't forget to null check it.
No change in behavior because the default HistoryClient does nothing.

* UIProcess/API/APIHistoryClient.h:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::createHistoryClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setHistoryClient):
(WebKit::WebPageProxy::didNavigateWithNavigationData):
(WebKit::WebPageProxy::didPerformClientRedirect):
(WebKit::WebPageProxy::didPerformServerRedirect):
(WebKit::WebPageProxy::didUpdateHistoryTitle):
* UIProcess/WebPageProxy.h:

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

13 months agoUse std::optional<size_t> for a WebBackForwardList's current index
achristensen@apple.com [Mon, 15 Oct 2018 14:27:38 +0000 (14:27 +0000)]
Use std::optional<size_t> for a WebBackForwardList's current index
https://bugs.webkit.org/show_bug.cgi?id=190448

Reviewed by Chris Dumez.

Also remove m_capacity, which was immutable.

* UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::WebBackForwardList):
(WebKit::WebBackForwardList::~WebBackForwardList):
(WebKit::WebBackForwardList::pageClosed):
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
(WebKit::WebBackForwardList::currentItem const):
(WebKit::WebBackForwardList::backItem const):
(WebKit::WebBackForwardList::forwardItem const):
(WebKit::WebBackForwardList::itemAtIndex const):
(WebKit::WebBackForwardList::backListCount const):
(WebKit::WebBackForwardList::forwardListCount const):
(WebKit::WebBackForwardList::backListAsAPIArrayWithLimit const):
(WebKit::WebBackForwardList::forwardListAsAPIArrayWithLimit const):
(WebKit::WebBackForwardList::removeAllItems):
(WebKit::WebBackForwardList::clear):
(WebKit::WebBackForwardList::backForwardListState const):
(WebKit::WebBackForwardList::restoreFromState):
(WebKit::WebBackForwardList::loggingString):
* UIProcess/WebBackForwardList.h:
(WebKit::WebBackForwardList::currentIndex const): Deleted.

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

13 months agoUse pragma once in WTF
achristensen@apple.com [Mon, 15 Oct 2018 14:24:49 +0000 (14:24 +0000)]
Use pragma once in WTF
https://bugs.webkit.org/show_bug.cgi?id=190527

Reviewed by Chris Dumez.

Source/WTF:

We also need to consistently include wtf headers from within wtf so we can build wtf without
symbol redefinition errors from including the copy in Source and the copy in the build directory.

* wtf/ASCIICType.h:
* wtf/Assertions.cpp:
* wtf/Assertions.h:
* wtf/Atomics.h:
* wtf/AutomaticThread.cpp:
* wtf/AutomaticThread.h:
* wtf/BackwardsGraph.h:
* wtf/Bag.h:
* wtf/BagToHashMap.h:
* wtf/BitVector.cpp:
* wtf/BitVector.h:
* wtf/Bitmap.h:
* wtf/BloomFilter.h:
* wtf/Box.h:
* wtf/BubbleSort.h:
* wtf/BumpPointerAllocator.h:
* wtf/ByteOrder.h:
* wtf/CPUTime.cpp:
* wtf/CallbackAggregator.h:
* wtf/CheckedArithmetic.h:
* wtf/CheckedBoolean.h:
* wtf/ClockType.cpp:
* wtf/ClockType.h:
* wtf/CommaPrinter.h:
* wtf/CompilationThread.cpp:
* wtf/CompilationThread.h:
* wtf/Compiler.h:
* wtf/ConcurrentPtrHashSet.cpp:
* wtf/ConcurrentVector.h:
* wtf/Condition.h:
* wtf/CountingLock.cpp:
* wtf/CrossThreadTaskHandler.cpp:
* wtf/CryptographicUtilities.cpp:
* wtf/CryptographicUtilities.h:
* wtf/CryptographicallyRandomNumber.cpp:
* wtf/CryptographicallyRandomNumber.h:
* wtf/CurrentTime.cpp:
* wtf/DataLog.cpp:
* wtf/DataLog.h:
* wtf/DateMath.cpp:
* wtf/DateMath.h:
* wtf/DecimalNumber.cpp:
* wtf/DecimalNumber.h:
* wtf/Deque.h:
* wtf/DisallowCType.h:
* wtf/Dominators.h:
* wtf/DoublyLinkedList.h:
* wtf/FastBitVector.cpp:
* wtf/FastMalloc.cpp:
* wtf/FastMalloc.h:
* wtf/FeatureDefines.h:
* wtf/FilePrintStream.cpp:
* wtf/FilePrintStream.h:
* wtf/FlipBytes.h:
* wtf/FunctionDispatcher.cpp:
* wtf/FunctionDispatcher.h:
* wtf/GetPtr.h:
* wtf/Gigacage.cpp:
* wtf/GlobalVersion.cpp:
* wtf/GraphNodeWorklist.h:
* wtf/GregorianDateTime.cpp:
* wtf/GregorianDateTime.h:
* wtf/HashFunctions.h:
* wtf/HashMap.h:
* wtf/HashMethod.h:
* wtf/HashSet.h:
* wtf/HashTable.cpp:
* wtf/HashTraits.h:
* wtf/Indenter.h:
* wtf/IndexSparseSet.h:
* wtf/InlineASM.h:
* wtf/Insertion.h:
* wtf/IteratorAdaptors.h:
* wtf/IteratorRange.h:
* wtf/JSONValues.cpp:
* wtf/JSValueMalloc.cpp:
* wtf/LEBDecoder.h:
* wtf/Language.cpp:
* wtf/ListDump.h:
* wtf/Lock.cpp:
* wtf/Lock.h:
* wtf/LockAlgorithm.h:
* wtf/LockedPrintStream.cpp:
* wtf/Locker.h:
* wtf/MD5.cpp:
* wtf/MD5.h:
* wtf/MainThread.cpp:
* wtf/MainThread.h:
* wtf/MallocPtr.h:
* wtf/MathExtras.h:
* wtf/MediaTime.cpp:
* wtf/MediaTime.h:
* wtf/MemoryPressureHandler.cpp:
* wtf/MessageQueue.h:
* wtf/MetaAllocator.cpp:
* wtf/MetaAllocator.h:
* wtf/MetaAllocatorHandle.h:
* wtf/MonotonicTime.cpp:
* wtf/MonotonicTime.h:
* wtf/NakedPtr.h:
* wtf/NoLock.h:
* wtf/NoTailCalls.h:
* wtf/Noncopyable.h:
* wtf/NumberOfCores.cpp:
* wtf/NumberOfCores.h:
* wtf/OSAllocator.h:
* wtf/OSAllocatorPosix.cpp:
* wtf/OSRandomSource.cpp:
* wtf/OSRandomSource.h:
* wtf/ObjcRuntimeExtras.h:
* wtf/OrderMaker.h:
* wtf/PackedIntVector.h:
* wtf/PageAllocation.h:
* wtf/PageBlock.cpp:
* wtf/PageBlock.h:
* wtf/PageReservation.h:
* wtf/ParallelHelperPool.cpp:
* wtf/ParallelHelperPool.h:
* wtf/ParallelJobs.h:
* wtf/ParallelJobsLibdispatch.h:
* wtf/ParallelVectorIterator.h:
* wtf/ParkingLot.cpp:
* wtf/ParkingLot.h:
* wtf/Platform.h:
* wtf/PointerComparison.h:
* wtf/Poisoned.cpp:
* wtf/PrintStream.cpp:
* wtf/PrintStream.h:
* wtf/ProcessID.h:
* wtf/ProcessPrivilege.cpp:
* wtf/RAMSize.cpp:
* wtf/RAMSize.h:
* wtf/RandomDevice.cpp:
* wtf/RandomNumber.cpp:
* wtf/RandomNumber.h:
* wtf/RandomNumberSeed.h:
* wtf/RangeSet.h:
* wtf/RawPointer.h:
* wtf/ReadWriteLock.cpp:
* wtf/RedBlackTree.h:
* wtf/Ref.h:
* wtf/RefCountedArray.h:
* wtf/RefCountedLeakCounter.cpp:
* wtf/RefCountedLeakCounter.h:
* wtf/RefCounter.h:
* wtf/RefPtr.h:
* wtf/RetainPtr.h:
* wtf/RunLoop.cpp:
* wtf/RunLoop.h:
* wtf/RunLoopTimer.h:
* wtf/RunLoopTimerCF.cpp:
* wtf/SHA1.cpp:
* wtf/SHA1.h:
* wtf/SaturatedArithmetic.h:
(saturatedSubtraction):
* wtf/SchedulePair.h:
* wtf/SchedulePairCF.cpp:
* wtf/SchedulePairMac.mm:
* wtf/ScopedLambda.h:
* wtf/Seconds.cpp:
* wtf/Seconds.h:
* wtf/SegmentedVector.h:
* wtf/SentinelLinkedList.h:
* wtf/SharedTask.h:
* wtf/SimpleStats.h:
* wtf/SingleRootGraph.h:
* wtf/SinglyLinkedList.h:
* wtf/SixCharacterHash.cpp:
* wtf/SixCharacterHash.h:
* wtf/SmallPtrSet.h:
* wtf/Spectrum.h:
* wtf/StackBounds.cpp:
* wtf/StackBounds.h:
* wtf/StackStats.cpp:
* wtf/StackStats.h:
* wtf/StackTrace.cpp:
* wtf/StdLibExtras.h:
* wtf/StreamBuffer.h:
* wtf/StringHashDumpContext.h:
* wtf/StringPrintStream.cpp:
* wtf/StringPrintStream.h:
* wtf/ThreadGroup.cpp:
* wtf/ThreadMessage.cpp:
* wtf/ThreadSpecific.h:
* wtf/Threading.cpp:
* wtf/Threading.h:
* wtf/ThreadingPrimitives.h:
* wtf/ThreadingPthreads.cpp:
* wtf/TimeWithDynamicClockType.cpp:
* wtf/TimeWithDynamicClockType.h:
* wtf/TimingScope.cpp:
* wtf/TinyLRUCache.h:
* wtf/TinyPtrSet.h:
* wtf/TriState.h:
* wtf/TypeCasts.h:
* wtf/UUID.cpp:
* wtf/UnionFind.h:
* wtf/VMTags.h:
* wtf/ValueCheck.h:
* wtf/Vector.h:
* wtf/VectorTraits.h:
* wtf/WallTime.cpp:
* wtf/WallTime.h:
* wtf/WeakPtr.h:
* wtf/WeakRandom.h:
* wtf/WordLock.cpp:
* wtf/WordLock.h:
* wtf/WorkQueue.cpp:
* wtf/WorkQueue.h:
* wtf/WorkerPool.cpp:
* wtf/cf/LanguageCF.cpp:
* wtf/cf/RunLoopCF.cpp:
* wtf/cocoa/Entitlements.mm:
* wtf/cocoa/MachSendRight.cpp:
* wtf/cocoa/MainThreadCocoa.mm:
* wtf/cocoa/MemoryFootprintCocoa.cpp:
* wtf/cocoa/WorkQueueCocoa.cpp:
* wtf/dtoa.cpp:
* wtf/dtoa.h:
* wtf/ios/WebCoreThread.cpp:
* wtf/ios/WebCoreThread.h:
* wtf/mac/AppKitCompatibilityDeclarations.h:
* wtf/mac/DeprecatedSymbolsUsedBySafari.mm:
* wtf/mbmalloc.cpp:
* wtf/persistence/PersistentCoders.cpp:
* wtf/persistence/PersistentDecoder.cpp:
* wtf/persistence/PersistentEncoder.cpp:
* wtf/spi/cf/CFBundleSPI.h:
* wtf/spi/darwin/CommonCryptoSPI.h:
* wtf/text/ASCIIFastPath.h:
* wtf/text/ASCIILiteral.cpp:
* wtf/text/AtomicString.cpp:
* wtf/text/AtomicString.h:
* wtf/text/AtomicStringHash.h:
* wtf/text/AtomicStringImpl.cpp:
* wtf/text/AtomicStringImpl.h:
* wtf/text/AtomicStringTable.cpp:
* wtf/text/AtomicStringTable.h:
* wtf/text/Base64.cpp:
* wtf/text/CString.cpp:
* wtf/text/CString.h:
* wtf/text/ConversionMode.h:
* wtf/text/ExternalStringImpl.cpp:
* wtf/text/IntegerToStringConversion.h:
* wtf/text/LChar.h:
* wtf/text/LineEnding.cpp:
* wtf/text/StringBuffer.h:
* wtf/text/StringBuilder.cpp:
* wtf/text/StringBuilder.h:
* wtf/text/StringBuilderJSON.cpp:
* wtf/text/StringCommon.h:
* wtf/text/StringConcatenate.h:
* wtf/text/StringHash.h:
* wtf/text/StringImpl.cpp:
* wtf/text/StringImpl.h:
* wtf/text/StringOperators.h:
* wtf/text/StringView.cpp:
* wtf/text/StringView.h:
* wtf/text/SymbolImpl.cpp:
* wtf/text/SymbolRegistry.cpp:
* wtf/text/SymbolRegistry.h:
* wtf/text/TextBreakIterator.cpp:
* wtf/text/TextBreakIterator.h:
* wtf/text/TextBreakIteratorInternalICU.h:
* wtf/text/TextPosition.h:
* wtf/text/TextStream.cpp:
* wtf/text/UniquedStringImpl.h:
* wtf/text/WTFString.cpp:
* wtf/text/WTFString.h:
* wtf/text/cocoa/StringCocoa.mm:
* wtf/text/cocoa/StringViewCocoa.mm:
* wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp:
* wtf/text/icu/UTextProvider.cpp:
* wtf/text/icu/UTextProvider.h:
* wtf/text/icu/UTextProviderLatin1.cpp:
* wtf/text/icu/UTextProviderLatin1.h:
* wtf/text/icu/UTextProviderUTF16.cpp:
* wtf/text/icu/UTextProviderUTF16.h:
* wtf/threads/BinarySemaphore.cpp:
* wtf/threads/BinarySemaphore.h:
* wtf/threads/Signals.cpp:
* wtf/unicode/CharacterNames.h:
* wtf/unicode/Collator.h:
* wtf/unicode/CollatorDefault.cpp:
* wtf/unicode/UTF8.cpp:
* wtf/unicode/UTF8.h:

Tools:

Put WorkQueue in namespace DRT so it does not conflict with WTF::WorkQueue.

* DumpRenderTree/TestRunner.cpp:
(TestRunner::queueLoadHTMLString):
(TestRunner::queueLoadAlternateHTMLString):
(TestRunner::queueBackNavigation):
(TestRunner::queueForwardNavigation):
(TestRunner::queueLoadingScript):
(TestRunner::queueNonLoadingScript):
(TestRunner::queueReload):
* DumpRenderTree/WorkQueue.cpp:
(WorkQueue::singleton): Deleted.
(WorkQueue::WorkQueue): Deleted.
(WorkQueue::queue): Deleted.
(WorkQueue::dequeue): Deleted.
(WorkQueue::count): Deleted.
(WorkQueue::clear): Deleted.
(WorkQueue::processWork): Deleted.
* DumpRenderTree/WorkQueue.h:
(WorkQueue::setFrozen): Deleted.
* DumpRenderTree/WorkQueueItem.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
* DumpRenderTree/mac/FrameLoadDelegate.mm:
(-[FrameLoadDelegate processWork:]):
(-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]):
* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::notifyDone):
(TestRunner::forceImmediateCompletion):
(TestRunner::queueLoad):
* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):
* DumpRenderTree/win/FrameLoadDelegate.cpp:
(FrameLoadDelegate::processWork):
(FrameLoadDelegate::locationChangeDone):
* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::notifyDone):
(TestRunner::forceImmediateCompletion):
(TestRunner::queueLoad):

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

13 months agoGardening: Build fix after r237084.
mark.lam@apple.com [Mon, 15 Oct 2018 14:01:55 +0000 (14:01 +0000)]
Gardening: Build fix after r237084.
https://bugs.webkit.org/show_bug.cgi?id=189708

Unreviewd.

* llint/LLIntOffsetsExtractor.cpp:

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

13 months ago[JSC] Remove Option::useAsyncIterator
yusukesuzuki@slowstart.org [Mon, 15 Oct 2018 13:51:37 +0000 (13:51 +0000)]
[JSC] Remove Option::useAsyncIterator
https://bugs.webkit.org/show_bug.cgi?id=190567

Reviewed by Saam Barati.

.:

* Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

Async iterator is enabled by default at 2017-08-09. It is already shipped in several releases,
and we can think that it is already mature. Let's drop the option `Option::useAsyncIterator`.

* Configurations/FeatureDefines.xcconfig:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitNewFunctionExpressionCommon):
(JSC::BytecodeGenerator::emitNewFunction):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createFunctionMetadata):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseForStatement):
(JSC::Parser<LexerType>::parseAsyncFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parseAsyncFunctionExpression):
* runtime/Options.h:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

* Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

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

13 months ago[JSC] Remove Options::useObjectRestSpread
yusukesuzuki@slowstart.org [Mon, 15 Oct 2018 13:49:17 +0000 (13:49 +0000)]
[JSC] Remove Options::useObjectRestSpread
https://bugs.webkit.org/show_bug.cgi?id=190568

Reviewed by Saam Barati.

Options::useObjectRestSpread is enabled by default at 2017-06-27. It is already shipped in several releases,
and we can think that it is mature. Let's drop Options::useObjectRestSpread() flag.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseProperty):
* parser/Parser.h:
* runtime/Options.h:

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

13 months ago[JSC] JSON.stringify can accept call-with-no-arguments
yusukesuzuki@slowstart.org [Mon, 15 Oct 2018 13:48:11 +0000 (13:48 +0000)]
[JSC] JSON.stringify can accept call-with-no-arguments
https://bugs.webkit.org/show_bug.cgi?id=190343

Reviewed by Mark Lam.

JSTests:

* stress/json-stringify-no-arguments.js: Added.
(shouldBe):

Source/JavaScriptCore:

JSON.stringify can accept `JSON.stringify()` call (call-with-no-arguments) according to the spec[1].
Instead of throwing an error, we should take the first argument as `undefined` if it is not given.

[1]: https://tc39.github.io/ecma262/#sec-json.stringify

* runtime/JSONObject.cpp:
(JSC::JSONProtoFuncStringify):

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

13 months ago[GStreamer] MediaStream test failing since r236877
csaavedra@igalia.com [Mon, 15 Oct 2018 12:27:37 +0000 (12:27 +0000)]
[GStreamer] MediaStream test failing since r236877

Unreviewed gardening
* platform/gtk/TestExpectations:
* platform/wpe/TestExpectations:

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

13 months ago[WPE] Silence a unused-parameter warning
csaavedra@igalia.com [Mon, 15 Oct 2018 11:53:45 +0000 (11:53 +0000)]
[WPE] Silence a unused-parameter warning

Unreviewed.
* MiniBrowser/wpe/main.cpp:
(decidePermissionRequest):

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

13 months ago[GStreamer] Fix EME build for GStreamer 1.14.x
philn@webkit.org [Mon, 15 Oct 2018 11:44:18 +0000 (11:44 +0000)]
[GStreamer] Fix EME build for GStreamer 1.14.x
https://bugs.webkit.org/show_bug.cgi?id=190471

Reviewed by Xabier Rodriguez-Calvar.

* platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
(webkitMediaCommonEncryptionDecryptTransformCaps): The
GST_PROTECTION_UNSPECIFIED_SYSTEM_ID #define won't be shipped
until the GStreamer 1.16.0 release, so its use needs to be wrapped
between a version check.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered): Ditto.

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

13 months agoAdd a demo for WebInspector scanvas debugging.
drousso@apple.com [Fri, 12 Oct 2018 23:54:17 +0000 (23:54 +0000)]
Add a demo for WebInspector scanvas debugging.

* demos/canvas-debugging/index.html: Added.

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

13 months agoWeb Inspector: Canvas: previews aren't removed when the parent view is hidden
drousso@apple.com [Fri, 12 Oct 2018 23:52:09 +0000 (23:52 +0000)]
Web Inspector: Canvas: previews aren't removed when the parent view is hidden
https://bugs.webkit.org/show_bug.cgi?id=190525

Reviewed by Matt Baker.

* UserInterface/Views/CanvasTabContentView.js:
(WI.CanvasTabContentView.prototype.attached):

* UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager.prototype.get canvases):
(WI.CanvasManager.prototype.get shaderPrograms):
Drive-by: simplify these getters.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 months ago[Tools][webkitpy] fix handling of JSCTESTS_OPTIONS
guijemont@igalia.com [Fri, 12 Oct 2018 23:27:45 +0000 (23:27 +0000)]
[Tools][webkitpy] fix handling of JSCTESTS_OPTIONS
https://bugs.webkit.org/show_bug.cgi?id=190537

Reviewed by Alexey Proskuryakov.

In DeprecatedPort.run_javascriptcore_tests_command() JSCTESTS_OPTIONS
needs to be split before adding it to the command since it is treated
as a list of args.

* Scripts/webkitpy/common/config/ports.py:
(DeprecatedPort.run_javascriptcore_tests_command):

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

13 months agoGardening: Build fix after r237084.
tzagallo@apple.com [Fri, 12 Oct 2018 23:16:51 +0000 (23:16 +0000)]
Gardening: Build fix after r237084.
https://bugs.webkit.org/show_bug.cgi?id=189708

Unreviewd.

* JavaScriptCore.xcodeproj/project.pbxproj:

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