Timeline



May 23, 2018:

10:42 PM Changeset in webkit [232148] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Use ASCIILiteral with applicationBundleIsEqualTo in RuntimeApplicationChecksCocoa
https://bugs.webkit.org/show_bug.cgi?id=185935

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-05-23
Reviewed by Yusuke Suzuki.

  • platform/cocoa/RuntimeApplicationChecksCocoa.mm:

(WebCore::MacApplication::isSafari):
(WebCore::MacApplication::isAppleMail):
(WebCore::MacApplication::isIBooks):
(WebCore::MacApplication::isITunes):
(WebCore::MacApplication::isMicrosoftMessenger):
(WebCore::MacApplication::isAdobeInstaller):
(WebCore::MacApplication::isAOLInstantMessenger):
(WebCore::MacApplication::isMicrosoftMyDay):
(WebCore::MacApplication::isMicrosoftOutlook):
(WebCore::MacApplication::isQuickenEssentials):
(WebCore::MacApplication::isAperture):
(WebCore::MacApplication::isVersions):
(WebCore::MacApplication::isHRBlock):
(WebCore::MacApplication::isIAdProducer):
(WebCore::MacApplication::isSolidStateNetworksDownloader):
(WebCore::IOSApplication::isMobileMail):
(WebCore::IOSApplication::isMobileSafari):
(WebCore::IOSApplication::isWebBookmarksD):
(WebCore::IOSApplication::isDumpRenderTree):
(WebCore::IOSApplication::isMobileStore):
(WebCore::IOSApplication::isSpringBoard):
(WebCore::IOSApplication::isWebApp):
(WebCore::IOSApplication::isIBooks):
(WebCore::IOSApplication::isIBooksStorytime):
(WebCore::IOSApplication::isTheSecretSocietyHiddenMystery):
(WebCore::IOSApplication::isCardiogram):
(WebCore::IOSApplication::isNike):

10:23 PM Changeset in webkit [232147] by Brent Fulgham
  • 11 edits in trunk/Source/WebCore

Avoid keeping FormState alive longer than necessary
https://bugs.webkit.org/show_bug.cgi?id=185877
<rdar://problem/39329219>

Reviewed by Ryosuke Niwa.

A number of crash fixes were done to prevent FormState objects from being
accessed after their relevant Frames had been destroyed. Unfortunately, this
could cause the FormState to persist after the owning Frame had been
destroyed, resulting in nullptr dereferences.

This patch does the following:

  1. Uses WeakPtr's for FormState objects passed to completion handlers, rather than RefPtr, since those completion handlers might fire as part of the clean-up process during Frame destruction. This allows us to use the FormState if they are still valid, but gracefully handle cases where a form submission is cancelled in-flight.
  2. Moves FormState object as they pass through the loader.
  3. Removes some extraneous WTFMove() calls being made on bare FormState pointers.
  4. Changes FormSubmission to hold a RefPtr so we can move the FormState to the loader in the code path that uses it (the FormSubmission is always destroyed shortly afterwards).
  5. Changes the trap from Bug 183704 so that it only fires if the FormState object is being retained more than once.
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest): Update for new CompletionHandler
signature.

  • loader/FormState.cpp:

(WebCore::FormState::willDetachPage): Revise trap to check for retain counts
above one.

  • loader/FormState.h:

(WebCore::FormState::weakPtrFactory const): Added.

  • loader/FormSubmission.h:

(WebCore::FormSubmission::state const): Revised for change to RefPtr.
(WebCore::FormSubmission::takeState): Added.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected): Update for new CompletionHandler signature.
(WebCore::FrameLoader::loadURLIntoChildFrame): Ditto.
(WebCore::FrameLoader::loadFrameRequest): Ditto.
(WebCore::FrameLoader::loadURL): Ditto.
(WebCore::FrameLoader::load): Ditto.
(WebCore::FrameLoader::loadWithNavigationAction): Ditto.
(WebCore::FrameLoader::loadWithDocumentLoader): Ditto.
(WebCore::FrameLoader::reloadWithOverrideEncoding): Ditto.
(WebCore::FrameLoader::reload): Ditto.
(WebCore::FrameLoader::loadPostRequest): Ditto.
(WebCore::FrameLoader::loadDifferentDocumentItem): Ditto.

  • loader/FrameLoader.h:
  • loader/NavigationScheduler.cpp:
  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):Revise to use WeakPtr for
FormState passed to the completion handler. Remove some extraneous WTFMove()
calls on bare pointers.
(WebCore::PolicyChecker::checkNewWindowPolicy): Ditto.

  • loader/PolicyChecker.h:
  • page/ContextMenuController.cpp:

(WebCore::openNewWindow): Revise for new signatures.
(WebCore::ContextMenuController::contextMenuItemSelected): Ditto.

9:45 PM Changeset in webkit [232146] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17.40-branch/Source

Versioning.

9:32 PM Changeset in webkit [232145] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.17.40.3

Tag Safari-606.1.17.40.3.

9:08 PM Changeset in webkit [232144] by Chris Dumez
  • 6 edits in trunk/LayoutTests

Regression(r229831): fast/loader/javascript-url-iframe-remove-on-navigate-async-delegate.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=183885
<rdar://problem/38733968>

Reviewed by Youenn Fablet.

Stop loading an external URL as this is not what the test is testing and since the error message for
the external load causes flakiness.

  • TestExpectations:
  • fast/loader/javascript-url-iframe-remove-on-navigate-async-delegate-expected.txt:
  • fast/loader/javascript-url-iframe-remove-on-navigate-async-delegate.html:
  • fast/loader/javascript-url-iframe-remove-on-navigate-expected.txt:
  • fast/loader/javascript-url-iframe-remove-on-navigate.html:
8:01 PM Changeset in webkit [232143] by keith_miller@apple.com
  • 5 edits in trunk/Source

Expose $vm if window.internals is exposed
https://bugs.webkit.org/show_bug.cgi?id=185900

Reviewed by Mark Lam.

This is useful for testing vm internals when running LayoutTests.

Source/JavaScriptCore:

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
(JSC::JSGlobalObject::exposeDollarVM):

  • runtime/JSGlobalObject.h:

Source/WebCore:

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::injectInternalsObject):

6:18 PM Changeset in webkit [232142] by Dewei Zhu
  • 3 edits in trunk/Websites/perf.webkit.org

OSBuildFetcher should respect maxRevision while finding OS builds to report.
https://bugs.webkit.org/show_bug.cgi?id=185925

Reviewed by Ryosuke Niwa.

  • server-tests/tools-os-build-fetcher-tests.js: Fix a typo in the unit tests.

Added unit tests for this change. Aslo convert an existing test using async.

  • tools/js/os-build-fetcher.js:

(prototype._fetchAvailableBuilds): It should also use 'maxRevision' to filter builds to be reported.
It should use 'minRevisionOrder' when no commit has ever been submitted.
(prototype._commitsForAvailableBuilds): Takes 'maxOrder' as fifth argument.
'minOrder' and 'maxOrder' should be inclusive.

6:18 PM Changeset in webkit [232141] by Dewei Zhu
  • 2 edits in trunk/Websites/perf.webkit.org

Update ChartPane per change r231087.
https://bugs.webkit.org/show_bug.cgi?id=185570

Reviewed by Ryosuke Niwa.

On r231087 we change the return type of AnalysisTask.create, ChartPane needs to adapt
this change.

  • public/v3/pages/chart-pane.js: Adapted the change that AnalysisTask.create now returns

an AnalysisTask object.
(ChartPane.prototype.async._analyzeRange):

5:53 PM Changeset in webkit [232140] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Remove Source Sans Pro from WebKit website
https://bugs.webkit.org/show_bug.cgi?id=185871

Patch by Roy Reapor <rreapor@apple.com> on 2018-05-23
Reviewed by Aakash Jain.

  • demos/spring/index.html:
5:50 PM Changeset in webkit [232139] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

Don't create the SubimageCache just to clear an image from it
<https://webkit.org/b/185757>

Reviewed by Said Abou-Hallawa.

To fix this we make SubimageCacheWithTimer::clearImage() a
static class method that checks whether the cache exists before
removing it. We also make SubimageCacheWithTimer::getImage() a
static class method, and move more methods into the
SubimageCacheWithTimer class and make them private to reduce API
footprint.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawNativeImage): Switch to use new
SubimageCacheWithTimer::getSubimage() static class method.

  • platform/graphics/cg/NativeImageCG.cpp:

(WebCore::clearNativeImageSubimages): Switch to use new
SubimageCacheWithTimer::clearImage() static class method which
returns early if the subimage cache has not been created yet.
This fixes the bug.

  • platform/graphics/cg/SubimageCacheWithTimer.cpp:

(WebCore::SubimageCacheWithTimer::s_cache): Allocate space for
static class variable.
(WebCore::SubimageCacheWithTimer::getSubimage): Replace instance
method with new static class method that gets the subimage cache
singleton and calls the subimage() instance method.
(WebCore::SubimageCacheWithTimer::clearImage): Replace instance
methdod with new static class method that returns early if the
static cache singleton doesn't exist (fixes the bug), otherwise
calls the clearImageAndSubimages() instance method.
(WebCore::SubimageCacheWithTimer::subimage): Rename from
getSubimage(). Use auto after renaming SubimageCache typedef
to SubimageCacheHashSet.
(WebCore::SubimageCacheWithTimer::clearImageAndSubimages):
Rename from clearImage(). Modernize loops.
(WebCore::SubimageCacheWithTimer::subimageCache): Change
WebCore::subimageCache() to a static class method that creates
the subimage cache singleton if it doesn't exist yet, and
returns it.
(WebCore::SubimageCacheWithTimer::subimageCacheExists): Add.
Returns false if the subimage cache singleton has not been
created yet.

  • platform/graphics/cg/SubimageCacheWithTimer.h:
  • Rename typedef SubimageCache to SubimageCacheHashSet to avoid general confusion.

(WebCore::SubimageCacheWithTimer::getSubimage):
(WebCore::SubimageCacheWithTimer::clearImage):

  • Change to static class methods.

(WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer):

  • Make private.

(WebCore::SubimageCacheWithTimer::subimage):

  • Rename from getSubimage() and make private.

(WebCore::SubimageCacheWithTimer::clearImageAndSubimages):

  • Rename from clearImage() and make private.

(WebCore::SubimageCacheWithTimer::subimageCache):

  • Rename from WebCore::subimageCache() and make a private static class method.

(WebCore::SubimageCacheWithTimer::subimageCacheExists):

  • Add private static class method.

(WebCore::SubimageCacheWithTimer::s_cache):

  • Declare private static variable to hold singleton.
5:47 PM Changeset in webkit [232138] by keith_miller@apple.com
  • 3 edits
    1 add in trunk

Define length on CoW array should properly convert to writable
https://bugs.webkit.org/show_bug.cgi?id=185927

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/cow-define-length-as-value.js: Added.

(test):

Source/JavaScriptCore:

  • runtime/JSArray.cpp:

(JSC::JSArray::setLength):

5:05 PM Changeset in webkit [232137] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Use Helvetica on build.webkit.org webpages
https://bugs.webkit.org/show_bug.cgi?id=185894

Patch by Roy Reapor <rreapor@apple.com> on 2018-05-23
Reviewed by Aakash Jain.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/common.css:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/summary-mock.html:
5:00 PM Changeset in webkit [232136] by eric.carlson@apple.com
  • 23 edits in trunk/Source

Avoid loading AVFoundation to check supported MIME types if possible
https://bugs.webkit.org/show_bug.cgi?id=185839
<rdar://problem/40182010>

Reviewed by Jer Noble.
Source/WebCore:

Avoid loading AVFoundation to call +[AVURLAssetClass audiovisualMIMETypes] as long as possible,
and when they are loaded send the list to the UI process so it can pass it to all extant
and all new web processes so they can won't have call it at all.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ImageDecoder.cpp:

(WebCore::ImageDecoder::create): Don't call ImageDecoderAVFObjC::canDecodeType if
ImageDecoderCG can decode the type so we don't have to load AVFoundation.
(WebCore::ImageDecoder::supportsMediaType): Return as soon as a decoder class says
it supports a media type to avoid calling more than one. Call ImageDecoderAVFObjC last.

  • platform/graphics/avfoundation/objc/AVFoundationMIMETypeCache.h:

(WebCore::AVFoundationMIMETypeCache::setCacheMIMETypesCallback):

  • platform/graphics/avfoundation/objc/AVFoundationMIMETypeCache.mm:

(WebCore::AVFoundationMIMETypeCache::singleton): Simplify.
(WebCore::AVFoundationMIMETypeCache::setSupportedTypes): Cache the supplied list of types
so we won't have to load AVFoundation when asked for types later.
(WebCore::AVFoundationMIMETypeCache::types):
(WebCore::AVFoundationMIMETypeCache::supportsContentType): New convenience routine.
(WebCore::AVFoundationMIMETypeCache::canDecodeType): Ditto.
(WebCore::AVFoundationMIMETypeCache::isAvailable const): New, check to see if AVFoundation.framework
is available without actually loading it.
(WebCore::AVFoundationMIMETypeCache::loadMIMETypes): Load types if possible.
(WebCore::AVFoundationMIMETypeCache::AVFoundationMIMETypeCache): Deleted.
(WebCore::AVFoundationMIMETypeCache::loadTypes): Deleted.

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:

(WebCore::ImageDecoderAVFObjC::create): Use AVFoundationMIMETypeCache::isAvailable instead
of loading the frameworks.
(WebCore::ImageDecoderAVFObjC::supportsMediaType): Ditto.
(WebCore::ImageDecoderAVFObjC::supportsContentType): Use AVFoundationMIMETypeCache::supportsContentType.
(WebCore::ImageDecoderAVFObjC::canDecodeType): Use AVFoundationMIMETypeCache::canDecodeType.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine): ASSERT if the
AVFoundationMIMETypeCache is empty, it shouldn't be possible to get here in that state.
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Use AVFoundationMIMETypeCache::supportsContentType.
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem): Use AVFoundationMIMETypeCache::canDecodeType.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): ASSERT if the
AVFoundationMIMETypeCache is empty, it shouldn't be possible to get here in that state.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Use AVFoundationMIMETypeCache::canDecodeType.

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoderCG::canDecodeType): New.

  • platform/graphics/cg/ImageDecoderCG.h:

Source/WebKit:

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const): Encode mediaMIMETypes.
(WebKit::WebProcessCreationParameters::decode): Decode mediaMIMETypes.

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessProxyCocoa.mm:

(WebKit::mediaTypeCache): Static Vector of media MIME types.
(WebKit::WebProcessProxy::cacheMediaMIMETypes): Cache the type list and pass it to every other
process proxy.
(WebKit::WebProcessProxy::cacheMediaMIMETypesInternal): Cache the type list and pass it to the
web process.
(WebKit::WebProcessProxy::mediaMIMETypes): Return the cached type list.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::initializeNewWebProcess): Set parameters.mediaMIMETypes.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in: Add CacheMediaMIMETypes.
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in: Add SetMediaMIMETypes.
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess): Cache the MIME types if the list isn't
empty, else register with AVFoundationMIMETypeCache to be notified when it loads types.
AVFoundationMIMETypeCache to
(WebKit::WebProcess::platformTerminate): Unregister with AVFoundationMIMETypeCache.
(WebKit::WebProcess::setMediaMIMETypes): Pass list of types to AVFoundationMIMETypeCache.

Source/WTF:

  • wtf/cocoa/SoftLinking.h: Add SOFT_LINK_FRAMEWORK_OPTIONAL_PREFLIGHT.
4:41 PM Changeset in webkit [232135] by aakash_jain@apple.com
  • 1 edit
    6 adds in trunk/Tools

Add Buildbot configuration for Opensource EWS
https://bugs.webkit.org/show_bug.cgi?id=185484

Rubber-stamped by Alexey Proskuryakov.

  • BuildSlaveSupport/ews-build/config.json: Added, config file.
  • BuildSlaveSupport/ews-build/factories.py: Added, basic template for factories.
  • BuildSlaveSupport/ews-build/loadConfig.py: Added.

(loadBuilderConfig): Loads the configuration.
(checkValidWorker): Checks if the worker is valid.
(checkValidBuilder): Checks if the builder is valid.
(checkWorkersAndBuildersForConsistency): Check if workers and builders are consistent.
(checkWorkersAndBuildersForConsistency._find_worker_with_name):
(getBlackListedTags): Returns a list of keywords which should not be listed as tags.
(getValidTags): Returns a list of valid tags.
(getTagsForBuilder): Return a list of tags for given builder.

  • BuildSlaveSupport/ews-build/loadConfig_unittest.py: unit-tests for loadConfig.py.
  • BuildSlaveSupport/ews-build/master.cfg: Configuration for buildbot.
4:04 PM Changeset in webkit [232134] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

InPlaceAbstractState should filter variables at the tail from a GetLocal by their flush format
https://bugs.webkit.org/show_bug.cgi?id=185923

Reviewed by Saam Barati.

Previously, we could confuse AI by overly broadening a type. This happens when a block in a
loop has a local mutated following a GetLocal but never SetLocaled to the stack. For example,

Block 1:
@1: GetLocal(loc42, FlushedInt32);
@2: PutStructure(Check: Cell: @1);
@3: Jump(Block 1);

Would cause us to claim that loc42 could be either an int32 or a some cell. However,
the type of an local cannot change without writing to it.

This fixes a crash in destructuring-rest-element.js

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::endBasicBlock):

3:55 PM Changeset in webkit [232133] by BJ Burg
  • 2 edits in trunk/Source/WebKit

Web Automation: disable process swap on navigation when an automation session is active
https://bugs.webkit.org/show_bug.cgi?id=185552

Reviewed by Tim Horton.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processForNavigationInternal):
This is not intended to work right now. Opt out to avoid crashing
later when a process is deallocated unexpectedly.

3:34 PM Changeset in webkit [232132] by fpizlo@apple.com
  • 14 edits
    2 adds in trunk/Source

Speed up JetStream/base64
https://bugs.webkit.org/show_bug.cgi?id=185914

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Make allocation fast paths ALWAYS_INLINE.

This is a 1% speed-up on SunSpider, mostly because of base64. It also speeds up pdfjs by
~6%.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/AllocatorInlines.h:

(JSC::Allocator::allocate const):

  • heap/CompleteSubspace.cpp:

(JSC::CompleteSubspace::allocateNonVirtual): Deleted.

  • heap/CompleteSubspace.h:
  • heap/CompleteSubspaceInlines.h: Added.

(JSC::CompleteSubspace::allocateNonVirtual):

  • heap/FreeListInlines.h:

(JSC::FreeList::allocate):

  • heap/IsoSubspace.cpp:

(JSC::IsoSubspace::allocateNonVirtual): Deleted.

  • heap/IsoSubspace.h:

(JSC::IsoSubspace::allocatorForNonVirtual):

  • heap/IsoSubspaceInlines.h: Added.

(JSC::IsoSubspace::allocateNonVirtual):

  • runtime/JSCellInlines.h:
  • runtime/VM.h:

Source/WTF:

Make Vector<>::append ALWAYS_INLINE.

  • wtf/Vector.h:

(WTF::Vector::append):
(WTF::minCapacity>::expandCapacity):
(WTF::minCapacity>::append):
(WTF::minCapacity>::tryAppend):

3:23 PM Changeset in webkit [232131] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17.20-branch/Source

Versioning.

3:21 PM Changeset in webkit [232130] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17.30-branch/Source

Versioning.

3:20 PM Changeset in webkit [232129] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17.40-branch/Source

Versioning.

3:19 PM Changeset in webkit [232128] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.17.40.2

Tag Safari-606.1.17.40.2.

3:18 PM Changeset in webkit [232127] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.17.30.2

Tag Safari-606.1.17.30.2.

3:17 PM Changeset in webkit [232126] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.17.20.1

Tag Safari-606.1.17.20.1.

3:03 PM Changeset in webkit [232125] by bshafiei@apple.com
  • 7 edits in trunk/Source

Versioning.

3:01 PM Changeset in webkit [232124] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.18

Tag Safari-606.1.18.

1:22 PM Changeset in webkit [232123] by Chris Dumez
  • 15 edits
    3 adds in trunk

RenderLayer::scrollRectToVisible() should not propagate a subframe's scroll to its cross-origin parent
https://bugs.webkit.org/show_bug.cgi?id=185664
<rdar://problem/36185260>

Reviewed by Simon Fraser.

Source/WebCore:

RenderLayer::scrollRectToVisible() should not propagate a subframe's scroll to its
cross-origin parent. There was logic in FrameLoader::scrollToFragmentWithParentBoundary()
to temporarily set the 'safeToPropagateScrollToParent' flag to false on the cross-origin
ancestor frame during the call to FrameView::scrollToFragment(). This would correctly
prevent RenderLayer::scrollRectToVisible() to propagate the scroll to the cross-origin
ancestor frame when scrollRectToVisible() is called synchronously. However,
scrollRectToVisible() can get called asynchronously in case of a dirty layout, as part
of the post layout tasks.

To address the issue, we get rid of the safeToPropagateScrollToParent flag on FrameView
and instead update FrameView::safeToPropagateScrollToParent() to do the cross-origin
check. FrameView::safeToPropagateScrollToParent() is called by RenderLayer::scrollRectToVisible()
and this is a lot more robust than relying on a flag which gets temporarily set.

Test: http/tests/navigation/fragment-navigation-cross-origin-subframe-no-scrolling-parent.html

  • dom/Document.cpp:
  • dom/Document.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::scrollToFragmentWithParentBoundary):

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::safeToPropagateScrollToParent const):

  • page/FrameView.h:

LayoutTests:

Add layout test coverage.

  • http/tests/navigation/fragment-navigation-cross-origin-subframe-no-scrolling-parent-expected.txt: Added.
  • http/tests/navigation/fragment-navigation-cross-origin-subframe-no-scrolling-parent.html: Added.
  • http/tests/navigation/resources/clear-fragment.html: Added.
1:02 PM Changeset in webkit [232122] by msaboff@apple.com
  • 3 edits
    1 add in trunk

Date.parse() doesn't properly handle input outside of ES Spec limits
https://bugs.webkit.org/show_bug.cgi?id=185868

Reviewed by Mark Lam.

JSTests:

New test.

  • stress/date-parse-ranges.js: Added.

(shouldBe):
(throw.new.Error):
(shouldBeNaN):

Source/WTF:

Clamped date creation to +/-100,000,000 days relative to midnight at the beginning
of 01 January, 1970 UTC as per ecma262/#sec-time-values-and-time-range and
ecma262/#sec-date-time-string-format.

  • wtf/DateMath.cpp:

(WTF::ymdhmsToSeconds):
(WTF::parseES5DateFromNullTerminatedCharacters):

12:09 PM Changeset in webkit [232121] by youenn@apple.com
  • 15 edits
    1 delete in trunk

NetworkLoadChecker should check cached redirections
https://bugs.webkit.org/show_bug.cgi?id=185849

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/service-workers/service-worker/redirected-response.https-expected.txt:
  • web-platform-tests/service-workers/service-worker/registration-security-error.https-expected.txt:

Source/WebCore:

Covered by rebased tests.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::willSendRequestInternal):

Log the case of a redirection with fetch error mode.

Source/WebKit:

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::checkRedirection):
Set the resource error url as done by WebCore SubresourceLoader.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::retrieveCacheEntry):
Pass the resource request to dispatchWillSendRedirectedRequest now needs it.
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
Make sure that m_networkLoad is not null before cancelling it since we might be checking a cached redirection.
(WebKit::NetworkResourceLoader::continueWillSendRedirectedRequest):
Ensure the redirect response is coming from the Network before adding it to the cache.
(WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):
Call willSendRedirectedRequest to make sure the cached redirect is validated.

  • NetworkProcess/NetworkResourceLoader.h:

LayoutTests:

  • TestExpectations:
  • http/tests/fetch/redirectmode-and-preload-expected.txt:
  • http/tests/fetch/redirectmode-and-preload.html:

Removed tests that mix manual/error redirect mode with no-cors since this is no longer a valid possibility.

  • http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt:
  • http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
  • platform/mac-wk1/http/tests/xmlhttprequest/access-control-and-redirects-async-expected.txt: Removed.
11:38 AM Changeset in webkit [232120] by n_wang@apple.com
  • 5 edits in trunk

AX: setValue on contenteditable should preserve whitespace
https://bugs.webkit.org/show_bug.cgi?id=185897

Reviewed by Chris Fleizach.

Source/WebCore:

RenderText is using its parent renderer's style to determine if
whitespace collapsing is necessary. So when setting the innerText
of the element in setValue, let's also set its style in order to
preserve whitespaces.

Modified an existing test to cover this change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::setValue):

LayoutTests:

  • accessibility/mac/set-value-editable-types-expected.txt:
  • accessibility/mac/set-value-editable-types.html:
10:54 AM Changeset in webkit [232119] by Michael Catanzaro
  • 2 edits in trunk/Source/WTF

Prohibit shrinking the FastBitVector
https://bugs.webkit.org/show_bug.cgi?id=181020

Reviewed by Oliver Hunt.

Prohibit shrinking the FastBitVector. It's not prepared for this and the current usage does
not require it.

  • wtf/FastBitVector.cpp:

(WTF::FastBitVectorWordOwner::resizeSlow):

10:50 AM Changeset in webkit [232118] by Michael Catanzaro
  • 6 edits in trunk

[GTK] Silence GCC 8 warnings
https://bugs.webkit.org/show_bug.cgi?id=185556

Reviewed by Žan Doberšek.

Source/WebCore:

Silence remaining -Wcast-function-type warnings by casting through void (*)(void), aka
GCallback.

  • accessibility/atk/WebKitAccessibleHyperlink.cpp:

(webkitAccessibleHyperlinkSetProperty):
(webkitAccessibleHyperlinkGetType):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetType):

  • platform/network/soup/NetworkStorageSessionSoup.cpp:

(WebCore::NetworkStorageSession::getCredentialFromPersistentStorage):

Tools:

GCC is complaining about this strncpy. It's guaranteed to be safe, because the length of
source and destination are always identical. But switching to snprintf avoids the warning.

  • DumpRenderTree/TestNetscapePlugIn/Tests/FormValue.cpp:

(FormValue::NPP_GetValue):

10:39 AM Changeset in webkit [232117] by Antti Koivisto
  • 5 edits in trunk

Increase the simulated memory size on PLATFORM(IOS_SIMULATOR) from 512MB to 1024MB
https://bugs.webkit.org/show_bug.cgi?id=185908

Reviewed by Geoffrey Garen.

Source/bmalloc:

We don't support 512MB devices anymore. This will make the simulator behave more
like a real device.

  • bmalloc/AvailableMemory.cpp:

(bmalloc::memorySizeAccordingToKernel):

Factor to a function.
Don't use availableMemoryGuess for the simulator value as it is not a guess.

(bmalloc::computeAvailableMemory):

Apply the same adjustments to the simulated value too.

LayoutTests:

  • platform/ios-simulator/fast/canvas/canvas-crash-expected.txt:
  • platform/ios-simulator/fast/canvas/canvas-skia-excessive-size-expected.txt:
10:31 AM Changeset in webkit [232116] by aboya@igalia.com
  • 3 edits
    1 add in trunk/LayoutTests

[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=185916

  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/table-roles-hierarchy-expected.txt:
9:59 AM Changeset in webkit [232115] by Ryan Haddad
  • 2 edits
    1 delete in trunk/Tools

Unreviewed, rolling out r232112.

The tests added with this change are failing on the bots.

Reverted changeset:

"test262/Runner.pm: add unit tests"
https://bugs.webkit.org/show_bug.cgi?id=185783
https://trac.webkit.org/changeset/232112

9:56 AM Changeset in webkit [232114] by Alan Bujtas
  • 8 edits
    1 copy
    1 add in trunk/Source/WebCore

[LFC] Move sizing/positioning logic to helper classes
https://bugs.webkit.org/show_bug.cgi?id=185898

Reviewed by Antti Koivisto.

The idea here is to move all the sizing and positioning logic to helper classes so that
the formatting context code stays lean.
This is similar to the dedicated BlockMarginCollapse class for the collapsing logic.
The helper classes have only static functions. These static functions do not mutate the associated DisplayBoxes,
but instead they simply retun the computed values.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowPosition const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidth const):
(WebCore::Layout::FormattingContext::computeFloatingWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
(WebCore::Layout::FormattingContext::computeFloatingHeight const):
(WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedHeight const): Deleted.
(WebCore::Layout::FormattingContext::computeFloatingNonReplacedHeight const): Deleted.
(WebCore::Layout::FormattingContext::computeReplacedHeight const): Deleted.
(WebCore::Layout::FormattingContext::computeReplacedWidth const): Deleted.
(WebCore::Layout::FormattingContext::contentHeightForFormattingContextRoot const): Deleted.
(WebCore::Layout::FormattingContext::computeFloatingNonReplacedWidth const): Deleted.
(WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedWidth const): Deleted.
(WebCore::Layout::FormattingContext::computeOutOfFlowReplacedHeight const): Deleted.
(WebCore::Layout::FormattingContext::computeOutOfFlowReplacedWidth const): Deleted.
(WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedPosition const): Deleted.
(WebCore::Layout::FormattingContext::computeOutOfFlowReplacedPosition const): Deleted.
(WebCore::Layout::FormattingContext::shrinkToFitWidth const): Deleted.

  • layout/FormattingContext.h:
  • layout/FormattingContextGeometry.cpp: Copied from Source/WebCore/layout/FormattingContext.cpp.

(WebCore::Layout::contentHeightForFormattingContextRoot):
(WebCore::Layout::shrinkToFitWidth):
(WebCore::Layout::FormattingContextGeometry::outOfFlowNonReplacedHeight):
(WebCore::Layout::FormattingContextGeometry::outOfFlowNonReplacedWidth):
(WebCore::Layout::FormattingContextGeometry::outOfFlowReplacedHeight):
(WebCore::Layout::FormattingContextGeometry::outOfFlowReplacedWidth):
(WebCore::Layout::FormattingContextGeometry::floatingNonReplacedHeight):
(WebCore::Layout::FormattingContextGeometry::floatingNonReplacedWidth):
(WebCore::Layout::FormattingContextGeometry::floatingReplacedHeight):
(WebCore::Layout::FormattingContextGeometry::floatingReplacedWidth):
(WebCore::Layout::FormattingContextGeometry::outOfFlowNonReplacedPosition):
(WebCore::Layout::FormattingContextGeometry::outOfFlowReplacedPosition):
(WebCore::Layout::FormattingContextGeometry::replacedHeight):
(WebCore::Layout::FormattingContextGeometry::replacedWidth):

  • layout/FormattingContextGeometry.h: Copied from Source/WebCore/layout/blockformatting/BlockFormattingContext.h.
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::computeStaticPosition const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeight const):
(WebCore::Layout::BlockFormattingContext::computeInFlowWidth const):
(WebCore::Layout::BlockFormattingContext::computeInFlowNonReplacedWidth const): Deleted.
(WebCore::Layout::BlockFormattingContext::computeInFlowNonReplacedHeight const): Deleted.

  • layout/blockformatting/BlockFormattingContext.h:
  • layout/blockformatting/BlockFormattingContextGeometry.cpp: Added.

(WebCore::Layout::BlockFormattingContextGeometry::inFlowNonReplacedHeight):
(WebCore::Layout::BlockFormattingContextGeometry::inFlowNonReplacedWidth):
(WebCore::Layout::BlockFormattingContextGeometry::inFlowReplacedHeight):
(WebCore::Layout::BlockFormattingContextGeometry::inFlowReplacedWidth):
(WebCore::Layout::BlockFormattingContextGeometry::staticPosition):

  • layout/blockformatting/BlockFormattingContextGeometry.h: Copied from Source/WebCore/layout/blockformatting/BlockFormattingContext.h.
  • layout/displaytree/DisplayBox.h:
9:37 AM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
cgarcia trades days with csaavedra (diff)
9:09 AM Changeset in webkit [232113] by Antti Koivisto
  • 4 edits
    1 add in trunk

Page keeps reloading when viewing photos in google drive (due to too high canvas memory limits)
https://bugs.webkit.org/show_bug.cgi?id=185903
<rdar://problem/38420562>

Reviewed by Simon Fraser.

Source/WebCore:

The canvas memory usage limits don't work on iOS since the current 2GB minimum limit is
larger than the maximum process size.

  • html/HTMLCanvasElement.cpp:

(WebCore::maxActivePixelMemory):

Always base this on the reported ramSize() on iOS. Make it still fairly large to not risk breaking
any currently working content. In practice the limit computes to 448MB on device at the moment.

LayoutTests:

  • platform/ios-simulator/fast/canvas/canvas-crash-expected.txt:
  • platform/ios-simulator/fast/canvas/canvas-skia-excessive-size-expected.txt: Added.
8:33 AM Changeset in webkit [232112] by commit-queue@webkit.org
  • 2 edits
    13 adds in trunk/Tools

test262/Runner.pm: add unit tests
https://bugs.webkit.org/show_bug.cgi?id=185783

Patch by Valerie R Young <valerie@bocoup.com> on 2018-05-23
Reviewed by Aakash Jain.

Add unit tests to be run by test-webkitperl

  • Scripts/test262/Runner.pm:

(main):

  • If harness files cannot be found in a custom, supplies test262 path, then sure the webkit test262 harness files.
  • Lazily create the test262-results directory.
  • If an expectation file is supplied via command line, save to the supplied location instead of the detault webkit location.

(compileTest):
(processResult):
(getHarness):

  • Scripts/webkitperl/test262_unittest/README: Added.
  • Scripts/webkitperl/test262_unittest/fixtures/expectations-compare.yaml: Added.
  • Scripts/webkitperl/test262_unittest/fixtures/expectations.yaml: Added.
  • Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-failing-with-new-error.js: Added.
  • Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-failing.js: Added.
  • Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-fail-now-passing.js: Added.

(f):

  • Scripts/webkitperl/test262_unittest/fixtures/test/expected-to-pass-now-failing.js: Added.
  • Scripts/webkitperl/test262_unittest/fixtures/test/fail.js: Added.
  • Scripts/webkitperl/test262_unittest/fixtures/test/pass.js: Added.

(f):

  • Scripts/webkitperl/test262_unittest/test262-runner-tests.pl: Added.
8:24 AM Changeset in webkit [232111] by Carlos Garcia Campos
  • 6 edits in trunk/Source

[GTK] WebDriver: implement AutomationSessionClient::didDisconnectFromRemote
https://bugs.webkit.org/show_bug.cgi?id=185866

Reviewed by Brian Burg.

Source/WebDriver:

Close the dbus connection when receiving an empty target list.

  • glib/SessionHostGlib.cpp:

(WebDriver::SessionHost::setTargetList):

Source/WebKit:

To handle the case of the session being closed by the browser, for example in case of a network process
crash. This is currently causing WebDriver tests to timeout in the bot.

  • UIProcess/API/glib/WebKitAutomationSession.cpp: Add an implementation of didDisconnectFromRemote() to notify

the WebContext that the session will be closed.

  • UIProcess/API/glib/WebKitWebContext.cpp: Remove the automation session when closed.
  • UIProcess/API/glib/WebKitWebContextPrivate.h:
8:18 AM Changeset in webkit [232110] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk

Conversion misspelled "Convertion" in error message string
https://bugs.webkit.org/show_bug.cgi?id=185436

Patch by Rick Waldron <waldron.rick@gmail.com> on 2018-05-23
JSTests:

Reviewed by Saam Barati, Michael Saboff.

  • bigIntTests.yaml:

Source/JavaScriptCore:

Reviewed by Saam Barati, Michael Saboff

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::toNumber const):

7:50 AM WebKitGTK/Gardening/Calendar edited by aboya@igalia.com
(diff)
7:46 AM Changeset in webkit [232109] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC] Implement positioning for replaced out-of-flow elements
https://bugs.webkit.org/show_bug.cgi?id=185902

Reviewed by Antti Koivisto.

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowReplacedPosition const):

5:37 AM Changeset in webkit [232108] by Yusuke Suzuki
  • 2 edits in trunk/JSTests

Unreviewed, skip test if memoryLimited is specified
https://bugs.webkit.org/show_bug.cgi?id=185888

  • stress/regress-185888.js:

May 22, 2018:

11:49 PM Changeset in webkit [232107] by Manuel Rego Casasnovas
  • 5 edits in trunk/LayoutTests

[css-text] W3C test suite gardening
https://bugs.webkit.org/show_bug.cgi?id=185879

Some more gardening on the css-text test suite.

Unreviewed test gardening.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
10:05 PM Changeset in webkit [232106] by Yusuke Suzuki
  • 6 edits in trunk/Source/JavaScriptCore

[JSC] Clean up stringGetByValStubGenerator
https://bugs.webkit.org/show_bug.cgi?id=185864

Reviewed by Saam Barati.

We clean up stringGetByValStubGenerator.

  1. Unify 32bit and 64bit implementations.
  2. Rename stringGetByValStubGenerator to stringGetByValGenerator, move it to ThunkGenerators.cpp.
  3. Remove string type check since this code is invoked only when we know regT0 is JSString*.
  4. Do not tag Cell in stringGetByValGenerator side. 32bit code stores Cell with tag in JITPropertyAccess32_64 side.
  5. Fix invalid use of loadPtr for StringImpl::flags. Should use load32.
  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::stringGetByValStubGenerator): Deleted.

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::stringGetByValStubGenerator): Deleted.

  • jit/ThunkGenerators.cpp:

(JSC::stringGetByValGenerator):

  • jit/ThunkGenerators.h:
9:44 PM Changeset in webkit [232105] by Yusuke Suzuki
  • 10 edits in trunk/Source/JavaScriptCore

[JSC] Use branchIfString/branchIfNotString instead of structure checkings
https://bugs.webkit.org/show_bug.cgi?id=185810

Reviewed by Saam Barati.

Let's use branchIfString/branchIfNotString helper functions instead of
checking structure with jsString's structure. It's easy to read. And
it emits less code since we do not need to embed string structure's
raw pointer in 32bit environment.

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::emitLoadCharacterString):
(JSC::JIT::checkStructure): Deleted.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::compileOpEqJumpSlow):
(JSC::JIT::emitSlow_op_neq):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emitByValIdentifierCheck):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emitSlow_op_get_by_val):

  • jit/JSInterfaceJIT.h:

(JSC::ThunkHelpers::jsStringLengthOffset): Deleted.
(JSC::ThunkHelpers::jsStringValueOffset): Deleted.

  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::loadJSStringArgument):

  • jit/ThunkGenerators.cpp:

(JSC::stringCharLoad):
(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):

  • runtime/JSString.h:
9:04 PM Changeset in webkit [232104] by bshafiei@apple.com
  • 17 edits in branches/safari-606.1.17.20-branch/Source

Cherry-pick r232090. rdar://problem/40306056

Optimized path zoom animation needs a valid UIImage and CGRect
https://bugs.webkit.org/show_bug.cgi?id=185883
<rdar://problem/40306056>

Reviewed by Jon Lee.

Source/WebCore:

Pass the bounding box of the element that was clicked onto
the UI process, so it can perform an animation from that spot.

This involved adding an IntRect to the ResourceRequest, and passing
that info into it from the HTMLAnchorElement, using a new struct
called SystemPreviewInfo.

  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::handleClick):
  • loader/FrameLoadRequest.cpp: (WebCore::FrameLoadRequest::FrameLoadRequest):
  • loader/FrameLoadRequest.h: (WebCore::FrameLoadRequest::FrameLoadRequest): (WebCore::FrameLoadRequest::isSystemPreview const): (WebCore::FrameLoadRequest::systemPreviewRect const):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::urlSelected): (WebCore::FrameLoader::loadURL):
  • loader/FrameLoader.h: (WebCore::FrameLoader::urlSelected):
  • loader/FrameLoaderTypes.h:
  • platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::systemPreviewRect const): (WebCore::ResourceRequestBase::setSystemPreviewRect):
  • platform/network/ResourceRequestBase.h:

Source/WebKit:

Take the rectangle that was passed into the ResourceRequest and
use it for the origin of an animation into QuickLook.

  • Shared/WebCoreArgumentCoders.cpp: (IPC::ArgumentCoder<ResourceRequest>::encode): (IPC::ArgumentCoder<ResourceRequest>::decode):
  • UIProcess/Cocoa/DownloadClient.mm: (WebKit::DownloadClient::didStart):
  • UIProcess/Cocoa/SystemPreviewControllerCocoa.mm: (-[_WKPreviewControllerDelegate initWithSystemPreviewController:fromRect:]): (-[_WKPreviewControllerDelegate presentingViewController]): (-[_WKPreviewControllerDelegate previewController:frameForPreviewItem:inSourceView:]): (-[_WKPreviewControllerDelegate previewController:transitionImageForPreviewItem:contentRect:]): (WebKit::SystemPreviewController::start): (-[_WKPreviewControllerDelegate initWithSystemPreviewController:]): Deleted.
  • UIProcess/Downloads/DownloadProxy.h: (WebKit::DownloadProxy::systemPreviewDownloadRect const):
  • UIProcess/SystemPreviewController.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::syncRootViewToScreen):
  • UIProcess/WebPageProxy.h:

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

8:47 PM Changeset in webkit [232103] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Text can wrap between hyphens and commas
https://bugs.webkit.org/show_bug.cgi?id=185899
<rdar://problem/40118983>

Reviewed by Zalan Bujtas.

Source/WebCore:

Chrome, Firefox, and ICU all agree that text shouldn't wrap there.

Test: fast/text/line-break-hyphen-comma.html

  • rendering/BreakLines.cpp:

LayoutTests:

  • fast/text/line-break-hyphen-comma-expected.html: Added.
  • fast/text/line-break-hyphen-comma.html: Added.
8:19 PM Changeset in webkit [232102] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17.40-branch/Source

Versioning.

8:17 PM Changeset in webkit [232101] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17.30-branch/Source

Versioning.

8:11 PM Changeset in webkit [232100] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

BytecodeGeneratorification shouldn't add a ValueProfile if the JIT is disabled.
https://bugs.webkit.org/show_bug.cgi?id=185896
<rdar://problem/40471403>

Reviewed by Saam Barati.

JSTests:

  • stress/regress-185896.js: Added.

Source/JavaScriptCore:

  • bytecode/BytecodeGeneratorification.cpp:

(JSC::BytecodeGeneratorification::run):

8:06 PM Changeset in webkit [232099] by bshafiei@apple.com
  • 7 edits in branches/safari-605-branch/Source

Versioning.

7:36 PM Changeset in webkit [232098] by Simon Fraser
  • 10 edits in trunk/Source/WebCore

Add notifyutil callbacks to dump the memory cache, and the list of live Pages and Documents
https://bugs.webkit.org/show_bug.cgi?id=185853

Reviewed by Keith Miller.
Source/WebCore:

Add a notifyutil callback to dump the PageCache, which dumps the stats, and the list of live pages.
This can be invoked on iOS and macOS via "notifyutil -p com.apple.WebKit.showPageCache".

Add a notifyutil callback that dumps the list of all Pages, and the list of all Documents, with
Document pointer address and URL.
This can be invoked on iOS and macOS via "notifyutil -p com.apple.WebKit.showAllDocuments".

  • history/PageCache.cpp:

(WebCore::PageCache::PageCache):
(WebCore::PageCache::dump const):

  • history/PageCache.h:
  • loader/cache/CachedResource.h:

(WebCore::CachedResource::numberOfClients const):
(WebCore::CachedResource::count const): Deleted.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::MemoryCache):
(WebCore::MemoryCache::pruneLiveResourcesToSize):
(WebCore::MemoryCache::dumpStats):
(WebCore::MemoryCache::dumpLRULists const):

  • loader/cache/MemoryCache.h:
  • page/mac/PageMac.mm:

(WebCore::Page::platformInitialize):

Source/WebCore/PAL:

Compile registerNotifyCallback in release builds.

  • pal/Logging.cpp:

(PAL::registerNotifyCallback):

  • pal/Logging.h:
7:23 PM Changeset in webkit [232097] by Brent Fulgham
  • 4 edits in trunk/Source/WebKit

Close access to "lsopen" for non-UI process
https://bugs.webkit.org/show_bug.cgi?id=185890
<rdar://problem/39686511>

Reviewed by Alexey Proskuryakov.

Close down access to 'lsopen' in the iOS sandboxes. These operations are
performed by the UIProcess on behalf of these helper processes.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Storage.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
7:15 PM Changeset in webkit [232096] by bshafiei@apple.com
  • 1 copy in tags/Safari-605.3.4

Tag Safari-605.3.4.

7:00 PM Changeset in webkit [232095] by bshafiei@apple.com
  • 7 edits in branches/safari-605-branch/Source

Versioning.

6:45 PM Changeset in webkit [232094] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Optimized path zoom animation needs a valid UIImage and CGRect
https://bugs.webkit.org/show_bug.cgi?id=185883
<rdar://problem/40306056>

Build fix.

  • loader/FrameLoadRequest.h:
5:17 PM Changeset in webkit [232093] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Unreviewed, rolling out r232081.
https://bugs.webkit.org/show_bug.cgi?id=185895

Broke two API tests (Requested by bfulgham_ on #webkit).

Reverted changeset:

"Avoid keeping FormState alive longer than necessary"
https://bugs.webkit.org/show_bug.cgi?id=185877
https://trac.webkit.org/changeset/232081

5:16 PM Changeset in webkit [232092] by Yusuke Suzuki
  • 4 edits in trunk

[JSC] Fix CachedCall's argument count if RegExp has named captures
https://bugs.webkit.org/show_bug.cgi?id=185587

Reviewed by Mark Lam.

JSTests:

  • test262/expectations.yaml:

Source/JavaScriptCore:

If the given RegExp has named captures, the argument count of CachedCall in String#replace
should be increased by one. This causes crash with assertion in test262. This patch corrects
the argument count.

This patch also unifies source.is8Bit()/!source.is8Bit() code since they are now completely
the same.

  • runtime/StringPrototype.cpp:

(JSC::replaceUsingRegExpSearch):

5:12 PM Changeset in webkit [232091] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Update test expectations for newly imported css-text layout tests
https://bugs.webkit.org/show_bug.cgi?id=185872

Unreviewed test gardening.

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

4:56 PM Changeset in webkit [232090] by dino@apple.com
  • 17 edits in trunk/Source

Optimized path zoom animation needs a valid UIImage and CGRect
https://bugs.webkit.org/show_bug.cgi?id=185883
<rdar://problem/40306056>

Reviewed by Jon Lee.

Source/WebCore:

Pass the bounding box of the element that was clicked onto
the UI process, so it can perform an animation from that spot.

This involved adding an IntRect to the ResourceRequest, and passing
that info into it from the HTMLAnchorElement, using a new struct
called SystemPreviewInfo.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::handleClick):

  • loader/FrameLoadRequest.cpp:

(WebCore::FrameLoadRequest::FrameLoadRequest):

  • loader/FrameLoadRequest.h:

(WebCore::FrameLoadRequest::FrameLoadRequest):
(WebCore::FrameLoadRequest::isSystemPreview const):
(WebCore::FrameLoadRequest::systemPreviewRect const):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::loadURL):

  • loader/FrameLoader.h:

(WebCore::FrameLoader::urlSelected):

  • loader/FrameLoaderTypes.h:
  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::systemPreviewRect const):
(WebCore::ResourceRequestBase::setSystemPreviewRect):

  • platform/network/ResourceRequestBase.h:

Source/WebKit:

Take the rectangle that was passed into the ResourceRequest and
use it for the origin of an animation into QuickLook.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceRequest>::encode):
(IPC::ArgumentCoder<ResourceRequest>::decode):

  • UIProcess/Cocoa/DownloadClient.mm:

(WebKit::DownloadClient::didStart):

  • UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:

(-[_WKPreviewControllerDelegate initWithSystemPreviewController:fromRect:]):
(-[_WKPreviewControllerDelegate presentingViewController]):
(-[_WKPreviewControllerDelegate previewController:frameForPreviewItem:inSourceView:]):
(-[_WKPreviewControllerDelegate previewController:transitionImageForPreviewItem:contentRect:]):
(WebKit::SystemPreviewController::start):
(-[_WKPreviewControllerDelegate initWithSystemPreviewController:]): Deleted.

  • UIProcess/Downloads/DownloadProxy.h:

(WebKit::DownloadProxy::systemPreviewDownloadRect const):

  • UIProcess/SystemPreviewController.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::syncRootViewToScreen):

  • UIProcess/WebPageProxy.h:
4:54 PM Changeset in webkit [232089] by mark.lam@apple.com
  • 16 edits
    2 adds in trunk

StringImpl utf8 conversion should not fail silently.
https://bugs.webkit.org/show_bug.cgi?id=185888
<rdar://problem/40464506>

Reviewed by Filip Pizlo.

JSTests:

  • stress/regress-185888.js: Added.

Source/JavaScriptCore:

  • dfg/DFGLazyJSValue.cpp:

(JSC::DFG::LazyJSValue::dumpInContext const):

  • runtime/DateConstructor.cpp:

(JSC::constructDate):
(JSC::dateParse):

  • runtime/JSDateMath.cpp:

(JSC::parseDate):

  • runtime/JSDateMath.h:

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/PrintStream.cpp:

(WTF::printExpectedCStringHelper):
(WTF::printInternal):

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::utf8Impl):
(WTF::StringImpl::utf8ForCharacters):
(WTF::StringImpl::tryUtf8ForRange const):
(WTF::StringImpl::tryUtf8 const):
(WTF::StringImpl::utf8 const):
(WTF::StringImpl::utf8ForRange const): Deleted.

  • wtf/text/StringImpl.h:
  • wtf/text/StringView.cpp:

(WTF::StringView::tryUtf8 const):
(WTF::StringView::utf8 const):

  • wtf/text/StringView.h:
  • wtf/text/UTF8ConversionError.h: Added.
  • wtf/text/WTFString.cpp:

(WTF::String::tryUtf8 const):
(WTF::String::utf8 const):

  • wtf/text/WTFString.h:
4:54 PM Changeset in webkit [232088] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[POSIX] Use access() instead of stat() in FileSystem::fileExists()
https://bugs.webkit.org/show_bug.cgi?id=185882

Reviewed by Geoffrey Garen.

Use access() instead of stat() in FileSystem::fileExists(). stat() returns a lot of information we
do not leverage and local benchmarking on macOS shows access() being > 80% faster than stat():
stat: 0.31567 (lower is better)
access: 0.16074 (lower is better)
stat: 0.303665 (lower is better)
access: 0.165468 (lower is better)

  • platform/posix/FileSystemPOSIX.cpp:

(WebCore::FileSystem::fileExists):

4:45 PM Changeset in webkit [232087] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.17.40.1

Tag Safari-606.1.17.40.1.

4:45 PM Changeset in webkit [232086] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.17.30.1

Tag Safari-606.1.17.30.1.

4:42 PM Changeset in webkit [232085] by Ryan Haddad
  • 9 edits
    4 adds in trunk

Test infrastructure websites should use jQuery and jQuery UI hosted on webkit.org
https://bugs.webkit.org/show_bug.cgi?id=185788

Patch by Roy Reapor <rreapor@apple.com> on 2018-05-22
Reviewed by Aakash Jain.

Tools:

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/rebaseline.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/summary-mock.html:
  • TestResultServer/static-dashboards/run-embedded-unittests.html:
  • TestResultServer/static-dashboards/run-unittests.html:

Websites/webkit.org:

  • ajax/libs/jquery/jquery-1.6.2.min.js: Added.
  • ajax/libs/jqueryui: Added.
  • ajax/libs/jqueryui/jquery-ui-1.8.15.css: Added.
4:37 PM Changeset in webkit [232084] by Wenson Hsieh
  • 1 edit
    17 adds in trunk/Websites/webkit.org

Add some additional demo content to webkit.org
https://bugs.webkit.org/show_bug.cgi?id=185892

Reviewed by Tim Horton.

Adds three demo pages, and some placeholder assets.

  • demos/extrazoom/article/constitution.jpg: Added.
  • demos/extrazoom/article/index.html: Added.
  • demos/extrazoom/login/index.html: Added.
  • demos/extrazoom/login/webkit.svg: Added.
  • demos/extrazoom/recipes/butterchicken.jpg: Added.
  • demos/extrazoom/recipes/chowder.jpg: Added.
  • demos/extrazoom/recipes/hummus.jpg: Added.
  • demos/extrazoom/recipes/index.html: Added.
  • demos/extrazoom/recipes/padthai.jpg: Added.
  • demos/extrazoom/recipes/pizza.jpg: Added.
  • demos/extrazoom/recipes/salmon.jpg: Added.
  • demos/extrazoom/recipes/steak.jpg: Added.
  • demos/extrazoom/recipes/tacos.jpg: Added.
4:20 PM Changeset in webkit [232083] by sihui_liu@apple.com
  • 10 edits in trunk

Source/WebKit:
[iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool fails because cookies use different files with/without processpool
https://bugs.webkit.org/show_bug.cgi?id=185831

Reviewed by Chris Dumez.

Started to use uiProcessCookieStorageIdentifier for iOS: make sure cookies handled without
processpool would use the same storage file as when processpool exists.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):

Tools:
[iOS] TestWebKitAPI.WebKit.WKHTTPCookieStoreWithoutProcessPool is crashing with reason: 'Completion handler passed to -[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:] was not called'
https://bugs.webkit.org/show_bug.cgi?id=185831

Reviewed by Chris Dumez.

Updated the test to prevent crash after assertion fails.

  • TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:

(-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):

3:41 PM Changeset in webkit [232082] by Chris Dumez
  • 46 edits
    1 move
    1 add in trunk

Regression(AsyncPolicyDelegates): Box.app login Window is blank
https://bugs.webkit.org/show_bug.cgi?id=185832
<rdar://problem/40307871>

Reviewed by Geoffrey Garen.

Source/WebKit:

Moved WeakObjCPtr.h header from WebKit/ to wtf/ so that it can be used in
WebKitLegacy code.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:
  • UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
  • UIProcess/API/Cocoa/WKConnection.mm:
  • UIProcess/API/Cocoa/WKHTTPCookieStore.mm:
  • UIProcess/API/Cocoa/WKProcessGroup.mm:
  • UIProcess/API/Cocoa/WKProcessPool.mm:
  • UIProcess/API/Cocoa/WKScriptMessage.mm:
  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
  • UIProcess/API/Cocoa/_WKAutomationSession.mm:
  • UIProcess/API/Cocoa/_WKDownload.mm:
  • UIProcess/API/Cocoa/_WKElementAction.mm:
  • UIProcess/ApplicationStateTracker.h:
  • UIProcess/Cocoa/AutomationClient.h:
  • UIProcess/Cocoa/AutomationSessionClient.h:
  • UIProcess/Cocoa/DiagnosticLoggingClient.h:
  • UIProcess/Cocoa/DownloadClient.h:
  • UIProcess/Cocoa/FindClient.h:
  • UIProcess/Cocoa/FullscreenClient.h:
  • UIProcess/Cocoa/IconLoadingDelegate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
  • UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:
  • UIProcess/Cocoa/WebViewImpl.h:
  • UIProcess/ios/ViewGestureControllerIOS.mm:
  • UIProcess/ios/WKActionSheetAssistant.mm:
  • UIProcess/ios/WKContentViewInteraction.mm:
  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView web_setContentProviderData:suggestedFilename:]):

  • UIProcess/ios/WKScrollView.mm:
  • UIProcess/mac/WKInspectorViewController.mm:
  • UIProcess/mac/WKInspectorWKWebView.mm:
  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

Source/WebKitLegacy/mac:

We used to have a bug where where we would fail to wait for the policy decision for
the navigation response from the client and the load would keep going, racing with
the client's policy decision. If the client did not respond in time, the behavior
would be the same as "Use" policy action.

Box.app fails to make any policy decision in its decidePolicyForMIMEType delegate
but the load happened to proceed anyway due to our bug. Now that we've fixed the
WebKit bug, however, the load would hang because the completion handler for the
decidePolicyForNavigationResponse would never get called.

To work around the issue, I made the policy listener weak on the WebFrameLoaderClient
instead of retaining it. If the policy listener object gets destroyed because getting
resolved, we now use "Use" policy action in its dealloc function to maintain previous
behavior.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::cancelPolicyCheck):
(WebFrameLoaderClient::setUpPolicyListener):
(-[WebFramePolicyListener dealloc]):

Source/WTF:

Moved WeakObjCPtr.h from WebKit2 to WTF with RetainPtr.h, so that it can be used
in WebKitLegacy code.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/WeakObjCPtr.h: Renamed from Source/WebKit/Shared/mac/WeakObjCPtr.h.

Tools:

Add API test coverage.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/cocoa/WeakObjCPtr.mm:
  • TestWebKitAPI/Tests/mac/NoPolicyDelegateResponse.mm: Added.

(-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
(-[NoPolicyDelegateDecisionDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
(-[NoPolicyDelegateDecisionDelegate webView:didFinishLoadForFrame:]):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[WKWebView _isBackground]):

3:01 PM Changeset in webkit [232081] by Brent Fulgham
  • 7 edits in trunk/Source/WebCore

Avoid keeping FormState alive longer than necessary
https://bugs.webkit.org/show_bug.cgi?id=185877
<rdar://problem/39329219>

Reviewed by Ryosuke Niwa.

A number of crash fixes were done to prevent FormState objects from being
accessed after their relevant Frames had been destroyed. Unfortunately, this
could cause the FormState to persist after the owning Frame had been
destroyed, resulting in nullptr dereferences.

This patch does the following:

  1. Changes to use WeakPtr's for FormState objects passed to completion handlers, rather than RefPtr, since those completion handlers might fire as part of the clean-up process during Frame destruction. This allows us to use the FormState if they are still valid, but gracefully handle cases where a form submission is cancelled in-flight.
  2. Removes some extraneous WTFMove() calls being made on bare FormState pointers.
  3. Changes the trap from Bug 183704 so that it only fires if the FormState object is being retained more than once.
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest): Update for new CompletionHandler
signature.

  • loader/FormState.cpp:

(WebCore::FormState::willDetachPage): Revise trap to check for retain counts
above one.

  • loader/FormState.h:

(WebCore::FormState::weakPtrFactory const): Added.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadFrameRequest): Revise to use WeakPtr for FormState
passed to the completion handler.
(WebCore::FrameLoader::loadURL): Update for new CompletionHandler signature.
(WebCore::FrameLoader::load): Ditto.
(WebCore::FrameLoader::loadWithDocumentLoader): Ditto.
(WebCore::FrameLoader::loadPostRequest): Ditto.

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy): Revise to use WeakPtr for
FormState passed to the completion handler. Remove some extraneous WTFMove()
calls on bare pointers.
(WebCore::PolicyChecker::checkNewWindowPolicy): Ditto.

  • loader/PolicyChecker.h:
2:33 PM Changeset in webkit [232080] by keith_miller@apple.com
  • 11 edits
    1 delete in trunk/Source/JavaScriptCore

Remove the UnconditionalFinalizer class
https://bugs.webkit.org/show_bug.cgi?id=185881

Reviewed by Filip Pizlo.

The only remaining user of this API is
JSWebAssemblyCodeBlock. This patch changes, JSWebAssemblyCodeBlock
to use the newer template based API and removes the old class.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.h:
  • heap/Heap.cpp:

(JSC::Heap::finalizeUnconditionalFinalizers):

  • heap/Heap.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::addUnconditionalFinalizer): Deleted.

  • heap/SlotVisitor.h:
  • heap/UnconditionalFinalizer.h: Removed.
  • wasm/js/JSWebAssemblyCodeBlock.cpp:

(JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):
(JSC::JSWebAssemblyCodeBlock::visitChildren):
(JSC::JSWebAssemblyCodeBlock::finalizeUnconditionally):
(JSC::JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally): Deleted.

  • wasm/js/JSWebAssemblyCodeBlock.h:
  • wasm/js/JSWebAssemblyModule.h:
  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.h:
  • heap/Heap.cpp:

(JSC::Heap::finalizeUnconditionalFinalizers):

  • heap/Heap.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::addUnconditionalFinalizer): Deleted.

  • heap/SlotVisitor.h:
  • heap/UnconditionalFinalizer.h: Removed.
  • wasm/js/JSWebAssemblyCodeBlock.cpp:

(JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):
(JSC::JSWebAssemblyCodeBlock::visitChildren):
(JSC::JSWebAssemblyCodeBlock::finalizeUnconditionally):
(JSC::JSWebAssemblyCodeBlock::UnconditionalFinalizer::finalizeUnconditionally): Deleted.

  • wasm/js/JSWebAssemblyCodeBlock.h:
  • wasm/js/JSWebAssemblyModule.h:
2:13 PM Changeset in webkit [232079] by sihui_liu@apple.com
  • 7 edits
    1 add in trunk

Conversion between SecurityOriginData and DatabaseIdentifier is asymmetric when port is null
https://bugs.webkit.org/show_bug.cgi?id=185715

Reviewed by Geoffrey Garen.

Source/WebCore:

Fixed the issue of null port when converting between SecurityOriginData and DatabaseIdentifier.

Test: WKWebView.LocalStorageFetchDataRecords.

  • page/SecurityOriginData.cpp:

(WebCore::SecurityOriginData::fromDatabaseIdentifier):

Source/WebKit:

Add getter for origins in WKWebsiteDataRecord for testing.

  • UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:

(-[WKWebsiteDataRecord _originsString]):

  • UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:

Tools:

Add API test coverage.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/LocalStorageDatabaseTracker.mm: Added.

(-[LocalStorageUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):

1:52 PM Changeset in webkit [232078] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit

Rename the "Web content is visible" process assertion.
https://bugs.webkit.org/show_bug.cgi?id=185878

Reviewed by Chris Dumez.

  • UIProcess/ios/ProcessAssertionIOS.mm:

(WebKit::ProcessAssertion::ProcessAssertion):

1:48 PM Changeset in webkit [232077] by aestes@apple.com
  • 6 edits in trunk/Source/WebKit

[Wi-Fi Assertions] Drop assertions on process suspension
https://bugs.webkit.org/show_bug.cgi?id=185844
<rdar://problem/40352319>

Reviewed by Daniel Bates.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::actualPrepareToSuspend):
(WebKit::NetworkProcess::processDidResume):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformPrepareToSuspend):
(WebKit::NetworkProcess::platformProcessDidResume):

12:55 PM Changeset in webkit [232076] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix internal build.

  • runtime/JSImmutableButterfly.cpp:
12:47 PM Changeset in webkit [232075] by sbarati@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFG::LICMPhase should attempt to hoist edge type checks if hoisting the whole node fails
https://bugs.webkit.org/show_bug.cgi?id=144525

Reviewed by Filip Pizlo.

This patch teaches LICM to fall back to hoisting a node's type checks when
hoisting the entire node fails.

This patch follow the same principles we use when deciding to hoist nodes in general:

  • If the pre header is control equivalent to where the current check is, we

go ahead and hoist the check.

  • Otherwise, if hoisting hasn't failed before, we go ahead and gamble and

hoist the check. If hoisting failed in the past, we will not hoist the check.

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::attemptHoist):

  • dfg/DFGUseKind.h:

(JSC::DFG::checkMayCrashIfInputIsEmpty):

12:20 PM Changeset in webkit [232074] by fpizlo@apple.com
  • 30 edits
    5 deletes in trunk/Source

Get rid of TLCs
https://bugs.webkit.org/show_bug.cgi?id=185846

Rubber stamped by Geoffrey Garen.
Source/JavaScriptCore:


This removes support for thread-local caches from the GC in order to speed up allocation a
bit.

We added TLCs as part of Spectre mitigations, which we have since removed.

We will want some kind of TLCs eventually, since they allow us to:

  • have a global GC, which may be a perf optimization at some point.
  • allocate objects from JIT threads, which we've been wanting to do for a while.


This change keeps the most interesting aspect of TLCs, which is the
LocalAllocator/BlockDirectory separation. This means that it ought to be easy to implement
TLCs again in the future if we wanted this feature.

This change removes the part of TLCs that causes a perf regression, namely that Allocator is
an offset that requires a bounds check and lookup that makes the rest of the allocation fast
path dependent on the load of the TLC. Now, Allocator is really just a LocalAllocator*, so
you can directly use it to allocate. This removes two loads and a check from the allocation
fast path. In hindsight, I probably could have made that whole thing more efficient, had I
allowed us to have a statically known set of LocalAllocators. This would have removed the
bounds check (one load and one branch) and it would have made it possible to CSE the load of
the TLC data structure, since that would no longer resize. But that's a harder change that
this patch, and we don't need it right now.

While reviewing the allocation hot paths, I found that CreateThis had an unnecessary branch
to check if the allocator is null. I removed that check. AssemblyHelpers::emitAllocate() does
that check already. Previously, the TLC bounds check doubled as this check.

This is a 1% speed-up on Octane and a 2.3% speed-up on TailBench. However, the Octane
speed-up on my machine includes an 8% regexp speed-up. I've found that sometimes regexp
speeds up or slows down by 8% depending on which path I build JSC from. Without that 8%, this
is still an Octane speed-up due to 2-4% speed-ups in earley, boyer, raytrace, and splay.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/ObjectAllocationProfileInlines.h:

(JSC::ObjectAllocationProfile::initializeProfile):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCreateThis):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
(JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl):
(JSC::FTL::DFG::LowerDFGToB3::allocateHeapCell):
(JSC::FTL::DFG::LowerDFGToB3::allocateObject):
(JSC::FTL::DFG::LowerDFGToB3::allocatorForSize):

  • heap/Allocator.cpp:

(JSC::Allocator::cellSize const):

  • heap/Allocator.h:

(JSC::Allocator::Allocator):
(JSC::Allocator::localAllocator const):
(JSC::Allocator::operator== const):
(JSC::Allocator::offset const): Deleted.

  • heap/AllocatorInlines.h:

(JSC::Allocator::allocate const):
(JSC::Allocator::tryAllocate const): Deleted.

  • heap/BlockDirectory.cpp:

(JSC::BlockDirectory::BlockDirectory):
(JSC::BlockDirectory::~BlockDirectory):

  • heap/BlockDirectory.h:

(JSC::BlockDirectory::allocator const): Deleted.

  • heap/CompleteSubspace.cpp:

(JSC::CompleteSubspace::allocateNonVirtual):
(JSC::CompleteSubspace::allocatorForSlow):
(JSC::CompleteSubspace::tryAllocateSlow):

  • heap/CompleteSubspace.h:
  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/Heap.h:

(JSC::Heap::threadLocalCacheLayout): Deleted.

  • heap/IsoSubspace.cpp:

(JSC::IsoSubspace::IsoSubspace):
(JSC::IsoSubspace::allocateNonVirtual):

  • heap/IsoSubspace.h:

(JSC::IsoSubspace::allocatorForNonVirtual):

  • heap/LocalAllocator.cpp:

(JSC::LocalAllocator::LocalAllocator):
(JSC::LocalAllocator::~LocalAllocator):

  • heap/LocalAllocator.h:

(JSC::LocalAllocator::cellSize const):
(JSC::LocalAllocator::tlc const): Deleted.

  • heap/ThreadLocalCache.cpp: Removed.
  • heap/ThreadLocalCache.h: Removed.
  • heap/ThreadLocalCacheInlines.h: Removed.
  • heap/ThreadLocalCacheLayout.cpp: Removed.
  • heap/ThreadLocalCacheLayout.h: Removed.
  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):
(JSC::AssemblyHelpers::emitAllocate):
(JSC::AssemblyHelpers::emitAllocateVariableSized):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_create_this):

  • runtime/JSLock.cpp:

(JSC::JSLock::didAcquireLock):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::~VM):

  • runtime/VM.h:
  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::~VMEntryScope):

  • runtime/VMEntryScope.h:

Source/WTF:

  • wtf/Platform.h:
12:16 PM Changeset in webkit [232073] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Update test expectations for newly imported css-text layout tests
https://bugs.webkit.org/show_bug.cgi?id=185872

Unreviewed test gardening.

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

12:08 PM Changeset in webkit [232072] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

REGRESSION(r229093): Re-enable Network Extension support in the WebContent process (Take 2)
https://bugs.webkit.org/show_bug.cgi?id=185874
<rdar://problem/40454404>

Reviewed by Eric Carlson.

Add back a necessary XPC connection after locking down the network features in r229093.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:
11:31 AM Changeset in webkit [232071] by sihui_liu@apple.com
  • 2 edits in trunk/Tools

Unreviewed, added myself as a WebKit committer.

  • Scripts/webkitpy/common/config/contributors.json:
11:04 AM Changeset in webkit [232070] by keith_miller@apple.com
  • 75 edits
    9 adds in trunk

We should have a CoW storage for NewArrayBuffer arrays.
https://bugs.webkit.org/show_bug.cgi?id=185003

Reviewed by Filip Pizlo.

JSTests:

  • stress/cow-convert-contiguous-to-array-storage.js: Added.

(createBuffer):
(shouldBe):
(test):

  • stress/cow-convert-double-to-array-storage.js: Added.

(createBuffer):
(shouldBe):
(test):

  • stress/cow-convert-double-to-contiguous.js: Added.

(createBuffer):
(shouldBe):
(test):

  • stress/cow-convert-int32-to-array-storage.js: Added.

(createBuffer):
(shouldBe):
(test):

  • stress/cow-convert-int32-to-contiguous.js: Added.

(createBuffer):
(shouldBe):
(test):

  • stress/cow-convert-int32-to-double.js: Added.

(createBuffer):
(shouldBe):
(test):

  • stress/put-on-cow-prototype.js: Added.

(putByVal):
(putById):

Source/JavaScriptCore:

This patch adds copy on write storage for new array buffers. In
order to do this there needed to be significant changes to the
layout of IndexingType. The new indexing type has the following
shape:

struct IndexingTypeAndMisc {

struct IndexingModeIncludingHistory {

struct IndexingMode {

struct IndexingType {

uint8_t isArray:1; bit 0
uint8_t shape:3;
bit 1 - 3

};
uint8_t copyOnWrite:1; bit 4

};
uint8_t mayHaveIndexedAccessors:1; bit 5

};
uint8_t cellLockBits:2; bit 6 - 7

};

For simplicity ArrayStorage shapes cannot be CoW. So the only
valid CoW indexing shapes are ArrayWithInt32, ArrayWithDouble, and
ArrayWithContiguous.

The backing store for a CoW array is a new class
JSImmutableButterfly, which looks exactly the same as a normal
butterfly except that it has a JSCell header. Like other
butterflies, JSImmutableButterfies are allocated out of the
Auxiliary Gigacage and are pointed to by JSCells in the same
way. However, when marking JSImmutableButterflies they are marked
as if they were a property.

With CoW arrays, the new_array_buffer bytecode will reallocate the
shared JSImmutableButterfly if it sees from the allocation profile
that the last array it allocated has transitioned to a different
indexing type. From then on, all arrays created by that
new_array_buffer bytecode will have the promoted indexing
type. This is more or less the same as what we used to do. The
only difference is that we don't promote all the way to array
storage even if we have seen it before.

Transitioning from a CoW indexing mode occurs whenever someone
tries to store to an element, grow the array, or add properties.
Storing or growing the array will call into code that does the
stupid thing of copying the butterfly then continue into the old
code. This doesn't end up costing us as future allocations will
use any upgraded indexing shape. We get adding properties for
free by just changing the indexing mode on transition (our C++
code always updates the indexing mode).

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/ArrayAllocationProfile.cpp:

(JSC::ArrayAllocationProfile::updateProfile):

  • bytecode/ArrayAllocationProfile.h:

(JSC::ArrayAllocationProfile::initializeIndexingMode):

  • bytecode/ArrayProfile.cpp:

(JSC::dumpArrayModes):
(JSC::ArrayProfile::briefDescriptionWithoutUpdating):

  • bytecode/ArrayProfile.h:

(JSC::asArrayModes):
(JSC::arrayModeFromStructure):
(JSC::arrayModesInclude):
(JSC::hasSeenCopyOnWriteArray):

  • bytecode/BytecodeList.json:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):

  • bytecode/InlineAccess.cpp:

(JSC::InlineAccess::generateArrayLength):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::addArrayAllocationProfile):
(JSC::UnlinkedCodeBlock::decompressArrayAllocationProfile):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::newArrayAllocationProfile):
(JSC::BytecodeGenerator::emitNewArrayBuffer):
(JSC::BytecodeGenerator::emitNewArray):
(JSC::BytecodeGenerator::emitNewArrayWithSize):
(JSC::BytecodeGenerator::emitExpectedFunctionSnippet):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::ArrayNode::emitBytecode):
(JSC::ArrayPatternNode::bindValue const):
(JSC::ArrayPatternNode::emitDirectBinding):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGArgumentsEliminationPhase.cpp:
  • dfg/DFGArgumentsUtilities.cpp:

(JSC::DFG::emitCodeToGetArgumentsArrayLength):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::fromObserved):
(JSC::DFG::ArrayMode::refine const):
(JSC::DFG::ArrayMode::alreadyChecked const):

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::ArrayMode):
(JSC::DFG::ArrayMode::action const):
(JSC::DFG::ArrayMode::withSpeculation const):
(JSC::DFG::ArrayMode::withArrayClass const):
(JSC::DFG::ArrayMode::withType const):
(JSC::DFG::ArrayMode::withConversion const):
(JSC::DFG::ArrayMode::withTypeAndConversion const):
(JSC::DFG::ArrayMode::arrayModesThatPassFiltering const):
(JSC::DFG::ArrayMode::arrayModesWithIndexingShape const):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::handleIntrinsicGetter):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion):
(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):

  • dfg/DFGGraph.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::indexingType):
(JSC::DFG::Node::indexingMode):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::compileExit):

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

(JSC::DFG::SpeculativeJIT::emitAllocateRawObject):
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):
(JSC::DFG::SpeculativeJIT::arrayify):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments):
(JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
(JSC::DFG::SpeculativeJIT::compileCreateRest):
(JSC::DFG::SpeculativeJIT::compileArraySlice):
(JSC::DFG::SpeculativeJIT::compileNewArrayBuffer):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

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

(JSC::FTL::DFG::LowerDFGToB3::compilePutStructure):
(JSC::FTL::DFG::LowerDFGToB3::compileArraySlice):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread):
(JSC::FTL::DFG::LowerDFGToB3::storeStructure):
(JSC::FTL::DFG::LowerDFGToB3::isArrayTypeForArrayify):

  • ftl/FTLOperations.cpp:

(JSC::FTL::operationMaterializeObjectInOSR):

  • generate-bytecode-files:
  • interpreter/Interpreter.cpp:

(JSC::sizeOfVarargs):
(JSC::loadVarargs):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo):

  • jit/JITOperations.cpp:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitSlow_op_put_by_val):

  • jit/Repatch.cpp:

(JSC::tryCachePutByID):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/Butterfly.h:

(JSC::ContiguousData::Data::Data):
(JSC::ContiguousData::Data::operator bool const):
(JSC::ContiguousData::Data::operator=):
(JSC::ContiguousData::Data::operator const T& const):
(JSC::ContiguousData::Data::set):
(JSC::ContiguousData::Data::setWithoutWriteBarrier):
(JSC::ContiguousData::Data::clear):
(JSC::ContiguousData::Data::get const):
(JSC::ContiguousData::atUnsafe):
(JSC::ContiguousData::at const): Deleted.
(JSC::ContiguousData::at): Deleted.

  • runtime/ButterflyInlines.h:

(JSC::ContiguousData<T>::at const):
(JSC::ContiguousData<T>::at):

  • runtime/ClonedArguments.cpp:

(JSC::ClonedArguments::createEmpty):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::allocateNewArrayBuffer):

  • runtime/IndexingType.cpp:

(JSC::leastUpperBoundOfIndexingTypeAndType):
(JSC::leastUpperBoundOfIndexingTypeAndValue):
(JSC::dumpIndexingType):

  • runtime/IndexingType.h:

(JSC::hasIndexedProperties):
(JSC::hasUndecided):
(JSC::hasInt32):
(JSC::hasDouble):
(JSC::hasContiguous):
(JSC::hasArrayStorage):
(JSC::hasAnyArrayStorage):
(JSC::hasSlowPutArrayStorage):
(JSC::shouldUseSlowPut):
(JSC::isCopyOnWrite):
(JSC::arrayIndexFromIndexingType):

  • runtime/JSArray.cpp:

(JSC::JSArray::tryCreateUninitializedRestricted):
(JSC::JSArray::put):
(JSC::JSArray::appendMemcpy):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::fastSlice):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithAnyIndexingType):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToArguments):

  • runtime/JSArrayInlines.h:

(JSC::JSArray::pushInline):

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::JSCell):
(JSC::JSCell::finishCreation):
(JSC::JSCell::indexingType const):
(JSC::JSCell::indexingMode const):
(JSC::JSCell::setStructure):

  • runtime/JSFixedArray.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::haveABadTime):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::originalArrayStructureForIndexingType const):
(JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const):
(JSC::JSGlobalObject::isOriginalArrayStructure):

  • runtime/JSImmutableButterfly.cpp: Added.

(JSC::JSImmutableButterfly::visitChildren):
(JSC::JSImmutableButterfly::copyToArguments):

  • runtime/JSImmutableButterfly.h: Added.

(JSC::JSImmutableButterfly::createStructure):
(JSC::JSImmutableButterfly::tryCreate):
(JSC::JSImmutableButterfly::create):
(JSC::JSImmutableButterfly::publicLength const):
(JSC::JSImmutableButterfly::vectorLength const):
(JSC::JSImmutableButterfly::length const):
(JSC::JSImmutableButterfly::toButterfly const):
(JSC::JSImmutableButterfly::fromButterfly):
(JSC::JSImmutableButterfly::get const):
(JSC::JSImmutableButterfly::subspaceFor):
(JSC::JSImmutableButterfly::setIndex):
(JSC::JSImmutableButterfly::allocationSize):
(JSC::JSImmutableButterfly::JSImmutableButterfly):

  • runtime/JSObject.cpp:

(JSC::JSObject::markAuxiliaryAndVisitOutOfLineProperties):
(JSC::JSObject::visitButterflyImpl):
(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::JSObject::putByIndex):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToContiguous):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::createInitialForValueAndSet):
(JSC::JSObject::convertInt32ForValue):
(JSC::JSObject::convertFromCopyOnWrite):
(JSC::JSObject::ensureWritableInt32Slow):
(JSC::JSObject::ensureWritableDoubleSlow):
(JSC::JSObject::ensureWritableContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC::JSObject::ensureArrayStorageExistsAndEnterDictionaryIndexingMode):
(JSC::JSObject::switchToSlowPutArrayStorage):
(JSC::JSObject::deletePropertyByIndex):
(JSC::JSObject::getOwnPropertyNames):
(JSC::canDoFastPutDirectIndex):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::countElements):
(JSC::JSObject::ensureLengthSlow):
(JSC::JSObject::getEnumerableLength):
(JSC::JSObject::ensureInt32Slow): Deleted.
(JSC::JSObject::ensureDoubleSlow): Deleted.
(JSC::JSObject::ensureContiguousSlow): Deleted.

  • runtime/JSObject.h:

(JSC::JSObject::putDirectIndex):
(JSC::JSObject::canGetIndexQuickly):
(JSC::JSObject::getIndexQuickly):
(JSC::JSObject::tryGetIndexQuickly const):
(JSC::JSObject::canSetIndexQuickly):
(JSC::JSObject::setIndexQuickly):
(JSC::JSObject::initializeIndex):
(JSC::JSObject::initializeIndexWithoutBarrier):
(JSC::JSObject::ensureWritableInt32):
(JSC::JSObject::ensureWritableDouble):
(JSC::JSObject::ensureWritableContiguous):
(JSC::JSObject::ensureLength):
(JSC::JSObject::ensureInt32): Deleted.
(JSC::JSObject::ensureDouble): Deleted.
(JSC::JSObject::ensureContiguous): Deleted.

  • runtime/JSObjectInlines.h:

(JSC::JSObject::putDirectInternal):

  • runtime/JSType.h:
  • runtime/RegExpMatchesArray.h:

(JSC::tryCreateUninitializedRegExpMatchesArray):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::addNewPropertyTransition):
(JSC::Structure::nonPropertyTransition):

  • runtime/Structure.h:
  • runtime/StructureIDBlob.h:

(JSC::StructureIDBlob::StructureIDBlob):
(JSC::StructureIDBlob::indexingModeIncludingHistory const):
(JSC::StructureIDBlob::setIndexingModeIncludingHistory):
(JSC::StructureIDBlob::indexingModeIncludingHistoryOffset):
(JSC::StructureIDBlob::indexingTypeIncludingHistory const): Deleted.
(JSC::StructureIDBlob::setIndexingTypeIncludingHistory): Deleted.
(JSC::StructureIDBlob::indexingTypeIncludingHistoryOffset): Deleted.

  • runtime/StructureTransitionTable.h:

(JSC::newIndexingType):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

  • bindings/js/JSDOMConvertSequences.h:

(WebCore::Detail::NumericSequenceConverter::convertArray):
(WebCore::Detail::SequenceConverter::convertArray):

LayoutTests:

Test should have a real error that gives you the stack.

  • js/slow-stress/script-tests/variadic-closure-call.js:
10:21 AM Changeset in webkit [232069] by Ryan Haddad
  • 38 edits in trunk

Unreviewed, rolling out r232052.

Breaks internal builds.

Reverted changeset:

"Use more C++17"
https://bugs.webkit.org/show_bug.cgi?id=185176
https://trac.webkit.org/changeset/232052

9:34 AM Changeset in webkit [232068] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk/Websites

Host jquery on webkit.org instead of 3rd party
https://bugs.webkit.org/show_bug.cgi?id=185691

Patch by Roy Reapor <rreapor@apple.com> on 2018-05-22
Reviewed by Alexey Proskuryakov.

  • PrettyPatch/PrettyPatch.rb:
  • code-review-test.html:
8:54 AM Changeset in webkit [232067] by berto@igalia.com
  • 6 edits in trunk

[CMake] Properly detect compiler flags, needed libs, and fallbacks for usage of 64-bit atomic operations
https://bugs.webkit.org/show_bug.cgi?id=182622
<rdar://problem/40292317>

Reviewed by Michael Catanzaro.

.:

  • Source/cmake/WebKitCompilerFlags.cmake:

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

Source/JavaScriptCore:

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

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

  • CMakeLists.txt:

Source/WebKit:

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

  • CMakeLists.txt:
8:09 AM Changeset in webkit [232066] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GTK] WebDriver: Network process crash when running imported/w3c/webdriver/tests/delete_cookie/delete.py::test_unknown_cookie
https://bugs.webkit.org/show_bug.cgi?id=185867

Reviewed by Michael Catanzaro.

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

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::setCookiesFromDOM):
(WebCore::cookiesForSession):
(WebCore::getRawCookies):
(WebCore::deleteCookie):

  • platform/network/soup/NetworkStorageSessionSoup.cpp:

(WebCore::NetworkStorageSession::getCookies):

8:06 AM Changeset in webkit [232065] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

[LFC] Implement positioning for non-replaced out-of-flow elements.
https://bugs.webkit.org/show_bug.cgi?id=185858

Reviewed by Antti Koivisto.

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

  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::computeOutOfFlowPosition const):
(WebCore::Layout::FormattingContext::layoutOutOfFlowDescendants const):
(WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedPosition const):
(WebCore::Layout::FormattingContext::computeOutOfFlowReplacedPosition const):

  • layout/FormattingContext.h:
8:03 AM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
Trading days with Zan (diff)
7:46 AM Changeset in webkit [232064] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Fix build without MathML
https://bugs.webkit.org/show_bug.cgi?id=185865

Patch by Olivier Blin <Olivier Blin> on 2018-05-22
Reviewed by Frédéric Wang.

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

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

No new tests, build fix.

  • mathml/MathMLUnknownElement.cpp:
  • mathml/MathMLUnknownElement.h:
  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::RenderTreeBuilder):
(WebCore::RenderTreeBuilder::attach):

  • rendering/updating/RenderTreeBuilder.h:
  • rendering/updating/RenderTreeBuilderMathML.cpp:
  • rendering/updating/RenderTreeBuilderMathML.h:
6:34 AM Changeset in webkit [232063] by Manuel Rego Casasnovas
  • 4 edits in trunk/LayoutTests

[css-text] W3C test suite gardening
https://bugs.webkit.org/show_bug.cgi?id=185862

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

Unreviewed test gardening.

  • TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
6:20 AM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
6:20 AM Changeset in webkit [232062] by Michael Catanzaro
  • 9 edits in trunk

Unreviewed, rolling out r231843.

Broke cross build

Reverted changeset:

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

4:40 AM Changeset in webkit [232061] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Don't set the ReadyState to HaveNothing when an error occurs in playback pipeline
https://bugs.webkit.org/show_bug.cgi?id=185725

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

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

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

In MSE case, this patch fixes the crashes of the followings WPT encrypted-media tests:

  • clearkey-mp4-playback-temporary-clear-encrypted.https.html
  • clearkey-mp4-playback-temporary-multikey-sequential.https.html
  • clearkey-mp4-playback-temporary-multikey-sequential-readyState.https.html

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

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

4:37 AM Changeset in webkit [232060] by commit-queue@webkit.org
  • 2 edits
    2 moves
    4 deletes in trunk/Tools

[GStreamer] Update to GStreamer 1.14.1 in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=185689

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

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

  • gstreamer/jhbuild.modules:
  • gstreamer/patches/gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch: Removed.
  • gstreamer/patches/gst-plugins-good-0001-souphttpsrc-cookie-jar-and-context-query-support.patch: Removed. Not needed anymore and closed as OBSELETE upstream.
  • gstreamer/patches/gst-plugins-good-0002-qtdemux-add-context-for-a-preferred-protection.patch: Renamed from Tools/gstreamer/patches/gst-plugins-good-0006-qtdemux-add-context-for-a-preferred-protection.patch

This patch has now been merged in GStreamer master and will be there in GStreamer 1.16.

  • gstreamer/patches/gst-plugins-good-0003-qtdemux-also-push-buffers-without-encryption-info-in.patch: Renamed from Tools/gstreamer/patches/gst-plugins-good-0008-qtdemux-also-push-buffers-without-encryption-info-in.patch.

This patch has now been merged in GStreamer master and will be there in GStreamer 1.16.

  • gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Removed.
  • gstreamer/patches/gstreamer-0001-protection-added-function-to-filter-system-ids.patch: Removed.
3:49 AM Changeset in webkit [232059] by Yusuke Suzuki
  • 2 edits in trunk/Source/bmalloc

Define GIGACAGE_ALLOCATION_CAN_FAIL on Linux
https://bugs.webkit.org/show_bug.cgi?id=183329

Reviewed by Michael Catanzaro.

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

  • bmalloc/Gigacage.h:
2:32 AM Changeset in webkit [232058] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[MSE][GStreamer] Fix the deadlock caused by bug 185242 (r231351)
https://bugs.webkit.org/show_bug.cgi?id=185723

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

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

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

  • platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:

(webKitMediaSrcFreeStream):

1:20 AM Changeset in webkit [232057] by Manuel Rego Casasnovas
  • 6 edits
    1687 adds in trunk/LayoutTests

[css-text] Import WPT test suite
https://bugs.webkit.org/show_bug.cgi?id=183258

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

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

LayoutTests:

  • TestExpectations: Flag tests that are not passing right now.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-001-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-004-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-016-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-text/white-space/seg-break-transformation-017-expected.txt: Added.
  • platform/gtk/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapse-002-expected.txt: Added.
  • platform/ios-simulator/TestExpectations: Flag tests that are not passing right now.
12:46 AM Changeset in webkit [232056] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

Crash when loading a SVG image
https://bugs.webkit.org/show_bug.cgi?id=185819

Reviewed by Brent Fulgham.

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

  • WebProcess/Network/WebLoaderStrategy.cpp:

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

12:04 AM Changeset in webkit [232055] by bshafiei@apple.com
  • 2 edits in branches/safari-606.1.17.40-branch/Source/WebKit

Cherry-pick r231653. rdar://problem/40093461

Drop-down Control borders missing.
https://bugs.webkit.org/show_bug.cgi?id=185500
<rdar://problem/40093461>

Reviewed by Brent Fulgham.

Open sandbox for reading of some files in temp folder.

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

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

12:04 AM Changeset in webkit [232054] by bshafiei@apple.com
  • 2 edits in branches/safari-606.1.17.40-branch/Source/WebKit

Revert r231641. rdar://problem/40093461

May 21, 2018:

11:48 PM Changeset in webkit [232053] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17.40-branch/Source

Versioning.

11:46 PM Changeset in webkit [232052] by Yusuke Suzuki
  • 38 edits in trunk

Use more C++17
https://bugs.webkit.org/show_bug.cgi?id=185176

Reviewed by JF Bastien.

PerformanceTests:

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

Source/bmalloc:

Add BNO_RETURN.

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

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:

Source/WebCore:

  • Configurations/Base.xcconfig:
  • DerivedSources.make:
  • platform/ios/LegacyTileGrid.mm:

(WebCore::LegacyTileGrid::dropDistantTiles):

Source/WebCore/PAL:

  • Configurations/Base.xcconfig:

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:

Source/WebKit:

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

Source/WebKitLegacy/mac:

  • Configurations/Base.xcconfig:
  • Configurations/WebKitLegacy.xcconfig:

Source/WTF:

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

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • ImageDiff/cg/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/Base.xcconfig:
  • MobileMiniBrowser/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
11:44 PM Changeset in webkit [232051] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17.30-branch/Source

Versioning.

11:42 PM Changeset in webkit [232050] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17.20-branch/Source

Versioning.

11:08 PM Changeset in webkit [232049] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK][Wayland] UI process crash when closing the window
https://bugs.webkit.org/show_bug.cgi?id=185818

Reviewed by Michael Catanzaro.

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

  • UIProcess/gtk/InputMethodFilter.cpp:

(WebKit::InputMethodFilter::setEnabled): Only send notify-in if the view is actually focused.

10:46 PM Changeset in webkit [232048] by Yusuke Suzuki
  • 10 edits in trunk/Source/JavaScriptCore

[JSC] Remove duplicate methods in JSInterfaceJIT
https://bugs.webkit.org/show_bug.cgi?id=185813

Reviewed by Saam Barati.

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

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

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::tagFor):
(JSC::AssemblyHelpers::payloadFor):

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_unsigned):
(JSC::JIT::emit_compareUnsigned):
(JSC::JIT::emit_op_inc):
(JSC::JIT::emit_op_dec):
(JSC::JIT::emit_op_mod):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITInlines.h:

(JSC::JIT::emitPutIntToCallFrameHeader):
(JSC::JIT::updateTopCallFrame):
(JSC::JIT::emitInitRegister):
(JSC::JIT::emitLoad):
(JSC::JIT::emitStore):
(JSC::JIT::emitStoreInt32):
(JSC::JIT::emitStoreCell):
(JSC::JIT::emitStoreBool):
(JSC::JIT::emitGetVirtualRegister):
(JSC::JIT::emitPutVirtualRegister):
(JSC::JIT::emitTagBool): Deleted.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_overrides_has_instance):
(JSC::JIT::emit_op_is_empty):
(JSC::JIT::emit_op_is_undefined):
(JSC::JIT::emit_op_is_boolean):
(JSC::JIT::emit_op_is_number):
(JSC::JIT::emit_op_is_cell_with_type):
(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_eq):
(JSC::JIT::emit_op_neq):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emitSlow_op_neq):
(JSC::JIT::emitSlow_op_instanceof_custom):
(JSC::JIT::emitNewFuncExprCommon):

  • jit/JSInterfaceJIT.h:

(JSC::JSInterfaceJIT::emitLoadInt32):
(JSC::JSInterfaceJIT::emitLoadDouble):
(JSC::JSInterfaceJIT::emitPutToCallFrameHeader):
(JSC::JSInterfaceJIT::emitPutCellToCallFrameHeader):
(JSC::JSInterfaceJIT::tagFor): Deleted.
(JSC::JSInterfaceJIT::payloadFor): Deleted.
(JSC::JSInterfaceJIT::intPayloadFor): Deleted.
(JSC::JSInterfaceJIT::intTagFor): Deleted.
(JSC::JSInterfaceJIT::emitTagInt): Deleted.
(JSC::JSInterfaceJIT::addressFor): Deleted.

  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::returnDouble):

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):
(JSC::arityFixupGenerator):

9:54 PM Changeset in webkit [232047] by Yusuke Suzuki
  • 51 edits
    6 adds in trunk

Unreviewed, reland InById cache
https://bugs.webkit.org/show_bug.cgi?id=185682

JSTests:

  • stress/in-by-id-accessors.js: Added.

(shouldBe):
(test):
(protoGetter.proto.get hello):
(protoSetter.proto.set hello):
(i.shouldBe.test.get hello):
(i.shouldBe.test.set hello):

  • stress/in-by-id-ai.js: Added.

(shouldBe):
(test):

  • stress/in-by-id-custom-accessors.js: Added.

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

  • stress/in-by-id-custom-values.js: Added.

(shouldBe):
(test):

  • stress/in-by-id-operation.js: Added.

(shouldBe):
(test):
(selfCache):

  • stress/in-by-id-proxy.js: Added.

(shouldBe):
(test):
(handler.has):

Source/JavaScriptCore:

Includes Dominik's 32bit fix.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::fromStructureStubInfo):
(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generateImpl):

  • bytecode/BytecodeDumper.cpp:

(JSC::BytecodeDumper<Block>::printInByIdCacheStatus):
(JSC::BytecodeDumper<Block>::dumpBytecode):

  • bytecode/BytecodeDumper.h:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):

  • bytecode/InlineAccess.cpp:

(JSC::InlineAccess::generateSelfInAccess):

  • bytecode/InlineAccess.h:
  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::initInByIdSelf):
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::aboutToDie):
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::visitWeakReferences):
(JSC::StructureStubInfo::propagateTransitions):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::patchableJump):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitInByVal):
(JSC::BytecodeGenerator::emitInById):
(JSC::BytecodeGenerator::emitIn): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::InNode::emitBytecode):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::addInById):
(JSC::DFG::InRecord::InRecord): Deleted.
(JSC::DFG::JITCompiler::addIn): Deleted.

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToInById):
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasArrayMode):

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

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileInById):
(JSC::DFG::SpeculativeJIT::compileInByVal):
(JSC::DFG::SpeculativeJIT::compileIn): Deleted.

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileInByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileInById):
(JSC::FTL::DFG::LowerDFGToB3::compileIn): Deleted.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::boxBoolean):

  • jit/ICStats.h:
  • jit/JIT.cpp:

(JSC::JIT::JIT):
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::link):

  • jit/JIT.h:
  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITInByIdGenerator::JITInByIdGenerator):
(JSC::JITInByIdGenerator::generateFastPath):

  • jit/JITInlineCacheGenerator.h:

(JSC::JITInByIdGenerator::JITInByIdGenerator):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emitSlow_op_in_by_id):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emitSlow_op_in_by_id):

  • jit/Repatch.cpp:

(JSC::tryCacheInByID):
(JSC::repatchInByID):
(JSC::resetInByID):
(JSC::tryCacheIn): Deleted.
(JSC::repatchIn): Deleted.
(JSC::resetIn): Deleted.

  • jit/Repatch.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • parser/NodeConstructors.h:

(JSC::InNode::InNode):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opInByVal):
(JSC::CommonSlowPaths::opIn): Deleted.

9:04 PM Changeset in webkit [232046] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebKit

Remove unused and no-op WKContextSetCookieStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=185857

Reviewed by Youenn Fablet.

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

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetCookieStorageDirectory): Deleted.

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/WebProcessPool.h:
8:43 PM Changeset in webkit [232045] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

[LFC] Box::isDescendantOf() should work with out-of-flow elements.
https://bugs.webkit.org/show_bug.cgi?id=185812

Reviewed by Antti Koivisto.

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

  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::isDescendantOf const):

8:11 PM Changeset in webkit [232044] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Remove dead exception in MediaList.appendMedium
https://bugs.webkit.org/show_bug.cgi?id=185278

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

Source/WebCore:

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

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

  • css/MediaList.cpp:

(WebCore::MediaQuerySet::add):
(WebCore::MediaList::appendMedium):

  • css/MediaList.h:
  • css/MediaList.idl:

Source/WebKit:

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

  • WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaList.cpp:

(webkit_dom_media_list_append_medium):

Source/WebKitLegacy/mac:

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

  • DOM/DOMMediaList.mm:

(-[DOMMediaList appendMedium:]):

7:24 PM Changeset in webkit [232043] by Chris Dumez
  • 14 edits
    1 copy
    1 move
    3 adds
    3 deletes in trunk

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

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

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

  • web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests-harness.js: Added.

(runStructuredCloneBatteryOfTests):

  • web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests-with-transferables.js: Added.

(structuredCloneBatteryOfTests.push.async.f):

  • web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/structured-clone/common.js.

(async.compare_Blob):
(get_canvas_1x1_transparent_black):
(get_canvas_1x1_non_transparent_non_black):
(compare_ImageBitmap):
(structuredCloneBatteryOfTests.push.async.f):

  • web-platform-tests/html/webappapis/structured-clone/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/structured-clone/w3c-import.log.
  • web-platform-tests/workers/semantics/structured-clone/dedicated-expected.txt:
  • web-platform-tests/workers/semantics/structured-clone/dedicated.html:
  • web-platform-tests/workers/semantics/structured-clone/dedicated.js: Removed.
  • web-platform-tests/workers/semantics/structured-clone/shared-expected.txt:
  • web-platform-tests/workers/semantics/structured-clone/shared.html:
  • web-platform-tests/workers/semantics/structured-clone/shared.js: Removed.
  • web-platform-tests/workers/semantics/structured-clone/w3c-import.log:
  • web-platform-tests/workers/semantics/structured-clone/worker-common.js: Removed.

Source/WebCore:

Update our implementation for the stuctured serialization of a File to include
its lastModified attribute, as per:

No new tests, rebaselined existing test.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::readFile):

  • fileapi/File.cpp:

(WebCore::File::File):

  • fileapi/File.h:

LayoutTests:

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

6:41 PM Changeset in webkit [232042] by Alan Bujtas
  • 6 edits
    1 add in trunk/Source/WebCore

[LFC] Add FormattingContext::validateGeometryConstraintsAfterLayout
https://bugs.webkit.org/show_bug.cgi?id=185811

Reviewed by Antti Koivisto.

Also implement LayoutDescendantIterator and fix LayoutIterator.

  • WebCore.xcodeproj/project.pbxproj:
  • layout/FormattingContext.cpp:

(WebCore::Layout::FormattingContext::validateGeometryConstraintsAfterLayout const):

  • layout/FormattingContext.h:
  • layout/blockformatting/BlockFormattingContext.cpp:

(WebCore::Layout::BlockFormattingContext::layout const):

  • layout/layouttree/LayoutDescendantIterator.h: Added.

(WebCore::Layout::LayoutDescendantIterator<T>::LayoutDescendantIterator):
(WebCore::Layout::LayoutDescendantIterator<T>::operator):
(WebCore::Layout::LayoutDescendantIteratorAdapter<T>::LayoutDescendantIteratorAdapter):
(WebCore::Layout::LayoutDescendantIteratorAdapter<T>::begin):
(WebCore::Layout::LayoutDescendantIteratorAdapter<T>::end):
(WebCore::Layout::LayoutDescendantIteratorAdapter<T>::at):
(WebCore::Layout::descendantsOfType):

  • layout/layouttree/LayoutIterator.h:

(WebCore::Layout::LayoutBoxTraversal::firstChild):
(WebCore::Layout::LayoutBoxTraversal::nextAncestorSibling):
(WebCore::Layout::LayoutBoxTraversal::next):
(WebCore::Layout::LayoutBoxTraversal::nextSkippingChildren):
(WebCore::Layout::Traversal::firstChild):
(WebCore::Layout::Traversal::nextSibling):
(WebCore::Layout::Traversal::previousSibling):
(WebCore::Layout::Traversal::findAncestorOfType):
(WebCore::Layout::Traversal::firstWithin):
(WebCore::Layout::Traversal::next):
(WebCore::Layout::LayoutIterator<T>::traversePreviousSibling):
(WebCore::Layout::LayoutIterator<T>::traverseAncestor):
(WebCore::Layout::Traversal::nextAncestorSibling): Deleted.
(WebCore::Layout::Traversal::nextWithin): Deleted.

6:37 PM Changeset in webkit [232041] by jiewen_tan@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, update crypto/subtle/ecdh-import-jwk-private-key-p384.html to correct input

  • crypto/subtle/ecdh-import-jwk-private-key-p384.html:
5:19 PM Changeset in webkit [232040] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Source/WebKit:
[iOS] Click events only fire once when editing
https://bugs.webkit.org/show_bug.cgi?id=185777

Patch by Aditya Keerthi <Aditya Keerthi> on 2018-05-21
Reviewed by Tim Horton.

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

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

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
(-[WKContentView gestureRecognizerShouldBegin:]):

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

Patch by Aditya Keerthi <Aditya Keerthi> on 2018-05-21
Reviewed by Tim Horton.

  • fast/events/ios/click-event-while-editing-node-expected.txt: Added.
  • fast/events/ios/click-event-while-editing-node.html: Added.
5:14 PM Changeset in webkit [232039] by Basuke Suzuki
  • 2 edits in trunk/Source/WebCore

[Curl] Bugfix for r231968, Suspend/Resume with WK2
https://bugs.webkit.org/show_bug.cgi?id=185830

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

Reviewed by Youenn Fablet.

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

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::suspend):
(WebCore::CurlRequest::resume):
(WebCore::CurlRequest::pausedStatusChanged):

5:03 PM Changeset in webkit [232038] by Fujii Hironori
  • 6 edits in trunk

[WinCairo] Enable WebKit build by default
https://bugs.webkit.org/show_bug.cgi?id=185141

Reviewed by Per Arne Vollan.

.:

  • Source/cmake/OptionsWin.cmake: Disable

ENABLE_NETSCAPE_PLUGIN_API unconditionally for WinCairo port
because it builds both WK1 and WK2.

  • Source/cmake/OptionsWinCairo.cmake: Turn ENABLE_WEBKIT on by default.

Remove BUILDING_WIN_CAIRO_WEBKIT macro.

Tools:

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

  • TestWebKitAPI/PlatformWin.cmake: Make TestWTFLib, TestWebCoreLib and TestWebKitLegacyLib depend on WebKitForwardingHeaders.
  • TestWebKitAPI/config.h: Use PLATFORM(WIN_CAIRO) instead of BUILDING_WIN_CAIRO_WEBKIT.
4:42 PM Changeset in webkit [232037] by commit-queue@webkit.org
  • 14 edits
    1 copy
    3 adds
    1 delete in trunk

Unreviewed, rolling out r232030.
https://bugs.webkit.org/show_bug.cgi?id=185850

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

Reverted changeset:

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

4:34 PM Changeset in webkit [232036] by bshafiei@apple.com
  • 1 copy in branches/safari-606.1.17.40-branch

New branch.

4:33 PM Changeset in webkit [232035] by bshafiei@apple.com
  • 1 copy in branches/safari-606.1.17.30-branch

New branch.

4:31 PM Changeset in webkit [232034] by bshafiei@apple.com
  • 1 copy in branches/safari-606.1.17.20-branch

New branch.

4:28 PM Changeset in webkit [232033] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION: performance-api/performance-observer-entry-sort.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=185385

Reviewed by Saam Barati.

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

  • performance-api/performance-observer-entry-sort.html:
4:15 PM Changeset in webkit [232032] by dbates@webkit.org
  • 40 edits
    4 copies
    8 adds in trunk

REGRESSION (r231107): CSP report-only policies are ignored for beacon, importScripts, fetch(), EventSource, and XHR
https://bugs.webkit.org/show_bug.cgi?id=185789
<rdar://problem/40380175>

Reviewed by Andy Estes.

Source/WebCore:

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

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

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

Tests: http/tests/security/contentSecurityPolicy/connect-src-beacon-allowed.html

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

  • WebCore.xcodeproj/project.pbxproj: Change SecurityPolicyViolationEvent.h from a project header to

a private header so that we can include it in WebKit code.

  • dom/Document.cpp:

(WebCore::Document::enqueueSecurityPolicyViolationEvent): Added.

  • dom/Document.h:
  • dom/EventInit.h:

(WebCore::EventInit::encode const):
(WebCore::EventInit::decode

  • dom/SecurityPolicyViolationEvent.h:

(WebCore::SecurityPolicyViolationEvent::Init::encode const):
(WebCore::SecurityPolicyViolationEvent::Init::decode):
Support encoding and decoding for the event.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::enqueueSecurityPolicyViolationEvent): Formerly named "dispatchSecurityPolicyViolationEvent".
(WebCore::DocumentLoader::dispatchSecurityPolicyViolationEvent): Deleted; renamed to "enqueueSecurityPolicyViolationEvent".

  • loader/DocumentLoader.h:
  • loader/DocumentThreadableLoader.cpp:

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

  • page/csp/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::reportViolation const): Build up a SecurityPolicyViolationEvent::Init and
pass that to the delegate to dispatch.

  • page/csp/ContentSecurityPolicy.h: Export allowScriptFromSource() and allowChildContextFromSource() so that

we can call them from WebKit.

  • page/csp/ContentSecurityPolicyClient.h: Update for renaming.
  • platform/network/ResourceRequestBase.h: Define a new requester type to be able to differentiate a request

initiated by importScripts() from other requests. We use this to perform the appropriate CSP checks in NetworkProcess.

  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::loadSynchronously): Set the requester on the ResourceRequest to ResourceRequest::Requester::ImportScripts
so that we can differentiate this request from other requests. See remark for file ResourceRequestBase.h for
more details.

Source/WebKit:

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

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::loadPing):

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::NetworkLoadChecker): Modified to take a reference to the NetworkConnectionToWebProcess,
the web page ID, the web frame ID, and the resource load identifier. These details are necessary
in order to implement the ContentSecurityPolicyClient interface.
(WebKit::NetworkLoadChecker::isAllowedByContentSecurityPolicy): Added.
(WebKit::NetworkLoadChecker::continueCheckingRequest): Write in terms of isAllowedByContentSecurityPolicy().
(WebKit::NetworkLoadChecker::contentSecurityPolicy): Pass ourself as the client so that we receive
delegate callbacks.
(WebKit::NetworkLoadChecker::addConsoleMessage): Added.
(WebKit::NetworkLoadChecker::sendCSPViolationReport): Added.
(WebKit::NetworkLoadChecker::enqueueSecurityPolicyViolationEvent): Added.

  • NetworkProcess/NetworkLoadChecker.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(NetworkResourceLoader::enqueueSecurityPolicyViolationEvent): Added.

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/PingLoad.cpp:

(WebKit::PingLoad::PingLoad): Modified to take a reference to the NetworkConnectionToWebProcess and pass
this through to the NetworkLoadChecker along with the web page ID, web frame ID and resource load identifier.

  • NetworkProcess/PingLoad.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::enqueueSecurityPolicyViolationEvent): Added.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Add message EnqueueSecurityPolicyViolationEvent.

LayoutTests:

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

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

  • http/tests/quicklook/same-origin-xmlhttprequest-allowed-expected.txt: Update expected result. Note that these results are

a continuation of a regression caused by r231107. See <https://bugs.webkit.org/show_bug.cgi?id=185807> for more details.

  • http/tests/security/contentSecurityPolicy/1.1/child-src/worker-redirect-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/connect-src-beacon-allowed-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/connect-src-beacon-allowed.html: Added.
  • http/tests/security/contentSecurityPolicy/connect-src-beacon-blocked-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/connect-src-beacon-blocked.html: Added.
  • http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-only-connect-src-beacon-redirect-blocked.php: Added.
  • http/tests/security/contentSecurityPolicy/report-only-connect-src-xmlhttprequest-redirect-to-blocked-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-only-connect-src-xmlhttprequest-redirect-to-blocked.php: Added.
  • http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt:
  • http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
  • http/wpt/beacon/connect-src-beacon-redirect-blocked.sub-expected.txt:
  • platform/mac-wk1/TestExpectations: Skip the beacon tests because we do not support beacon in WebKit1.
  • platform/mac-wk1/http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt:
  • platform/mac-wk1/http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt:
  • platform/mac-wk1/http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt: Added.
  • platform/mac-wk1/http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt: Added.
  • platform/win/TestExpectations: Skip the beacon tests because we do not support beacon in WebKit1.
  • platform/win/http/tests/security/contentSecurityPolicy/connect-src-eventsource-redirect-to-blocked-expected.txt:
  • platform/win/http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-redirect-to-blocked-expected.txt:
  • platform/win/http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt: Added.
  • platform/win/http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt: Added.
3:10 PM Changeset in webkit [232031] by BJ Burg
  • 2 edits in trunk/Source/WebKit

Web Automation: always return an empty cookie list if document.cookieURL() is empty
https://bugs.webkit.org/show_bug.cgi?id=185838
<rdar://problem/37737526>

Reviewed by Tim Horton.

  • WebProcess/Automation/WebAutomationSessionProxy.cpp:

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

2:53 PM Changeset in webkit [232030] by Chris Dumez
  • 14 edits
    1 copy
    1 move
    3 adds
    3 deletes in trunk

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

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

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

  • web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests-harness.js: Added.

(runStructuredCloneBatteryOfTests):

  • web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests-with-transferables.js: Added.

(structuredCloneBatteryOfTests.push.async.f):

  • web-platform-tests/html/webappapis/structured-clone/structured-clone-battery-of-tests.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/structured-clone/common.js.

(async.compare_Blob):
(get_canvas_1x1_transparent_black):
(get_canvas_1x1_non_transparent_non_black):
(compare_ImageBitmap):
(structuredCloneBatteryOfTests.push.async.f):

  • web-platform-tests/html/webappapis/structured-clone/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/workers/semantics/structured-clone/w3c-import.log.
  • web-platform-tests/workers/semantics/structured-clone/dedicated-expected.txt:
  • web-platform-tests/workers/semantics/structured-clone/dedicated.html:
  • web-platform-tests/workers/semantics/structured-clone/dedicated.js: Removed.
  • web-platform-tests/workers/semantics/structured-clone/shared-expected.txt:
  • web-platform-tests/workers/semantics/structured-clone/shared.html:
  • web-platform-tests/workers/semantics/structured-clone/shared.js: Removed.
  • web-platform-tests/workers/semantics/structured-clone/w3c-import.log:
  • web-platform-tests/workers/semantics/structured-clone/worker-common.js: Removed.

Source/WebCore:

Update our implementation for the stuctured serialization of a File to include
its lastModified attribute, as per:

No new tests, rebaselined existing test.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::readFile):

  • fileapi/File.cpp:

(WebCore::File::File):

  • fileapi/File.h:

LayoutTests:

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

2:52 PM Changeset in webkit [232029] by commit-queue@webkit.org
  • 50 edits
    6 deletes in trunk

Unreviewed, rolling out r231998 and r232017.
https://bugs.webkit.org/show_bug.cgi?id=185842

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

Reverted changesets:

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

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

2:47 PM Changeset in webkit [232028] by BJ Burg
  • 2 edits in trunk/Source/WebKit

Web Automation: terminate the automation session if the network or storage process crashes
https://bugs.webkit.org/show_bug.cgi?id=185827
<rdar://problem/40424020>

Reviewed by Tim Horton.

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

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::networkProcessFailedToLaunch):
(WebKit::WebProcessPool::storageProcessCrashed):

2:36 PM Changeset in webkit [232027] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests/imported/w3c

Add expected results for imported/w3c/web-platform-tests/css/cssom/interfaces.html
https://bugs.webkit.org/show_bug.cgi?id=185834

Unreviewed test gardening.

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

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

  • web-platform-tests/css/cssom/interfaces-expected.txt: Added.
2:28 PM Changeset in webkit [232026] by eric.carlson@apple.com
  • 3 edits in trunk/LayoutTests

Improve NowPlaying "title"
https://bugs.webkit.org/show_bug.cgi?id=185680
<rdar://problem/40296700>

Unreviewed test fix.

  • http/tests/media/now-playing-info-expected.txt:
  • http/tests/media/now-playing-info.html: Don't test .elapsedTime before seeking because

the time value can take a while to "settle" when a file has just loaded.

1:57 PM Changeset in webkit [232025] by sihui_liu@apple.com
  • 3 edits in trunk/Source/WebKit

Add a diskCacheSizeOverride accessor function on WKContextConfigurationRef
https://bugs.webkit.org/show_bug.cgi?id=185826
<rdar://problem/39732113>

Reviewed by Alex Christensen.

  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationDiskCacheSizeOverride):
(WKContextConfigurationSetDiskCacheSizeOverride):

  • UIProcess/API/C/WKContextConfigurationRef.h:
1:50 PM Changeset in webkit [232024] by jer.noble@apple.com
  • 15 edits
    1 copy in trunk

Complete fix for enabling modern EME by default
https://bugs.webkit.org/show_bug.cgi?id=185770
<rdar://problem/40368220>

Reviewed by Eric Carlson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

  • platform/mac/TestExpectations:
  • platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt:
  • platform/mac/fast/dom/navigator-detached-no-crash-expected.txt:
11:19 AM Changeset in webkit [232023] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[CMake][WebCore] fix sqlite include dir variable
https://bugs.webkit.org/show_bug.cgi?id=185825

Patch by Olivier Blin <Olivier Blin> on 2018-05-21
Reviewed by Konstantin Tokarev.

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

No new tests, build fix only.

  • CMakeLists.txt: Use SQLITE_INCLUDE_DIR instead of SQLITE_INCLUDE_DIRS.
11:17 AM Changeset in webkit [232022] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebDriver

[WPE][WebDriver] add ICU include dirs
https://bugs.webkit.org/show_bug.cgi?id=185824

Patch by Olivier Blin <Olivier Blin> on 2018-05-21
Reviewed by Konstantin Tokarev.

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

  • PlatformWPE.cmake: Add ICU include dirs
10:53 AM Changeset in webkit [232021] by chris.reid@sony.com
  • 2 edits in trunk/Tools

Unreviewed, add myself as a WebKit committer.

  • Scripts/webkitpy/common/config/contributors.json:
10:52 AM Changeset in webkit [232020] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Propagate WebCore system include dirs in WebCoreHeaderInterface
https://bugs.webkit.org/show_bug.cgi?id=185822

Patch by Olivier Blin <Olivier Blin> on 2018-05-21
Reviewed by Michael Catanzaro.

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

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

No new tests, build fix.

  • CMakeLists.txt:
10:50 AM Changeset in webkit [232019] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix FrameLoader build without video
https://bugs.webkit.org/show_bug.cgi?id=185821

Patch by Olivier Blin <Olivier Blin> on 2018-05-21
Reviewed by Michael Catanzaro.

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

No new tests, build fix only.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkCompleted): Flag HTMLMediaElement::isRunningDestructor() usage.

9:55 AM Changeset in webkit [232018] by commit-queue@webkit.org
  • 156 edits in trunk/Source

Modernize RenderStyleConstants.h - Part 1
https://bugs.webkit.org/show_bug.cgi?id=185809

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

Modernized the first set of enums in RenderStyleConstants.h by:

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

Modernizes the following enums:

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

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXAttributeStringSetStyle):

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForCenterCoordinate):
(WebCore::valueForBasicShape):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::sizingBox):
(WebCore::fillRepeatToCSSValue):
(WebCore::fillSourceTypeToCSSValue):
(WebCore::fillSizeToCSSValue):
(WebCore::valueForItemPositionWithOverflowAlignment):
(WebCore::valueForContentPositionAndDistributionWithOverflowAlignment):
(WebCore::ComputedStyleExtractor::valueForPropertyinStyle):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator LineClampValue const):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ColumnFill const):
(WebCore::CSSPrimitiveValue::operator ColumnSpan const):
(WebCore::CSSPrimitiveValue::operator PrintColorAdjust const):
(WebCore::CSSPrimitiveValue::operator BorderStyle const):
(WebCore::CSSPrimitiveValue::operator OutlineIsAuto const):
(WebCore::CSSPrimitiveValue::operator BackfaceVisibility const):
(WebCore::CSSPrimitiveValue::operator FillAttachment const):
(WebCore::CSSPrimitiveValue::operator FillBox const):
(WebCore::CSSPrimitiveValue::operator FillRepeat const):
(WebCore::CSSPrimitiveValue::operator BoxPack const):
(WebCore::CSSPrimitiveValue::operator BoxAlignment const):
(WebCore::CSSPrimitiveValue::operator BoxDecorationBreak const):
(WebCore::CSSPrimitiveValue::operator BoxSizing const):
(WebCore::CSSPrimitiveValue::operator BoxDirection const):
(WebCore::CSSPrimitiveValue::operator BoxLines const):
(WebCore::CSSPrimitiveValue::operator BoxOrient const):
(WebCore::CSSPrimitiveValue::operator Clear const):
(WebCore::CSSPrimitiveValue::operator FlexDirection const):
(WebCore::CSSPrimitiveValue::operator AlignContent const):
(WebCore::CSSPrimitiveValue::operator FlexWrap const):
(WebCore::CSSPrimitiveValue::operator Float const):
(WebCore::CSSPrimitiveValue::operator LineBreak const):
(WebCore::CSSPrimitiveValue::operator MarginCollapse const):
(WebCore::CSSPrimitiveValue::operator NBSPMode const):
(WebCore::CSSPrimitiveValue::operator Overflow const):
(WebCore::CSSPrimitiveValue::operator PositionType const):
(WebCore::CSSPrimitiveValue::operator Resize const):
(WebCore::CSSPrimitiveValue::operator TableLayoutType const):
(WebCore::CSSPrimitiveValue::operator TextSecurity const):
(WebCore::CSSPrimitiveValue::operator UserDrag const):
(WebCore::CSSPrimitiveValue::operator UserModify const):
(WebCore::CSSPrimitiveValue::operator UserSelect const):
(WebCore::CSSPrimitiveValue::operator VerticalAlign const):
(WebCore::CSSPrimitiveValue::operator WordBreak const):
(WebCore::CSSPrimitiveValue::operator OverflowWrap const):
(WebCore::CSSPrimitiveValue::operator TextCombine const):
(WebCore::CSSPrimitiveValue::operator TextOverflow const):
(WebCore::CSSPrimitiveValue::operator ObjectFit const):
(WebCore::CSSPrimitiveValue::operator Isolation const):
(WebCore::CSSPrimitiveValue::operator BorderCollapse const):
(WebCore::CSSPrimitiveValue::operator ImageRendering const):
(WebCore::CSSPrimitiveValue::operator TransformStyle3D const):
(WebCore::CSSPrimitiveValue::operator ItemPosition const):
(WebCore::CSSPrimitiveValue::operator OverflowAlignment const):
(WebCore::CSSPrimitiveValue::operator ContentPosition const):
(WebCore::CSSPrimitiveValue::operator ContentDistribution const):
(WebCore::CSSPrimitiveValue::operator EBorderStyle const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBackfaceVisibility const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFillAttachment const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFillBox const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFillRepeat const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxPack const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxAlignment const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxDecorationBreak const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxSizing const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxDirection const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxLines const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBoxOrient const): Deleted.
(WebCore::CSSPrimitiveValue::operator EClear const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFlexDirection const): Deleted.
(WebCore::CSSPrimitiveValue::operator EAlignContent const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFlexWrap const): Deleted.
(WebCore::CSSPrimitiveValue::operator EFloat const): Deleted.
(WebCore::CSSPrimitiveValue::operator EMarginCollapse const): Deleted.
(WebCore::CSSPrimitiveValue::operator ENBSPMode const): Deleted.
(WebCore::CSSPrimitiveValue::operator EOverflow const): Deleted.
(WebCore::CSSPrimitiveValue::operator EPosition const): Deleted.
(WebCore::CSSPrimitiveValue::operator EResize const): Deleted.
(WebCore::CSSPrimitiveValue::operator ETableLayout const): Deleted.
(WebCore::CSSPrimitiveValue::operator ETextSecurity const): Deleted.
(WebCore::CSSPrimitiveValue::operator EUserDrag const): Deleted.
(WebCore::CSSPrimitiveValue::operator EUserModify const): Deleted.
(WebCore::CSSPrimitiveValue::operator EUserSelect const): Deleted.
(WebCore::CSSPrimitiveValue::operator EVerticalAlign const): Deleted.
(WebCore::CSSPrimitiveValue::operator EWordBreak const): Deleted.
(WebCore::CSSPrimitiveValue::operator EOverflowWrap const): Deleted.
(WebCore::CSSPrimitiveValue::operator EBorderCollapse const): Deleted.
(WebCore::CSSPrimitiveValue::operator EImageRendering const): Deleted.
(WebCore::CSSPrimitiveValue::operator ETransformStyle3D const): Deleted.
(WebCore::CSSPrimitiveValue::operator ContentDistributionType const): Deleted.

  • css/CSSProperties.json:
  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapFillAttachment):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillMaskSourceType):

  • css/CSSValueKeywords.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertResize):
(WebCore::StyleBuilderConverter::convertSelfOrDefaultAlignmentData):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueTextIndent):
(WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyValueContent):

  • css/StyleResolver.cpp:

(WebCore::isScrollableOverflow):
(WebCore::StyleResolver::adjustRenderStyle):

  • css/StyleResolver.h:
  • css/makeprop.pl:

(getFillLayerType):

  • dom/Element.h:
  • dom/Node.cpp:

(WebCore::computeEditabilityFromComputedStyle):
(WebCore::Node::canStartSelection const):

  • dom/Position.cpp:

(WebCore::Position::nodeIsUserSelectNone):
(WebCore::Position::nodeIsUserSelectAll):

  • dom/Range.cpp:

(WebCore::Range::collectSelectionRectsWithoutUnionInteriorLines const):

  • editing/ApplyBlockElementCommand.cpp:

(WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::doApply):

  • editing/Editing.cpp:

(WebCore::isSpecialHTMLElement):

  • editing/EditorCommand.cpp:

(WebCore::verticalScrollDistance):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply):

  • editing/SimplifyMarkupCommand.cpp:

(WebCore::SimplifyMarkupCommand::doApply):

  • editing/VisibleUnits.cpp:

(WebCore::backwardSearchForBoundaryWithTextIterator):
(WebCore::forwardSearchForBoundaryWithTextIterator):

  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::fontAttributesForSelectionStart const):

  • editing/cocoa/HTMLConverter.mm:

(WebCore::editingAttributedStringFromRange):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::shouldTruncateText const):
(WebCore::HTMLInputElement::createInnerTextStyle):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::adjustInnerTextStyle const):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::RenderSliderContainer::layout):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlInnerContainer::resolveCustomStyle):
(WebCore::TextControlInnerElement::resolveCustomStyle):
(WebCore::TextControlPlaceholderElement::resolveCustomStyle):

  • layout/displaytree/DisplayBox.cpp:

(WebCore::Display::Box::borderBox const):
(WebCore::Display::Box::contentBox const):

  • layout/displaytree/DisplayBox.h:
  • layout/layouttree/LayoutBox.cpp:

(WebCore::Layout::Box::isRelativelyPositioned const):
(WebCore::Layout::Box::isStickyPositioned const):
(WebCore::Layout::Box::isAbsolutelyPositioned const):
(WebCore::Layout::Box::isFixedPositioned const):
(WebCore::Layout::Box::isFloatingPositioned const):
(WebCore::Layout::Box::isOverflowVisible const):

  • page/DragController.cpp:

(WebCore::DragController::draggableElement const):

  • page/Frame.cpp:

(WebCore::Frame::rangeForPoint):

  • page/FrameView.cpp:

(WebCore::paginationModeForRenderStyle):
(WebCore::FrameView::applyOverflowToViewport):
(WebCore::FrameView::applyPaginationToViewport):
(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::calculateExtendedBackgroundMode const):
(WebCore::FrameView::adjustScrollStepForFixedContent):

  • page/SpatialNavigation.cpp:

(WebCore::canScrollInDirection):
(WebCore::canBeScrolledIntoView):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::nodeRespondingToScrollWheelEvents):

  • page/mac/EventHandlerMac.mm:

(WebCore::scrolledToEdgeInDominantDirection):

  • rendering/BorderEdge.cpp:

(WebCore::BorderEdge::BorderEdge):
(WebCore::BorderEdge::obscuresBackgroundEdge const):
(WebCore::BorderEdge::obscuresBackground const):

  • rendering/BorderEdge.h:

(WebCore::BorderEdge::style const):
(WebCore::BorderEdge::hasVisibleColorAndStyle const):

  • rendering/FlexibleBoxAlgorithm.h:

(WebCore::FlexLayoutAlgorithm::isMultiline const):

  • rendering/FloatingObjects.cpp:

(WebCore::FloatingObject::FloatingObject):

  • rendering/GridTrackSizingAlgorithm.cpp:

(WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild const):
(WebCore::GridTrackSizingAlgorithm::stretchAutoTracks):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::innerTextIfTruncated const):

  • rendering/ImageQualityController.cpp:

(WebCore::ImageQualityController::interpolationQualityFromStyle):

  • rendering/InlineBox.h:

(WebCore::InlineBox::verticalAlign const):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::paintFillLayer):

  • rendering/LogicalSelectionOffsetCaches.h:

(WebCore::LogicalSelectionOffsetCaches::containingBlockInfo const):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removePositionedObjectsIfNeeded):
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::isSelfCollapsingBlock const):
(WebCore::RenderBlock::addOverflowFromPositionedObjects):
(WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
(WebCore::RenderBlock::isSelectionRoot const):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths const):
(WebCore::RenderBlock::adjustBorderBoxLogicalHeightForBoxSizing const):
(WebCore::RenderBlock::adjustContentBoxLogicalHeightForBoxSizing const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::MarginInfo::MarginInfo):
(WebCore::RenderBlockFlow::willCreateColumns const):
(WebCore::RenderBlockFlow::marginOffsetForSelfCollapsingBlock):
(WebCore::RenderBlockFlow::clearFloatsIfNeeded):
(WebCore::RenderBlockFlow::marginBeforeEstimateForChild const):
(WebCore::RenderBlockFlow::setMustDiscardMarginBefore):
(WebCore::RenderBlockFlow::setMustDiscardMarginAfter):
(WebCore::RenderBlockFlow::mustDiscardMarginBefore const):
(WebCore::RenderBlockFlow::mustDiscardMarginAfter const):
(WebCore::RenderBlockFlow::mustDiscardMarginBeforeForChild const):
(WebCore::RenderBlockFlow::mustDiscardMarginAfterForChild const):
(WebCore::RenderBlockFlow::mustSeparateMarginBeforeForChild const):
(WebCore::RenderBlockFlow::mustSeparateMarginAfterForChild const):
(WebCore::RenderBlockFlow::styleDidChange):
(WebCore::RenderBlockFlow::styleWillChange):
(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
(WebCore::RenderBlockFlow::positionNewFloats):
(WebCore::RenderBlockFlow::clearFloats):
(WebCore::RenderBlockFlow::getClearDelta):
(WebCore::RenderBlockFlow::inlineBlockBaseline const):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::expansionBehaviorForInlineTextBox):
(WebCore::isCollapsibleSpace):
(WebCore::RenderBlockFlow::layoutRunsAndFloats):
(WebCore::RenderBlockFlow::layoutLineBoxes):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleWillChange):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateFromStyle):
(WebCore::RenderBox::includeVerticalScrollbarSize const):
(WebCore::RenderBox::includeHorizontalScrollbarSize const):
(WebCore::RenderBox::intrinsicScrollbarLogicalWidth const):
(WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior const):
(WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior const):
(WebCore::RenderBox::adjustBorderBoxLogicalWidthForBoxSizing const):
(WebCore::RenderBox::adjustBorderBoxLogicalHeightForBoxSizing const):
(WebCore::RenderBox::adjustContentBoxLogicalWidthForBoxSizing const):
(WebCore::RenderBox::adjustContentBoxLogicalHeightForBoxSizing const):
(WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect const):
(WebCore::isCandidateForOpaquenessTest):
(WebCore::RenderBox::foregroundIsKnownToBeOpaqueInRect const):
(WebCore::RenderBox::backgroundHasOpaqueTopLayer const):
(WebCore::RenderBox::computeRectForRepaint const):
(WebCore::RenderBox::computeLogicalWidthInFragment const):
(WebCore::RenderBox::columnFlexItemHasStretchAlignment const):
(WebCore::RenderBox::isStretchingColumnFlexItem const):
(WebCore::RenderBox::hasStretchedLogicalWidth const):
(WebCore::RenderBox::sizesLogicalWidthToFitContent const):
(WebCore::RenderBox::computeLogicalHeight const):
(WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing const):
(WebCore::RenderBox::createsNewFormattingContext const):

  • rendering/RenderBox.h:

(WebCore::RenderBox::scrollsOverflowX const):
(WebCore::RenderBox::scrollsOverflowY const):
(WebCore::RenderBox::selfAlignmentNormalBehavior const):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateFillTileSize const):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry const):
(WebCore::styleRequiresClipPolygon):
(WebCore::borderStyleFillsBorderArea):
(WebCore::borderStyleHasInnerDetail):
(WebCore::borderStyleIsDottedOrDashed):
(WebCore::borderStyleHasUnmatchedColorsAtCorner):
(WebCore::borderStylesRequireMitre):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::FlexBoxIterator::FlexBoxIterator):
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):

  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::adjustStyleDifference const):
(WebCore::RenderElement::shouldRepaintForStyleDifference const):
(WebCore::RenderElement::initializeStyle):
(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::didAttachChild):
(WebCore::RenderElement::propagateStyleToAnonymousChildren):
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::styleDidChange):
(WebCore::mustRepaintFillLayers):
(WebCore::RenderElement::selectionColor const):
(WebCore::RenderElement::selectionBackgroundColor const):
(WebCore::RenderElement::drawLineForBoxSide const):
(WebCore::RenderElement::paintFocusRing):
(WebCore::RenderElement::paintOutline):
(WebCore::RenderElement::updateOutlineAutoAncestor):
(WebCore::includeNonFixedHeight):

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasHiddenBackface const):
(WebCore::RenderElement::canContainAbsolutelyPositionedObjects const):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::firstLineBaseline const):
(WebCore::contentAlignmentNormalBehavior):
(WebCore::RenderFlexibleBox::styleDidChange):
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::RenderFlexibleBox::isLeftToRightFlow const):
(WebCore::RenderFlexibleBox::isMultiline const):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
(WebCore::RenderFlexibleBox::crossSizeForPercentageResolution):
(WebCore::initialJustifyContentOffset):
(WebCore::justifyContentSpaceBetweenChildren):
(WebCore::alignmentOffset):
(WebCore::RenderFlexibleBox::staticMainAxisPositionForPositionedChild):
(WebCore::RenderFlexibleBox::staticCrossAxisPositionForPositionedChild):
(WebCore::RenderFlexibleBox::alignmentForChild const):
(WebCore::RenderFlexibleBox::needToStretchChildLogicalHeight const):
(WebCore::RenderFlexibleBox::mainAxisOverflowForChild const):
(WebCore::RenderFlexibleBox::crossAxisOverflowForChild const):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
(WebCore::initialAlignContentOffset):
(WebCore::alignContentSpaceBetweenChildren):
(WebCore::RenderFlexibleBox::alignFlexLines):
(WebCore::RenderFlexibleBox::alignChildren):

  • rendering/RenderFlexibleBox.h:
  • rendering/RenderFragmentContainer.cpp:

(WebCore::RenderFragmentContainer::overflowRectForFragmentedFlowPortion):

  • rendering/RenderFullScreen.cpp:

(WebCore::createFullScreenStyle):

  • rendering/RenderFullScreen.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::selfAlignmentChangedToStretch const):
(WebCore::RenderGrid::selfAlignmentChangedFromStretch const):
(WebCore::RenderGrid::styleDidChange):
(WebCore::contentAlignmentNormalBehaviorGrid):
(WebCore::computeOverflowAlignmentOffset):
(WebCore::RenderGrid::isInlineBaselineAlignedChild const):
(WebCore::RenderGrid::columnAxisPositionForChild const):
(WebCore::RenderGrid::rowAxisPositionForChild const):
(WebCore::RenderGrid::resolveAutoStartGridPosition const):
(WebCore::RenderGrid::resolveAutoEndGridPosition const):
(WebCore::resolveContentDistributionFallback):
(WebCore::contentDistributionOffset):
(WebCore::RenderGrid::computeContentPositionAndDistributionOffset const):

  • rendering/RenderGrid.h:
  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::requiresLayer const):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::styleDidChange):
(WebCore::RenderImage::foregroundIsKnownToBeOpaqueInRect const):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::styleWillChange):
(WebCore::RenderInline::updateAlwaysCreateLineBoxes):
(WebCore::RenderInline::paintOutline):
(WebCore::RenderInline::paintOutlineForLine):

  • rendering/RenderLayer.cpp:

(WebCore::isContainerForPositioned):
(WebCore::RenderLayer::enclosingAncestorForPosition const):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::canResize const):
(WebCore::RenderLayer::resize):
(WebCore::RenderLayer::scrollCornerRect const):
(WebCore::resizerCornerRect):
(WebCore::RenderLayer::hasOverflowControls const):
(WebCore::styleRequiresScrollbar):
(WebCore::styleDefinesAutomaticScrollbar):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::hitTestOverflowControls):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::canDirectlyCompositeBackgroundBackgroundImage):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer const):
(WebCore::backgroundRectForBox):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::isScrollableOverflow):
(WebCore::styleChangeRequiresLayerRebuild):
(WebCore::RenderLayerCompositor::layerStyleChanged):
(WebCore::RenderLayerCompositor::reasonsForCompositing const):
(WebCore::RenderLayerCompositor::requiresCompositingForBackfaceVisibility const):
(WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason const):
(WebCore::RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer const):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition const):
(WebCore::RenderLayerCompositor::layerHas3DContent const):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleWillChange):

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::adjustInnerStyle):

  • rendering/RenderMultiColumnFlow.cpp:

(WebCore::RenderMultiColumnFlow::isColumnSpanningDescendant const):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::requiresBalancing const):
(WebCore::RenderMultiColumnSet::paintColumnRules):

  • rendering/RenderMultiColumnSpannerPlaceholder.cpp:

(WebCore::RenderMultiColumnSpannerPlaceholder::createAnonymous):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::propagateRepaintToParentWithOutlineAutoIfNeeded const):
(WebCore::containerForElement):
(WebCore::RenderObject::calculateBorderStyleColor):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isFixedPositioned const):
(WebCore::RenderObject::isAbsolutelyPositioned const):
(WebCore::RenderObject::setPositionState):
(WebCore::RenderObject::RenderObjectBitfields::setPositionedState):
(WebCore::RenderObject::RenderObjectBitfields::clearPositionedState):

  • rendering/RenderQuote.cpp:

(WebCore::RenderQuote::styleDidChange):
(WebCore::RenderQuote::computeText const):
(WebCore::RenderQuote::isOpen const):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::layout):
(WebCore::RenderReplaced::setNeedsLayoutIfNeededAfterIntrinsicSizeChange):
(WebCore::RenderReplaced::replacedContentRect const):

  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::styleDidChange):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::styleDidChange):
(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
(WebCore::RenderTable::calcBorderStart const):
(WebCore::RenderTable::calcBorderEnd const):
(WebCore::RenderTable::outerBorderBefore const):
(WebCore::RenderTable::outerBorderAfter const):
(WebCore::RenderTable::outerBorderStart const):
(WebCore::RenderTable::outerBorderEnd const):

  • rendering/RenderTable.h:

(WebCore::RenderTable::collapseBorders const):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::computeIntrinsicPadding):
(WebCore::RenderTableCell::styleDidChange):
(WebCore::compareBorders):
(WebCore::chooseBorder):
(WebCore::emptyBorder):
(WebCore::RenderTableCell::computeCollapsedStartBorder const):
(WebCore::RenderTableCell::computeCollapsedEndBorder const):
(WebCore::RenderTableCell::computeCollapsedBeforeBorder const):
(WebCore::RenderTableCell::computeCollapsedAfterBorder const):
(WebCore::CollapsedBorders::addBorder):
(WebCore::RenderTableCell::paintCollapsedBorders):
(WebCore::RenderTableCell::scrollbarsChanged):

  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::logicalHeightForRowSizing const):
(WebCore::RenderTableCell::isBaselineAligned const):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::styleDidChange):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcOuterBorderBefore const):
(WebCore::RenderTableSection::calcOuterBorderAfter const):
(WebCore::RenderTableSection::calcOuterBorderStart const):
(WebCore::RenderTableSection::calcOuterBorderEnd const):
(WebCore::RenderTableSection::paintRowGroupBorder):
(WebCore::RenderTableSection::paintRowGroupBorderIfRequired):
(WebCore::RenderTableSection::cachedCollapsedBorder):

  • rendering/RenderTableSection.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::styleDidChange):
(WebCore::RenderText::absoluteQuadsClippedToEllipsis const):
(WebCore::isSpaceAccordingToStyle):
(WebCore::mapLineBreakToIteratorMode):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::setRenderedText):
(WebCore::RenderText::textWithoutConvertingBackslashToYenSymbol const):
(WebCore::RenderText::momentarilyRevealLastTypedCharacter):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::computeLogicalHeight const):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::styleDidChange):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::extractControlStatesForRenderer const):

  • rendering/RenderThemeIOS.mm:

(WebCore::adjustInputElementButtonStyle):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::updateFocusedState):
(WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary):
(WebCore::RenderThemeMac::adjustSearchFieldStyle const):

  • rendering/RenderTreeAsText.cpp:

(WebCore::printBorderStyle):

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::updatePlayer):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):
(WebCore::rendererObscuresBackground):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::verticalPositionForBox):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseForStyle):
(WebCore::SimpleLineLayout::canUseForWithReason):

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):

  • rendering/TextPaintStyle.cpp:

(WebCore::computeTextPaintStyle):

  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleBR):
(WebCore::shouldAddBorderPaddingMargin):
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::reset):

  • rendering/line/LineBreaker.h:

(WebCore::LineBreaker::clear):

  • rendering/line/LineInlineHeaders.h:

(WebCore::skipNonBreakingSpace):

  • rendering/line/LineWidth.cpp:

(WebCore::requiresIndent):

  • rendering/style/BorderData.h:

(WebCore::BorderData::borderLeftWidth const):
(WebCore::BorderData::borderRightWidth const):
(WebCore::BorderData::borderTopWidth const):
(WebCore::BorderData::borderBottomWidth const):

  • rendering/style/BorderValue.h:

(WebCore::BorderValue::BorderValue):
(WebCore::BorderValue::nonZero const):
(WebCore::BorderValue::isVisible const):
(WebCore::BorderValue::style const):

  • rendering/style/CollapsedBorderValue.h:

(WebCore::CollapsedBorderValue::CollapsedBorderValue):
(WebCore::CollapsedBorderValue::width const):
(WebCore::CollapsedBorderValue::style const):
(WebCore::CollapsedBorderValue::exists const):
(WebCore::CollapsedBorderValue::precedence const):

  • rendering/style/FillLayer.cpp:

(WebCore::FillLayer::FillLayer):
(WebCore::clipMax):
(WebCore::FillLayer::computeClipMax const):
(WebCore::FillLayer::hasRepeatXY const):
(WebCore::FillLayer::hasFixedImage const):

  • rendering/style/FillLayer.h:

(WebCore::FillSize::FillSize):
(WebCore::FillLayer::attachment const):
(WebCore::FillLayer::clip const):
(WebCore::FillLayer::origin const):
(WebCore::FillLayer::repeatX const):
(WebCore::FillLayer::repeatY const):
(WebCore::FillLayer::sizeType const):
(WebCore::FillLayer::size const):
(WebCore::FillLayer::maskSourceType const):
(WebCore::FillLayer::isSizeSet const):
(WebCore::FillLayer::setAttachment):
(WebCore::FillLayer::setClip):
(WebCore::FillLayer::setOrigin):
(WebCore::FillLayer::setRepeatX):
(WebCore::FillLayer::setRepeatY):
(WebCore::FillLayer::setComposite):
(WebCore::FillLayer::setBlendMode):
(WebCore::FillLayer::setSizeType):
(WebCore::FillLayer::setSize):
(WebCore::FillLayer::setMaskSourceType):
(WebCore::FillLayer::clearSize):
(WebCore::FillLayer::type const):
(WebCore::FillLayer::initialFillAttachment):
(WebCore::FillLayer::initialFillClip):
(WebCore::FillLayer::initialFillOrigin):
(WebCore::FillLayer::initialFillRepeatX):
(WebCore::FillLayer::initialFillRepeatY):
(WebCore::FillLayer::initialFillComposite):
(WebCore::FillLayer::initialFillBlendMode):
(WebCore::FillLayer::initialFillSize):
(WebCore::FillLayer::initialFillXPosition):
(WebCore::FillLayer::initialFillYPosition):
(WebCore::FillLayer::initialFillImage):
(WebCore::FillLayer::initialFillMaskSourceType):

  • rendering/style/LineClampValue.h:

(WebCore::LineClampValue::LineClampValue):
(WebCore::LineClampValue::isPercentage const):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::RenderStyle):
(WebCore::resolvedSelfAlignment):
(WebCore::RenderStyle::resolvedAlignSelf const):
(WebCore::RenderStyle::resolvedJustifySelf const):
(WebCore::resolvedContentAlignment):
(WebCore::resolvedContentAlignmentPosition):
(WebCore::resolvedContentAlignmentDistribution):
(WebCore::RenderStyle::resolvedJustifyContentDistribution const):
(WebCore::RenderStyle::resolvedAlignContentDistribution const):
(WebCore::RenderStyle::changeRequiresLayout const):
(WebCore::RenderStyle::changeRequiresPositionedLayoutOnly const):
(WebCore::RenderStyle::changeRequiresLayerRepaint const):
(WebCore::RenderStyle::changeRequiresRepaint const):
(WebCore::RenderStyle::changeRequiresRepaintIfTextOrBorderOrOutline const):
(WebCore::RenderStyle::changeRequiresRecompositeLayer const):
(WebCore::RenderStyle::diff const):
(WebCore::RenderStyle::diffRequiresLayerRepaint const):
(WebCore::allLayersAreFixed):
(WebCore::RenderStyle::colorIncludingFallback const):
(WebCore::RenderStyle::setColumnStylesFromPaginationMode):
(WebCore::RenderStyle::outlineWidth const):
(WebCore::RenderStyle::outlineOffset const):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::isFloating const):
(WebCore::RenderStyle::position const):
(WebCore::RenderStyle::hasOutOfFlowPosition const):
(WebCore::RenderStyle::hasInFlowPosition const):
(WebCore::RenderStyle::hasViewportConstrainedPosition const):
(WebCore::RenderStyle::floating const):
(WebCore::RenderStyle::borderLeftStyle const):
(WebCore::RenderStyle::borderRightStyle const):
(WebCore::RenderStyle::borderTopStyle const):
(WebCore::RenderStyle::borderBottomStyle const):
(WebCore::RenderStyle::hasOutline const):
(WebCore::RenderStyle::outlineStyle const):
(WebCore::RenderStyle::overflowX const):
(WebCore::RenderStyle::overflowY const):
(WebCore::RenderStyle::overflowInlineDirection const):
(WebCore::RenderStyle::overflowBlockDirection const):
(WebCore::RenderStyle::verticalAlign const):
(WebCore::RenderStyle::clear const):
(WebCore::RenderStyle::tableLayout const):
(WebCore::RenderStyle::backgroundRepeatX const):
(WebCore::RenderStyle::backgroundRepeatY const):
(WebCore::RenderStyle::backgroundAttachment const):
(WebCore::RenderStyle::backgroundClip const):
(WebCore::RenderStyle::backgroundOrigin const):
(WebCore::RenderStyle::backgroundSizeType const):
(WebCore::RenderStyle::maskRepeatX const):
(WebCore::RenderStyle::maskRepeatY const):
(WebCore::RenderStyle::maskClip const):
(WebCore::RenderStyle::maskOrigin const):
(WebCore::RenderStyle::maskSizeType const):
(WebCore::RenderStyle::borderCollapse const):
(WebCore::RenderStyle::boxAlign const):
(WebCore::RenderStyle::boxDirection const):
(WebCore::RenderStyle::boxLines const):
(WebCore::RenderStyle::boxOrient const):
(WebCore::RenderStyle::boxPack const):
(WebCore::RenderStyle::flexDirection const):
(WebCore::RenderStyle::isColumnFlexDirection const):
(WebCore::RenderStyle::isReverseFlexDirection const):
(WebCore::RenderStyle::flexWrap const):
(WebCore::RenderStyle::boxDecorationBreak const):
(WebCore::RenderStyle::boxSizing const):
(WebCore::RenderStyle::userModify const):
(WebCore::RenderStyle::userDrag const):
(WebCore::RenderStyle::userSelect const):
(WebCore::RenderStyle::marginBeforeCollapse const):
(WebCore::RenderStyle::marginAfterCollapse const):
(WebCore::RenderStyle::wordBreak const):
(WebCore::RenderStyle::overflowWrap const):
(WebCore::RenderStyle::nbspMode const):
(WebCore::RenderStyle::resize const):
(WebCore::RenderStyle::columnRuleStyle const):
(WebCore::RenderStyle::hasTextCombine const):
(WebCore::RenderStyle::transformStyle3D const):
(WebCore::RenderStyle::preserves3D const):
(WebCore::RenderStyle::backfaceVisibility const):
(WebCore::RenderStyle::textSecurity const):
(WebCore::RenderStyle::imageRendering const):
(WebCore::RenderStyle::setIsolation):
(WebCore::RenderStyle::hasIsolation const):
(WebCore::RenderStyle::isolation const):
(WebCore::RenderStyle::setPosition):
(WebCore::RenderStyle::setFloating):
(WebCore::RenderStyle::setBackgroundSize):
(WebCore::RenderStyle::setBorderLeftStyle):
(WebCore::RenderStyle::setBorderRightStyle):
(WebCore::RenderStyle::setBorderTopStyle):
(WebCore::RenderStyle::setBorderBottomStyle):
(WebCore::RenderStyle::setOutlineStyleIsAuto):
(WebCore::RenderStyle::setOutlineStyle):
(WebCore::RenderStyle::setOverflowX):
(WebCore::RenderStyle::setOverflowY):
(WebCore::RenderStyle::setVerticalAlign):
(WebCore::RenderStyle::setVerticalAlignLength):
(WebCore::RenderStyle::setClear):
(WebCore::RenderStyle::setTableLayout):
(WebCore::RenderStyle::setImageRendering):
(WebCore::RenderStyle::clearBackgroundLayers):
(WebCore::RenderStyle::clearMaskLayers):
(WebCore::RenderStyle::setBorderCollapse):
(WebCore::RenderStyle::setAspectRatioType):
(WebCore::RenderStyle::setPrintColorAdjust):
(WebCore::RenderStyle::setBoxAlign):
(WebCore::RenderStyle::setBoxDirection):
(WebCore::RenderStyle::setBoxLines):
(WebCore::RenderStyle::setBoxOrient):
(WebCore::RenderStyle::setBoxPack):
(WebCore::RenderStyle::setBoxSizing):
(WebCore::RenderStyle::setFlexDirection):
(WebCore::RenderStyle::setFlexWrap):
(WebCore::RenderStyle::setBoxDecorationBreak):
(WebCore::RenderStyle::setUserModify):
(WebCore::RenderStyle::setUserDrag):
(WebCore::RenderStyle::setUserSelect):
(WebCore::RenderStyle::setTextOverflow):
(WebCore::RenderStyle::setMarginBeforeCollapse):
(WebCore::RenderStyle::setMarginAfterCollapse):
(WebCore::RenderStyle::setWordBreak):
(WebCore::RenderStyle::setOverflowWrap):
(WebCore::RenderStyle::setNBSPMode):
(WebCore::RenderStyle::setLineBreak):
(WebCore::RenderStyle::setResize):
(WebCore::RenderStyle::setColumnFill):
(WebCore::RenderStyle::setColumnRuleStyle):
(WebCore::RenderStyle::setColumnSpan):
(WebCore::RenderStyle::setTextCombine):
(WebCore::RenderStyle::setObjectFit):
(WebCore::RenderStyle::setTransformStyle3D):
(WebCore::RenderStyle::setBackfaceVisibility):
(WebCore::RenderStyle::setTextSecurity):
(WebCore::RenderStyle::initialOverflowX):
(WebCore::RenderStyle::initialOverflowY):
(WebCore::RenderStyle::initialClear):
(WebCore::RenderStyle::initialPosition):
(WebCore::RenderStyle::initialVerticalAlign):
(WebCore::RenderStyle::initialFloating):
(WebCore::RenderStyle::initialTableLayout):
(WebCore::RenderStyle::initialBorderCollapse):
(WebCore::RenderStyle::initialBorderStyle):
(WebCore::RenderStyle::initialOutlineStyleIsAuto):
(WebCore::RenderStyle::initialTextCombine):
(WebCore::RenderStyle::initialObjectFit):
(WebCore::RenderStyle::initialBoxAlign):
(WebCore::RenderStyle::initialBoxDecorationBreak):
(WebCore::RenderStyle::initialBoxDirection):
(WebCore::RenderStyle::initialBoxLines):
(WebCore::RenderStyle::initialBoxOrient):
(WebCore::RenderStyle::initialBoxPack):
(WebCore::RenderStyle::initialBoxSizing):
(WebCore::RenderStyle::initialJustifyItems):
(WebCore::RenderStyle::initialSelfAlignment):
(WebCore::RenderStyle::initialDefaultAlignment):
(WebCore::RenderStyle::initialContentAlignment):
(WebCore::RenderStyle::initialFlexDirection):
(WebCore::RenderStyle::initialFlexWrap):
(WebCore::RenderStyle::initialUserModify):
(WebCore::RenderStyle::initialUserDrag):
(WebCore::RenderStyle::initialUserSelect):
(WebCore::RenderStyle::initialTextOverflow):
(WebCore::RenderStyle::initialMarginBeforeCollapse):
(WebCore::RenderStyle::initialMarginAfterCollapse):
(WebCore::RenderStyle::initialWordBreak):
(WebCore::RenderStyle::initialOverflowWrap):
(WebCore::RenderStyle::initialNBSPMode):
(WebCore::RenderStyle::initialLineBreak):
(WebCore::RenderStyle::initialResize):
(WebCore::RenderStyle::initialAspectRatioType):
(WebCore::RenderStyle::initialColumnFill):
(WebCore::RenderStyle::initialColumnSpan):
(WebCore::RenderStyle::initialTransformStyle3D):
(WebCore::RenderStyle::initialBackfaceVisibility):
(WebCore::RenderStyle::initialImageRendering):
(WebCore::RenderStyle::initialPrintColorAdjust):
(WebCore::RenderStyle::initialTextIndentLine):
(WebCore::RenderStyle::initialTextIndentType):
(WebCore::RenderStyle::initialTextSecurity):
(WebCore::RenderStyle::initialIsolation):
(WebCore::collapsedBorderStyle):
(WebCore::RenderStyle::breakOnlyAfterWhiteSpace const):
(WebCore::RenderStyle::breakWords const):
(WebCore::RenderStyle::setTextOrientation):

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:

(WebCore::operator|):
(WebCore::operator|=):
(WebCore::operator| ): Deleted.
(WebCore::operator|= ): Deleted.

  • rendering/style/SVGRenderStyle.cpp:

(WebCore::SVGRenderStyle::diff const):

  • rendering/style/StyleBackgroundData.cpp:

(WebCore::StyleBackgroundData::StyleBackgroundData):

  • rendering/style/StyleBoxData.cpp:

(WebCore::StyleBoxData::StyleBoxData):

  • rendering/style/StyleBoxData.h:

(WebCore::StyleBoxData::boxSizing const):
(WebCore::StyleBoxData::boxDecorationBreak const):

  • rendering/style/StyleContentAlignmentData.h:

(WebCore::StyleContentAlignmentData::StyleContentAlignmentData):
(WebCore::StyleContentAlignmentData::setPosition):
(WebCore::StyleContentAlignmentData::setDistribution):
(WebCore::StyleContentAlignmentData::setOverflow):
(WebCore::StyleContentAlignmentData::distribution const):

  • rendering/style/StyleDeprecatedFlexibleBoxData.cpp:

(WebCore::StyleDeprecatedFlexibleBoxData::StyleDeprecatedFlexibleBoxData):

  • rendering/style/StyleDeprecatedFlexibleBoxData.h:
  • rendering/style/StyleFlexibleBoxData.cpp:

(WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):

  • rendering/style/StyleFlexibleBoxData.h:
  • rendering/style/StyleMultiColData.cpp:

(WebCore::StyleMultiColData::StyleMultiColData):

  • rendering/style/StyleMultiColData.h:

(WebCore::StyleMultiColData::ruleWidth const):

  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):

  • rendering/style/StyleRareInheritedData.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

  • rendering/style/StyleRareNonInheritedData.h:
  • rendering/style/StyleSelfAlignmentData.h:

(WebCore::StyleSelfAlignmentData::StyleSelfAlignmentData):
(WebCore::StyleSelfAlignmentData::setPosition):
(WebCore::StyleSelfAlignmentData::setPositionType):
(WebCore::StyleSelfAlignmentData::setOverflow):

  • rendering/svg/RenderSVGBlock.cpp:

(WebCore::RenderSVGBlock::styleDidChange):

  • rendering/svg/RenderSVGGradientStop.cpp:

(WebCore::RenderSVGGradientStop::styleDidChange):

  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::styleDidChange):

  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::styleDidChange):

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::styleDidChange):

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::registerResource):

  • rendering/svg/RenderSVGResourceFilterPrimitive.cpp:

(WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::shouldApplyViewportClip const):
(WebCore::RenderSVGRoot::styleDidChange):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintText):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::isOverflowHidden):

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::clientStyleChanged):

  • rendering/updating/RenderTreeBuilder.cpp:

(WebCore::RenderTreeBuilder::attachToRenderElementInternal):

  • rendering/updating/RenderTreeBuilderBlock.cpp:

(WebCore::RenderTreeBuilder::Block::insertChildToContinuation):

  • rendering/updating/RenderTreeBuilderFirstLetter.cpp:

(WebCore::styleForFirstLetter):

  • rendering/updating/RenderTreeBuilderMultiColumn.cpp:

(WebCore::isValidColumnSpanner):
(WebCore::RenderTreeBuilder::MultiColumn::resolveMovedChild):
(WebCore::RenderTreeBuilder::MultiColumn::multiColumnRelativeWillBeRemoved):

  • rendering/updating/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):

  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

Source/WebKit:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::getPositionInformation):
Update for new enum names.

9:45 AM Changeset in webkit [232017] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

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

  • jit/JITOperations.cpp:
  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitSlow_op_in_by_id):

9:33 AM Changeset in webkit [232016] by Antti Koivisto
  • 2 edits in trunk/Source/WebKitLegacy/mac

WebView._preferencesChanged should apply colorFilterEnabled preference before parsing user stylesheet
https://bugs.webkit.org/show_bug.cgi?id=185815
<rdar://problem/40310069>

Reviewed by Simon Fraser.

User stylesheet parsing may depend on the colorFilterEnabled preference.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

8:28 AM Changeset in webkit [232015] by aboya@igalia.com
  • 3 edits in trunk/Source/WebCore

[MSE][GStreamer] Stream::decodebinSinkPad is read but never assigned
https://bugs.webkit.org/show_bug.cgi?id=185724

Reviewed by Xabier Rodriguez-Calvar.

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

  • platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:

(webKitMediaSrcLinkStreamToSrcPad):

  • platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamerPrivate.h:
6:42 AM WebKitGTK/2.20.x edited by clopez@igalia.com
(diff)
4:52 AM Changeset in webkit [232014] by aboya@igalia.com
  • 2 edits in trunk/Source/WebCore

[MSE][GStreamer] Force segment.start = 0 after matroskademux
https://bugs.webkit.org/show_bug.cgi?id=185740

Reviewed by Xabier Rodriguez-Calvar.

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

This patch fixes the following YTTV 2018 tests:

  1. OpusAudioWithOverlap
  2. OpusAudioWithSmallGap
  3. OpusAudioWithLargeGap
  4. VP9VideoWithOverlap
  5. VP9VideoWithSmallGap

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

  1. AppendOpusAudioOutOfOrder
  2. AppendVP9VideoOutOfOrder
  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):
(WebCore::matroskademuxForceSegmentStartToEqualZero):

1:25 AM Changeset in webkit [232013] by Carlos Garcia Campos
  • 2 edits in trunk/WebDriverTests

Unreviewed gardening. Update several test expectations.

12:59 AM Changeset in webkit [232012] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.21.2

WebKitGTK+ 2.21.2

12:58 AM Changeset in webkit [232011] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.21.2 release.

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.21.2.
12:14 AM Changeset in webkit [232010] by Carlos Garcia Campos
  • 15 edits in trunk

Unreviewed, rolling out r222967.

It's not ready yet

Reverted changeset:

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

May 20, 2018:

11:24 PM Changeset in webkit [232009] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] MiniBrowser crashes when loading twice quickly
https://bugs.webkit.org/show_bug.cgi?id=185763

Reviewed by Michael Catanzaro.

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

  • MiniBrowser/gtk/BrowserWindow.c:

(webViewLoadProgressChanged): Stop any pending reset task when progress != 1.

5:51 PM Changeset in webkit [232008] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Revert the B3 compiler pipeline's treatment of taildup
https://bugs.webkit.org/show_bug.cgi?id=185808

Reviewed by Yusuke Suzuki.

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

1.5% progression on V8Spider-CompileTime.

  • b3/B3Generate.cpp:

(JSC::B3::generateToAir):

3:21 PM Changeset in webkit [232007] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17-branch/Source

Versioning.

3:17 PM Changeset in webkit [232006] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.17.10

Tag Safari-606.1.17.10.

2:41 PM Changeset in webkit [232005] by emilio
  • 5 edits
    141 copies
    64 adds
    1 delete in trunk/LayoutTests

Update CSSOM WPT tests.
https://bugs.webkit.org/show_bug.cgi?id=185805

LayoutTests/imported/w3c:

They've been moved under the css/ directory.

This has been done with:

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

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

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

Reviewed by Frédéric Wang.

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

LayoutTests:

Reviewed by Frédéric Wang.

Update CSSOM WPT tests.

2:11 PM Changeset in webkit [232004] by aestes@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/bytecode/InstanceOfStatus.cpp

Fix the !ENABLE(DFG_JIT) build.

  • bytecode/InstanceOfStatus.cpp:

(JSC::InstanceOfStatus::computeFor):

8:35 AM Changeset in webkit [232003] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.17-branch/Source

Versioning.

3:49 AM Changeset in webkit [232002] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

[DFG] CheckTypeInfoFlags should say eliminated if it is removed in constant folding phase
https://bugs.webkit.org/show_bug.cgi?id=185802

Reviewed by Saam Barati.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

May 19, 2018:

4:07 PM Changeset in webkit [232001] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

Improve NowPlaying "title"
https://bugs.webkit.org/show_bug.cgi?id=185680
<rdar://problem/40296700>

Reviewed by Dean Jackson.

  • html/HTMLMediaElement.cpp:

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

  • platform/PublicSuffix.h:
  • platform/mac/PublicSuffixMac.mm:

(WebCore::decodeHostName): Expose topPrivatelyControlledDomain method to .cpp functions.

3:00 PM Changeset in webkit [232000] by fpizlo@apple.com
  • 31 edits
    6 adds in trunk/Source

DFG should inline InstanceOf ICs
https://bugs.webkit.org/show_bug.cgi?id=185695

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

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

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

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

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

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::appendVariant):
(JSC::GetByIdStatus::filter):

  • bytecode/GetByIdStatus.h:

(JSC::GetByIdStatus::operator bool const):
(JSC::GetByIdStatus::operator! const): Deleted.

  • bytecode/GetByIdVariant.h:

(JSC::GetByIdVariant::operator bool const):
(JSC::GetByIdVariant::operator! const): Deleted.

  • bytecode/ICStatusUtils.h: Added.

(JSC::appendICStatusVariant):
(JSC::filterICStatusVariants):

  • bytecode/InstanceOfStatus.cpp: Added.

(JSC::InstanceOfStatus::appendVariant):
(JSC::InstanceOfStatus::computeFor):
(JSC::InstanceOfStatus::computeForStubInfo):
(JSC::InstanceOfStatus::commonPrototype const):
(JSC::InstanceOfStatus::filter):

  • bytecode/InstanceOfStatus.h: Added.

(JSC::InstanceOfStatus::InstanceOfStatus):
(JSC::InstanceOfStatus::state const):
(JSC::InstanceOfStatus::isSet const):
(JSC::InstanceOfStatus::operator bool const):
(JSC::InstanceOfStatus::isSimple const):
(JSC::InstanceOfStatus::takesSlowPath const):
(JSC::InstanceOfStatus::numVariants const):
(JSC::InstanceOfStatus::variants const):
(JSC::InstanceOfStatus::at const):
(JSC::InstanceOfStatus::operator[] const):

  • bytecode/InstanceOfVariant.cpp: Added.

(JSC::InstanceOfVariant::InstanceOfVariant):
(JSC::InstanceOfVariant::attemptToMerge):
(JSC::InstanceOfVariant::dump const):
(JSC::InstanceOfVariant::dumpInContext const):

  • bytecode/InstanceOfVariant.h: Added.

(JSC::InstanceOfVariant::InstanceOfVariant):
(JSC::InstanceOfVariant::operator bool const):
(JSC::InstanceOfVariant::structureSet const):
(JSC::InstanceOfVariant::structureSet):
(JSC::InstanceOfVariant::conditionSet const):
(JSC::InstanceOfVariant::prototype const):
(JSC::InstanceOfVariant::isHit const):

  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::StructureStubInfo):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::considerCaching):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

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

  • dfg/DFGGraph.h:
  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::attemptHoist):

  • dfg/DFGNode.cpp:

(JSC::DFG::Node::remove):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasMatchStructureData):
(JSC::DFG::Node::matchStructureData):

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

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileMatchStructure):

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileMatchStructure):

Source/WTF:

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

  • WTF.xcodeproj/project.pbxproj:
  • wtf/BooleanLattice.h: Added.

(WTF::lubBooleanLattice):
(WTF::printInternal):

  • wtf/CMakeLists.txt:
1:57 PM Changeset in webkit [231999] by sihui_liu@apple.com
  • 2 edits in trunk/Tools

Flaky API test WebKit.WKHTTPCookieStoreWithoutProcessPool: incorrect order of cookies
https://bugs.webkit.org/show_bug.cgi?id=185624
<rdar://problem/39111626>

Reviewed by Chris Dumez.

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

  • TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:

(-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):

1:21 PM Changeset in webkit [231998] by Yusuke Suzuki
  • 50 edits
    6 adds in trunk

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

Reviewed by Filip Pizlo.

JSTests:

  • stress/in-by-id-accessors.js: Added.

(shouldBe):
(test):
(protoGetter.proto.get hello):
(protoSetter.proto.set hello):
(i.shouldBe.test.get hello):
(i.shouldBe.test.set hello):

  • stress/in-by-id-ai.js: Added.

(shouldBe):
(test):

  • stress/in-by-id-custom-accessors.js: Added.

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

  • stress/in-by-id-custom-values.js: Added.

(shouldBe):
(test):

  • stress/in-by-id-operation.js: Added.

(shouldBe):
(test):
(selfCache):

  • stress/in-by-id-proxy.js: Added.

(shouldBe):
(test):
(handler.has):

Source/JavaScriptCore:

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

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

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

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

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

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::fromStructureStubInfo):
(JSC::AccessCase::generateWithGuard):

  • bytecode/BytecodeDumper.cpp:

(JSC::BytecodeDumper<Block>::printInByIdCacheStatus):
(JSC::BytecodeDumper<Block>::dumpBytecode):

  • bytecode/BytecodeDumper.h:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):

  • bytecode/InlineAccess.cpp:

(JSC::InlineAccess::generateSelfInAccess):

  • bytecode/InlineAccess.h:
  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::initInByIdSelf):
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::aboutToDie):
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::visitWeakReferences):
(JSC::StructureStubInfo::propagateTransitions):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::patchableJump):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitInByVal):
(JSC::BytecodeGenerator::emitInById):
(JSC::BytecodeGenerator::emitIn): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::InNode::emitBytecode):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::addInById):
(JSC::DFG::InRecord::InRecord): Deleted.
(JSC::DFG::JITCompiler::addIn): Deleted.

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToInById):
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasArrayMode):

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

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileInById):
(JSC::DFG::SpeculativeJIT::compileInByVal):
(JSC::DFG::SpeculativeJIT::compileIn): Deleted.

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileInByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileInById):
(JSC::FTL::DFG::LowerDFGToB3::compileIn): Deleted.

  • jit/ICStats.h:
  • jit/JIT.cpp:

(JSC::JIT::JIT):
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::link):

  • jit/JIT.h:
  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITInByIdGenerator::JITInByIdGenerator):
(JSC::JITInByIdGenerator::generateFastPath):

  • jit/JITInlineCacheGenerator.h:

(JSC::JITInByIdGenerator::JITInByIdGenerator):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emitSlow_op_in_by_id):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emitSlow_op_in_by_id):

  • jit/Repatch.cpp:

(JSC::tryCacheInByID):
(JSC::repatchInByID):
(JSC::resetInByID):
(JSC::tryCacheIn): Deleted.
(JSC::repatchIn): Deleted.
(JSC::resetIn): Deleted.

  • jit/Repatch.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • parser/NodeConstructors.h:

(JSC::InNode::InNode):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opInByVal):
(JSC::CommonSlowPaths::opIn): Deleted.

9:30 AM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
8:12 AM Changeset in webkit [231997] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r231996.
https://bugs.webkit.org/show_bug.cgi?id=185799

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

Reverted changeset:

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

Note: See TracTimeline for information about the timeline view.