Timeline
Sep 27, 2016:
- 11:45 PM Changeset in webkit [206502] by
-
- 2 edits in trunk/Source/WebCore
[EFL] Fix debug build break since r206481. Unreviewed
https://bugs.webkit.org/show_bug.cgi?id=162662
No new tests, no new behaviours.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::draw):
- 11:26 PM Changeset in webkit [206501] by
-
- 1 copy in tags/Safari-602.2.15.1
New tag.
- 11:24 PM Changeset in webkit [206500] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r206234. rdar://problem/28503781
- 11:22 PM Changeset in webkit [206499] by
-
- 2 edits in branches/safari-602.2.15-branch/Source/WebCore
Merge r206234. rdar://problem/28503781
- 11:17 PM Changeset in webkit [206498] by
-
- 5 edits in branches/safari-602.2.15-branch/Source
Versioning.
- 11:12 PM Changeset in webkit [206497] by
-
- 1 copy in branches/safari-602.2.15-branch
New Branch.
- 9:52 PM Changeset in webkit [206496] by
-
- 6 edits in trunk
[CMake] Add HAVE_LOCALTIME_R definition
https://bugs.webkit.org/show_bug.cgi?id=162636
Patch by Don Olmstead <don.olmstead@am.sony.com> on 2016-09-27
Reviewed by Alex Christensen.
.:
- Source/cmake/OptionsCommon.cmake:
Source/WTF:
- wtf/DateMath.cpp:
(WTF::getLocalTime):
- wtf/GregorianDateTime.cpp:
(WTF::GregorianDateTime::setToCurrentLocalTime):
- wtf/Platform.h:
- 9:35 PM Changeset in webkit [206495] by
-
- 2 edits in trunk/Websites/webkit.org
Update style guide for #pragma once
https://bugs.webkit.org/show_bug.cgi?id=162633
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-27
Reviewed by Dan Bernstein.
- code-style.md:
Update style guide for #pragma once as discussed on webkit-dev.
- 9:09 PM Changeset in webkit [206494] by
-
- 3 edits2 adds in trunk
AX: CrashTracer: com.apple.WebKit.WebContent at WebCore::AXObjectCache::localCaretRectForCharacterOffset(WebCore::RenderObject*&, WebCore::CharacterOffset const&) + 116
https://bugs.webkit.org/show_bug.cgi?id=162654
Reviewed by Chris Fleizach.
Source/WebCore:
rangeForUnorderedCharacterOffsets() can return a null Range but we failed to
do a null check in localCaretRectForCharacterOffset() before dereferencing it.
Test: accessibility/mac/bounds-for-range-crash.html
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::localCaretRectForCharacterOffset):
LayoutTests:
- accessibility/mac/bounds-for-range-crash-expected.txt: Added.
- accessibility/mac/bounds-for-range-crash.html: Added.
- 8:03 PM Changeset in webkit [206493] by
-
- 1 edit2 adds in trunk/LayoutTests
Toggling display: none on a parent element of a slot which shares style with its parent doesn't update the slot's visibility
https://bugs.webkit.org/show_bug.cgi?id=158421
Reviewed by Darin Adler.
Add a regression test now that the bug has been fixed by r206403.
- fast/shadow-dom/shadow-layout-after-toggling-display-slot-parent-expected.html: Added.
- fast/shadow-dom/shadow-layout-after-toggling-display-slot-parent.html: Added.
- 6:58 PM Changeset in webkit [206492] by
-
- 4 edits in trunk/LayoutTests
[iOS] Fix several Touch-related layout tests
https://bugs.webkit.org/show_bug.cgi?id=162651
Reviewed by Darin Adler.
Fix several Touch-related layout tests. The first parameter to our Touch
constructor must be a Window but several of our tests were passing in a
Document.
- platform/ios-simulator/ios/touch/construct-Touch-expected.txt:
- platform/ios-simulator/ios/touch/resources/construct-Touch.js:
- platform/ios-simulator/ios/touch/resources/construct-TouchList.js:
- 6:39 PM Changeset in webkit [206491] by
-
- 1 copy in tags/Safari-602.2.14.0.1
New tag.
- 6:39 PM Changeset in webkit [206490] by
-
- 4 edits in branches/safari-602.2.14.0-branch/Source/WebCore
Merge r206454. rdar://problem/28484193
- 6:39 PM Changeset in webkit [206489] by
-
- 3 edits in branches/safari-602.2.14.0-branch/Source/WebCore
Merge r206444. rdar://problem/28496755
- 6:39 PM Changeset in webkit [206488] by
-
- 2 edits in branches/safari-602.2.14.0-branch/Source/WebCore
Merge r206415. rdar://problem/28484047
- 6:38 PM Changeset in webkit [206487] by
-
- 6 edits in branches/safari-602.2.14.0-branch/Source/WebCore
Merge r206399. rdar://problem/28457219
- 6:31 PM Changeset in webkit [206486] by
-
- 5 edits in branches/safari-602.2.14.0-branch/Source
Versioning.
- 6:23 PM Changeset in webkit [206485] by
-
- 2 edits in trunk/Source/WebCore
Inline critical functions in URLParser
https://bugs.webkit.org/show_bug.cgi?id=162653
Reviewed by Myles C. Maxfield.
This gives me about a 15% speed improvement.
- platform/URLParser.cpp:
(WebCore::CodePointIterator::CodePointIterator):
(WebCore::CodePointIterator::operator==):
(WebCore::CodePointIterator::operator!=):
(WebCore::CodePointIterator::operator=):
(WebCore::CodePointIterator::atEnd):
(WebCore::CodePointIterator::codeUnitsSince):
(WebCore::CodePointIterator<LChar>::operator):
(WebCore::CodePointIterator<UChar>::operator):
(WebCore::appendCodePoint):
(WebCore::isC0Control):
(WebCore::isC0ControlOrSpace):
(WebCore::isTabOrNewline):
(WebCore::isInSimpleEncodeSet):
(WebCore::isInDefaultEncodeSet):
(WebCore::isInUserInfoEncodeSet):
(WebCore::isInvalidDomainCharacter):
(WebCore::isPercentOrNonASCII):
(WebCore::isSlashQuestionOrHash):
(WebCore::isValidSchemeCharacter):
(WebCore::URLParser::advance):
(WebCore::URLParser::isWindowsDriveLetter):
(WebCore::URLParser::appendToASCIIBuffer):
(WebCore::percentEncodeByte):
(WebCore::URLParser::utf8PercentEncode):
(WebCore::URLParser::utf8QueryEncode):
(WebCore::isDefaultPort):
(WebCore::isSpecialScheme):
(WebCore::isPercentEncodedDot):
(WebCore::isSingleDotPathSegment):
(WebCore::isDoubleDotPathSegment):
(WebCore::consumeSingleDotPathSegment):
(WebCore::consumeDoubleDotPathSegment):
(WebCore::URLParser::popPath):
(WebCore::URLParser::parsedDataView):
(WebCore::URLParser::currentPosition):
(WebCore::zeroSequenceLength):
(WebCore::findLongestZeroSequence):
(WebCore::pow256):
(WebCore::percentDecode):
(WebCore::containsOnlyASCII):
(WebCore::domainToASCII):
(WebCore::hasInvalidDomainCharacter):
(WebCore::formURLDecode):
(WebCore::serializeURLEncodedForm):
- 6:17 PM Changeset in webkit [206484] by
-
- 1 copy in branches/safari-602.2.14.0-branch
New Branch.
- 6:17 PM Changeset in webkit [206483] by
-
- 3 edits4 adds in trunk
REGRESSION (r204552): Yelp carousel animation is not smooth.
https://bugs.webkit.org/show_bug.cgi?id=162632
Reviewed by Simon Fraser.
Source/WebCore:
For composited state changes when the layers don't need rebuilding, the updateGeometry() traversal
is post-order (see webkit.org/162634), so we can't rely on the offsetfromRenderer() value when
computing the graphics layer position on the descendants. We need this workaround until after webkit.org/162634
gets fixed.
Tests: compositing/hidpi-composited-container-and-graphics-layer-gap-changes.html
compositing/hidpi-negative-composited-bounds-on-device-pixel.html
- rendering/RenderLayerBacking.cpp:
(WebCore::computeOffsetFromAncestorGraphicsLayer):
(WebCore::ComputedOffsets::ComputedOffsets):
(WebCore::ComputedOffsets::fromAncestorGraphicsLayer):
(WebCore::RenderLayerBacking::computeParentGraphicsLayerRect):
LayoutTests:
- compositing/hidpi-composited-container-and-graphics-layer-gap-changes-expected.html: Added.
- compositing/hidpi-composited-container-and-graphics-layer-gap-changes.html: Added.
- compositing/hidpi-negative-composited-bounds-on-device-pixel-expected.html: Added.
- compositing/hidpi-negative-composited-bounds-on-device-pixel.html: Added.
- 6:11 PM Changeset in webkit [206482] by
-
- 2 edits in trunk/Source/JavaScriptCore
Missing Atomics.h include in MarkedBlock.h
https://bugs.webkit.org/show_bug.cgi?id=162648
Missing include from my previous patch.
Reviewed by Yusuke Suzuki.
- heap/MarkedBlock.h:
- 6:06 PM Changeset in webkit [206481] by
-
- 36 edits2 adds in trunk/Source/WebCore
Move caching the ImageFrame from BitmapImage to ImageSource
https://bugs.webkit.org/show_bug.cgi?id=155498
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-09-27
Reviewed by Simon Fraser.
BitmapImage has two modes of operation regarding its image decoding state.
The first mode happens when a remote image is loaded as encoded data and
which requires an ImageDecoder to generate the image metadata and the
the ImageFrames. The second mode happens when a BitmapImage is created
with a NativeImagePtr. In this case, no ImageDecoder is needed.
To remove this burden from the BitmapImage the member 'm_frames' is removed
from BitmapImage. A new member named 'm_frameCache' of type ImageFrameCache
is added to ImageSource. This class handles caching and recaching the image
metadata and the ImageFrames if the image needs decoding. When the BitmapImage
is initialized with a memory image, the ImageFrameCache initializes its
metadata and ImageFrames directly from the NativeImagePtr.
The plan for ImageFrameCache is to be extended for the asynchronous image
decoding and also to be used by the non CG image decoders which cache
other copies of the ImageFrames. This double caching should be removed.
When the BitmapImage is replying to the ImageFrame queries, it will ask the
ImageSource which will pass the query the ImageFrameCache. ImageFrameCache
will ensure the requested ImageFrame is cached and is valid for the requested
SubSamplingLevel before accessing the data members of this ImageFrame.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
Add and ImageFrameCache.cpp to the WebCore project.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage): Move initializing the image metadata to
ImageSource. Add initializers for the remaining members in the class declaration.
(WebCore::BitmapImage::destroyDecodedData): Move most of the logic of this
function to ImageFrameCache::destroyDecodedData(). The only part which can't
be moved is the call invalidatePlatformData().
(WebCore::BitmapImage::destroyDecodedDataIfNecessary): Move the logic of this
function to ImageFrameCache::destroyDecodedDataIfNecessary().
(WebCore::BitmapImage::dataChanged): Move the logic of this function to
ImageSource::dataChanged().
(WebCore::BitmapImage::frameImageAtIndex): Move most of the logic of this
function to ImageFrameCache::frameImageAtIndex(). The only part which can't
be moved is the call invalidatePlatformData() if the required subsampling
level is different from the subsampling level for the cached frame image.
(WebCore::BitmapImage::draw): Replace the BitmapImage cached metadata with
the corresponding ImageSource cached metadata.
(WebCore::BitmapImage::drawPattern): Ditto.
(WebCore::BitmapImage::shouldAnimate): Ditto.
(WebCore::BitmapImage::startAnimation): Ditto.
(WebCore::BitmapImage::internalAdvanceAnimation): Ditto.
(WebCore::BitmapImage::dump): Call ImageSource::dump() to dump the image
cached metadata.
(WebCore::BitmapImage::haveFrameImageAtIndex): Deleted.
(WebCore::BitmapImage::destroyMetadataAndNotify): Deleted.
(WebCore::BitmapImage::cacheFrame): Deleted.
(WebCore::BitmapImage::didDecodeProperties): Deleted.
(WebCore::BitmapImage::updateSize): Deleted.
(WebCore::BitmapImage::size): Deleted.
(WebCore::BitmapImage::sizeRespectingOrientation): Deleted.
(WebCore::BitmapImage::hotSpot): Deleted.
(WebCore::BitmapImage::frameCount): Deleted.
(WebCore::BitmapImage::isSizeAvailable): Deleted.
(WebCore::BitmapImage::ensureFrameAtIndexIsCached): Deleted.
(WebCore::BitmapImage::frameIsCompleteAtIndex): Deleted.
(WebCore::BitmapImage::frameDurationAtIndex): Deleted.
(WebCore::BitmapImage::frameHasAlphaAtIndex): Deleted.
(WebCore::BitmapImage::currentFrameKnownToBeOpaque): Deleted.
(WebCore::BitmapImage::frameOrientationAtIndex): Deleted.
(WebCore::BitmapImage::singlePixelSolidColor): Deleted.
(WebCore::BitmapImage::repetitionCount): Deleted.
- platform/graphics/BitmapImage.h:
Managing the ImageFrames caching is moved to ImageFrameCache. Caching the
image metadata is now moved to the ImageSource.
- platform/graphics/GeneratedImage.h:
- platform/graphics/Image.h:
(WebCore::Image::orientationForCurrentFrame):
(WebCore::Image::singlePixelSolidColor):
Change currentFrameKnownToBeOpaque(), orientationForCurrentFrame() and
singlePixelSolidColor() to be const.
- platform/graphics/ImageFrame.cpp:
(WebCore::ImageFrame::defaultFrame): Returns an empty ImageFrame to get the default ImageFrame metadata.
(WebCore::ImageFrame::fillMetadata): Deleted. Moved to ImageFrameCache.
(WebCore::ImageFrame::initialize): Deleted. Ditto.
- platform/graphics/ImageFrame.h:
(WebCore::ImageFrame::setDuration): Change the type of the argument to float instead of unsigned.
(WebCore::ImageFrame::hasAlpha): Protect the unset m_hasAlpha by checking hasMetadata() first.
- platform/graphics/ImageFrameCache.cpp: Added.
(WebCore::ImageFrameCache::ImageFrameCache): Two constructors similar to what we do for ImageSource and BitmapImage.
(WebCore::ImageFrameCache::destroyDecodedData): Moved from BitmapImage.cpp.
(WebCore::ImageFrameCache::destroyDecodedDataIfNecessary): Ditto.
(WebCore::ImageFrameCache::destroyIncompleteDecodedData): Ditto.
(WebCore::ImageFrameCache::decodedSizeChanged): Ditto.
(WebCore::ImageFrameCache::decodedSizeIncremented): Ditto.
(WebCore::ImageFrameCache::decodedSizeDecremented): Ditto.
(WebCore::ImageFrameCache::decodedSizeReset): Ditto.
(WebCore::ImageFrameCache::didDecodeProperties): Ditto.
(WebCore::ImageFrameCache::growFrames): Grows the size of m_frames if necessary.
(WebCore::ImageFrameCache::setNativeImage): Initializes the ImageFrame metadata directly from the NativeImagePtr.
(WebCore::ImageFrameCache::setFrameNativeImage): Initializes the ImageFrame image and the metadata.
(WebCore::ImageFrameCache::setFrameMetadata): Initializes the ImageFrame metadata from the ImageDecoder.
(WebCore::ImageFrameCache::frameAtIndex): Returns an ImageFrame given its index. Cache or recache the requested ImageFrame if necessary.
(WebCore::ImageFrameCache::clearMetadata): Invalidates the cached image metadata.
(WebCore::ImageFrameCache::metadata): A template function which returns an image metadata property.
(WebCore::ImageFrameCache::frameMetadataAtIndex): A template function which returns an ImageFrame metadata property.
(WebCore::ImageFrameCache::isSizeAvailable): An image metadata property.
(WebCore::ImageFrameCache::frameCount): Ditto.
(WebCore::ImageFrameCache::repetitionCount): Ditto.
(WebCore::ImageFrameCache::filenameExtension): Ditto.
(WebCore::ImageFrameCache::hotSpot): Ditto.
(WebCore::ImageFrameCache::size): An image metadata property but we get it from the first ImageFrame.
(WebCore::ImageFrameCache::sizeRespectingOrientation): Ditto.
(WebCore::ImageFrameCache::singlePixelSolidColor): Ditto.
(WebCore::ImageFrameCache::frameIsCompleteAtIndex): An ImageFrame metadata property.
(WebCore::ImageFrameCache::frameHasAlphaAtIndex): Ditto.
(WebCore::ImageFrameCache::frameHasImageAtIndex): Ditto.
(WebCore::ImageFrameCache::frameHasInvalidNativeImageAtIndex): Ditto.
(WebCore::ImageFrameCache::frameSubsamplingLevelAtIndex): Ditto.
(WebCore::ImageFrameCache::frameSizeAtIndex): Ditto.
(WebCore::ImageFrameCache::frameBytesAtIndex): Ditto.
(WebCore::ImageFrameCache::frameDurationAtIndex): Ditto.
(WebCore::ImageFrameCache::frameOrientationAtIndex): Ditto.
(WebCore::ImageFrameCache::frameImageAtIndex): Ditto.
- platform/graphics/ImageFrameCache.h: Added.
(WebCore::ImageFrameCache::setDecoder): Sets the current ImageDecoder which is owned by the ImageSource.
(WebCore::ImageFrameCache::decodedSize): Returns the size of the cached NativeImages.
(WebCore::ImageFrameCache::isDecoderAvailable): Returns whether an ImageDecoder is available.
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::ImageSource): Initializes the ImageFrameCache based on the image decoding state.
(WebCore::ImageSource::clearFrameBufferCache): Replace initialized() with isDecoderAvailable().
(WebCore::ImageSource::clear): Clears the ImageDecoder of the ImageFrameCache.
(WebCore::ImageSource::destroyDecodedData): Moved from BitmapImage.cpp.
(WebCore::ImageSource::destroyDecodedDataIfNecessary): Ditto.
(WebCore::ImageSource::ensureDecoderAvailable): Creates an ImageDecoder if necessary and sets it in ImageFrameCache.
(WebCore::ImageSource::setData):
(WebCore::ImageSource::dataChanged): Moved from BitmapImage.cpp.
(WebCore::ImageSource::isAllDataReceived):
(WebCore::ImageSource::maximumSubsamplingLevel): Rename calculateMaximumSubsamplingLevel() to maximumSubsamplingLevel().
(WebCore::ImageSource::subsamplingLevelForScale):
(WebCore::ImageSource::createFrameImageAtIndex):
(WebCore::ImageSource::dump):
(WebCore::ImageSource::calculateMaximumSubsamplingLevel): Deleted. Renamed to maximumSubsamplingLevel().
(WebCore::ImageSource::updateMetadata): Deleted. Not needed. Caching the image metadata is the responsibility of ImageFrameCache.
(WebCore::ImageSource::bytesDecodedToDetermineProperties): Deleted. Not needed.
(WebCore::ImageSource::isSizeAvailable): Deleted. Moved to ImageSource.h.
(WebCore::ImageSource::size): Deleted. Ditto.
(WebCore::ImageSource::sizeRespectingOrientation): Deleted. Ditto.
(WebCore::ImageSource::frameCount): Deleted. Ditto.
(WebCore::ImageSource::repetitionCount): Deleted. Ditto.
(WebCore::ImageSource::filenameExtension): Deleted. Ditto.
(WebCore::ImageSource::hotSpot): Deleted. Ditto.
(WebCore::ImageSource::frameIsCompleteAtIndex): Deleted. Ditto.
(WebCore::ImageSource::frameHasAlphaAtIndex): Deleted. Ditto.
(WebCore::ImageSource::frameAllowSubsamplingAtIndex): Deleted. Ditto.
(WebCore::ImageSource::frameSizeAtIndex): Deleted. Ditto.
(WebCore::ImageSource::frameBytesAtIndex): Deleted. Ditto.
(WebCore::ImageSource::frameDurationAtIndex): Deleted. Ditto.
(WebCore::ImageSource::frameOrientationAtIndex): Deleted. Ditto.
- platform/graphics/ImageSource.h:
(WebCore::ImageSource::isDecoderAvailable): initialized() was renamed to isDecoderAvailable().
(WebCore::ImageSource::decodedSize): Send the query to ImageFrameCache.
(WebCore::ImageSource::isSizeAvailable): Ditto.
(WebCore::ImageSource::frameCount): Ditto.
(WebCore::ImageSource::repetitionCount): Ditto.
(WebCore::ImageSource::filenameExtension): Ditto.
(WebCore::ImageSource::hotSpot): Ditto.
(WebCore::ImageSource::size): Ditto.
(WebCore::ImageSource::sizeRespectingOrientation): Ditto.
(WebCore::ImageSource::singlePixelSolidColor): Ditto.
(WebCore::ImageSource::frameIsCompleteAtIndex): Ditto.
(WebCore::ImageSource::frameHasAlphaAtIndex): Ditto.
(WebCore::ImageSource::frameHasImageAtIndex): Ditto.
(WebCore::ImageSource::frameHasInvalidNativeImageAtIndex): Ditto.
(WebCore::ImageSource::frameSubsamplingLevelAtIndex): Ditto.
(WebCore::ImageSource::frameSizeAtIndex): Ditto.
(WebCore::ImageSource::frameBytesAtIndex): Ditto.
(WebCore::ImageSource::frameDurationAtIndex): Ditto.
(WebCore::ImageSource::frameOrientationAtIndex): Ditto.
(WebCore::ImageSource::frameImageAtIndex): Ditto.
(WebCore::ImageSource::decoder): Deleted. Not needed.
(WebCore::ImageSource::initialized): Deleted. Was renamed to isDecoderAvailable().
(WebCore::ImageSource::setNeedsUpdateMetadata): Deleted. Not needed.
- platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage): AlphaOption and GammaAndColorProfileOption are moved out of ImageSource.
- platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage): Ditto.
- platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoder::ImageDecoder): Make the constructor of ImageDecoder be the same for all ports.
(WebCore::ImageDecoder::setData): Removed unused overloaded function.
(WebCore::ImageDecoder::size): Deleted. Removed unused function.
- platform/graphics/cg/ImageDecoderCG.h:
(WebCore::ImageDecoder::create): Make the constructor of CG ImageDecoder be like the other ports.
(WebCore::ImageDecoder::isAllDataReceived): Make this property owned by ImageDecoder.
- platform/graphics/cg/PDFDocumentImage.h: Change currentFrameKnownToBeOpaque() to be const.
- platform/graphics/efl/GraphicsContext3DEfl.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage): AlphaOption and GammaAndColorProfileOption are moved out of ImageSource.
- platform/graphics/mac/ImageMac.mm:
(WebCore::BitmapImage::invalidatePlatformData): m_frames is owned by ImageFrameCache. ImageFrameCache::frameCount() has to
be equal to ImageFrame::m_frames.size().
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::create): AlphaOption and GammaAndColorProfileOption are moved out of ImageSource.
- platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::ImageDecoder): Ditto.
(WebCore::ImageDecoder::frameCount): Make frameCount const so it can be passed to the template function ImageFrameCache::metadata().
- platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::BMPImageDecoder): AlphaOption and GammaAndColorProfileOption are moved out of ImageSource.
- platform/image-decoders/bmp/BMPImageDecoder.h:
- platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::GIFImageDecoder): AlphaOption and GammaAndColorProfileOption are moved out of ImageSource.
(WebCore::GIFImageDecoder::frameCount): Make frameCount const so it can be passed to the template function ImageFrameCache::metadata().
- platform/image-decoders/gif/GIFImageDecoder.h:
- platform/image-decoders/gif/GIFImageReader.cpp:
- platform/image-decoders/gif/GIFImageReader.h:
- platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::frameCount): Make frameCount const so it can be passed to the template function ImageFrameCache::metadata().
(WebCore::ICOImageDecoder::decode): Move resizing the m_frameBufferCache from ICOImageDecoder::frameCount() to ICOImageDecoder::decode().
(WebCore::ICOImageDecoder::decodeAtIndex): AlphaOption and GammaAndColorProfileOption are moved out of ImageSource.
- platform/image-decoders/ico/ICOImageDecoder.h:
- platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::JPEGImageDecoder): AlphaOption and GammaAndColorProfileOption are moved out of ImageSource.
- platform/image-decoders/jpeg/JPEGImageDecoder.h:
- platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::PNGImageDecoder): AlphaOption and GammaAndColorProfileOption are moved out of ImageSource.
- platform/image-decoders/png/PNGImageDecoder.h:
(WebCore::PNGImageDecoder::frameCount): Make frameCount const so it can be passed to the template function ImageFrameCache::metadata().
- platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::WEBPImageDecoder):
- platform/image-decoders/webp/WEBPImageDecoder.h:
- svg/graphics/SVGImage.h: Make currentFrameKnownToBeOpaque() be const.
- svg/graphics/SVGImageForContainer.h: Ditto.
- 6:02 PM Changeset in webkit [206480] by
-
- 4 edits in trunk
Correctly parse URLs with the first tab in the fragment
https://bugs.webkit.org/show_bug.cgi?id=162650
Reviewed by Saam Barati.
Source/WebCore:
Covered by a new API test.
- platform/URLParser.cpp:
(WebCore::URLParser::fragmentSyntaxViolation):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 6:01 PM Changeset in webkit [206479] by
-
- 3 edits in trunk/Source/WebKit2
NetworkLoad and PingLoad should use private inheritance
https://bugs.webkit.org/show_bug.cgi?id=162649
Reviewed by Alex Christensen.
Make NetworkLoad privately inherit from NetworkDataTaskClient and ResourceHandleClient,
and make the client callbacks from these interfaces private as this class implements
these interfaces.
Similarly, make PingLoad privately inherit from ResourceHandleClient.
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/PingLoad.h:
- 5:37 PM Changeset in webkit [206478] by
-
- 6 edits1 add in trunk
<a download> does not honor the same-origin requirement
https://bugs.webkit.org/show_bug.cgi?id=156100
Reviewed by Alex Christensen.
Source/WebCore:
We now completely ignore the "download" attribute on anchors if the
href URL is cross-origin. We therefore navigate to the URL instead
of forcefully downloading it in this case and leave it up to the server
to give us the right headers if it should be downloaded. This is
conservative and matches Firefox.
Chrome and the HTML specification ignore only the suggested filename
if the URL is cross-origin but still download the file.
No new tests, updated existing test.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
LayoutTests:
Update existing cross origin test as it expected the suggested filename to
be ignored but the file to still be downloaded (Chrome behavior) instead
of the download attribute to be completely ignored and therefore navigate
(Firefox behavior).
- TestExpectations:
- http/tests/resources/pass-notify-done.html: Added.
- http/tests/security/anchor-download-block-crossorigin-expected.txt:
- http/tests/security/anchor-download-block-crossorigin.html:
- 5:31 PM Changeset in webkit [206477] by
-
- 5 edits in trunk
URLParser: Handle windows drive letters after two slashes in relative URLs according to spec
https://bugs.webkit.org/show_bug.cgi?id=162646
Reviewed by Saam Barati.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::CodePointIterator::codeUnitsSince):
(WebCore::URLParser::appendWindowsDriveLetter):
(WebCore::URLParser::parse):
(WebCore::isWindowsDriveLetter): Deleted.
(WebCore::URLParser::checkWindowsDriveLetter): Deleted.
- platform/URLParser.h:
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 5:26 PM Changeset in webkit [206476] by
-
- 3 edits in trunk/Source/JavaScriptCore
createError() and JSObject::calculatedClassName() should not throw any exceptions.
https://bugs.webkit.org/show_bug.cgi?id=162637
Reviewed by Geoffrey Garen.
- runtime/ExceptionHelpers.cpp:
(JSC::createError):
- assert that errorDescriptionForValue() did not throw an exception.
- runtime/JSObject.cpp:
(JSC::JSObject::calculatedClassName):
- the code already ensures that we always return a non-null String. Just need to make sure that it catches its own exceptions.
- 5:25 PM Changeset in webkit [206475] by
-
- 4 edits in trunk
URLs with @ in the user should only search for the last @ until the end of the authority and host
https://bugs.webkit.org/show_bug.cgi?id=162635
Reviewed by Geoffrey Garen.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 5:19 PM Changeset in webkit [206474] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/xmlhttprequest/onabort-response-getters.html as failing on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=162647
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 5:15 PM Changeset in webkit [206473] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/shadow-dom/scroll-to-the-fragment-in-shadow-tree.html as failing on ios-simulator-wk2.
https://bugs.webkit.org/show_bug.cgi?id=162645
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 4:54 PM Changeset in webkit [206472] by
-
- 3 edits1 add in trunk
B3::lowerMacros forgets to before->updatePredecessorsAfter() when lowering ChillMod on ARM64
https://bugs.webkit.org/show_bug.cgi?id=162644
Reviewed by Keith Miller.
JSTests:
- stress/chill-mod-chill-mod.js: Added.
(foo):
Source/JavaScriptCore:
If you forget to update the predecessors of your successors, then bad things will happen if you
do something that requires accurate predecessors for correctness. lowerMacros() uses
BlockInsertionSet, which relies on accurate predecessors.
- b3/B3LowerMacros.cpp:
- 4:41 PM Changeset in webkit [206471] by
-
- 2 edits in branches/safari-602-branch/LayoutTests
Rebaseline fast/text/system-font-weight.html for ios-simulator.
Unreviewed test gardening.
- platform/ios-simulator/fast/text/system-font-weight-expected.txt:
- 4:41 PM Changeset in webkit [206470] by
-
- 7 edits1 add in trunk
Speed up Heap::isMarkedConcurrently
https://bugs.webkit.org/show_bug.cgi?id=162095
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Speed up isMarkedConcurrently by using WTF::consumeLoad.
- heap/MarkedBlock.h:
(JSC::MarkedBlock::areMarksStale):
(JSC::MarkedBlock::areMarksStaleWithDependency):
(JSC::MarkedBlock::isMarkedConcurrently): do away with the load-load fence
Source/WTF:
Heap::isMarkedConcurrently had a load-load fence which is expensive on weak memory ISAs such as ARM.
This patch is fairly perf-neutral overall, but the GC's instrumentation reports:
GC:Eden is 93% average runtime after change
GC:Full is 76% average runtime after change
The fence was there because:
- If the read of m_markingVersion in MarkedBlock::areMarksStale isn't what's expected then;
- The read of m_marks in MarkedBlock::isMarked needs to observe the value that was stored *before* m_markingVersion was stored.
This ordering isn't guaranteed on ARM, which has a weak memory model.
There are 3 ways to guarantee this ordering:
- Use a barrier instruction.
- Use a load-acquire (new in ARMv8).
- use ARM's address dependency rule, which C++ calls memory_order_consume.
In general:
- is slow but orders all of memory in an intuitive manner.
- is faster-ish and has the same property-ish.
- should be faster still, but *only orders dependent loads*. This last part is critical! Consume isn't an all-out replacement for acquire (acquire is rather a superset of consume).
ARM explains the address dependency rule in their document "barrier litmus tests and cookbook":
*Resolving by the use of barriers and address dependency*
There is a rule within the ARM architecture that:
Where the value returned by a read is used to compute the virtual address of a subsequent read or write (this is known as an address dependency), then these two memory accesses will be observed in program order. An address dependency exists even if the value read by the first read has no effect in changing the virtual address (as might be the case if the value returned is masked off before it is used, or if it had no effect on changing a predicted address value).
This restriction applies only when the data value returned from one read is used as a data value to calculate the address of a subsequent read or write. This does not apply if the data value returned from one read is used to determine the condition code flags, and the values of the flags are used for condition code evaluation to determine the address of a subsequent reads, either through conditional execution or the evaluation of a branch. This is known as a control dependency.
Where both a control and address dependency exist, the ordering behaviour is consistent with the address dependency.
C++'s memory_order_consume is unfortunately unimplemented by C++ compilers, and maybe unimplementable as spec'd. I'm working with interested folks in the committee to fix this situation: http://wg21.link/p0190r2
- wtf/Atomics.h:
(WTF::zeroWithConsumeDependency): a 0 which carries a dependency
(WTF::consumeLoad): pixie magic
Tools:
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/Consume.cpp: Added.
(testConsume):
(TestWebKitAPI::TEST):
- 4:33 PM Changeset in webkit [206469] by
-
- 5 edits2 adds in trunk
It should be possible to dispatch events on documents created using DOMParser
https://bugs.webkit.org/show_bug.cgi?id=26147
Reviewed by Ryosuke Niwa.
Source/WebCore:
It should be possible to dispatch events on documents created using
DOMParser. It did not work because we were not setting the context
document on the newly created document in DOMParser::parseFromString().
Firefox and Chrome both already support this.
Test: fast/dom/parsed-document-dispatchEvent.html
- xml/DOMParser.cpp:
(WebCore::DOMParser::DOMParser):
(WebCore::DOMParser::parseFromString):
- xml/DOMParser.h:
(WebCore::DOMParser::create):
- xml/DOMParser.idl:
LayoutTests:
Add layout test coverage.
- fast/dom/parsed-document-dispatchEvent-expected.txt: Added.
- fast/dom/parsed-document-dispatchEvent.html: Added.
- 4:20 PM Changeset in webkit [206468] by
-
- 2 edits in trunk/Source/WTF
Atomics.h on Windows: remove seq_cst hack
https://bugs.webkit.org/show_bug.cgi?id=162022
Reviewed by Mark Lam.
No need to force access to seq_cst, always inlining fixes the MSVC warning.
- wtf/Atomics.h:
(WTF::Atomic::compareExchangeWeak): remove seq_cst hack
(WTF::Atomic::compareExchangeStrong): remove seq_cst hack
(WTF::Atomic::exchangeAndAdd): remove seq_cst hack
(WTF::Atomic::exchange): remove seq_cst hack
- 3:17 PM Changeset in webkit [206467] by
-
- 2 edits in trunk/LayoutTests
Marking fast/scrolling/rtl-scrollbars-alternate-iframe-body-dir-attr-does-not-update-scrollbar-placement.html as flaky on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=162638
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 2:58 PM Changeset in webkit [206466] by
-
- 5 edits in trunk/Source/WebCore
[Cocoa] Improve performance of complex text codepath
https://bugs.webkit.org/show_bug.cgi?id=161936
Reviewed by Simon Fraser.
CoreText exposes a bit on the CTRunStatus which represents whether
the run actually uses the glyph origins concept introduced in
r205396. If this bit is not set, we can use the (slightly faster)
call to CTRunGetAdvances() instead of
CTRunGetBaseAdvancesAndOrigins(). In addition, if none of the runs
have this bit set, we don't need to allocate storage for the vector
of origins at all, thereby using less memory.
No new tests because there is no behavior change.
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::advance):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
- platform/graphics/mac/ComplexTextController.h:
(WebCore::ComplexTextController::ComplexTextRun::glyphOrigins):
(WebCore::ComplexTextController::glyphOrigin):
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
- platform/spi/cocoa/CoreTextSPI.h:
- 2:54 PM Changeset in webkit [206465] by
-
- 5 edits in trunk/Websites/perf.webkit.org
Extend perf dashboard to support multiple summary pages.
https://bugs.webkit.org/show_bug.cgi?id=162594
Reviewed by Ryosuke Niwa.
Start support multiple summary pages instead of one.
Specify 'summaryPages' as key that map to a list of summaries which follows
current 'summary' format in 'config.json' but with 2 more properties:
'name': specifying the name shows on perf dashboard,
'route': specifying the path to this page.
- public/include/manifest.php:
- public/v3/main.js:
(main):
(main.): Deleted.
- public/v3/models/manifest.js:
(Manifest._didFetchManifest):
(Manifest):
- public/v3/pages/summary-page.js:
(SummaryPage):
(SummaryPage.prototype.routeName):
- 2:05 PM Changeset in webkit [206464] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Refreshing while in Timelines-tab causes negative timestamps in Network-tab
https://bugs.webkit.org/show_bug.cgi?id=160051
<rdar://problem/27480122>
Reviewed by Brian Burg.
- UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView.prototype.get startTime):
(WebInspector.NetworkGridContentView.prototype.get zeroTime):
Use the cached start time for graph data source properties instead of
relying on the ruler, which requires a layout in order to be updated
for the first time.
- 2:04 PM Changeset in webkit [206463] by
-
- 4 edits29 moves32 adds2 deletes in trunk
Import w3c shadow DOM tests and fix one assertion
https://bugs.webkit.org/show_bug.cgi?id=162629
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Import shadow DOM tests in web-platform-tests as of 7163d6eeed81e9e020545fbe0c4b11fc2c5963cd
except untriaged tests for v0 API, which we obviously don't implement.
Most of these tests are the ones we upstreamed from fast/shadow-dom/.
- web-platform-tests/shadow-dom/Document-prototype-adoptNode-expected.txt: Renamed from LayoutTests/fast/shadow-dom/Document-prototype-adoptNode-expected.txt.
- web-platform-tests/shadow-dom/Document-prototype-adoptNode.html: Renamed from LayoutTests/fast/shadow-dom/Document-prototype-adoptNode.html.
- web-platform-tests/shadow-dom/Document-prototype-currentScript-expected.txt: Renamed from LayoutTests/fast/shadow-dom/Document-prototype-currentScript-expected.txt.
- web-platform-tests/shadow-dom/Document-prototype-currentScript.html: Renamed from LayoutTests/fast/shadow-dom/Document-prototype-currentScript.html.
- web-platform-tests/shadow-dom/Document-prototype-importNode-expected.txt: Renamed from LayoutTests/fast/shadow-dom/Document-prototype-importNode-expected.txt.
- web-platform-tests/shadow-dom/Document-prototype-importNode.html: Renamed from LayoutTests/fast/shadow-dom/Document-prototype-importNode.html.
- web-platform-tests/shadow-dom/Element-interface-attachShadow-expected.txt: Added.
- web-platform-tests/shadow-dom/Element-interface-attachShadow.html: Renamed from LayoutTests/fast/shadow-dom/Element-interface-attachShadow.html.
- web-platform-tests/shadow-dom/Element-interface-shadowRoot-attribute-expected.txt: Renamed from LayoutTests/fast/shadow-dom/Element-interface-shadowRoot-attribute-expected.txt.
- web-platform-tests/shadow-dom/Element-interface-shadowRoot-attribute.html: Renamed from LayoutTests/fast/shadow-dom/Element-interface-shadowRoot-attribute.html.
- web-platform-tests/shadow-dom/Extensions-to-Event-Interface-expected.txt: Renamed from LayoutTests/fast/shadow-dom/Extensions-to-Event-Interface-expected.txt.
- web-platform-tests/shadow-dom/Extensions-to-Event-Interface.html: Renamed from LayoutTests/fast/shadow-dom/Extensions-to-Event-Interface.html.
- web-platform-tests/shadow-dom/HTMLSlotElement-interface-expected.txt: Renamed from LayoutTests/fast/shadow-dom/HTMLSlotElement-interface-expected.txt.
- web-platform-tests/shadow-dom/HTMLSlotElement-interface.html: Renamed from LayoutTests/fast/shadow-dom/HTMLSlotElement-interface.html.
- web-platform-tests/shadow-dom/MouseEvent-prototype-offsetX-offsetY-expected.txt: Renamed from LayoutTests/fast/shadow-dom/MouseEvent-prototype-offsetX-offsetY-expected.txt.
- web-platform-tests/shadow-dom/MouseEvent-prototype-offsetX-offsetY.html: Renamed from LayoutTests/fast/shadow-dom/MouseEvent-prototype-offsetX-offsetY.html.
- web-platform-tests/shadow-dom/Node-prototype-cloneNode-expected.txt: Added.
- web-platform-tests/shadow-dom/Node-prototype-cloneNode.html: Renamed from LayoutTests/fast/shadow-dom/Node-prototype-cloneNode.html.
- web-platform-tests/shadow-dom/OWNERS: Added.
- web-platform-tests/shadow-dom/ShadowRoot-interface-expected.txt: Renamed from LayoutTests/fast/shadow-dom/ShadowRoot-interface-expected.txt.
- web-platform-tests/shadow-dom/ShadowRoot-interface.html: Renamed from LayoutTests/fast/shadow-dom/ShadowRoot-interface.html.
- web-platform-tests/shadow-dom/Slotable-interface-expected.txt: Renamed from LayoutTests/fast/shadow-dom/Slotable-interface-assignedSlot-expected.txt.
- web-platform-tests/shadow-dom/Slotable-interface.html: Renamed from LayoutTests/fast/shadow-dom/Slotable-interface-assignedSlot.html.
- web-platform-tests/shadow-dom/event-composed-expected.txt: Added.
- web-platform-tests/shadow-dom/event-composed-path-expected.txt: Added.
- web-platform-tests/shadow-dom/event-composed-path-with-related-target-expected.txt: Added.
- web-platform-tests/shadow-dom/event-composed-path-with-related-target.html: Added.
- web-platform-tests/shadow-dom/event-composed-path.html: Added.
- web-platform-tests/shadow-dom/event-composed.html: Added.
- web-platform-tests/shadow-dom/event-inside-shadow-tree-expected.txt: Renamed from LayoutTests/fast/shadow-dom/event-inside-shadow-tree-expected.txt.
- web-platform-tests/shadow-dom/event-inside-shadow-tree.html: Renamed from LayoutTests/fast/shadow-dom/event-inside-shadow-tree.html.
- web-platform-tests/shadow-dom/event-inside-slotted-node-expected.txt: Renamed from LayoutTests/fast/shadow-dom/event-inside-slotted-node-expected.txt.
- web-platform-tests/shadow-dom/event-inside-slotted-node.html: Renamed from LayoutTests/fast/shadow-dom/event-inside-slotted-node.html.
- web-platform-tests/shadow-dom/event-with-related-target-expected.txt: Renamed from LayoutTests/fast/shadow-dom/event-with-related-target-expected.txt.
- web-platform-tests/shadow-dom/event-with-related-target.html: Renamed from LayoutTests/fast/shadow-dom/event-with-related-target.html.
- web-platform-tests/shadow-dom/leaktests/get-elements-expected.txt: Added.
- web-platform-tests/shadow-dom/leaktests/get-elements.html: Added.
- web-platform-tests/shadow-dom/leaktests/html-collection-expected.txt: Added.
- web-platform-tests/shadow-dom/leaktests/html-collection.html: Added.
- web-platform-tests/shadow-dom/leaktests/w3c-import.log: Added.
- web-platform-tests/shadow-dom/leaktests/window-frames-expected.txt: Added.
- web-platform-tests/shadow-dom/leaktests/window-frames.html: Added.
- web-platform-tests/shadow-dom/resources/Document-prototype-currentScript-helper.js: Renamed from LayoutTests/fast/shadow-dom/resources/Document-prototype-currentScript-helper.js.
- web-platform-tests/shadow-dom/resources/event-path-test-helpers.js: Added.
- web-platform-tests/shadow-dom/resources/shadow-dom-utils.js: Added.
- web-platform-tests/shadow-dom/resources/shadow-dom.js: Added.
- web-platform-tests/shadow-dom/resources/w3c-import.log: Added.
- web-platform-tests/shadow-dom/scroll-to-the-fragment-in-shadow-tree-expected.txt: Added.
- web-platform-tests/shadow-dom/scroll-to-the-fragment-in-shadow-tree.html: Added.
- web-platform-tests/shadow-dom/slotchange-event-expected.txt: Renamed from LayoutTests/fast/shadow-dom/slotchange-event-expected.txt.
- web-platform-tests/shadow-dom/slotchange-event.html: Renamed from LayoutTests/fast/shadow-dom/slotchange-event.html.
- web-platform-tests/shadow-dom/slotchange-expected.txt: Added.
- web-platform-tests/shadow-dom/slotchange.html: Added.
- web-platform-tests/shadow-dom/slots-expected.txt: Added.
- web-platform-tests/shadow-dom/slots-fallback-expected.txt: Added.
- web-platform-tests/shadow-dom/slots-fallback.html: Added.
- web-platform-tests/shadow-dom/slots.html: Added.
- web-platform-tests/shadow-dom/w3c-import.log: Added.
Source/WebCore:
The assertion failure was caused by RelatedNodeRetargeter's constructor mixing up the ancestor tree scopes
for the target and the related target. Fixed the bug by reversing the two.
Tests: imported/w3c/web-platform-tests/shadow-dom/event-composed-path-with-related-target.html
- dom/EventPath.cpp:
(WebCore::RelatedNodeRetargeter::RelatedNodeRetargeter): i and m_ancestorTreeScopes are for the related target
and j and targetTreeScopeAncestors are for the target.
LayoutTests:
Deleted the duplicated copies of tests in fast/shadow/ since this patch re-imports them via web-platform-tests.
- fast/shadow-dom/Element-interface-attachShadow-expected.txt: Removed.
- fast/shadow-dom/Node-prototype-cloneNode-expected.txt: Removed.
- 1:55 PM Changeset in webkit [206462] by
-
- 11 edits2 adds in trunk
It should be possible to dispatch events on documents that do not have a browsing context
https://bugs.webkit.org/show_bug.cgi?id=162620
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
- web-platform-tests/dom/events/Event-dispatch-bubbles-false-expected.txt:
- web-platform-tests/dom/events/Event-dispatch-bubbles-true-expected.txt:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/dom/events/Event-dispatch-other-document-expected.txt: Added.
- web-platform-tests/dom/events/Event-dispatch-other-document.html: Added.
- web-platform-tests/dom/events/w3c-import.log:
Import more test coverage from W3C.
Source/WebCore:
It should be possible to dispatch events on documents that do not have a browsing
context (e.g. Documents created using DOMImplementation.createHTMLDocument()).
Gecko and Blink both allow this but WebKit did not.
The approach chosen to support this is similar to the one in Blink. When constructing
a new document (e.g. using DOMImplementation.createHTMLDocument()) we now keep track
of the context document. When requesting the scriptExecutionContext(), we now return
the context document if the document has one instead of the document itself.
Test: imported/w3c/web-platform-tests/dom/events/Event-dispatch-other-document.html
- bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::visitAdditionalChildren):
- dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):
- dom/Document.cpp:
(WebCore::Document::create):
(WebCore::Document::cloneDataFromDocument):
(WebCore::Document::contextDocument):
(WebCore::Document::takeDOMWindowFrom): Deleted.
- dom/Document.h:
(WebCore::Document::setContextDocument):
(WebCore::Node::scriptExecutionContext):
(WebCore::Node::isDocumentNode): Deleted.
- dom/Document.idl:
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):
- 1:47 PM Changeset in webkit [206461] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/media-source/mediasource-liveseekable.html as flaky on mac.
https://bugs.webkit.org/show_bug.cgi?id=162626
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:45 PM Changeset in webkit [206460] by
-
- 2 edits in trunk/Source/WebKit/win
Use override specifiers in PluginView
https://bugs.webkit.org/show_bug.cgi?id=162628
Reviewed by Alex Christensen.
- Plugins/PluginView.h:
- 1:32 PM Changeset in webkit [206459] by
-
- 6 edits in trunk/Source/JavaScriptCore
Add some needed CatchScopes in code that should not throw.
https://bugs.webkit.org/show_bug.cgi?id=162584
Reviewed by Keith Miller.
Re-landing minus the jsc.cpp and ExceptionHelpers.cpp changes. I'll address
those in a subsequent patch if the need manifests again in my testing.
- API/JSObjectRef.cpp:
(JSObjectSetProperty):
- This function already handles exceptions in its own way. We're honoring this contract and catching exceptions and passing it to the handler.
- interpreter/Interpreter.cpp:
(JSC::notifyDebuggerOfUnwinding):
- The debugger should not be throwing any exceptions.
- profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::save):
- If an exception was thrown while saving the database, there's nothing we can really do about it anyway. Just fail nicely and return false. This is in line with existing error checking code in Database::save() that returns false if it's not able to open the file to save to.
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::finishCreation):
- The existing code already RELEASE_ASSERT that no exception was thrown. Hence, it's appropriate to use a CatchScope here.
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::StackFrame::nameFromCallee):
- The sampling profiler is doing a VMInquiry get here. It should never throw an exception. Hence, we'll just use a CatchScope and assert accordingly.
- 1:30 PM Changeset in webkit [206458] by
-
- 4 edits in trunk
[CMake] Use CMake to determine HAVE_* defines
https://bugs.webkit.org/show_bug.cgi?id=162368
Patch by Don Olmstead <don.olmstead@am.sony.com> on 2016-09-27
Reviewed by Alex Christensen.
.:
- Source/cmake/OptionsCommon.cmake:
Source/WTF:
- wtf/Platform.h:
- 1:07 PM Changeset in webkit [206457] by
-
- 7 edits in trunk
Implement URLParser::syntaxViolation
https://bugs.webkit.org/show_bug.cgi?id=162593
Reviewed by Geoffrey Garen.
Source/WebCore:
Most of the time when parsing URLs, we just look at the URL, find offsets of the host, path, query, etc.,
and the String can be used untouched. When this happens, we do not want to allocate and copy the String.
We want to just add a reference to an existing String.
Sometimes we need to canonicalize the String because there has been a syntaxViolation,
defined as any String that is different than its canonicalized URL String. In such cases we need to
allocate a new String and fill it with the canonicalized URL String. When a syntaxViolation happens for the
first time, we know that everything in the input String up to that point is equal to what it would have been
if we had canonicalized the beginning of the URL, copy it into a buffer, and continue parsing in a mode where
instead of just looking at the input URL String, we canonicalize each code point into the buffer.
Changes to behavior involve additional spec compliance with tabs and newlines in different places in URLs,
as well as additional spec compliance when parsing empty and null URLs relative to other URLs.
Both are covered by new API tests. Existing behavior covered by existing API tests.
This is about a 15% speed improvement on my URL parsing benchmark.
- platform/URL.cpp:
(WebCore::assertProtocolIsGood):
(WebCore::URL::protocolIs):
(WebCore::protocolIs):
- platform/URL.h:
- platform/URLParser.cpp:
(WebCore::isTabOrNewline):
(WebCore::URLParser::incrementIteratorSkippingTabsAndNewlines):
(WebCore::URLParser::isWindowsDriveLetter):
(WebCore::URLParser::appendToASCIIBuffer):
(WebCore::URLParser::checkWindowsDriveLetter):
(WebCore::URLParser::shouldCopyFileURL):
(WebCore::URLParser::utf8PercentEncode):
(WebCore::URLParser::utf8QueryEncode):
(WebCore::URLParser::copyURLPartsUntil):
(WebCore::URLParser::syntaxViolation):
(WebCore::URLParser::fragmentSyntaxViolation):
(WebCore::URLParser::parsedDataView):
(WebCore::URLParser::currentPosition):
(WebCore::URLParser::URLParser):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseAuthority):
(WebCore::URLParser::parseIPv4Number):
(WebCore::URLParser::parseIPv4Host):
(WebCore::URLParser::parseIPv6Host):
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHostAndPort):
(WebCore::serializeURLEncodedForm):
(WebCore::URLParser::allValuesEqual):
(WebCore::URLParser::internalValuesConsistent):
(WebCore::URLParser::incrementIteratorSkippingTabAndNewLine): Deleted.
(WebCore::URLParser::syntaxError): Deleted.
(WebCore::parseIPv4Number): Deleted.
- platform/URLParser.h:
(WebCore::URLParser::incrementIteratorSkippingTabsAndNewlines):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 12:49 PM Changeset in webkit [206456] by
-
- 4 edits in branches/safari-602-branch/Source/WebCore
Merge r206454. rdar://problem/28484193
- 12:49 PM Changeset in webkit [206455] by
-
- 3 edits in branches/safari-602-branch/Source/WebCore
Merge r206444. rdar://problem/28496755
- 12:39 PM Changeset in webkit [206454] by
-
- 4 edits in trunk/Source/WebCore
Related videos on YouTube (and YouTube playlists) cause media controls to disappear
https://bugs.webkit.org/show_bug.cgi?id=162621
<rdar://problem/28484193>
Reviewed by Jer Noble.
Tweaks the main content media heuristic for better Now Playing behavior on YouTube by making the following
changes:
- Remove the strict requirement for audio to be actively playing for the session to be able to show controls for the purpose of Now Playing, making it the same as our policy for the controls manager.
- Make playback requirement restrictions apply only for the controls manager. Videos that do not autoplay will still have the correct behavior with respect to Now Playing, since we will bail in the hasEverNotifiedAboutPlaying() check.
- Only consider the main content heuristic as preventing media controls from showing up for the purposes of the controls manager. Now Playing should instead account for this by preferring elements large enough for main content after collecting all of the candidate sessions.
- html/HTMLMediaElement.cpp:
(WebCore::mediaElementSessionInfoForSession):
(WebCore::preferMediaControlsForCandidateSessionOverOtherCandidateSession):
(WebCore::HTMLMediaElement::updatePlayState):
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canShowControlsManager):
- platform/audio/mac/MediaSessionManagerMac.mm:
(WebCore::MediaSessionManagerMac::sessionWillBeginPlayback):
- 12:35 PM Changeset in webkit [206453] by
-
- 6 edits in trunk
Second parameter to MutationObserver.observe() should be optional
https://bugs.webkit.org/show_bug.cgi?id=162627
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
- web-platform-tests/dom/interfaces-expected.txt:
Source/WebCore:
Second parameter to MutationObserver.observe() should be optional:
Firefox agrees with the specification. There is no real behavior change
except that MutationObserver.prototype.observe.length is now 1 instead
of 2. Passing only one parameter will still throw a TypeError because
the Dictionary is empty. However, this parameter needs to be marked as
optional because Web IDL requires the last parameter to be optional if
it is a Dictionary.
No new tests, rebaselined existing test.
- dom/MutationObserver.idl:
LayoutTests:
Rebaseline existing test now that the exception messages are slightly
different.
- fast/dom/MutationObserver/observe-exceptions-expected.txt:
- 12:32 PM Changeset in webkit [206452] by
-
- 3 edits in trunk/Tools
Turns out OptionSet.cpp wasn't added to the right target. Add it and fix the build for real.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(TestWebKitAPI::TEST):
- 12:26 PM Changeset in webkit [206451] by
-
- 2 edits in trunk/Tools
Try to fix the GTK+ build.
- TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(TestWebKitAPI::TEST):
- 12:08 PM Changeset in webkit [206450] by
-
- 23 edits in trunk
PlatformEvent::m_modifiers should be an OptionSet
https://bugs.webkit.org/show_bug.cgi?id=162326
Reviewed by Daniel Bates.
Source/WebCore:
- page/EventHandler.cpp:
(WebCore::EventHandler::handleAccessKey):
- page/EventHandler.h:
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::accessKeyModifiers):
- platform/PlatformEvent.h:
(WebCore::PlatformEvent::shiftKey):
(WebCore::PlatformEvent::ctrlKey):
(WebCore::PlatformEvent::altKey):
(WebCore::PlatformEvent::metaKey):
(WebCore::PlatformEvent::modifiers):
(WebCore::PlatformEvent::PlatformEvent):
- platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
- platform/mac/PlatformEventFactoryMac.mm:
(WebCore::modifiersForEvent):
(WebCore::typeForEvent):
- replay/SerializationMethods.cpp:
(JSC::EncodingTraits<PlatformKeyboardEvent>::encodeValue):
(JSC::EncodingTraits<PlatformKeyboardEvent>::decodeValue):
- replay/WebInputs.json:
Source/WebKit2:
- Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
(WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
Source/WTF:
- wtf/OptionSet.h:
(WTF::OptionSet::operator!=):
(WTF::OptionSet::operator-):
- 11:31 AM Changeset in webkit [206449] by
-
- 18 edits2 adds in trunk
[iOS] REGRESSION (r182126): Selection highlight and handles aren’t visible with WKSelectionGranularityCharacter
https://bugs.webkit.org/show_bug.cgi?id=162577
<rdar://problem/28481984>
Reviewed by Simon Fraser.
Source/WebKit2:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _uiTextSelectionRectViews]): Added this method in the WKTesting category, which
uses UIKit internals to get the views used for the selection highlight.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _selectionClipRect]): When selection is not confined to a form control or
content-editable element, return the null rect to indicate no clipping, rather than
clipping to the empty rect at the origin.
Tools:
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::selectionRangeViewRects): Returns null.
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: Declared new selectionRangeViewRects attribute.
- TestRunnerShared/UIScriptContext/UIScriptContext.h:
(WTR::UIScriptContext::jsContext): Added this public accessor.
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::selectionRangeViewRects): Generic implementation that returns null.
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/TestController.cpp:
(WTR::updateTestOptionsFromTestHeader): Parse the new useCharacterSelectionGranularity
option.
- WebKitTestRunner/TestOptions.h: Added new useCharacterSelectionGranularity option.
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView): Set the configuration’s selectionGranularity
property based on the new option.
- WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::viewSupportsOptions): Compare selection granularity option values.
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::selectionRangeViewRects): iOS-specific implementation that calls
the new -[WKWebView _uiTextSelectionRectViews] and returns an array of view frame
dictionaries.
LayoutTests:
- TestExpectations:
- editing/selection/character-granularity-rect-expected.txt: Added.
- editing/selection/character-granularity-rect.html: Added.
- platform/ios-simulator-wk2/TestExpectations:
- 11:10 AM Changeset in webkit [206448] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r206415. rdar://problem/28484047
- 11:10 AM Changeset in webkit [206447] by
-
- 6 edits in branches/safari-602-branch/Source/WebCore
Merge r206399. rdar://problem/28457219
- 11:03 AM Changeset in webkit [206446] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Handle Wayland & X11 correctly for GST_GL
https://bugs.webkit.org/show_bug.cgi?id=162619
Reviewed by Carlos Garcia Campos.
The checks for GST_GL consider X11 and Wayland are exclusive alternatives, but it
turns out we can enable both! We need to check them independently and also include
a runtime check.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext): fix checks for X11 and
Wayland to handle the case where both are enabled. Includes a runtime check.
- 10:58 AM Changeset in webkit [206445] by
-
- 14 edits in trunk/Source/WebCore
[MediaStream] Restructure MediaConstraints classes
https://bugs.webkit.org/show_bug.cgi?id=162571
Reviewed by Jer Noble.
No new tests, no functional changes.
- Modules/mediastream/MediaConstraintsImpl.cpp:
(WebCore::MediaConstraintsImpl::initialize): Deleted, no longer used.
- Modules/mediastream/MediaConstraintsImpl.h:
- bindings/js/JSMediaDevicesCustom.cpp:
(WebCore::createStringConstraint): Return Optional<> instead of RefPtr<>.
(WebCore::createBooleanConstraint): Ditto.
(WebCore::createDoubleConstraint): Ditto.
(WebCore::createIntConstraint): Ditto.
(WebCore::parseMediaTrackConstraintSetForKey): Deal with above change.
- platform/mediastream/CaptureDeviceManager.cpp:
(CaptureDeviceManager::verifyConstraintsForMediaType): Use constraints.mandatoryConstraints.filter
instead of direct enumeration.
(CaptureDeviceManager::sessionSupportsConstraint): Use downcast<>.
(CaptureDeviceManager::isSupportedFrameRate): Ditto.
- platform/mediastream/MediaConstraints.cpp:
(WebCore::StringConstraint::find): Lose the ConstraintType parameter.
(WebCore::StringConstraint::merge): Use downcast<>.
(WebCore::FlattenedConstraint::set): Use ConstraintHolder.
(WebCore::FlattenedConstraint::merge): Ditto.
(WebCore::MediaTrackConstraintSetMap::forEach): New.
(WebCore::MediaTrackConstraintSetMap::filter): Ditto.
(WebCore::MediaTrackConstraintSetMap::isEmpty): Ditto.
(WebCore::MediaTrackConstraintSetMap::set): Ditto.
(WebCore::MediaConstraint::copy): Deleted.
(WebCore::IntConstraint::copy): Deleted.
(WebCore::DoubleConstraint::copy): Deleted.
(WebCore::BooleanConstraint::copy): Deleted.
(WebCore::StringConstraint::copy): Deleted.
- platform/mediastream/MediaConstraints.h:
(WebCore::MediaConstraint::MediaConstraint):
(WebCore::MediaConstraint::isEmpty):
(WebCore::MediaConstraint::isMandatory):
(WebCore::MediaConstraint::merge):
(WebCore::MediaConstraint::isInt):
(WebCore::MediaConstraint::isDouble):
(WebCore::MediaConstraint::isBoolean):
(WebCore::MediaConstraint::isString):
(WebCore::MediaConstraint::dataType):
(WebCore::MediaConstraint::constraintType):
(WebCore::NumericConstraint::getMin):
(WebCore::NumericConstraint::getMax):
(WebCore::NumericConstraint::getExact):
(WebCore::NumericConstraint::getIdeal):
(WebCore::NumericConstraint::fitnessDistance):
(WebCore::NumericConstraint::validForRange):
(WebCore::NumericConstraint::find):
(WebCore::NumericConstraint::NumericConstraint):
(WebCore::NumericConstraint::innerMerge):
(WebCore::FlattenedConstraint::isEmpty):
(WebCore::FlattenedConstraint::iterator::iterator):
(WebCore::FlattenedConstraint::iterator::operator*):
(WebCore::FlattenedConstraint::iterator::operator++):
(WebCore::FlattenedConstraint::iterator::operator==):
(WebCore::FlattenedConstraint::iterator::operator!=):
(WebCore::FlattenedConstraint::begin):
(WebCore::FlattenedConstraint::end):
(WebCore::FlattenedConstraint::ConstraintHolder::create):
(WebCore::FlattenedConstraint::ConstraintHolder::~ConstraintHolder):
(WebCore::FlattenedConstraint::ConstraintHolder::constraint):
(WebCore::FlattenedConstraint::ConstraintHolder::dataType):
(WebCore::FlattenedConstraint::ConstraintHolder::constraintType):
(WebCore::FlattenedConstraint::ConstraintHolder::ConstraintHolder):
(WebCore::MediaConstraint::getMin): Deleted.
(WebCore::MediaConstraint::getMax): Deleted.
(WebCore::MediaConstraint::getExact): Deleted.
(WebCore::MediaConstraint::getIdeal): Deleted.
(WebCore::MediaConstraint::validForRange): Deleted.
(WebCore::MediaConstraint::find): Deleted.
(WebCore::MediaConstraint::fitnessDistance): Deleted.
(WebCore::MediaConstraint::type): Deleted.
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::fitnessDistance): Use downcast<>.
(WebCore::applyNumericConstraint):
(WebCore::RealtimeMediaSource::applyConstraint): Ditto.
(WebCore::RealtimeMediaSource::selectSettings): Ditto. Use constraints.mandatoryConstraints.filter
instead of direct enumeration.
(WebCore::RealtimeMediaSource::applyConstraints):
(WebCore::RealtimeMediaSource::setSampleRate): Sample rate is an int, not a double.
(WebCore::RealtimeMediaSource::setSampleSize): Sample size is also an int.
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::sessionSupportsConstraint): Use downcast<>.
- platform/mock/MediaConstraintsMock.cpp:
(WebCore::isIntMediaConstraintSatisfiable): Use downcast<>.
(WebCore::isDoubleMediaConstraintSatisfiable): Ditto.
(WebCore::isBooleanMediaConstraintSatisfiable): Ditto.
(WebCore::isStringMediaConstraintSatisfiable):
(WebCore::isSatisfiable):
(WebCore::MediaConstraintsMock::verifyConstraints): Use constraints.mandatoryConstraints.filter
instead of direct enumeration.
- platform/mock/MediaConstraintsMock.h:
- platform/mock/MockRealtimeAudioSource.h:
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::createMediaStream):
- 10:54 AM Changeset in webkit [206444] by
-
- 3 edits in trunk/Source/WebCore
Some Now Playing behavior is broken after r206315
https://bugs.webkit.org/show_bug.cgi?id=162625
<rdar://problem/28496755>
Reviewed by Jer Noble.
Reverts the part of our heuristic that disables Now Playing in active tabs in the main window.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::pageAllowsNowPlayingControls):
- page/Page.cpp:
(WebCore::Page::setViewState):
- 10:33 AM Changeset in webkit [206443] by
-
- 2 edits in trunk/Source/WebCore
Remove an unneeded assert in InspectorOverlay.cpp
https://bugs.webkit.org/show_bug.cgi?id=162581
Reviewed by Alexey Proskuryakov.
This assertion was added to catch unknown issues, but it is firing frequently enough on certain Inspector
tests that it is causing more harm than good.
- inspector/InspectorOverlay.cpp:
(WebCore::buildQuadObjectForCSSRegionContentClip):
(WebCore::evaluateCommandInOverlay):
- 10:25 AM Changeset in webkit [206442] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Unfocusing / Focusing inspector window should not change ContentView
https://bugs.webkit.org/show_bug.cgi?id=162572
<rdar://problem/28479562>
Reviewed by Brian Burg.
Improve NavigationSidebarPanel logic for coordinating selection between trees.
When tree selection changes, the most recent selection should be restored
the next time the tree is focused.
The sidebar should also handle focusing a tree for the first time, in
which no previous selection exists, and focusing a tree that has had its
previous selection filtered out (hidden).
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineDidFocus):
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange):
Restoring the last deselected element, instead of the last selected element
only works when the selection is moving from one tree to another. When
the elements belong to the same tree the newly selected element won't
be saved until the next selection change. If the window loses and regains
the focus before then, the tree will restore the previous selection,
effectively reverting the last selection change.
- 10:18 AM Changeset in webkit [206441] by
-
- 2 edits in trunk/Tools
Cannot run dump-class-layout; dies with "global name 'lldb' is not defined"
https://bugs.webkit.org/show_bug.cgi?id=162585
Reviewed by Simon Fraser.
Import the lldb module into the global namespace.
Currently dump-class-layout imports the lldb Python module using the import statement
from the helper function import_lldb. The import statement imports the names of the
specified module into the scope of import_lldb(); => the names imported from this
module cannot be accessed outside the scope of import_lldb(). Other functions in
this script assume that the lldb module was imported into the global scope. We should
import the module lldb into the global scope, if it exists, so that these functions
can find it. Otherwise, we should emit a human readable error message that explains
that we failed to import the lldb module.
Also remove some unnecessary semicolon characters.
- Scripts/dump-class-layout:
(import_lldb):
- 10:14 AM Changeset in webkit [206440] by
-
- 42 edits10 deletes in trunk
Remove deprecated ENCRYPTED_MEDIA implementation.
https://bugs.webkit.org/show_bug.cgi?id=161010
Source/JavaScriptCore:
Reviewed by Eric Carlson.
Remove ENABLE_ENCRYPTED_MEDIA.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Reviewed by Eric Carlson.
Remove all references to the deprecated ENABLE_ENCRYPTED_MEDIA (leaving in place
the soon-to-be deprecated ENABLE_ENCRYPTED_MEDIA_V2).
- CMakeLists.txt:
- Configurations/FeatureDefines.xcconfig:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- bindings/objc/DOMHTMLMediaElement.h:
- bindings/objc/DOMHTMLMediaElement.mm:
(-[DOMHTMLMediaElement canPlayType:]):
(-[DOMHTMLMediaElement canPlayType:keySystem:]): Deleted.
- bindings/js/JSDictionary.cpp:
- bindings/js/JSDictionary.h:
- dom/Element.idl:
- dom/EventNames.in:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::selectNextSourceChild):
(WebCore::exceptionCodeForMediaKeyException): Deleted.
(WebCore::HTMLMediaElement::canPlayType): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerKeyAdded): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerKeyError): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerKeyMessage): Deleted.
(WebCore::HTMLMediaElement::mediaPlayerKeyNeeded): Deleted.
- html/HTMLMediaElement.h:
- html/HTMLMediaElement.idl:
- html/MediaError.h:
- html/MediaError.idl:
- html/MediaKeyError.h:
- html/MediaKeyError.idl:
- html/MediaKeyEvent.cpp: Removed.
(WebCore::MediaKeyEvent::MediaKeyEvent): Deleted.
(WebCore::MediaKeyEvent::~MediaKeyEvent): Deleted.
(WebCore::MediaKeyEvent::eventInterface): Deleted.
- html/MediaKeyEvent.h: Removed.
- html/MediaKeyEvent.idl: Removed.
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::nextBestMediaEngine):
(WebCore::MediaPlayer::generateKeyRequest): Deleted.
(WebCore::MediaPlayer::addKey): Deleted.
(WebCore::MediaPlayer::cancelKeyRequest): Deleted.
(WebCore::MediaPlayer::keyAdded): Deleted.
(WebCore::MediaPlayer::keyError): Deleted.
(WebCore::MediaPlayer::keyMessage): Deleted.
(WebCore::MediaPlayer::keyNeeded): Deleted.
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerKeyAdded): Deleted.
(WebCore::MediaPlayerClient::mediaPlayerKeyError): Deleted.
(WebCore::MediaPlayerClient::mediaPlayerKeyMessage): Deleted.
(WebCore::MediaPlayerClient::mediaPlayerKeyNeeded): Deleted.
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::addKey): Deleted.
(WebCore::MediaPlayerPrivateInterface::generateKeyRequest): Deleted.
(WebCore::MediaPlayerPrivateInterface::cancelKeyRequest): Deleted.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::update):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationObjC::generateKeyRequest): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationObjC::addKey): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelKeyRequest): Deleted.
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::supportsType): Deleted.
- testing/MockCDM.h:
Source/WebKit/mac:
Remove ENABLE_ENCRYPTED_MEDIA.
Reviewed by Eric Carlson.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
Reviewed by Eric Carlson.
Remove ENABLE_ENCRYPTED_MEDIA.
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
Reviewed by Eric Carlson.
Remove ENABLE_ENCRYPTED_MEDIA.
- wtf/FeatureDefines.h:
Tools:
Reviewed by Eric Carlson.
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
Reviewed by Eric Carlson.
- fast/events/constructors/media-key-event-constructor-expected.txt: Removed.
- fast/events/constructors/media-key-event-constructor.html: Removed.
- media/encrypted-media/encrypted-media-can-play-type-expected.txt: Removed.
- media/encrypted-media/encrypted-media-can-play-type-webm-expected.txt: Removed.
- media/encrypted-media/encrypted-media-can-play-type-webm.html: Removed.
- media/encrypted-media/encrypted-media-can-play-type.html: Removed.
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/fast/events/constructors/media-key-event-constructor-expected.txt: Removed.
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- 9:58 AM Changeset in webkit [206439] by
-
- 17 edits1 add in trunk
[WK2] Navigating to a Blob URL does not trigger a download
https://bugs.webkit.org/show_bug.cgi?id=162574
Reviewed by Darin Adler.
Source/WebKit2:
Add support for converting Blob URL loads into downloads.
- NetworkProcess/Downloads/BlobDownloadClient.cpp:
(WebKit::BlobDownloadClient::didReceiveResponseAsync):
Make sure we return a valid suggested filename because the client side (Safari)
does not deal with empty suggested filenames. Use "unknown" by default to
match the default suggested filename of non-Blob downloads.
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::startWithHandle):
- NetworkProcess/Downloads/Download.h:
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::convertHandleToDownload):
- NetworkProcess/Downloads/DownloadManager.h:
- NetworkProcess/Downloads/ios/DownloadIOS.mm:
(WebKit::Download::startNetworkLoadWithHandle):
- NetworkProcess/Downloads/mac/DownloadMac.mm:
(WebKit::Download::startNetworkLoadWithHandle):
- NetworkProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::startNetworkLoadWithHandle):
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
- NetworkProcess/NetworkLoad.h:
(WebKit::NetworkLoad::handle):
Tools:
Add API that tests navigating to a Blob URL and checks that that the load
properly gets converted into a download.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:
(-[BlobDownloadDelegate _downloadDidStart:]):
(-[BlobDownloadDelegate _download:didReceiveResponse:]):
(-[BlobDownloadDelegate _download:didReceiveData:]):
(-[BlobDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
(-[BlobDownloadDelegate _downloadDidFinish:]):
(-[DownloadBlobURLNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestBlobURL.html: Added.
LayoutTests:
Rebaseline now that the suggested download name is "unknown" by default
for blob downloads as well.
- fast/dom/HTMLAnchorElement/anchor-download-expected.txt:
- fast/dom/HTMLAnchorElement/anchor-nodownload-set-expected.txt:
- 9:47 AM Changeset in webkit [206438] by
-
- 9 edits in trunk/Source
[Fetch API] Use Ref<const T> in FetchBody::m_data variant
https://bugs.webkit.org/show_bug.cgi?id=162599
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-27
Reviewed by Alex Christensen.
Source/WebCore:
Covered by existing tests.
Using Ref<const T> for all variants of m_data except for FormData since FetchBody is actually creating it and may modifiy it.
Updating blob loading code path to use a const Blob& instead of a Blob&.
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::FetchBody):
(WebCore::FetchBody::extract):
(WebCore::FetchBody::clone):
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::blobBody):
(WebCore::FetchBody::arrayBufferBody):
(WebCore::FetchBody::arrayBufferViewBody):
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::loadBlob):
- Modules/fetch/FetchBodyOwner.h:
- Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::start):
- Modules/fetch/FetchLoader.h:
Source/WTF:
Enabling to use DeferrableRefCounted<const T> by making m_refCount mutable.
- wtf/DeferrableRefCounted.h:
(WTF::DeferrableRefCountedBase::ref):
(WTF::DeferrableRefCountedBase::derefBase):
(WTF::DeferrableRefCounted::deref):
- 9:33 AM WebKitGTK/Releasing edited by
- Add item to update UA versions (diff)
- 9:02 AM Changeset in webkit [206437] by
-
- 7 edits in trunk
[cmake] Simplify Clang checks and prepare for compiler ID split
https://bugs.webkit.org/show_bug.cgi?id=162609
Reviewed by Michael Catanzaro.
CMake 3.x introduces separate compiler id for AppleClang, making condition
(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") inappropriate as check for
any clang version. Introduce COMPILER_IS_CLANG instead, which is also
shorter that CMAKE_CXX_COMPILER_ID comparison.
- CMakeLists.txt:
- Source/cmake/OptionsCommon.cmake:
- Source/cmake/WebKitHelpers.cmake:
- Source/cmake/OptionsEfl.cmake: Use CMAKE_COMPILER_IS_GNUCXX instead of
!Clang check because this is what was really meant here.
- 8:42 AM Changeset in webkit [206436] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed typo fix
- platform/gtk/UserAgentGtk.cpp:
(WebCore::standardUserAgent):
- 7:32 AM Changeset in webkit [206435] by
-
- 4 edits in trunk/Source/WebCore
Clean-up CachedImage constructor
https://bugs.webkit.org/show_bug.cgi?id=162601
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-27
Reviewed by Sam Weinig.
No change of behavior.
Removing an unused constructor.
Specializing one constructor for manually cached images.
Cleaning initialization of some CachedImage fields.
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::CachedImage):
- loader/cache/CachedImage.h:
- loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::addImageToCache):
- 6:50 AM Changeset in webkit [206434] by
-
- 4 edits in trunk
[GTK] Install binaries to pkglibexecdir rather than bindir
https://bugs.webkit.org/show_bug.cgi?id=162602
Reviewed by Carlos Garcia Campos.
Source/JavaScriptCore:
Install jsc shell to LIBEXEC_INSTALL_DIR rather than EXEC_INSTALL_DIR.
Note these locations are the same on non-GTK ports.
- shell/CMakeLists.txt:
Tools:
Install MiniBrowser to LIBEXEC_INSTALL_DIR rather than EXEC_INSTALL_DIR.
- MiniBrowser/gtk/CMakeLists.txt:
- 6:40 AM Changeset in webkit [206433] by
-
- 2 edits in trunk/Source/WebCore
[FreeType] Add comment further justifying use of FT_LOAD_FORCE_AUTOHINT
https://bugs.webkit.org/show_bug.cgi?id=162607
Reviewed by Martin Robinson.
- platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
(WebCore::FontCustomPlatformData::FontCustomPlatformData):
- 6:20 AM Changeset in webkit [206432] by
-
- 2 edits in trunk/Source/WebCore
Build fails for X11+EGL due to missing gst_gl_display_x11_new_with_display()
https://bugs.webkit.org/show_bug.cgi?id=162606
Patch by Mario Sanchez Prada <mario@endlessm.com> on 2016-09-27
Reviewed by Gustavo Noronha Silva.
Use the right check to retrieve the right instance of GstGLDisplay
depending on whether we're using GLX or EGL, not X11 or Wayland.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext):
- 6:11 AM Changeset in webkit [206431] by
-
- 2 edits in trunk/Source/WebCore
[GTK][EFL] imported/w3c/web-platform-tests/fetch/api/basic/accept-header.html is failing
https://bugs.webkit.org/show_bug.cgi?id=162547
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-27
Reviewed by Michael Catanzaro.
Covered by existing tests.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::createTestingSession): Setting the underlying soupSession.
- 5:31 AM Changeset in webkit [206430] by
-
- 4 edits in trunk
[cmake] Added COMPILER_IS_GCC_OR_CLANG variable to simplify conditions.
https://bugs.webkit.org/show_bug.cgi?id=162605
Reviewed by Michael Catanzaro.
- CMakeLists.txt:
- Source/cmake/OptionsCommon.cmake:
- Source/cmake/WebKitHelpers.cmake:
- 4:46 AM Changeset in webkit [206429] by
-
- 2 edits in trunk/Tools
[EFL] Locate color picker popup to center of window
https://bugs.webkit.org/show_bug.cgi?id=162540
Reviewed by Michael Catanzaro.
Color picker popup hasn't located in a center of main window, because
elm_win_center() function doesn't work correctly. It looks a bug.
To fix the problem, this patch uses evas_object_geometry_set() instead.
- MiniBrowser/efl/main.c:
(_color_picker_request_cb):
- 4:24 AM Changeset in webkit [206428] by
-
- 2 edits in trunk/Tools
[GTK] Disable ACCELERATED_2D_CANVAS when using build-webkit
https://bugs.webkit.org/show_bug.cgi?id=162600
Reviewed by Carlos Garcia Campos.
- Scripts/webkitperl/FeatureList.pm:
- 3:49 AM Changeset in webkit [206427] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Unreviewed typo fix
- UIProcess/API/gtk/WebKitWebInspector.cpp:
(webkit_web_inspector_class_init):
- 2:27 AM Changeset in webkit [206426] by
-
- 3 edits in trunk/Source/WebInspectorUI
[GTK] Mac defaults are used for key shortcuts on Linux
https://bugs.webkit.org/show_bug.cgi?id=162564
Don't set Mac's default keymap as a fallthrough for CodeMirror when we
are not on Mac.
Patch by Tomas Popela <tpopela@redhat.com> on 2016-09-27
Reviewed by Carlos Garcia Campos.
- UserInterface/Test.html: Include Platform.js for the
WebInspector.Platform definition.
- UserInterface/Views/CodeMirrorAdditions.js:
- 2:10 AM Changeset in webkit [206425] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge 206424 - [GTK] Should check whether GDK can use GL before asking it to
https://bugs.webkit.org/show_bug.cgi?id=162598
Reviewed by Michael Catanzaro.
gdk_cairo_draw_from_gl can fail even when WebKit itself has been able to use GL (its
context creation code might be buggy, GL may have been disabled using GDK_GL=disable, …).
Unfortunately it does not have any error reporting other than a warning printed to
stderr, so we cannot fallback from it. We have to first check if GL can be used by GDK
by trying to create a context.
See https://bugzilla.redhat.com/show_bug.cgi?id=1378987
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::canGdkUseGL): decide whether GDK can use GL by
trying to create a context for a GdkWindow.
(WebKit::AcceleratedBackingStoreWayland::paint): fallback to glReadPixels if GDK cannot
use GL.
- UIProcess/gtk/AcceleratedBackingStoreWayland.h:
- 2:06 AM Changeset in webkit [206424] by
-
- 3 edits in trunk/Source/WebKit2
[GTK] Should check whether GDK can use GL before asking it to
https://bugs.webkit.org/show_bug.cgi?id=162598
Reviewed by Michael Catanzaro.
gdk_cairo_draw_from_gl can fail even when WebKit itself has been able to use GL (its
context creation code might be buggy, GL may have been disabled using GDK_GL=disable, …).
Unfortunately it does not have any error reporting other than a warning printed to
stderr, so we cannot fallback from it. We have to first check if GL can be used by GDK
by trying to create a context.
See https://bugzilla.redhat.com/show_bug.cgi?id=1378987
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::canGdkUseGL): decide whether GDK can use GL by
trying to create a context for a GdkWindow.
(WebKit::AcceleratedBackingStoreWayland::paint): fallback to glReadPixels if GDK cannot
use GL.
- UIProcess/gtk/AcceleratedBackingStoreWayland.h:
- 1:47 AM Changeset in webkit [206423] by
-
- 8 edits in trunk/Source/WebCore
[Fetch API] Remove ReadableStreamSource firstReadCallback
https://bugs.webkit.org/show_bug.cgi?id=162339
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-27
Reviewed by Sam Weinig.
No observable change of behavior.
Removing ReadableStreamSource firstReadCallback.
This makes the enqueuing of data to happen when the stream is created.
In the future, we may want to implement doPull() to enqueue data when stream actually needs it.
- Modules/fetch/FetchResponseSource.cpp:
(WebCore::FetchResponseSource::doPull): Introduced as we introduce pull() in ReadableStreamSource.
- Modules/fetch/FetchResponseSource.h:
- Modules/streams/ReadableStreamInternals.js:
(readFromReadableStreamDefaultReader): Removing firstReadCallback use.
- Modules/streams/ReadableStreamSource.h: Renaming m_startPromise in m_promise since m_promise may store start and pull promises.
(WebCore::ReadableStreamSource::isStarting):
(WebCore::ReadableStreamSource::start):
(WebCore::ReadableStreamSource::pull): Introduced to support ReadableStreamSource pulling.
(WebCore::ReadableStreamSource::startFinished):
(WebCore::ReadableStreamSource::pullFinished): Ditto.
(WebCore::ReadableStreamSource::clean):
- Modules/streams/ReadableStreamSource.idl: Ditto.
- bindings/js/JSReadableStreamSourceCustom.cpp: Refactoring to use callPromiseFunction
(WebCore::startReadableStream):
(WebCore::JSReadableStreamSource::start):
(WebCore::pullReadableStream): Introduced to support ReadableStreamSource pulling.
(WebCore::JSReadableStreamSource::pull): Ditto.
- bindings/js/WebCoreBuiltinNames.h: Removing firstReadCallback
- 1:10 AM Changeset in webkit [206422] by
-
- 5 edits4 adds in trunk
REGRESSION(r205883): Letterpressed text is invisible
https://bugs.webkit.org/show_bug.cgi?id=162590
Source/WebCore:
<rdar://problem/28141512>
Reviewed by Simon Fraser.
r205883 removed the last place where we use CGFonts directly in WebKit. However,
our letterpress code is sensitive to the current state of the CGContext.
Tests: fast/text/letterpress-different.html
fast/text/letterpress-paint.html
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::showLetterpressedGlyphsWithAdvances):
LayoutTests:
Reviewed by Simon Fraser.
Letterpress is only implemented on iOS, so letterpress-different.html is marked
as only passing on iOS. letterpress-paint.html makes sure that letterpressed paint
is not invisible.
- TestExpectations:
- fast/text/letterpress-different-expected-mismatch.html: Added.
- fast/text/letterpress-different.html: Added.
- fast/text/letterpress-paint-expected-mismatch.html: Added.
- fast/text/letterpress-paint.html: Added.
- platform/ios-simulator/TestExpectations:
- 12:58 AM Changeset in webkit [206421] by
-
- 5 edits in trunk/Source/WebCore
[Fetch API] Refactor FetchBody to use std::experimental::variant
https://bugs.webkit.org/show_bug.cgi?id=162559
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-27
Reviewed by Alex Christensen.
Covered by exiting tests.
Using variant to represent the variant data types.
Adding nullptr as a specific type for default empty values and to allow clean-up.
Adding FetchBody::clone as the default copy constructor is deleted with this change.
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::FetchBody):
(WebCore::FetchBody::json):
(WebCore::FetchBody::text):
(WebCore::FetchBody::consumeAsStream):
(WebCore::FetchBody::consumeArrayBuffer):
(WebCore::FetchBody::consumeArrayBufferView):
(WebCore::FetchBody::consumeText):
(WebCore::FetchBody::consumeBlob):
(WebCore::FetchBody::extractFromText):
(WebCore::FetchBody::bodyForInternalRequest):
(WebCore::FetchBody::clone):
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::blobBody):
(WebCore::FetchBody::formDataBody):
(WebCore::FetchBody::arrayBufferBody):
(WebCore::FetchBody::arrayBufferViewBody):
(WebCore::FetchBody::textBody):
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::clone):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::cloneForJS):
- 12:52 AM Changeset in webkit [206420] by
-
- 2 edits in trunk/Tools
PyGIWarnings printed by webkit-patch
https://bugs.webkit.org/show_bug.cgi?id=152470
Reviewed by Carlos Garcia Campos.
Update to a newer version of the keyring module, since this bug has been fixed upstream for
a while. But be careful not to update to the latest version, since it has some compatibility
breaks and requires the SecretService python module on Linux, but I couldn't figure out how
to autoinstall it successfully.
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook._install_keyring):
- 12:07 AM Changeset in webkit [206419] by
-
- 2 edits in trunk/Source/WebCore
[EFL] Fix debug build break since r204205. Unreviewed
https://bugs.webkit.org/show_bug.cgi?id=162596
No new tests, no new behaviours.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::frameImageAtIndex):
- 12:03 AM Changeset in webkit [206418] by
-
- 3 edits in trunk/Source/ThirdParty
Fixed compilation of WOFF2 on Windows
https://bugs.webkit.org/show_bug.cgi?id=162570
Patch by Konstantin Tokarev <Konstantin Tokarev> and Vitaliy Slobodin <vitaliy.slobodin@gmail.com> on 2016-09-27
Reviewed by Alex Christensen.
- woff2/CMakeLists.txt: Avoid passing GCC-specific flags to other
compilers.
- woff2/src/port.h: Include assert.h.
Sep 26, 2016:
- 11:18 PM Changeset in webkit [206417] by
-
- 1 copy in tags/Safari-602.2.15
New tag.
- 11:16 PM Changeset in webkit [206416] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r206375. rdar://problem/28484393
- 11:14 PM Changeset in webkit [206415] by
-
- 2 edits in trunk/Source/WebCore
If you play a youtube video from now playing after it finished in Safari, controls disappear
https://bugs.webkit.org/show_bug.cgi?id=162589
<rdar://problem/28484047>
Reviewed by Jer Noble.
Tweaks the main content heuristic slightly to remove the "mostly in mainframe" requirement in the case of Now
Playing. This was added in the case of the controls manager as an additional way to identify video elements that
should not show controls, since we relax audio and video constraints for showing videos in the controls manager,
so that a video element is prevented from showing controls on grounds of lacking audio only if it has never had
audio before. In the case of Now Playing, we have stricter requirements for videos, which must have audio, which
makes the mainframe heuristic not necessary.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canShowControlsManager):
- 11:10 PM Changeset in webkit [206414] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 10:50 PM Changeset in webkit [206413] by
-
- 4 edits in trunk/Source/WebKit2
Delete some unused code from r202695
https://bugs.webkit.org/show_bug.cgi?id=162595
<rdar://problem/28343784>
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _setIsBlankBeforeFirstNonEmptyLayout:]): Deleted.
(-[WKWebView _didFirstVisuallyNonEmptyLayoutForMainFrame]): Deleted.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
We didn't end up needing this mechanism.
- 9:32 PM Changeset in webkit [206412] by
-
- 2 edits in trunk/LayoutTests
Marking css3/filters/backdrop/backdrop-filter-with-reflection* tests as flaky on Sierra WK1.
https://bugs.webkit.org/show_bug.cgi?id=162591
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 8:45 PM Changeset in webkit [206411] by
-
- 4 edits in trunk/Source/JavaScriptCore
Make DFGSlowPathGenerator a bit more variadic
https://bugs.webkit.org/show_bug.cgi?id=162378
Patch by Sam Weinig <sam@webkit.org> on 2016-09-26
Reviewed by Filip Pizlo.
Make the subclass of CallSlowPathGenerator that takes arguments variadic
so it can take any number of arguments. Also updates the slowPathCall helper
function to be variadic. I had to move the spill mode and exception check
requirement parameters to before the arguments since the variadic arguments
must be at the end. As a convenience, I added an overload of slowPathCall that
doesn't take spill mode and exception check requirement parameters.
- dfg/DFGSlowPathGenerator.h:
(JSC::DFG::CallResultAndArgumentsSlowPathGenerator::CallResultAndArgumentsSlowPathGenerator):
(JSC::DFG::CallResultAndArgumentsSlowPathGenerator::unpackAndGenerate):
(JSC::DFG::slowPathCall):
(JSC::DFG::CallResultAndNoArgumentsSlowPathGenerator::CallResultAndNoArgumentsSlowPathGenerator): Deleted.
(JSC::DFG::CallResultAndOneArgumentSlowPathGenerator::CallResultAndOneArgumentSlowPathGenerator): Deleted.
(JSC::DFG::CallResultAndTwoArgumentsSlowPathGenerator::CallResultAndTwoArgumentsSlowPathGenerator): Deleted.
(JSC::DFG::CallResultAndThreeArgumentsSlowPathGenerator::CallResultAndThreeArgumentsSlowPathGenerator): Deleted.
(JSC::DFG::CallResultAndFourArgumentsSlowPathGenerator::CallResultAndFourArgumentsSlowPathGenerator): Deleted.
(JSC::DFG::CallResultAndFourArgumentsSlowPathGenerator::generateInternal): Deleted.
(JSC::DFG::CallResultAndFiveArgumentsSlowPathGenerator::CallResultAndFiveArgumentsSlowPathGenerator): Deleted.
(JSC::DFG::CallResultAndFiveArgumentsSlowPathGenerator::generateInternal): Deleted.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileNotifyWrite):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
- 8:35 PM Changeset in webkit [206410] by
-
- 6 edits in trunk/Source/WebKit2
-_webViewWebProcessDidBecomeUnresponsive: gets called when the Web process is stopped in the debugger
https://bugs.webkit.org/show_bug.cgi?id=162234
Reviewed by Sam Weinig.
- UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::platformIsBeingDebugged): Use the KERN_PROC sysctl to get the
process flags and check for P_TRACED.
- UIProcess/ResponsivenessTimer.cpp:
(WebKit::ResponsivenessTimer::timerFired): Call the new client function
mayBecomeUnresponsive. If it returns false, restart the timer and bail out without
changing the responsiveness state.
- UIProcess/ResponsivenessTimer.h: Declared new client function mayBecomeUnresponsive.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::platformIsBeingDebugged): A generic implementation that always
returns false.
(WebKit::WebProcessProxy::mayBecomeUnresponsive): Implement this new
ResponsivenessTimer::Client function to return true unless the process is being debugged.
- UIProcess/WebProcessProxy.h:
- 8:06 PM Changeset in webkit [206409] by
-
- 2 edits in trunk/LayoutTests
Remove 100ms timeout for media/media-source/media-source-delaying-load-event.html to try to fix flakiness.
https://bugs.webkit.org/show_bug.cgi?id=162566
Reviewed by Alexey Proskuryakov.
- media/media-source/media-source-delaying-load-event.html:
- 7:46 PM Changeset in webkit [206408] by
-
- 8 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r206405.
https://bugs.webkit.org/show_bug.cgi?id=162588
This change caused LayoutTest crashes. (Requested by
ryanhaddad on #webkit).
Reverted changeset:
"Add some needed CatchScopes in code that should not throw."
https://bugs.webkit.org/show_bug.cgi?id=162584
http://trac.webkit.org/changeset/206405
- 6:12 PM Changeset in webkit [206407] by
-
- 1 copy in tags/Safari-602.2.14
New tag.
- 5:06 PM Changeset in webkit [206406] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Box Model values not updated when DOM node styles change
https://bugs.webkit.org/show_bug.cgi?id=162525
Reviewed by Brian Burg.
The Box Model section should refresh itself when the selected node's
computed style changes. This is necessary since the Styles sidebar
doesn't always refresh its sections on node changes.
- UserInterface/Views/BoxModelDetailsSectionRow.js:
(WebInspector.BoxModelDetailsSectionRow.prototype.set nodeStyles):
Refresh metrics whenever the computed style changes.
(WebInspector.BoxModelDetailsSectionRow.prototype._getBox):
(WebInspector.BoxModelDetailsSectionRow.prototype._getComponentSuffix):
(WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createValueElement):
(WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createBoxPartElement):
(WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaElement):
(WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
Drive-by cleanup to make this large function easier to read.
(WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createElement): Deleted.
Renamed createValueElement.
(WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaWidthElement): Deleted.
(WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createContentAreaHeightElement): Deleted.
Combined these into a single function taking a property name (width or height).
- 4:56 PM Changeset in webkit [206405] by
-
- 8 edits in trunk/Source/JavaScriptCore
Add some needed CatchScopes in code that should not throw.
https://bugs.webkit.org/show_bug.cgi?id=162584
Reviewed by Keith Miller.
- API/JSObjectRef.cpp:
(JSObjectSetProperty):
- This function already handles exceptions in its own way. We're honoring this contract and catching exceptions and passing it to the handler.
- interpreter/Interpreter.cpp:
(JSC::notifyDebuggerOfUnwinding):
- The debugger should not be throwing any exceptions.
- jsc.cpp:
(runJSC):
- the buck stops here. There's no reason an exception should propagate past here.
- profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::save):
- If an exception was thrown while saving the database, there's nothing we can really do about it anyway. Just fail nicely and return false. This is in line with existing error checking code in Database::save() that returns false if it's not able to open the file to save to.
- runtime/ExceptionHelpers.cpp:
(JSC::createError):
- If we're not able to stringify the error value, then we'll just use the provided message as the error string. It doesn't make sense to have the Error factory throw an exception that shadows the intended exception that the client probably wants to throw (assuming that that's why the client is creating this Error object).
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::finishCreation):
- The existing code already RELEASE_ASSERT that no exception was thrown. Hence, it's appropriate to use a CatchScope here.
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::StackFrame::nameFromCallee):
- The sampling profiler is doing a VMInquiry get here. It should never throw an exception. Hence, we'll just use a CatchScope and assert accordingly.
- 4:51 PM Changeset in webkit [206404] by
-
- 5 edits2 adds in trunk
Setter on style element's textContent or cssText doesn't trigger style recalc
https://bugs.webkit.org/show_bug.cgi?id=160331
<rdar://problem/27609715>
Reviewed by Ryosuke Niwa and Daniel Bates.
Source/WebCore:
We would not notify the parent when text node content changed in a shadow tree.
Test: fast/shadow-dom/shadow-style-text-mutation.html
- dom/AuthorStyleSheets.cpp:
(WebCore::AuthorStyleSheets::updateActiveStyleSheets):
Invalidate shadow root children instead of the root itself when doing full invalidation.
The invalidity bits have no meaning for non-element, non-texts.
- dom/CharacterData.cpp:
(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::setDataAndUpdate):
(WebCore::CharacterData::notifyParentAfterChange):
Add a helper and call it also in shadow trees.
(WebCore::CharacterData::dispatchModifiedEvent):
- dom/CharacterData.h:
LayoutTests:
- fast/shadow-dom/shadow-style-text-mutation-expected.html: Added.
- fast/shadow-dom/shadow-style-text-mutation.html: Added.
- 4:45 PM Changeset in webkit [206403] by
-
- 5 edits4 adds in trunk
Input elements don't work inside shadow tree
https://bugs.webkit.org/show_bug.cgi?id=160427
Reviewed by Darin Adler.
Source/WebCore:
There is a bug in ComposedTreeIterator. If the iterator is initialized with an initial state where the root
is inside a shadow tree it won't iterate into slots.
If an input element is in a shadow tree it generates narrowly scoped style updates. When RenderTreeUpdater
applies such an update the update root will be inside the shadow tree and the bug will prevent the render tree
for slotted content from updating.
Added tests for both the iterator behavior and the specific symptom with input elements.
Tests: fast/shadow-dom/composed-tree-shadow-child-subtree.html
fast/shadow-dom/input-element-in-shadow.html
- dom/ComposedTreeIterator.cpp:
(WebCore::ComposedTreeIterator::ComposedTreeIterator):
Check and cache if the root is inside shadow tree.
(WebCore::ComposedTreeIterator::traverseNextInShadowTree):
- dom/ComposedTreeIterator.h:
(WebCore::ComposedTreeIterator::traverseNext):
If it is, always use the shadow traversal code path.
LayoutTests:
- fast/shadow-dom/composed-tree-shadow-child-subtree-expected.txt: Added.
- fast/shadow-dom/composed-tree-shadow-child-subtree.html: Added.
- fast/shadow-dom/input-element-in-shadow-expected.html: Added.
- fast/shadow-dom/input-element-in-shadow.html: Added.
- 4:40 PM Changeset in webkit [206402] by
-
- 2 edits in trunk/Tools
Add Sierra to the flakiness dashboard.
https://bugs.webkit.org/show_bug.cgi?id=162509
Reviewed by Alexey Proskuryakov.
- TestResultServer/static-dashboards/builders.jsonp:
- 4:11 PM Changeset in webkit [206401] by
-
- 3 edits in trunk/Source/JavaScriptCore
Exception unwinding code should use a CatchScope instead of a ThrowScope.
https://bugs.webkit.org/show_bug.cgi?id=162583
Reviewed by Geoffrey Garen.
This is because the exception unwinding code does not throw an exception.
It only inspects the thrown exception and passes it to the appropriate handler.
- interpreter/Interpreter.cpp:
(JSC::Interpreter::unwind):
- jit/JITExceptions.cpp:
(JSC::genericUnwind):
- 3:48 PM Changeset in webkit [206400] by
-
- 3 edits in trunk/Source/JavaScriptCore
Add an Option to disable the CodeCache
https://bugs.webkit.org/show_bug.cgi?id=162579
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-26
Reviewed by Geoffrey Garen.
- runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
Do not use the cache if the Option is disabled.
- runtime/Options.h:
New option to not use the code cache.
- 3:42 PM Changeset in webkit [206399] by
-
- 6 edits in trunk/Source/WebCore
Seeking video doesn't update seek position
https://bugs.webkit.org/show_bug.cgi?id=162575
<rdar://problem/28457219>
Reviewed by Jer Noble.
On ToT, seeking in a video causes the playhead to stutter, and does not actually update media remote's seek
position. This is partly due to how we do not update media remote with new information when beginning to respond
to remote seek commands, so media remote continues to think that a playing video is still playing despite the
user attempting to seek through it.
To fix this, we introduce timer-based guards around remote seek commands, such that a seek "gesture" begins when
we receive the first seek command and ends when no seek command has been received in a set amount of time (this
is 0.5 seconds, which is approximately what other clients around the platform use).
Also, when responding to a remote seek, perform the seek with no tolerance. This prevents the playhead from
stuttering at the end of a seek from the final requested destination of the seek to the last actually seeked
time in the video.
When beginning to seek, we must pause the media. Through existing mechanisms, this causes the media session
manager to update its Now Playing information, which informs media remote that we are no longer playing and
prevents us from stuttering. However, when ending a seek, we must also trigger an additional update to again
refresh media remote's view of the current time. This prevents a flicker when playing media after seeking.
Unit tests to be added in a follow-up due to time constraints.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::handleSeekToPlaybackPosition):
(WebCore::HTMLMediaElement::seekToPlaybackPositionEndedTimerFired):
(WebCore::HTMLMediaElement::didReceiveRemoteControlCommand):
- html/HTMLMediaElement.h:
- platform/audio/PlatformMediaSessionManager.h:
(WebCore::PlatformMediaSessionManager::scheduleUpdateNowPlayingInfo):
(WebCore::PlatformMediaSessionManager::sessionDidEndRemoteScrubbing):
(WebCore::PlatformMediaSessionManager::sessions): Deleted.
- platform/audio/mac/MediaSessionManagerMac.h:
- platform/audio/mac/MediaSessionManagerMac.mm:
(WebCore::PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary):
(WebCore::MediaSessionManagerMac::scheduleUpdateNowPlayingInfo):
(WebCore::MediaSessionManagerMac::sessionDidEndRemoteScrubbing):
(WebCore::MediaSessionManagerMac::updateNowPlayingInfo):
- 3:22 PM Changeset in webkit [206398] by
-
- 2 edits in trunk/LayoutTests
Marking media/media-document-audio-repaint.html as flaky on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=155757
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:20 PM Changeset in webkit [206397] by
-
- 21 edits in trunk
[WK2] BlobDownloadClient should use asynchronous IPC to decide destination path
https://bugs.webkit.org/show_bug.cgi?id=162568
Reviewed by Alex Christensen.
Source/WebCore:
Update BlobResourceHandle to wait for continueDidReceiveResponse() to be
called after it calls the client's didReceiveResponseAsync(), before
actually reading the Blob Data.
No new tests, covered by existing tests.
- platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::continueDidReceiveResponse):
(WebCore::BlobResourceHandle::getSizeForNext):
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError):
Source/WebKit2:
Use DecideDestinationWithSuggestedFilenameAsync IPC to decide the destination
path in the case of Blob downloads, instead of the synchronous alternative.
To achieve this, BlobResourceHandle was updated in WebCore to properly support
asynchronous callback and BlobDownloadClient was updated to use asynchronous
callbacks. When BlobDownloadClient::didReceiveResponseAsync() is called, we
now ask the WebContent process asynchronously to decide what the destination
path should be. Then, when we later get the destination path back from the
WebContent process, we create the file on disk and call
continueDidReceiveResponse() on the BlobResourceHandle so we start getting the
blob data to write.
- NetworkProcess/Downloads/BlobDownloadClient.cpp:
(WebKit::BlobDownloadClient::didReceiveResponseAsync):
(WebKit::BlobDownloadClient::didDecideDownloadDestination):
- NetworkProcess/Downloads/BlobDownloadClient.h:
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::decideDestinationWithSuggestedFilenameAsync):
(WebKit::Download::didDecideDownloadDestination):
(WebKit::Download::continueDidReceiveResponse):
(WebKit::Download::decideDestinationWithSuggestedFilename): Deleted.
- NetworkProcess/Downloads/Download.h:
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::willDecidePendingDownloadDestination):
(WebKit::DownloadManager::continueDecidePendingDownloadDestination):
(WebKit::DownloadManager::convertHandleToDownload): Deleted.
- NetworkProcess/Downloads/DownloadManager.h:
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::continueDidReceiveResponse):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::continueDecidePendingDownloadDestination):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync): Deleted.
- UIProcess/Downloads/DownloadProxy.h:
- UIProcess/Downloads/DownloadProxy.messages.in:
LayoutTests:
- fast/dom/HTMLAnchorElement/anchor-download-expected.txt:
- fast/dom/HTMLAnchorElement/anchor-nodownload-set-expected.txt:
- http/tests/security/anchor-download-allow-blob-expected.txt:
Rebaseline several Blob download tests now that the "Download started"
message always comes first (as it should).
- platform/mac-wk2/TestExpectations:
Unskip test that is no longer flaky.
- 2:55 PM Changeset in webkit [206396] by
-
- 4 edits in trunk/Source
Mark Ping{Handle, Load} as final
https://bugs.webkit.org/show_bug.cgi?id=162576
Reviewed by Alex Christensen.
Source/WebCore:
We should not support subclassing of a ping handle or overriding its ResourceHandleClient
callbacks because there are security/privacy implications with a ping request. We should
not encourage subclassing without careful consideration.
- platform/network/PingHandle.h:
Source/WebKit2:
We should not support subclassing of a ping handle or overriding its NetworkDataTaskClient
callbacks because there are security/privacy implications with a ping request. We should
not encourage subclassing without careful consideration.
- NetworkProcess/PingLoad.h:
- 2:51 PM Changeset in webkit [206395] by
-
- 57 edits in trunk
Rename IOS_TEXT_AUTOSIZING to TEXT_AUTOSIZING
https://bugs.webkit.org/show_bug.cgi?id=162365
Reviewed by Simon Fraser.
.:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/WebKitFeatures.cmake: Substitute ENABLE_TEXT_AUTOSIZING for ENABLE_IOS_TEXT_AUTOSIZING,
update the description of this feature to better describe what it does and re-order the define in the
list of defines such that it is in sorted order.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Repurpose the feature name TEXT_AUTOSIZING for the ENABLE(IOS_TEXT_AUTOSIZING)-guarded code
as this code represents WebKit's automatic text size adjustment machinery and is compiled
on both macOS and iOS.
- Configurations/FeatureDefines.xcconfig:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSPropertyNames.in:
- css/StyleBuilderCustom.h:
- css/StyleResolver.cpp:
(WebCore::StyleResolver::updateFont):
- css/StyleResolver.h:
- css/parser/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::CSSParser::parseValue):
- css/parser/CSSParser.h:
- css/parser/CSSParserMode.h:
- dom/Document.cpp:
(WebCore::Document::destroyRenderTree):
- dom/Document.h:
- editing/EditingStyle.cpp:
- page/FrameView.cpp:
(WebCore::FrameView::layout):
- page/Page.cpp:
(WebCore::Page::Page):
- page/Page.h:
- page/Settings.in:
- platform/graphics/FontCascade.h:
- platform/graphics/FontDescription.cpp:
- platform/graphics/FontDescription.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::RenderBlockFlow):
- rendering/RenderBlockFlow.h:
- rendering/RenderElement.cpp:
- rendering/RenderElement.h:
- rendering/RenderObject.cpp:
- rendering/RenderObject.h:
- rendering/RenderText.cpp:
(WebCore::RenderText::RenderText):
- rendering/RenderText.h:
- rendering/TextAutoSizing.cpp:
- rendering/TextAutoSizing.h:
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):
- rendering/style/RenderStyle.h:
- rendering/style/StyleInheritedData.cpp:
(WebCore::StyleInheritedData::StyleInheritedData):
(WebCore::StyleInheritedData::operator==):
- rendering/style/StyleInheritedData.h:
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
- rendering/style/StyleRareInheritedData.h:
- rendering/style/TextSizeAdjustment.h:
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setTextAutosizingEnabled):
(WebCore::InternalSettings::setTextAutosizingWindowSizeOverride):
- testing/InternalSettings.h:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
- WebView/WebFrame.mm:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
- DumpRenderTree/TestRunner.h:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 2:25 PM Changeset in webkit [206394] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r206241. rdar://problem/28450514
- 2:25 PM Changeset in webkit [206393] by
-
- 20 edits in branches/safari-602-branch/Source
Merge r206238. rdar://problem/28450514
- 2:11 PM Changeset in webkit [206392] by
-
- 23 edits in trunk/Source
[JSC] Shrink the Math inline caches some more
https://bugs.webkit.org/show_bug.cgi?id=162485
Reviewed by Saam Barati.
Source/JavaScriptCore:
This patch applies some lessons learnt from op_negate
to shrink the generated asm of the previous 3 inline
caches.
In order of importance:
-We do not need to pass the pointer to ArithProfile
on the slow path. We can just get the profile out
of the Math IC.
This saves us from materializing a 64bits value
in a register before the call on the slow path.
-We can remove a bunch of mov by setting up the registers
in the way the slow path needs them.
The slow path makes a function calls with the input
as second and third arguments, and return the result in
the "return register". By using those as target when
loading/storing from the stack, we remove 3 mov per slow path.
-When performing integer add, we can set the result directly in
the output register if that does not trashes one of the input
register. This removes one mov per integer add.
The inline cache average sizes on Sunspider change as follow:
-Adds: 147.573099->131.555556 (~10%)
-Muls: 186.882353->170.991597 (~8%)
-Subs: 139.127907->121.523256 (~12%)
- jit/JIT.h:
- jit/JITAddGenerator.cpp:
(JSC::JITAddGenerator::generateInline):
(JSC::JITAddGenerator::generateFastPath):
- jit/JITArithmetic.cpp:
(JSC::JIT::emitMathICFast):
(JSC::JIT::emitMathICSlow):
- jit/JITInlines.h:
(JSC::JIT::callOperation): Deleted.
- jit/JITOperations.cpp:
- jit/JITOperations.h:
Source/WTF:
- wtf/Bag.h:
Don't copy the arguments before initializing the nodes.
- 2:02 PM Changeset in webkit [206391] by
-
- 3 edits2 adds in trunk
AX: Progress: [Mac] Content in label element should be used as AXTitle or AXDescription
https://bugs.webkit.org/show_bug.cgi?id=162573
Reviewed by Chris Fleizach.
Source/WebCore:
Exposed the label element's text as the AXTitle of the progress indicator.
Test: accessibility/mac/progress-with-label-element.html
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::titleElementText):
(WebCore::AccessibilityNodeObject::title):
LayoutTests:
- accessibility/mac/progress-with-label-element-expected.txt: Added.
- accessibility/mac/progress-with-label-element.html: Added.
- 1:39 PM Changeset in webkit [206390] by
-
- 16 edits in trunk/Source/WebCore
Rebaseline bindings tests after r206386.
Unreviewed test gardening.
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
- bindings/scripts/test/JS/JSTestNode.cpp:
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
- 1:39 PM Changeset in webkit [206389] by
-
- 2 edits in trunk/LayoutTests
Marking media/media-controls-drag-timeline-set-controls-property.html as flaky on Yosemite Debug WK2.
https://bugs.webkit.org/show_bug.cgi?id=161659
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 1:19 PM Changeset in webkit [206388] by
-
- 3 edits in trunk/Source/WebCore
ASSERTION FAILED: m_origin m_type == CachedResource::MainResource https://bugs.webkit.org/show_bug.cgi?id=162472
<rdar://problem/28431522>
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-26
Reviewed by Chris Dumez.
Covered by existing tests.
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::CachedImage): Fixing the last CachedImage constructor.
Using CachedResource protected constructor.
- loader/cache/CachedResource.h: Small clean-up.
- 12:55 PM Changeset in webkit [206387] by
-
- 2 edits in trunk/Source/WebCore
[GTK][EFL] imported/w3c/web-platform-tests/fetch/api/basic/accept-header.html is failing
https://bugs.webkit.org/show_bug.cgi?id=162547
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-26
Reviewed by Carlos Garcia Campos.
Covered by LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/accept-header.html now passing.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::createTestingSession): Setting a default Accept-Language value.
- 12:11 PM Changeset in webkit [206386] by
-
- 146 edits in trunk/Source
Added RETURN_IF_EXCEPTION() macro and use it for exception checks.
https://bugs.webkit.org/show_bug.cgi?id=162521
Reviewed by Saam Barati.
Source/JavaScriptCore:
Also, where possible, if the return type is JSValue, changed the returned value
(on exception) to the empty JSValue (instead of sometimes jsUndefined, jsNull,
or the thrown exception value).
There are a few places where I had to continue to return the previously returned
value (instead of the empty JSValue) in order for tests to pass. This is needed
because there are missing exception checks that will need to be added before I
can change those to return the empty JSValue too. Identifying all the places
where those checks need to be added is beyond the scope of this patch. I will
work on adding missing exception checks in a subsequent patch.
In this patch, there is one missing exception check in replaceUsingRegExpSearch()
that was easily identified, and is necessary so that Interpreter::execute()
functions can return JSValue. I've added this missing check.
This patch has passed the JSC and layout tests.
- dfg/DFGOperations.cpp:
(JSC::DFG::operationPutByValInternal):
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::evaluateWithScopeExtension):
(Inspector::JSInjectedScriptHost::getInternalProperties):
(Inspector::JSInjectedScriptHost::weakMapEntries):
(Inspector::JSInjectedScriptHost::weakSetEntries):
(Inspector::JSInjectedScriptHost::iteratorEntries):
- inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension):
- interpreter/Interpreter.cpp:
(JSC::eval):
(JSC::sizeOfVarargs):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
- interpreter/ShadowChicken.cpp:
(JSC::ShadowChicken::functionsOnStack):
- jit/JITOperations.cpp:
(JSC::getByVal):
- jsc.cpp:
(WTF::ImpureGetter::getOwnPropertySlot):
(functionRun):
(functionRunString):
(functionLoad):
(functionLoadString):
(functionReadFile):
(functionCheckSyntax):
(functionSetRandomSeed):
(functionLoadModule):
(functionCreateBuiltin):
(functionCheckModuleSyntax):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::getByVal):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- profiler/ProfilerBytecodeSequence.cpp:
(JSC::Profiler::BytecodeSequence::addSequenceProperties):
- profiler/ProfilerCompilation.cpp:
(JSC::Profiler::Compilation::toJS):
- profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::toJS):
- profiler/ProfilerOSRExitSite.cpp:
(JSC::Profiler::OSRExitSite::toJS):
- profiler/ProfilerOriginStack.cpp:
(JSC::Profiler::OriginStack::toJS):
- runtime/ArrayPrototype.cpp:
(JSC::speciesConstructArray):
(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::slowJoin):
(JSC::fastJoin):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):
(JSC::moveElements):
(JSC::arrayProtoPrivateFuncConcatMemcpy):
- runtime/BooleanConstructor.cpp:
(JSC::constructWithBooleanConstructor):
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::opIn):
- runtime/Completion.cpp:
(JSC::loadAndEvaluateModule):
(JSC::loadModule):
- runtime/ConsoleObject.cpp:
(JSC::consoleProtoFuncAssert):
(JSC::consoleProtoFuncProfile):
(JSC::consoleProtoFuncProfileEnd):
(JSC::consoleProtoFuncTakeHeapSnapshot):
(JSC::consoleProtoFuncTime):
(JSC::consoleProtoFuncTimeEnd):
- runtime/DateConstructor.cpp:
(JSC::constructDate):
(JSC::dateParse):
- runtime/DatePrototype.cpp:
(JSC::dateProtoFuncToPrimitiveSymbol):
(JSC::dateProtoFuncToJSON):
- runtime/ErrorConstructor.cpp:
(JSC::Interpreter::constructWithErrorConstructor):
- runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::sanitizedToString):
- runtime/ErrorPrototype.cpp:
(JSC::errorProtoFuncToString):
- runtime/ExceptionScope.h:
- runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
- runtime/GenericArgumentsInlines.h:
(JSC::GenericArguments<Type>::copyToArguments):
- runtime/GetterSetter.cpp:
(JSC::callGetter):
- runtime/HashMapImpl.h:
(JSC::jsMapHash):
(JSC::HashMapImpl::finishCreation):
(JSC::HashMapImpl::findBucket):
(JSC::HashMapImpl::add):
(JSC::HashMapImpl::rehash):
- runtime/InspectorInstrumentationObject.cpp:
(JSC::inspectorInstrumentationObjectLog):
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::createSubclassStructure):
- runtime/IntlCollator.cpp:
(JSC::IntlCollator::initializeCollator):
- runtime/IntlCollatorConstructor.cpp:
(JSC::constructIntlCollator):
(JSC::IntlCollatorConstructorFuncSupportedLocalesOf):
- runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorFuncCompare):
(JSC::IntlCollatorPrototypeGetterCompare):
- runtime/IntlDateTimeFormat.cpp:
(JSC::toDateTimeOptionsAnyDate):
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
- runtime/IntlDateTimeFormatConstructor.cpp:
(JSC::constructIntlDateTimeFormat):
(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf):
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatFuncFormatDateTime):
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::initializeNumberFormat):
- runtime/IntlNumberFormatConstructor.cpp:
(JSC::constructIntlNumberFormat):
(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatFuncFormatNumber):
(JSC::IntlNumberFormatPrototypeGetterFormat):
- runtime/IntlObject.cpp:
(JSC::intlBooleanOption):
(JSC::intlStringOption):
(JSC::intlNumberOption):
(JSC::canonicalizeLocaleList):
(JSC::supportedLocales):
- runtime/IntlObjectInlines.h:
(JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor):
- runtime/IteratorOperations.cpp:
(JSC::iteratorNext):
(JSC::iteratorStep):
(JSC::iteratorClose):
(JSC::iteratorForIterable):
- runtime/IteratorOperations.h:
(JSC::forEachInIterable):
- runtime/JSArray.cpp:
(JSC::JSArray::pop):
(JSC::JSArray::copyToArguments):
- runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer):
- runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferProtoFuncSlice):
- runtime/JSArrayInlines.h:
(JSC::getLength):
(JSC::toLength):
- runtime/JSBoundFunction.cpp:
(JSC::getBoundFunctionStructure):
(JSC::JSBoundFunction::create):
- runtime/JSCJSValue.cpp:
(JSC::JSValue::putToPrimitive):
(JSC::JSValue::toStringSlowCase):
- runtime/JSCJSValueInlines.h:
(JSC::toPreferredPrimitiveType):
(JSC::JSValue::getPropertySlot):
(JSC::JSValue::equalSlowCaseInline):
- runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
- runtime/JSFunction.cpp:
(JSC::JSFunction::setFunctionName):
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndex):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewFromIterator):
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::speciesConstruct):
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
- runtime/JSGlobalObject.h:
(JSC::constructEmptyArray):
(JSC::constructArray):
(JSC::constructArrayNegativeIndexed):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::instantiateDeclarations):
- runtime/JSONObject.cpp:
(JSC::Stringifier::stringify):
(JSC::Stringifier::toJSON):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
(JSC::JSONProtoFuncParse):
- runtime/JSObject.cpp:
(JSC::ordinarySetSlow):
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::callToPrimitiveFunction):
(JSC::JSObject::defaultHasInstance):
(JSC::JSObject::getPropertyNames):
(JSC::JSObject::toNumber):
(JSC::JSObject::toString):
(JSC::JSObject::defineOwnNonIndexProperty):
(JSC::JSObject::getGenericPropertyNames):
(JSC::JSObject::getMethod):
- runtime/JSObjectInlines.h:
(JSC::createListFromArrayLike):
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):
- runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
- runtime/JSPromiseDeferred.cpp:
(JSC::JSPromiseDeferred::create):
- runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):
- runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::create):
- runtime/JSScope.cpp:
(JSC::isUnscopable):
- runtime/JSString.cpp:
(JSC::JSString::equalSlowCase):
- runtime/JSStringJoiner.cpp:
(JSC::JSStringJoiner::join):
- runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::parse):
- runtime/MapBase.h:
(JSC::MapBase::finishCreation):
- runtime/MapConstructor.cpp:
(JSC::constructMap):
- runtime/MathObject.cpp:
(JSC::mathProtoFuncClz32):
(JSC::mathProtoFuncHypot):
(JSC::mathProtoFuncIMul):
- runtime/ModuleLoaderPrototype.cpp:
(JSC::moduleLoaderPrototypeParseModule):
(JSC::moduleLoaderPrototypeRequestedModules):
(JSC::moduleLoaderPrototypeModuleDeclarationInstantiation):
- runtime/NativeErrorConstructor.cpp:
(JSC::Interpreter::constructWithNativeErrorConstructor):
- runtime/NumberConstructor.cpp:
(JSC::constructWithNumberConstructor):
- runtime/ObjectConstructor.cpp:
(JSC::constructObject):
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorSetPrototypeOf):
(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorGetOwnPropertyDescriptors):
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorGetOwnPropertySymbols):
(JSC::objectConstructorKeys):
(JSC::ownEnumerablePropertyKeys):
(JSC::toPropertyDescriptor):
(JSC::objectConstructorDefineProperty):
(JSC::defineProperties):
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):
(JSC::objectConstructorIsExtensible):
(JSC::ownPropertyKeys):
- runtime/ObjectConstructor.h:
(JSC::constructObjectFromPropertyDescriptor):
- runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString):
- runtime/Operations.cpp:
(JSC::jsAddSlowCase):
- runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::slowGetterSetter):
- runtime/ProxyConstructor.cpp:
(JSC::makeRevocableProxy):
- runtime/ProxyObject.cpp:
(JSC::performProxyGet):
(JSC::ProxyObject::performGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::performPut):
(JSC::ProxyObject::putByIndexCommon):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):
- runtime/ReflectObject.cpp:
(JSC::reflectObjectConstruct):
(JSC::reflectObjectDefineProperty):
(JSC::reflectObjectGet):
(JSC::reflectObjectGetOwnPropertyDescriptor):
(JSC::reflectObjectIsExtensible):
(JSC::reflectObjectPreventExtensions):
(JSC::reflectObjectSet):
(JSC::reflectObjectSetPrototypeOf):
- runtime/RegExpConstructor.cpp:
(JSC::toFlags):
(JSC::regExpCreate):
(JSC::constructRegExp):
- runtime/RegExpConstructor.h:
(JSC::isRegExp):
- runtime/RegExpObject.cpp:
(JSC::collectMatches):
(JSC::RegExpObject::matchGlobal):
- runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncCompile):
(JSC::flagsString):
(JSC::regExpProtoFuncToString):
(JSC::regExpProtoGetterFlags):
(JSC::regExpProtoFuncSearchFast):
(JSC::regExpProtoFuncSplitFast):
- runtime/SetConstructor.cpp:
(JSC::constructSet):
- runtime/StringConstructor.cpp:
(JSC::stringFromCodePoint):
(JSC::constructWithStringConstructor):
- runtime/StringObject.cpp:
(JSC::StringObject::defineOwnProperty):
- runtime/StringPrototype.cpp:
(JSC::replaceUsingRegExpSearch):
(JSC::operationStringProtoFuncReplaceRegExpEmptyStr):
(JSC::replaceUsingStringSearch):
(JSC::replace):
(JSC::stringProtoFuncReplaceUsingRegExp):
(JSC::stringProtoFuncReplaceUsingStringSearch):
(JSC::stringProtoFuncCodePointAt):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplitFast):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncLocaleCompare):
(JSC::toLocaleCase):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::trimString):
(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):
(JSC::stringIncludesImpl):
(JSC::stringProtoFuncIncludes):
(JSC::builtinStringIncludesInternal):
(JSC::stringProtoFuncNormalize):
- runtime/SymbolConstructor.cpp:
(JSC::symbolConstructorFor):
- runtime/TemplateRegistry.cpp:
(JSC::TemplateRegistry::getTemplateObject):
- runtime/WeakMapConstructor.cpp:
(JSC::constructWeakMap):
- runtime/WeakSetConstructor.cpp:
(JSC::constructWeakSet):
- tools/JSDollarVMPrototype.cpp:
(JSC::functionPrint):
Source/WebCore:
No new tests because this patch is mostly refactoring. The only change in
behavior is that functions that have a JSValue return type will now return the
empty JSValue when an exception is thrown. I tested this behavior by running
the existing JSC and layout tests.
- bindings/js/ArrayValue.cpp:
(WebCore::ArrayValue::get):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::toJS):
- bindings/js/JSApplePaySessionCustom.cpp:
(WebCore::JSApplePaySession::completeShippingMethodSelection):
(WebCore::JSApplePaySession::completeShippingContactSelection):
(WebCore::JSApplePaySession::completePaymentMethodSelection):
- bindings/js/JSAudioTrackCustom.cpp:
(WebCore::JSAudioTrack::setKind):
(WebCore::JSAudioTrack::setLanguage):
- bindings/js/JSBlobCustom.cpp:
(WebCore::constructJSBlob):
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
- bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::getJSListenerFunctions):
- bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier):
(WebCore::getHashAlgorithm):
(WebCore::createAesCbcParams):
(WebCore::createAesKeyGenParams):
(WebCore::createHmacKeyParams):
(WebCore::createRsaKeyGenParams):
(WebCore::createRsaOaepParams):
- bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::getStringFromJSON):
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents):
(WebCore::buildJSONForRSAComponents):
(WebCore::addUsagesToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::constructCustomElementSynchronously):
(WebCore::JSCustomElementInterface::upgradeElement):
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::getCustomElementCallback):
(WebCore::JSCustomElementRegistry::define):
(WebCore::whenDefinedPromise):
- bindings/js/JSDOMBinding.cpp:
(WebCore::valueToUSVString):
(WebCore::hasIteratorMethod):
(WebCore::toSmallerInt):
(WebCore::toSmallerUInt):
(WebCore::toInt32EnforceRange):
(WebCore::toUInt32EnforceRange):
(WebCore::toInt64EnforceRange):
(WebCore::toUInt64EnforceRange):
- bindings/js/JSDOMBinding.h:
(WebCore::toJSSequence):
(WebCore::toJS):
(WebCore::jsFrozenArray):
- bindings/js/JSDOMPromise.cpp:
(WebCore::rejectPromiseWithExceptionIfAny):
- bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::putDelegate):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation):
(WebCore::JSDOMWindow::open):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::handlePostMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
- bindings/js/JSDataCueCustom.cpp:
(WebCore::constructJSDataCue):
- bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::readAccelerationArgument):
(WebCore::readRotationRateArgument):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
- bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::tryGetProperty):
(WebCore::JSDictionary::convertValue):
- bindings/js/JSDictionary.h:
(WebCore::JSDictionary::tryGetPropertyAndResult):
- bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::getCSSCanvasContext):
- bindings/js/JSFileCustom.cpp:
(WebCore::constructJSFile):
- bindings/js/JSGeolocationCustom.cpp:
(WebCore::JSGeolocation::getCurrentPosition):
(WebCore::JSGeolocation::watchPosition):
- bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
- bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
- bindings/js/JSHTMLElementCustom.cpp:
(WebCore::constructJSHTMLElement):
- bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):
- bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::createObjectStore):
- bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
- bindings/js/JSMessagePortCustom.cpp:
(WebCore::fillMessagePortArray):
- bindings/js/JSMessagePortCustom.h:
(WebCore::handlePostMessage):
- bindings/js/JSMockContentFilterSettingsCustom.cpp:
(WebCore::JSMockContentFilterSettings::setDecisionPoint):
(WebCore::toDecision):
(WebCore::JSMockContentFilterSettings::setDecision):
(WebCore::JSMockContentFilterSettings::setUnblockRequestDecision):
- bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::acceptNode):
- bindings/js/JSNodeOrString.cpp:
(WebCore::toNodeOrStringVector):
- bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql):
- bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::convertToSpecifiedUnits):
- bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::getOwnPropertyNames):
- bindings/js/JSTextTrackCustom.cpp:
(WebCore::JSTextTrack::setLanguage):
- bindings/js/JSVideoTrackCustom.cpp:
(WebCore::JSVideoTrack::setKind):
(WebCore::JSVideoTrack::setLanguage):
- bindings/js/JSWebGL2RenderingContextCustom.cpp:
(WebCore::JSWebGL2RenderingContext::getIndexedParameter):
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContextBase::getExtension):
(WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContextBase::getParameter):
(WebCore::JSWebGLRenderingContextBase::getProgramParameter):
(WebCore::JSWebGLRenderingContextBase::getShaderParameter):
(WebCore::toVector):
(WebCore::dataFunctionf):
(WebCore::dataFunctionMatrix):
- bindings/js/JSWebKitSubtleCryptoCustom.cpp:
(WebCore::cryptoKeyFormatFromJSValue):
(WebCore::cryptoKeyUsagesFromJSValue):
(WebCore::JSWebKitSubtleCrypto::generateKey):
(WebCore::importKey):
(WebCore::JSWebKitSubtleCrypto::importKey):
(WebCore::exportKey):
(WebCore::JSWebKitSubtleCrypto::exportKey):
(WebCore::JSWebKitSubtleCrypto::unwrapKey):
- bindings/js/JSWorkerCustom.cpp:
(WebCore::constructJSWorker):
- bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::importScripts):
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):
- bindings/js/ReadableStreamDefaultController.cpp:
(WebCore::ReadableStreamDefaultController::invoke):
- bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
(GenerateImplementation):
(GenerateParametersCheck):
(GenerateImplementationFunctionCall):
(GenerateConstructorDefinition):
- html/HTMLMediaElement.cpp:
(WebCore::controllerJSValue):
(WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange):
(WebCore::HTMLMediaElement::getCurrentMediaControlsStatus):
- 12:09 PM Changeset in webkit [206385] by
-
- 2 edits in trunk/Source/WebCore
-Wtautological-compare triggered in URLParser::internalValuesConsistent
https://bugs.webkit.org/show_bug.cgi?id=162551
Reviewed by Alex Christensen.
Fix logic error.
- platform/URLParser.cpp:
(WebCore::URLParser::internalValuesConsistent):
- 11:57 AM Changeset in webkit [206384] by
-
- 2 edits in trunk
[cmake] Added an option to disable thin archives when they are undesirable.
https://bugs.webkit.org/show_bug.cgi?id=162561
Reviewed by Michael Catanzaro.
- Source/cmake/OptionsCommon.cmake: Added USE_THIN_ARCHIVES option.
- 11:57 AM Changeset in webkit [206383] by
-
- 2 edits1 add in trunk/Source/WebCore
Add CairoUniquePtr and use it in FontPlatformDataFreetype.cpp
https://bugs.webkit.org/show_bug.cgi?id=162557
Reviewed by Alex Christensen.
- platform/graphics/cairo/CairoUniquePtr.h: Added.
(WebCore::CairoPtrDeleter<cairo_font_options_t>::operator()):
- platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::getDefaultCairoFontOptions): Return a smart pointer.
(WebCore::FontPlatformData::buildScaledFont): Use smart pointer.
- 11:55 AM Changeset in webkit [206382] by
-
- 2 edits in trunk/Tools
[GTK] TestContextMenu is failing
https://bugs.webkit.org/show_bug.cgi?id=162569
We cannot use the MP3 file in the TestContextMenu, as it will not work
by default on most distributions (that don't have an MP3 codecs
installed). Change the test to use OGG file instead.
Patch by Tomas Popela <tpopela@redhat.com> on 2016-09-26
Reviewed by Michael Catanzaro.
- TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
(testContextMenuDefaultMenu):
- 11:41 AM Changeset in webkit [206381] by
-
- 2 edits in trunk/Source/WebCore
Silence unused parameter warnings from Geoclue2Interface.c
https://bugs.webkit.org/show_bug.cgi?id=162545
Reviewed by Carlos Garcia Campos.
- PlatformGTK.cmake:
- 11:17 AM Changeset in webkit [206380] by
-
- 3 edits in trunk/Source/bmalloc
Avoid implicit conversion from iterator to pointer
https://bugs.webkit.org/show_bug.cgi?id=162482
Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2016-09-26
Reviewed by Geoffrey Garen.
Not every STL supporting such conversion, we should get a pointer explicitly.
- bmalloc/Chunk.h:
(bmalloc::Chunk::lines):
(bmalloc::Chunk::pages):
- bmalloc/FixedVector.h:
(bmalloc::FixedVector::begin):
- 11:09 AM Changeset in webkit [206379] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Allow fixedExecutableMemoryPoolSize to be set during build
https://bugs.webkit.org/show_bug.cgi?id=162514
Patch by Don Olmstead <don.olmstead@am.sony.com> on 2016-09-26
Reviewed by Mark Lam.
- jit/ExecutableAllocator.h:
- 10:07 AM Changeset in webkit [206378] by
-
- 2 edits in trunk/Tools
Using char16_t instead of wchar_t in TestWebKitAPI URLParser tests
https://bugs.webkit.org/show_bug.cgi?id=162537
Reviewed by Alex Christensen.
Some build bot (Linux ARM GTK port) fails since we cannot select
the specific StringBuilder::append method for wchar_t.
wchar_t implementation highly depends on platforms. sizeof(wchar_t) == 2
in Windows, while sizeof(wchar_t) == 4 in Linux and OS X. So, ICU
uses wchar_t for UChar (UTF-16) in Windows while it doesn't in other
platforms.
StringBuilder::append is overloaded for UChar. In Windows, we can pass
wchar_t since UChar is wchar_t. However, we cannot do that in other platforms.
Instead of using wchar_t, we use more platform portable UTF-16 literal for
testing. Use char16_t and C++11 UTF-16 literal.
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::utf16String):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::wideString): Deleted.
- 9:40 AM Changeset in webkit [206377] by
-
- 5 edits in trunk/Source
std::unique_ptr deleter functions should not check if pointer is null
https://bugs.webkit.org/show_bug.cgi?id=162558
Reviewed by Alex Christensen.
std::unique_ptr already does this before calling the deleter.
Source/WebCore:
- platform/graphics/x11/XUniquePtr.h:
(WebCore::XPtrDeleter::operator()):
(WebCore::XPtrDeleter<XImage>::operator()):
(WebCore::XPtrDeleter<_XGC>::operator()):
(WebCore::XPtrDeleter<GLXcontextRec>::operator()):
Source/WTF:
- wtf/efl/UniquePtrEfl.h:
- wtf/glib/GUniquePtr.h:
- 8:25 AM Changeset in webkit [206376] by
-
- 5 edits in trunk/Source/WebKit2
Fix -Wformat warnings in WebLoaderStrategy
https://bugs.webkit.org/show_bug.cgi?id=162553
Reviewed by Alex Christensen.
Consistently use PRIu64 to print uint64_t
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::didReceiveResponse):
(WebKit::Download::didReceiveData):
(WebKit::Download::didFinish):
(WebKit::Download::didFail):
(WebKit::Download::didCancel):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::setDefersLoading):
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::didReceiveBuffer):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFailLoading):
(WebKit::NetworkResourceLoader::continueWillSendRequest):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::didFailResourceLoad):
(WebKit::WebResourceLoader::didReceiveResource):
- 8:23 AM Changeset in webkit [206375] by
-
- 2 edits in trunk/Source/WebCore
[Win][Debug] Compile fix.
https://bugs.webkit.org/show_bug.cgi?id=162550
Reviewed by Alex Christensen.
Windows headers need the FragmentForwardIterator '==' operator in debug mode.
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator==):
- 7:26 AM Changeset in webkit [206374] by
-
- 2 edits in trunk/JSTests
Skip stress/string-joining-long-strings-should-not-crash.js on memory limited devices
https://bugs.webkit.org/show_bug.cgi?id=162386
Unreviewed, relanding r206317 after typo fix.
Patch by Csaba Osztrogonác <oszi@inf.u-szeged.hu> on 2016-09-26
- stress/string-joining-long-strings-should-not-crash.js:
- 7:17 AM Changeset in webkit [206373] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Unnecessary extern functions in FontPlatformDataFreeType.cpp
https://bugs.webkit.org/show_bug.cgi?id=162555
Reviewed by Carlos Garcia Campos.
These functions should be file-static.
- platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::convertFontConfigSubpixelOrder):
(WebCore::convertFontConfigHintStyle):
(WebCore::setCairoFontOptionsFromFontConfigPattern):
- 6:42 AM Changeset in webkit [206372] by
-
- 7 edits7 copies in trunk
Rolled over to ChangeLog-2016-09-26
- 5:40 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 4:54 AM Changeset in webkit [206371] by
-
- 2 edits in trunk/Source/WebKit2
Fix -Wformat warnings in WebLoaderStrategy
https://bugs.webkit.org/show_bug.cgi?id=162553
Unreviewed
Two of the format arguments are swapped. Fix them.
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
- 4:46 AM Changeset in webkit [206370] by
-
- 4 edits in trunk/Source/WebCore
ASSERTION FAILED: m_origin m_type == CachedResource::MainResource https://bugs.webkit.org/show_bug.cgi?id=162472
<rdar://problem/28431522>
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-26
Reviewed by Darin Adler.
No change of behavior.
Introducing a new CachedResource constructor for already loaded resources.
Sharing code with the other constructor in the init method.
The main difference with this new constructor is that the resource has no specified origin.
The response tainting remains Basic.
Making some additional code clean-up.
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::CachedImage): Making use of the new constructor.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::finishRequestInitialization):
- loader/cache/CachedResource.h:
(WebCore::CachedResource::type):
- 3:20 AM Changeset in webkit [206369] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Support flipY for GPU-to-GPU copy of video textures to WebGL
https://bugs.webkit.org/show_bug.cgi?id=162491
Patch by Olivier Blin <Olivier Blin> on 2016-09-26
Reviewed by Philippe Normand.
GPU-GPU copy of video textures to WebGL has been added for
GStreamer in bug 159928. It did not handle textures with inverted
Y, and thus copy to such textures was not accelerated.
This occurs with THREE.js which defaults to flipY for textures.
It can be tested on http://flimshaw.github.io/Valiant360/
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::paintToCairoSurface):
(WebCore::MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- 12:26 AM Changeset in webkit [206368] by
-
- 15 edits in branches/safari-602-branch/Source
Merge r206350. rdar://problem/28115680
Sep 25, 2016:
- 10:35 PM Changeset in webkit [206367] by
-
- 9 edits in trunk/Source/WebKit2
Regression(r206356): Caused crashes for !NETWORK_SESSION code path
https://bugs.webkit.org/show_bug.cgi?id=162541
Reviewed by Alexey Proskuryakov.
After r206356, if Download is downloading a Blob instead of doing a
network load, then m_resourceHandle / m_downloadClient are used to do
the download. This broke some assumptions on Mac because the
NETWORK_SESSION code path assumed it was relying on m_download and the
!NETWORK_SESSION code path assumed it was using m_nsURLDownload /
m_delegate.
This patch refactors the code so that:
- The Download destructor now takes care of invalidating m_resourceHandle and m_downloadClient before calling platformInvalidate(). For the SOUP code path, platformInvalidate() no longer needs to do anything because SOUP uses m_resourceHandle / m_downloadClient only. For the Mac !NETWORK_SESSION code path, we keep invalidating m_nsURLDownload / m_delegate but we no longer assume that those are initialized (given that they are not when downloading a blob). Other platforms do nothing in platformInvalidate() at the moment.
- Download::cancel() now takes care of cancelling the download if we're downloading a blob. Otherwise, we call the platform specific cancelNetworkLoad(). This is the same pattern that is used for start() / startNetworkLoad().
- NetworkProcess/Downloads/BlobDownloadClient.cpp:
(WebKit::BlobDownloadClient::didCancel):
- NetworkProcess/Downloads/BlobDownloadClient.h:
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::~Download):
(WebKit::Download::cancel):
- NetworkProcess/Downloads/Download.h:
- NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::cancelNetworkLoad):
(WebKit::Download::cancel): Deleted.
- NetworkProcess/Downloads/ios/DownloadIOS.mm:
(WebKit::Download::cancelNetworkLoad):
(WebKit::Download::cancel): Deleted.
- NetworkProcess/Downloads/mac/DownloadMac.mm:
(WebKit::Download::cancelNetworkLoad):
(WebKit::Download::platformInvalidate):
(WebKit::Download::cancel): Deleted.
- NetworkProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::cancelNetworkLoad):
(WebKit::Download::platformInvalidate):
(WebKit::Download::cancel): Deleted.
- 8:57 PM Changeset in webkit [206366] by
-
- 2 edits in trunk/LayoutTests
Unviewed, skip slow web-platform test in Debug builds
The following test is slow and frequently times out for Debug builds:
imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm
- 8:22 PM Changeset in webkit [206365] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark fast/dom/HTMLAnchorElement/anchor-download.html as flaky on WK2.
- platform/mac-wk2/TestExpectations:
- 8:22 PM Changeset in webkit [206364] by
-
- 2 edits in trunk/Tools
[EFL] Adjust EFL indentation to EFL MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=162542
Unreviewed, EFL simple coding style fix.
Some functions wasn't applied EFL coding style in prefix fix.
- MiniBrowser/efl/main.c:
(_key_down_cb):
(view_focus_set):
(_mouse_down_cb):
(title_set):
(_title_changed_cb):
(_url_changed_cb):
(_back_forward_list_changed_cb):
(_progress_cb):
(_error_cb):
(_download_request_cb):
(close_file_picker):
(_filepicker_parent_deletion_cb):
(_filepicker_deletion_cb):
(_fileselector_done_cb):
(_file_chooser_request_cb):
(_download_finished_cb):
(_download_failed_cb):
(_color_changed_cb):
(_color_item_selected_cb):
(_color_picker_ok_clicked_cb):
(_color_picker_cancel_clicked_cb):
(_color_picker_dismiss_cb):
(_color_picker_request_cb):
(quit):
(has_scheme):
(url_from_user_input):
(url_load_from_user_input):
(_url_bar_activated_cb):
(_url_bar_clicked_cb):
(_search_field_aborted_cb):
(_search_field_activated_cb):
(_search_field_clicked_cb):
(_back_button_clicked_cb):
(_forward_button_clicked_cb):
(_search_backward_button_clicked_cb):
(_search_forward_button_clicked_cb):
(_search_case_option_changed):
(_search_word_start_option_changed_cb):
(_search_close_button_clicked_cb):
(_refresh_button_clicked_cb):
(_stop_button_clicked_cb):
(list_item_label_get):
(_list_item_select_cb):
(navigation_button_longpress_process):
(_forward_button_longpress_cb):
(_back_button_longpress_cb):
(quit_event_loop):
(_ok_clicked_cb):
(_file_entry_dialog_show):
- 10:28 AM Changeset in webkit [206363] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION (r203437): DOM not updated when editing Box Model values (border, margin, etc)
https://bugs.webkit.org/show_bug.cgi?id=162522
<rdar://problem/28458203>
Reviewed by Brian Burg.
- UserInterface/Views/BoxModelDetailsSectionRow.js:
(WebInspector.BoxModelDetailsSectionRow.prototype._refresh):
(WebInspector.BoxModelDetailsSectionRow.prototype._highlightDOMNode):
(WebInspector.BoxModelDetailsSectionRow.prototype._editingEnded):
Drive-by style fix fordelete. Also removed unused properties.
(WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.toggleInlineStyleProperty):
Use priority "important" instead of "!important".
- 9:45 AM Changeset in webkit [206362] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[GTK] German translation update
https://bugs.webkit.org/show_bug.cgi?id=152228
Patch by Benedikt M. Thoma <gnome@thomba.net> on 2016-09-25
Rubber-stamped by Michael Catanzaro.
- de.po:
- 6:32 AM Changeset in webkit [206361] by
-
- 22 edits in trunk/Source
AuthorStyleSheets shouldn't trigger synchronous style resolutions
https://bugs.webkit.org/show_bug.cgi?id=162532
Reviewed by Darin Adler.
Source/WebCore:
AuthorStyleSheets::didChange() took four different enum values, two of which triggered
a synchronous style resolution. This is almost always unnecessary as any subsequent
call that requires up-to-date style or layout will perform it. In the few cases where
it is actually needed the client can just do it manually.
The patch also replaces the remaining two enum values with functions:
void didChangeCandidatesForActiveSet();
void didChangeContentsOrInterpretation();
The first indicates that the set of active stylesheets might have changed and needs to be recomputed.
The seconds one indicates that either the content of some stylesheet has changed or that the environment
where we interpret the sheets has somehow changed.
The existing "AsNeeded" values map to didChangeCandidatesForActiveSet() and the rest map to
didChangeContentsOrInterpretation(). This also makes it obvious that some call sites use the wrong value.
The patch doesn't address these cases.
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::didMutate):
(WebCore::CSSStyleSheet::clearOwnerNode):
- dom/AuthorStyleSheets.cpp:
(WebCore::AuthorStyleSheets::AuthorStyleSheets):
(WebCore::AuthorStyleSheets::analyzeStyleSheetChange):
(WebCore::AuthorStyleSheets::updateActiveStyleSheets):
(WebCore::AuthorStyleSheets::flushPendingChanges):
(WebCore::AuthorStyleSheets::scheduleActiveSetChange):
(WebCore::AuthorStyleSheets::didChange):
(WebCore::AuthorStyleSheets::pendingChangeTimerFired):
(WebCore::AuthorStyleSheets::flushPendingUpdates): Deleted.
(WebCore::AuthorStyleSheets::scheduleOptimizedUpdate): Deleted.
(WebCore::AuthorStyleSheets::optimizedUpdateTimerFired): Deleted.
- dom/AuthorStyleSheets.h:
(WebCore::AuthorStyleSheets::hasPendingUpdate):
- dom/Document.cpp:
(WebCore::Document::setContentLanguage):
(WebCore::Document::recalcStyle):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
(WebCore::Document::didRemoveAllPendingStylesheet):
(WebCore::Document::usesStyleBasedEditability):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::setSelectedStylesheetSet):
- dom/ExtensionStyleSheets.cpp:
(WebCore::ExtensionStyleSheets::clearPageUserSheet):
(WebCore::ExtensionStyleSheets::updatePageUserSheet):
(WebCore::ExtensionStyleSheets::invalidateInjectedStyleSheetCache):
(WebCore::ExtensionStyleSheets::addUserStyleSheet):
(WebCore::ExtensionStyleSheets::addAuthorStyleSheetForTesting):
(WebCore::ExtensionStyleSheets::styleResolverChangedTimerFired):
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::removedFromDocument):
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::removedFrom):
- dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::updateStyle):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setDisabledState):
(WebCore::HTMLLinkElement::parseAttribute):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::removedFrom):
(WebCore::HTMLLinkElement::removePendingSheet):
- html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::parseAttribute):
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::resetPseudoStates):
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::setEmulatedMedia):
- page/Frame.cpp:
(WebCore::Frame::setPrinting):
- page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::setPagination):
(WebCore::FrameView::setViewportSizeForCSSViewportUnits):
- page/Page.cpp:
(WebCore::Page::setViewMode):
(WebCore::Page::setNeedsRecalcStyleInAllFrames):
(WebCore::Page::invalidateInjectedStyleSheetCacheInAllFrames):
- svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::rebuildFontFace):
(WebCore::SVGFontFaceElement::removedFrom):
- xml/XMLTreeViewer.cpp:
(WebCore::XMLTreeViewer::transformDocumentToTreeView):
- xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::end):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doEnd):
Source/WebKit/mac:
- WebView/WebHTMLView.mm:
(-[WebHTMLView reapplyStyles]):
(-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]):
- 12:01 AM Changeset in webkit [206360] by
-
- 6 edits in trunk/Source/WebCore
Unreviewed, update results of DOM binding tests after r206354.
https://bugs.webkit.org/show_bug.cgi?id=162503
Update results of DOM binding tests. After r206354, setDOMException takes
ThrowScope as its second argument.
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithGetterExceptionWithMessage):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjNullableStringValue):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjAttrWithSetterExceptionWithMessage):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionMethodWithExceptionWithMessage):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionPromise):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
Sep 24, 2016:
- 11:37 PM Changeset in webkit [206359] by
-
- 6 edits2 adds in trunk
REGRESSION (r206221): [USER] com.apple.WebKit.WebContent.Development at com.apple.JavaScriptCore: vmEntryToJavaScript + 299
https://bugs.webkit.org/show_bug.cgi?id=162536
<rdar://problem/28415971>
Reviewed by Gavin Barraclough.
Source/JavaScriptCore:
Drop API on PropertySlot for setting a cacheable custom getter/setter
given that this is not supported yet and will lead to crashes if used.
- runtime/PropertySlot.h:
(JSC::PropertySlot::isCacheableCustom):
(JSC::PropertySlot::isCacheableCustomAccessor): Deleted.
(JSC::PropertySlot::setCacheableCustomGetterSetter): Deleted.
Source/WebCore:
Stop marking cross-origin Window/Location objects properties as cacheable
given that we do not support yet caching of such properties. This is because
they are using the new CustomAccesstor PropertySlot type, which is not handled
yet by Repatch.cpp. Performance is anyway not critical for cross-origin
Window / Location properties.
Test: http/tests/security/cross-origin-window-property-caching-crash.html
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertySlotDelegate):
LayoutTests:
Add layout test coverage.
- http/tests/security/cross-origin-window-property-caching-crash-expected.txt: Added.
- http/tests/security/cross-origin-window-property-caching-crash.html: Added.
- 10:08 PM Changeset in webkit [206358] by
-
- 2 edits in trunk/Source/WebKit2
[WK2] Enable support for 'download' attribute on anchor elements
https://bugs.webkit.org/show_bug.cgi?id=162535
Reviewed by Darin Adler.
Enable support for 'download' attribute on anchor elements for WebKit2
now that:
- It works with our NETWORK_SESSION code path (Bug 162531)
- Supports Blob / Data URLs (Bug 156099)
- Requires user interaction / ignores synthetic clicks (Bug 156099)
- Shared/WebPreferencesDefinitions.h:
- 8:17 PM Changeset in webkit [206357] by
-
- 3 edits2 adds in trunk
REGRESSION (r205524): Crash under WTF::numGraphemeClusters()
https://bugs.webkit.org/show_bug.cgi?id=162534
<rdar://problem/28463828>
Reviewed by David Kilzer.
Source/WebCore:
We were constructing a StringView from a temporary String and then passing it to
WTF::numGraphemeClusters().
Test: fast/dom/HTMLInputElement/handleBeforeTextInsertedEvent-crash.html
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
LayoutTests:
Add layout test coverage.
- fast/dom/HTMLInputElement/handleBeforeTextInsertedEvent-crash-expected.txt: Added.
- fast/dom/HTMLInputElement/handleBeforeTextInsertedEvent-crash.html: Added.
- 7:39 PM Changeset in webkit [206356] by
-
- 22 edits4 adds in trunk
<a download> does not support Blob URLs
https://bugs.webkit.org/show_bug.cgi?id=156099
<rdar://problem/25535520>
Reviewed by Darin Adler.
Source/WebCore:
Only allow trusted events to trigger downloads for <a download>, as per:
Without this, a script could download a file to the user's disk without
any user gesture or consent, simply by calling a.click(). I have confirmed
that Firefox also ignores the click for <a download> if it is synthetic.
Chrome allows synthetic clicks to trigger downloads but I filed a bug
about it.
Test: fast/dom/HTMLAnchorElement/anchor-download-synthetic-click.html
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
Source/WebKit2:
Add support for downloading Blob URLs to WebKit2. This should work for
all WebKit2 port. This also works in combination with the download
attribute on anchor elements. Note that the download attribute is only
enabled at runtime in the context of the layout tests for now. I'll
enable the download attribute on WK2 once I have fixed Bug 162531.
- CMakeLists.txt:
- NetworkProcess/Downloads/BlobDownloadClient.cpp: Added.
(WebKit::BlobDownloadClient::BlobDownloadClient):
(WebKit::BlobDownloadClient::didReceiveResponse):
(WebKit::BlobDownloadClient::didReceiveBuffer):
(WebKit::BlobDownloadClient::didFinishLoading):
(WebKit::BlobDownloadClient::didFail):
- NetworkProcess/Downloads/BlobDownloadClient.h: Added.
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::Download):
(WebKit::Download::start):
(WebKit::Download::didStart):
(WebKit::Download::didReceiveResponse):
(WebKit::Download::decideDestinationWithSuggestedFilename):
(WebKit::Download::~Download): Deleted.
(WebKit::Download::didReceiveData): Deleted.
(WebKit::Download::shouldDecodeSourceDataOfMIMEType): Deleted.
- NetworkProcess/Downloads/Download.h:
(WebKit::Download::Download):
(WebKit::Download::suggestedName):
(WebKit::Download::request):
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
- NetworkProcess/Downloads/ios/DownloadIOS.mm:
(WebKit::Download::startNetworkLoad):
- NetworkProcess/Downloads/mac/DownloadMac.mm:
(WebKit::Download::startNetworkLoad):
- NetworkProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::startNetworkLoad):
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
- UIProcess/Downloads/DownloadProxy.h:
- UIProcess/Downloads/DownloadProxy.messages.in:
- WebKit2.xcodeproj/project.pbxproj:
LayoutTests:
Unskip / rebaseline existing tests now that <a download> supports Blob URLs.
- TestExpectations:
- fast/dom/HTMLAnchorElement/anchor-download-expected.txt:
- fast/dom/HTMLAnchorElement/anchor-download-synthetic-click-expected.txt: Added.
- fast/dom/HTMLAnchorElement/anchor-download-synthetic-click.html: Added.
- fast/dom/HTMLAnchorElement/anchor-nodownload-set-expected.txt:
- http/tests/security/anchor-download-allow-blob-expected.txt:
- platform/ios-simulator-wk1/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 6:00 PM Changeset in webkit [206355] by
-
- 13 edits in trunk
[WK2] anchor.download attribute value is ignored by NETWORK_SESSION code path
https://bugs.webkit.org/show_bug.cgi?id=162531
Reviewed by Darin Adler.
Source/WebKit2:
Pipe the suggested filename through in the NETWORK_SESSION code path so
that it is used when deciding the destination path.
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
- NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::PendingDownload):
- NetworkProcess/Downloads/PendingDownload.h:
- NetworkProcess/NetworkDataTask.h:
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::setSuggestedFilename):
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTask::suggestedFilename):
(WebKit::NetworkDataTask::setSuggestedFilename):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
Tools:
Update decideDestinationWithSuggestedFilename() to return a actual file path
instead of nullptr. The NETWORK_SESSION code path cancels the download when
decideDestinationWithSuggestedFilename() returns an empty file path, unlike
the !NETWORK_SESSION code path that just continue downloading without
explicitely setting a destination path. This lead to different test results
for NETWORK_SESSION and !NETWORK_SESSION code paths. Returns a valid
destination path makes more sense and leads to consistent results.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::decideDestinationWithSuggestedFilename):
LayoutTests:
Unskip tests that are now passing.
- platform/mac/TestExpectations:
- 5:43 PM Changeset in webkit [206354] by
-
- 4 edits in trunk/Source/WebCore
[Binding] setDOMException should be inlined and fall to the slow path if exception occurs
https://bugs.webkit.org/show_bug.cgi?id=162503
Reviewed by Saam Barati.
Binding code emits setDOMException in critical paths. However, it is not inlined.
Since exception less frequently occurs, we should have inlined setDOMException that
early returns if it does not need to raise an exception. And it should call the exception
raising code as slow path case. This tiny optimization can offer improvement if
the DOM function is tiny and DOM binding occupies large part of it. Combined with r206338,
it offers 5% improvement in Dromaeo dom-attr getAttribute / setAttribute tests.
- bindings/js/JSDOMBinding.cpp:
(WebCore::throwDOMException): Extract the actual exception raising code.
(WebCore::setDOMExceptionSlow): Call throwDOMException and keep it not inlined.
(WebCore::setDOMException):
- bindings/js/JSDOMBinding.h:
(WebCore::setDOMException): Use ThrowScope& to check
scope.exception().
And it has a path for normal case that allows early returning.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateImplementationFunctionCall):
(GenerateConstructorDefinition):
- 2:53 PM Changeset in webkit [206353] by
-
- 2 edits in trunk/JSTests
[JSTests] fix test262 expectations following r206333
https://bugs.webkit.org/show_bug.cgi?id=162533
Reviewed by Yusuke Suzuki.
- test262.yaml:
- 6:10 AM Changeset in webkit [206352] by
-
- 2 edits in trunk/Source/WebKit/mac
Move stylesheet change logic from Document to AuthorStyleSheets
https://bugs.webkit.org/show_bug.cgi?id=162488
Reviewed by Andreas Kling.
- WebView/WebHTMLView.mm:
(-[WebHTMLView reapplyStyles]):
(-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]):
- 5:28 AM Changeset in webkit [206351] by
-
- 22 edits in trunk/Source/WebCore
Move stylesheet change logic from Document to AuthorStyleSheets
https://bugs.webkit.org/show_bug.cgi?id=162488
Reviewed by Andreas Kling.
That's where it belongs.
- WebCore.xcodeproj/project.pbxproj:
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::didMutate):
(WebCore::CSSStyleSheet::clearOwnerNode):
- dom/AuthorStyleSheets.cpp:
(WebCore::AuthorStyleSheets::AuthorStyleSheets):
(WebCore::AuthorStyleSheets::flushPendingUpdates):
(WebCore::AuthorStyleSheets::scheduleOptimizedUpdate):
(WebCore::AuthorStyleSheets::didChange):
(WebCore::AuthorStyleSheets::optimizedUpdateTimerFired):
- dom/AuthorStyleSheets.h:
(WebCore::AuthorStyleSheets::hasPendingUpdate):
(WebCore::AuthorStyleSheets::pendingUpdateType): Deleted.
(WebCore::AuthorStyleSheets::setPendingUpdateType): Deleted.
(WebCore::AuthorStyleSheets::flushPendingUpdates): Deleted.
- dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setContentLanguage):
(WebCore::Document::needsStyleRecalc):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
(WebCore::Document::didRemoveAllPendingStylesheet):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::setSelectedStylesheetSet):
(WebCore::Document::updateHoverActiveState):
Remove StyleResolverUpdateFlag argument that was misused to indicate sync style recalc.
Clients can call updateStyleIfNeeded() directly though none of them appears to need it.
(WebCore::Document::optimizedStyleSheetUpdateTimerFired): Deleted.
(WebCore::Document::scheduleOptimizedStyleSheetUpdate): Deleted.
(WebCore::Document::styleResolverChanged): Deleted.
- dom/Document.h:
(WebCore::Document::needsStyleRecalc): Deleted.
- dom/ExtensionStyleSheets.cpp:
(WebCore::ExtensionStyleSheets::clearPageUserSheet):
(WebCore::ExtensionStyleSheets::updatePageUserSheet):
(WebCore::ExtensionStyleSheets::invalidateInjectedStyleSheetCache):
(WebCore::ExtensionStyleSheets::addUserStyleSheet):
(WebCore::ExtensionStyleSheets::addAuthorStyleSheetForTesting):
(WebCore::ExtensionStyleSheets::styleResolverChangedTimerFired):
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::removedFromDocument):
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::removedFrom):
Also fix a bug that prevented document from rendering if a loading processing instruction was removed from the tree.
This is tested by fast/dom/StyleSheet/detached-style-pi-2.xhtml (after other changes in this patch).
- dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::updateStyle):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setDisabledState):
(WebCore::HTMLLinkElement::parseAttribute):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::removedFrom):
(WebCore::HTMLLinkElement::removePendingSheet):
- html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::parseAttribute):
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::resetPseudoStates):
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::setEmulatedMedia):
- page/Frame.cpp:
(WebCore::Frame::setPrinting):
- page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::setPagination):
(WebCore::FrameView::setViewportSizeForCSSViewportUnits):
- page/Page.cpp:
(WebCore::Page::setViewMode):
(WebCore::Page::setNeedsRecalcStyleInAllFrames):
(WebCore::Page::invalidateInjectedStyleSheetCacheInAllFrames):
- svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::rebuildFontFace):
(WebCore::SVGFontFaceElement::removedFrom):
- xml/XMLTreeViewer.cpp:
(WebCore::XMLTreeViewer::transformDocumentToTreeView):
- xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::end):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doEnd):
Sep 23, 2016:
- 6:38 PM Changeset in webkit [206350] by
-
- 15 edits in trunk/Source
Media controls playhead does not animate smoothly while playing
https://bugs.webkit.org/show_bug.cgi?id=162399
<rdar://problem/28115680>
Reviewed by Beth Dakin.
Source/WebCore:
The media controls playhead currently does not animate smoothly during playback because we don't specify a
playback rate when updating the WebPlaybackControlsManager's timing value. However, simply setting this timing
value to the current playback rate (as known to the UI process) results in the UI process receiving multiple
updates from the web process where the current time is equal (or even less than) the time at which media began
to play, which results in the playhead seeking backwards to the start time multiple times when playing or
resuming media.
To address this, in WebCore, we inform the playback session model of the media time when playback begins (i.e.
aplayingorplayevent is fired). This message precedes both the "rate changed" and "current time changed"
messages.
Unit tests to be added in a future patch.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::notifyAboutPlaying):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::playInternal):
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::playbackStartedTime):
- platform/cocoa/WebPlaybackSessionModel.h:
(WebCore::WebPlaybackSessionModelClient::playbackStartedTimeChanged):
(WebCore::WebPlaybackSessionModelClient::bufferedTimeChanged): Deleted.
- platform/cocoa/WebPlaybackSessionModelMediaElement.h:
- platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
(WebPlaybackSessionModelMediaElement::updateForEventName):
(WebPlaybackSessionModelMediaElement::playbackStartedTime):
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
- platform/mac/WebPlaybackSessionInterfaceMac.h:
- platform/mac/WebPlaybackSessionInterfaceMac.mm:
(WebCore::WebPlaybackSessionInterfaceMac::currentTimeChanged):
(WebCore::WebPlaybackSessionInterfaceMac::rateChanged):
(WebCore::WebPlaybackSessionInterfaceMac::beginScrubbing):
(WebCore::WebPlaybackSessionInterfaceMac::endScrubbing):
(WebCore::WebPlaybackSessionInterfaceMac::updatePlaybackControlsManagerTiming):
Source/WebKit2:
See WebCore ChangeLog for more details.
In the UI process, we update the WebPlaybackSessionManager's timing value when the rate or current time changes.
Each AVValueTiming is generated from the current time, system anchor time, and playback rate. The behavior of
the first two properties is unaffected. However, the rate used to update the timing value is the effective
playback rate, which is equal to the playback rate unless we are (1) not playing, (2) interacting with the media
controls in such a way that the media is essentially not playing, or (3) the current time precedes the playback
start time, accounting for playback direction. In these cases, our effective playback rate is 0, which means
that we do not animate the playhead.
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in:
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
(WebKit::WebPlaybackSessionModelContext::beginScrubbing):
(WebKit::WebPlaybackSessionModelContext::endScrubbing):
(WebKit::WebPlaybackSessionModelContext::setPlaybackStartedTime):
(WebKit::WebPlaybackSessionModelContext::setCurrentTime):
(WebKit::WebPlaybackSessionManagerProxy::setPlaybackStartedTime):
- WebProcess/cocoa/WebPlaybackSessionManager.h:
- WebProcess/cocoa/WebPlaybackSessionManager.mm:
(WebKit::WebPlaybackSessionInterfaceContext::playbackStartedTimeChanged):
(WebKit::WebPlaybackSessionManager::playbackStartedTimeChanged):
- 6:18 PM Changeset in webkit [206349] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r206322. rdar://problem/28435352
- 6:18 PM Changeset in webkit [206348] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r204082. rdar://problem/27547583
- 6:18 PM Changeset in webkit [206347] by
-
- 19 edits2 adds in branches/safari-602-branch
Merge r203982. rdar://problem/27547583
- 6:17 PM Changeset in webkit [206346] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 5:51 PM Changeset in webkit [206345] by
-
- 1 copy in tags/Safari-602.2.13
New tag.
- 5:47 PM Changeset in webkit [206344] by
-
- 21 edits1 add in trunk/Source
Need a store-load fence between setting cell state and visiting the object in SlotVisitor
https://bugs.webkit.org/show_bug.cgi?id=162354
Reviewed by Mark Lam.
Source/JavaScriptCore:
This was meant to be a small change, but then it became bigger as I found small
opportunities for improving this code. This adds a store-load fence and is performance-
neutral. That's probably partly due to other optimizations that I did to visitChildren().
Initially, I found that adding an mfence as a store-load fence was terribly expensive. So,
I thought that I needed to buffer up a bunch of objects, set their states, do one mfence,
and then visit all of them. This seemed like a win, so I went with it. Unfortunately, this
made no sense for two reasons:
- I shouldn't use mfence. I should use ortop (lock orl $0, (%rsp)) instead. Ortop is basically free, and it's what WTF now uses for storeLoadFence().
- My data saying that buffering up objects was not a slow-down was wrong. That was actually almost as expensive as the mfence.
But in order to implement that, I made some other improvements that I think we should stick
with:
- SlotVisitor::visitChildren() now uses a switch on type. This replaces what used to be some nasty ClassInfo look-ups.
- We no longer save the object's old CellState. We would do that so that we would know what state the object had been before we blackened it. But I believe that the more logical solution is to have two kinds of black - one for black-for-the-first-time objects and one for repeat offenders. This is a lot easier to reason about, since you can now just figure this out by looking at the cell directly.
The latter change meant rewiring a bunch of barriers. It didn't make them any more
expensive.
Relanding after fixing a nasty build failure in cloop and elsewhere.
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/AbstractMacroAssembler.h:
(JSC::isARMv7IDIVSupported): Deleted.
(JSC::isARM64): Deleted.
(JSC::isX86): Deleted.
(JSC::isX86_64): Deleted.
(JSC::optimizeForARMv7IDIVSupported): Deleted.
(JSC::optimizeForARM64): Deleted.
(JSC::optimizeForX86): Deleted.
(JSC::optimizeForX86_64): Deleted.
- assembler/CPU.h: Added.
(JSC::isARMv7IDIVSupported):
(JSC::isARM64):
(JSC::isX86):
(JSC::isX86_64):
(JSC::optimizeForARMv7IDIVSupported):
(JSC::optimizeForARM64):
(JSC::optimizeForX86):
(JSC::optimizeForX86_64):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier):
- heap/CellState.h:
(JSC::isBlack):
(JSC::blacken):
- heap/Heap.cpp:
(JSC::Heap::addToRememberedSet):
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::writeBarrier):
(JSC::Heap::reportExtraMemoryVisited):
(JSC::Heap::reportExternalMemoryVisited):
- heap/MarkStack.cpp:
- heap/MarkStack.h:
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::visitChildren):
- heap/SlotVisitor.h:
- heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::reportExtraMemoryVisited):
(JSC::SlotVisitor::reportExternalMemoryVisited):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::jumpIfIsRememberedOrInEden):
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/JSObject.h:
(JSC::isJSFinalObject):
Source/WTF:
Fix this on x86-32.
- wtf/Atomics.h:
(WTF::x86_ortop):
- 5:45 PM Changeset in webkit [206343] by
-
- 3 edits2 adds in trunk
ASSERTION FAILED: !newRelayoutRoot.container() is<RenderView>(newRelayoutRoot.container()) !newRelayoutRoot.container()->needsLayout() while loading sohu.com https://bugs.webkit.org/show_bug.cgi?id=162466
Reviewed by Simon Fraser.
Source/WebCore:
When we come across a out-of-flow positioned renderer during layout, we add it to a tracker map with
its containing block (calling RenderBlock::insertPositionedObject).
It ensures that a containing block can easily access to the out-of-flow positioned descendants during layout/painting/hittesting.
We do it even when the containing block - positioned renderer pair is already in this tracker map.
RenderBlock::insertPositionedObject() eagerly sets the positioned-child-needs-layout flag on the containing block
assuming it needs to layout this descendant later in the layout phase.
This patch ensure that we only flag the containing block dirty when the descendant needs layout.
Test: fast/block/positioning/subtree-assert-when-positioned-element-dirties-containing-block.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::insertPositionedObject):
LayoutTests:
- fast/block/positioning/subtree-assert-when-positioned-element-dirties-containing-block-expected.txt: Added.
- fast/block/positioning/subtree-assert-when-positioned-element-dirties-containing-block.html: Added.
- 5:26 PM Changeset in webkit [206342] by
-
- 2 edits in trunk/LayoutTests
Remove debug flag for flaky test js/regress-139548.html.
https://bugs.webkit.org/show_bug.cgi?id=160017
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 5:21 PM Changeset in webkit [206341] by
-
- 2 edits in trunk/LayoutTests
Update TestExpectations to mark media/controls/inline-elements-dropoff-order.html as failing on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=162494
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 5:17 PM Changeset in webkit [206340] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/media-source/mediasource-preload.html as flaky on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=162523
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 5:07 PM Changeset in webkit [206339] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Fix typo in event name
https://bugs.webkit.org/show_bug.cgi?id=162519
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-23
Reviewed by Matt Baker.
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
- 4:57 PM Changeset in webkit [206338] by
-
- 14 edits in trunk/Source/WebCore
[Binding] Use unchekcedArgument if argumentCount is already checked
https://bugs.webkit.org/show_bug.cgi?id=162502
Reviewed by Geoffrey Garen.
It is not necessary to use
exec->argument(n)after checking the argument exists.
This patch changesargument(n)touncheckedArgument(n)if we already proved that
the argument exists. This change drops branches generated byexec->argument(n).
And it is good for small DOM operations in which DOM binding code occupies large
part of entire processing. This patch and another small patch[1] offer roughly 5%
improvement in Dromaeo dom-attr's getAttribute and setAttribute tests.
[1]: https://bugs.webkit.org/show_bug.cgi?id=162503
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck): GenerateParameterCheck requires GenerateArgumentsCountCheck.
As a result, existence of mandatory arguments are already checked. We can useuncheckedArgument(n)
for mandatory arguments.
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionItem):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter):
(WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionGetElementById):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert3):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionAttachShadowRoot):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::constructJSTestOverloadedConstructorsWithSequence2):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
- 4:40 PM Changeset in webkit [206337] by
-
- 3 edits in trunk/Source/WebCore
Refactor URLParser
https://bugs.webkit.org/show_bug.cgi?id=162518
Reviewed by Brady Eidson.
Use a helper function to determine the currentPosition instead of always determining position based on the
size of the buffer. Soon there will be nothing in the buffer in the common case where there are no syntax errors.
Also make more static functions into methods. Give IPv6Addresses and IPv4Addresses names. Start adding syntaxError stubs.
No change in behavior. Covered by API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::incrementIteratorSkippingTabAndNewLine):
(WebCore::URLParser::isWindowsDriveLetter):
(WebCore::URLParser::appendToASCIIBuffer):
(WebCore::URLParser::syntaxError):
(WebCore::URLParser::currentPosition):
(WebCore::URLParser::URLParser):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseAuthority):
(WebCore::URLParser::appendNumberToASCIIBuffer):
(WebCore::URLParser::serializeIPv4):
(WebCore::URLParser::serializeIPv6Piece):
(WebCore::URLParser::serializeIPv6):
(WebCore::URLParser::parseIPv4Host):
(WebCore::URLParser::parseIPv6Host):
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHostAndPort):
(WebCore::append): Deleted.
(WebCore::serializeIPv4): Deleted.
(WebCore::serializeIPv6Piece): Deleted.
(WebCore::serializeIPv6): Deleted.
(WebCore::parseIPv4Host): Deleted.
(WebCore::parseIPv6Host): Deleted.
- platform/URLParser.h:
- 4:26 PM Changeset in webkit [206336] by
-
- 1 edit in trunk/JSTests/stress/async-await-syntax.js
[JSC] add @ skip line for JSTests/stress/async-await-syntax.js
http://bugs.webkit.org/show_bug.cgi?id=161409
- stress/async-await-syntax.js:
- 3:54 PM Changeset in webkit [206335] by
-
- 4 edits in trunk/Tools
[mac-sierra] 2 WKWebViewCandidateTests API test failures
https://bugs.webkit.org/show_bug.cgi?id=162470
Reviewed by Tim Horton.
VideoControlsManager, WKWebViewCandidateTests and CandidateTests should not be running on 10.12.0. Guard these
tests with an SDK check to prevent 10.12.0 bots from building them.
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
- TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm:
- TestWebKitAPI/Tests/mac/CandidateTests.mm:
- 3:32 PM Changeset in webkit [206334] by
-
- 5 edits in trunk
Refactor URLParser
https://bugs.webkit.org/show_bug.cgi?id=162516
Reviewed by Brady Eidson.
Source/WebCore:
Turn more static functions into methods, use a helper function to append characters to a buffer.
No change in behavior, but I added a new API test to cover an interesting
ipv6 address parsing case that had no coverage.
- platform/URLParser.cpp:
(WebCore::CodePointIterator::codeUnitsSince):
(WebCore::URLParser::isWindowsDriveLetter):
(WebCore::URLParser::appendToASCIIBuffer):
(WebCore::URLParser::checkWindowsDriveLetter):
(WebCore::URLParser::percentEncodeByte):
(WebCore::URLParser::utf8PercentEncode):
(WebCore::URLParser::utf8QueryEncode):
(WebCore::URLParser::encodeQuery):
(WebCore::URLParser::copyASCIIStringUntil):
(WebCore::URLParser::copyURLPartsUntil):
(WebCore::URLParser::URLParser):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseAuthority):
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHostAndPort):
(WebCore::utf8PercentEncode): Deleted.
(WebCore::utf8QueryEncode): Deleted.
(WebCore::encodeQuery): Deleted.
(WebCore::copyASCIIStringUntil): Deleted.
- platform/URLParser.h:
(WebCore::URLParser::appendToASCIIBuffer):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 3:24 PM Changeset in webkit [206333] by
-
- 47 edits1 add in trunk
[JSC] Implement parsing of Async Functions
https://bugs.webkit.org/show_bug.cgi?id=161409
Reviewed by Yusuke Suzuki.
.:
- Source/cmake/WebKitFeatures.cmake:
JSTests:
- stress/async-await-syntax.js: Added.
(testSyntax):
(testSyntaxError):
(testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
(testTopLevelAsyncAwaitSyntaxSloppyMode):
(testTopLevelAsyncAwaitSyntaxStrictMode):
(testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax):
(testNestedAsyncAwaitSyntax.async):
(testNestedAsyncAwaitSyntax.foo):
(testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError):
Source/JavaScriptCore:
Introduces frontend parsing for the async function proposal soon to be
ratified in ECMA262 (https://tc39.github.io/ecmascript-asyncawait/).
- API/JSScriptRef.cpp:
(parseScript):
- Configurations/FeatureDefines.xcconfig:
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createExecutable):
- bytecode/EvalCodeCache.h:
(JSC::EvalCodeCache::CacheKey::CacheKey):
- bytecode/ExecutableInfo.h:
(JSC::ExecutableInfo::ExecutableInfo):
(JSC::ExecutableInfo::scriptMode):
(JSC::ExecutableInfo::commentMode): Deleted.
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::scriptMode):
(JSC::UnlinkedCodeBlock::commentMode): Deleted.
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::generateUnlinkedFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
- bytecode/UnlinkedFunctionExecutable.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitNewArrowFunctionExpression):
(JSC::BytecodeGenerator::emitNewMethodDefinition):
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::scriptMode):
(JSC::BytecodeGenerator::makeFunction):
(JSC::BytecodeGenerator::commentMode): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::AwaitExprNode::emitBytecode):
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createAwait):
(JSC::ASTBuilder::createAsyncFunctionBody):
- parser/Keywords.table:
- parser/Lexer.cpp:
(JSC::Lexer<T>::Lexer):
(JSC::Lexer<T>::lex):
- parser/Lexer.h:
- parser/NodeConstructors.h:
(JSC::AwaitExprNode::AwaitExprNode):
- parser/Nodes.h:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::isArrowFunctionParameters):
(JSC::Parser<LexerType>::parseAsyncFunctionSourceElements):
(JSC::Parser<LexerType>::parseStatementListItem):
(JSC::Parser<LexerType>::parseVariableDeclarationList):
(JSC::Parser<LexerType>::parseDestructuringPattern):
(JSC::Parser<LexerType>::parseStatement):
(JSC::Parser<LexerType>::parseFunctionDeclarationStatement):
(JSC::Parser<LexerType>::maybeParseAsyncFunctionDeclarationStatement):
(JSC::Parser<LexerType>::parseFormalParameters):
(JSC::stringForFunctionMode):
(JSC::Parser<LexerType>::parseFunctionParameters):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseAsyncFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseExpressionOrLabelStatement):
(JSC::Parser<LexerType>::parseImportClauseItem):
(JSC::Parser<LexerType>::parseImportDeclaration):
(JSC::Parser<LexerType>::parseExportDeclaration):
(JSC::Parser<LexerType>::parseAssignmentExpression):
(JSC::Parser<LexerType>::parseProperty): Deleted.
(JSC::Parser<LexerType>::parsePropertyMethod): Deleted.
(JSC::Parser<LexerType>::parsePrimaryExpression): Deleted.
(JSC::Parser<LexerType>::parseMemberExpression): Deleted.
(JSC::Parser<LexerType>::parseArrowFunctionExpression): Deleted.
(JSC::Parser<LexerType>::parseUnaryExpression): Deleted.
(JSC::Parser<LexerType>::printUnexpectedTokenText): Deleted.
- parser/Parser.h:
(JSC::Scope::Scope):
(JSC::Scope::setSourceParseMode):
(JSC::Scope::isAsyncFunction):
(JSC::Scope::isAsyncFunctionBoundary):
(JSC::Scope::setIsAsyncArrowFunction):
(JSC::Scope::setIsAsyncFunction):
(JSC::Scope::setIsAsyncFunctionBody):
(JSC::Scope::setIsAsyncArrowFunctionBody):
(JSC::Parser::ExpressionErrorClassifier::forceClassifyExpressionError):
(JSC::Parser::ExpressionErrorClassifier::propagateExpressionErrorClass):
(JSC::Parser::ExpressionErrorClassifier::indicatesPossibleAsyncArrowFunction):
(JSC::Parser::forceClassifyExpressionError):
(JSC::Parser::declarationTypeToVariableKind):
(JSC::Parser::upperScope):
(JSC::Parser::pushScope):
(JSC::Parser::matchSpecIdentifier):
(JSC::Parser::isDisallowedIdentifierAwait):
(JSC::Parser::disallowedIdentifierAwaitReason):
(JSC::parse):
(JSC::Scope::isGeneratorBoundary): Deleted.
(JSC::Parser::ExpressionErrorClassifier::indicatesPossiblePattern): Deleted.
- parser/ParserModes.h:
(JSC::SourceParseModeSet::SourceParseModeSet):
(JSC::SourceParseModeSet::contains):
(JSC::SourceParseModeSet::mergeSourceParseModes):
(JSC::isFunctionParseMode):
(JSC::isAsyncFunctionParseMode):
(JSC::isAsyncArrowFunctionParseMode):
(JSC::isAsyncFunctionWrapperParseMode):
(JSC::isAsyncFunctionBodyParseMode):
(JSC::isMethodParseMode):
(JSC::isModuleParseMode):
(JSC::isProgramParseMode):
(JSC::constructAbilityForParseMode):
- parser/ParserTokens.h:
- parser/SourceCodeKey.h:
(JSC::SourceCodeFlags::SourceCodeFlags):
(JSC::SourceCodeKey::SourceCodeKey):
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createAwait):
(JSC::SyntaxChecker::createAsyncFunctionBody):
(JSC::SyntaxChecker::createYield): Deleted.
(JSC::SyntaxChecker::createFunctionExpr): Deleted.
- runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getModuleProgramCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
- runtime/CodeCache.h:
- runtime/CommonIdentifiers.h:
- runtime/Completion.cpp:
(JSC::checkSyntax):
(JSC::checkModuleSyntax):
- runtime/Executable.cpp:
(JSC::ProgramExecutable::checkSyntax):
- runtime/Executable.h:
- runtime/ModuleLoaderPrototype.cpp:
(JSC::moduleLoaderPrototypeParseModule):
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
- Scripts/build-jsc:
(cMakeArgsFromFeatures):
- Scripts/webkitperl/FeatureList.pm:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 2:46 PM Changeset in webkit [206332] by
-
- 13 edits in trunk
Align HTMLLabelElement.prototype.form with the HTML specification
https://bugs.webkit.org/show_bug.cgi?id=162369
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
- web-platform-tests/html/semantics/forms/the-label-element/label-attributes-expected.txt:
Source/WebCore:
Align HTMLLabelElement.prototype.form with the HTML specification:
In particular, the following behavior changes:
- We now return null if the label element has no labeled control.
- We now return the form element instead of returning null if the label element is outside the form but its labeled control is inside the form.
Firefox and Chrome match the specification.
No new tests, rebaselined existing tests.
- html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::form):
- html/HTMLLabelElement.h:
LayoutTests:
Update existing tests to reflect behavior change. I have verified
that Firefox and Chrome were failing those tests.
- fast/dom/HTMLLabelElement/form/test1.html:
- fast/forms/form-attribute-expected.txt:
- fast/forms/form-attribute-nonexistence-form-id-expected.txt:
- fast/forms/form-attribute-nonexistence-form-id.html:
- fast/forms/form-attribute.html:
- 2:20 PM Changeset in webkit [206331] by
-
- 4 edits in trunk/Source/WebKit2
Fix Mac CMake build after r206261
https://bugs.webkit.org/show_bug.cgi?id=162493
Reviewed by Alex Christensen.
- CMakeLists.txt: Exclude WebTextChecker from Mac CMake builds.
- PlatformEfl.cmake: Ditto.
- PlatformGTK.cmake: Ditto.
- 2:01 PM Changeset in webkit [206330] by
-
- 2 edits in trunk/JSTests
Unreviewed, rolling out r206317.
This change caused timeouts on El Capitan Release JSC tests
Reverted changeset:
"Skip stress/string-joining-long-strings-should-not-crash.js
on memory limited devices"
https://bugs.webkit.org/show_bug.cgi?id=162386
http://trac.webkit.org/changeset/206317
- 1:58 PM Changeset in webkit [206329] by
-
- 8 edits in trunk
Refactor URLParser
https://bugs.webkit.org/show_bug.cgi?id=162511
Reviewed by Brady Eidson.
Source/WebCore:
Make the constructor take the parameters instead of URL::parse.
Now we don't need to copy the input string on failure.
Also, turn some static functions into methods so they will be able to access member variables.
Covered by existing and new API tests.
- platform/URL.cpp:
(WebCore::URL::URL):
(WebCore::URL::setProtocol):
(WebCore::URL::setHost):
(WebCore::URL::removePort):
(WebCore::URL::setPort):
(WebCore::URL::setHostAndPort):
(WebCore::URL::setUser):
(WebCore::URL::setPass):
(WebCore::URL::setFragmentIdentifier):
(WebCore::URL::removeFragmentIdentifier):
(WebCore::URL::setQuery):
(WebCore::URL::setPath):
- platform/URLParser.cpp:
(WebCore::URLParser::incrementIteratorSkippingTabAndNewLine):
(WebCore::URLParser::isWindowsDriveLetter):
(WebCore::URLParser::checkWindowsDriveLetter):
(WebCore::URLParser::shouldCopyFileURL):
(WebCore::URLParser::failure):
(WebCore::URLParser::URLParser):
(WebCore::URLParser::parse):
(WebCore::incrementIteratorSkippingTabAndNewLine): Deleted.
(WebCore::isWindowsDriveLetter): Deleted.
(WebCore::checkWindowsDriveLetter): Deleted.
(WebCore::shouldCopyFileURL): Deleted.
- platform/URLParser.h:
(WebCore::URLParser::URLParser):
(WebCore::URLParser::result):
(WebCore::URLParser::parse): Deleted.
- platform/cf/URLCF.cpp:
(WebCore::URL::URL):
Drive-by fix: Actually assign the URL to be the result of parsing.
- platform/mac/URLMac.mm:
(WebCore::URL::URL):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::checkURL):
- 1:33 PM Changeset in webkit [206328] by
-
- 2 edits in tags/Safari-603.1.6.0.2/Source/WebCore
Merged r206306. rdar://problem/28436707
- 1:28 PM Changeset in webkit [206327] by
-
- 2 edits in tags/Safari-603.1.6.0.2/Source/WebCore
Merged r206301. rdar://problem/28436707
- 1:24 PM Changeset in webkit [206326] by
-
- 10 edits2 copies in tags/Safari-603.1.6.0.2
Merged r206300. rdar://problem/28436707
- 1:23 PM Changeset in webkit [206325] by
-
- 5 edits in trunk/Tools
iOS playback user action tests fail on some machines
https://bugs.webkit.org/show_bug.cgi?id=162504
rdar://problem/28013994
Reviewed by Jer Noble.
Avoid the need to have a timeout.
- TestWebKitAPI/Tests/WebKit/ios/audio-only.html:
- TestWebKitAPI/Tests/WebKit/ios/video-with-audio.html:
- TestWebKitAPI/Tests/WebKit/ios/video-without-audio.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-without-audio.html:
- 1:16 PM Changeset in webkit [206324] by
-
- 20 edits in trunk/Source
Unreviewed, rolling out r206314, r206316, and r206319.
https://bugs.webkit.org/show_bug.cgi?id=162506
These changes broke various builds (Requested by ryanhaddad on
#webkit).
Reverted changesets:
"Need a store-load fence between setting cell state and
visiting the object in SlotVisitor"
https://bugs.webkit.org/show_bug.cgi?id=162354
http://trac.webkit.org/changeset/206314
"Unreviewed, fix cloop."
http://trac.webkit.org/changeset/206316
"Unreviewed, fix all other builds."
http://trac.webkit.org/changeset/206319
Patch by Commit Queue <commit-queue@webkit.org> on 2016-09-23
- 12:57 PM Changeset in webkit [206323] by
-
- 4 edits in trunk/Source/WebCore
Remove URLParser serialized template
https://bugs.webkit.org/show_bug.cgi?id=162501
Reviewed by Brady Eidson.
No change in behavior.
This optimization conflicts with another optimization I'm doing.
We currently have the ParsedURLString tag, where we tell the parser to assume this URL is valid and canonicalized.
I'm going to instead make URLParser assume all URLs are valid and canonicalized until it finds that it is not,
in which case it will canonicalize it if possible.
- platform/URL.cpp:
(WebCore::URL::URL):
- platform/URLParser.cpp:
(WebCore::incrementIteratorSkippingTabAndNewLine):
(WebCore::isWindowsDriveLetter):
(WebCore::checkWindowsDriveLetter):
(WebCore::shouldCopyFileURL):
(WebCore::utf8PercentEncode):
(WebCore::utf8QueryEncode):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseAuthority):
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHostAndPort):
(WebCore::URLParser::parseSerializedURL): Deleted.
- platform/URLParser.h:
(WebCore::URLParser::parse):
- 12:40 PM Changeset in webkit [206322] by
-
- 2 edits in trunk/Source/WebCore
Allow Seeking from the now playing controls
https://bugs.webkit.org/show_bug.cgi?id=162498
Reviewed by Beth Dakin.
We already have a handler for seek commands, we just need to register that handler
with MediaRemote.
- platform/mac/RemoteCommandListenerMac.mm:
(WebCore::RemoteCommandListenerMac::updateSupportedCommands):
- 12:33 PM Changeset in webkit [206321] by
-
- 10 edits in branches/safari-602-branch/Source/WebCore
Merge r206315. rdar://problem/28430615
- 12:33 PM Changeset in webkit [206320] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r206272. rdar://problem/28339129
- 12:31 PM Changeset in webkit [206319] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix all other builds.
- assembler/AbstractMacroAssembler.h:
- 12:02 PM Changeset in webkit [206318] by
-
- 2 edits in trunk/JSTests
Skip mozilla-tests.yaml/js1_5/Array/regress-157652 on memory limited devices
https://bugs.webkit.org/show_bug.cgi?id=162381
Reviewed by Mark Lam.
- mozilla/mozilla-tests.yaml:
- 12:00 PM Changeset in webkit [206317] by
-
- 2 edits in trunk/JSTests
Skip stress/string-joining-long-strings-should-not-crash.js on memory limited devices
https://bugs.webkit.org/show_bug.cgi?id=162386
Reviewed by Mark Lam.
- stress/string-joining-long-strings-should-not-crash.js:
- 11:47 AM Changeset in webkit [206316] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed, fix cloop.
- assembler/AbstractMacroAssembler.h:
- heap/SlotVisitor.cpp:
- 11:45 AM Changeset in webkit [206315] by
-
- 10 edits in trunk/Source/WebCore
MediaSessionManagerMac::nowPlayingEligibleSession() needs to honor the main content heuristic
https://bugs.webkit.org/show_bug.cgi?id=162480
<rdar://problem/28430615>
Reviewed by Jer Noble.
Changes the implementation of nowPlayingEligibleSession to use bestMediaElementForShowingPlaybackControlsManager
and also early return nullptr if the current tab the web process is hosted in is the active tab, and the window
it is hosted in is the main window. This information is derived from the viewState flags in the Page of each
tab -- whenever the (visible && active) state changes, the Page tells the global media session manager to update
its Now Playing info. Then, when each MediaElementSession tries to determine whether it can show playback
controls for the purposes of Now Playing, each session consults its page's visible and active state. If a page
is both visible and active, no Now Playing controls are allowed for that media session.
Also adds some slight adjustments to MediaSessionManagerMac::updateNowPlayingInfo, so we reset the title, rate
and duration of the current active session when clearing out the now playing info. Likewise, when vending an
active video, if the video information matches that of the current session, we mark m_nowPlayingActive anyways.
These tweaks prevent us from getting in a bad state when switching between a tab with media and one without.
Unit tests to come in a future patch.
- html/HTMLMediaElement.cpp:
(WebCore::mediaElementSessionInfoForSession):
(WebCore::mediaSessionMayBeConfusedWithMainContent):
(WebCore::HTMLMediaElement::bestMediaElementForShowingPlaybackControlsManager):
(WebCore::HTMLMediaElement::updatePlaybackControlsManager):
(WebCore::bestMediaSessionForShowingPlaybackControlsManager): Deleted.
- html/HTMLMediaElement.h:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canShowControlsManager):
(WebCore::MediaElementSession::pageAllowsNowPlayingControls):
- html/MediaElementSession.h:
- page/Page.cpp:
(WebCore::Page::setViewState):
(WebCore::Page::isVisibleAndActive):
- page/Page.h:
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary):
- platform/audio/PlatformMediaSessionManager.h:
- platform/audio/mac/MediaSessionManagerMac.mm:
(WebCore::PlatformMediaSessionManager::updateNowPlayingInfoIfNecessary):
(WebCore::MediaSessionManagerMac::nowPlayingEligibleSession):
(WebCore::MediaSessionManagerMac::updateNowPlayingInfo):
- 11:09 AM Changeset in webkit [206314] by
-
- 19 edits in trunk/Source
Source/JavaScriptCore:
Need a store-load fence between setting cell state and visiting the object in SlotVisitor
https://bugs.webkit.org/show_bug.cgi?id=162354
Reviewed by Mark Lam.
This was meant to be a small change, but then it became bigger as I found small
opportunities for improving this code. This adds a store-load fence and is performance-
neutral. That's probably partly due to other optimizations that I did to visitChildren().
Initially, I found that adding an mfence as a store-load fence was terribly expensive. So,
I thought that I needed to buffer up a bunch of objects, set their states, do one mfence,
and then visit all of them. This seemed like a win, so I went with it. Unfortunately, this
made no sense for two reasons:
- I shouldn't use mfence. I should use ortop (lock orl $0, (%rsp)) instead. Ortop is basically free, and it's what WTF now uses for storeLoadFence().
- My data saying that buffering up objects was not a slow-down was wrong. That was actually almost as expensive as the mfence.
But in order to implement that, I made some other improvements that I think we should stick
with:
- SlotVisitor::visitChildren() now uses a switch on type. This replaces what used to be some nasty ClassInfo look-ups.
- We no longer save the object's old CellState. We would do that so that we would know what state the object had been before we blackened it. But I believe that the more logical solution is to have two kinds of black - one for black-for-the-first-time objects and one for repeat offenders. This is a lot easier to reason about, since you can now just figure this out by looking at the cell directly.
The latter change meant rewiring a bunch of barriers. It didn't make them any more
expensive.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier):
- heap/CellState.h:
(JSC::blacken):
- heap/Heap.cpp:
(JSC::Heap::addToRememberedSet):
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::writeBarrier):
(JSC::Heap::reportExtraMemoryVisited):
(JSC::Heap::reportExternalMemoryVisited):
- heap/MarkStack.cpp:
- heap/MarkStack.h:
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::visitChildren):
- heap/SlotVisitor.h:
- heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::reportExtraMemoryVisited):
(JSC::SlotVisitor::reportExternalMemoryVisited):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::jumpIfIsRememberedOrInEden):
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/JSObject.h:
(JSC::isJSFinalObject):
Source/WTF:
REGRESSION(r194387): Crash on github.com in IntlDateTimeFormat::resolvedOptions in C locale
https://bugs.webkit.org/show_bug.cgi?id=162139
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-09-23
Reviewed by Michael Catanzaro.
Handle the case of "C" or "POSIX" locale and use "en-US" as default. That matches what ICU and other ports do,
as well as what layout tests expect (some tests like js/intl-collator.html pass in the bots only because we use
en-US as system locale in those bots).
- wtf/PlatformUserPreferredLanguagesUnix.cpp:
(WTF::platformLanguage):
- 10:49 AM Changeset in webkit [206313] by
-
- 2 edits in trunk/LayoutTests
Temporarily skipping media/media-source/media-source-duplicate-seeked.html on mac.
https://bugs.webkit.org/show_bug.cgi?id=162496
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 10:15 AM Changeset in webkit [206312] by
-
- 24 edits in trunk/Source
Unreviewed, rolling out r206311.
https://bugs.webkit.org/show_bug.cgi?id=162495
Broke internal iOS build (Requested by anttik on #webkit).
Reverted changeset:
"Move stylesheet change logic from Document to
AuthorStyleSheets"
https://bugs.webkit.org/show_bug.cgi?id=162488
http://trac.webkit.org/changeset/206311
- 9:35 AM Changeset in webkit [206311] by
-
- 23 edits in trunk/Source
Move stylesheet change logic from Document to AuthorStyleSheets
https://bugs.webkit.org/show_bug.cgi?id=162488
Reviewed by Andreas Kling.
That's where it belongs.
- WebCore.xcodeproj/project.pbxproj:
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::didMutate):
(WebCore::CSSStyleSheet::clearOwnerNode):
- dom/AuthorStyleSheets.cpp:
(WebCore::AuthorStyleSheets::AuthorStyleSheets):
(WebCore::AuthorStyleSheets::flushPendingUpdates):
(WebCore::AuthorStyleSheets::scheduleOptimizedUpdate):
(WebCore::AuthorStyleSheets::didChange):
(WebCore::AuthorStyleSheets::optimizedUpdateTimerFired):
- dom/AuthorStyleSheets.h:
(WebCore::AuthorStyleSheets::hasPendingUpdate):
(WebCore::AuthorStyleSheets::pendingUpdateType): Deleted.
(WebCore::AuthorStyleSheets::setPendingUpdateType): Deleted.
(WebCore::AuthorStyleSheets::flushPendingUpdates): Deleted.
- dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setContentLanguage):
(WebCore::Document::needsStyleRecalc):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
(WebCore::Document::didRemoveAllPendingStylesheet):
(WebCore::Document::processHttpEquiv):
(WebCore::Document::setSelectedStylesheetSet):
(WebCore::Document::updateHoverActiveState):
(WebCore::Document::optimizedStyleSheetUpdateTimerFired): Deleted.
(WebCore::Document::scheduleOptimizedStyleSheetUpdate): Deleted.
(WebCore::Document::styleResolverChanged): Deleted.
- dom/Document.h:
(WebCore::Document::needsStyleRecalc): Deleted.
- dom/ExtensionStyleSheets.cpp:
(WebCore::ExtensionStyleSheets::clearPageUserSheet):
(WebCore::ExtensionStyleSheets::updatePageUserSheet):
(WebCore::ExtensionStyleSheets::invalidateInjectedStyleSheetCache):
(WebCore::ExtensionStyleSheets::addUserStyleSheet):
(WebCore::ExtensionStyleSheets::addAuthorStyleSheetForTesting):
(WebCore::ExtensionStyleSheets::styleResolverChangedTimerFired):
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::removedFromDocument):
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::removedFrom):
Also fix a bug that prevented document from rendering if a loading processing instruction was removed from the tree.
This is tested by fast/dom/StyleSheet/detached-style-pi-2.xhtml (after other changes in this patch).
- dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::updateStyle):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setDisabledState):
(WebCore::HTMLLinkElement::parseAttribute):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::removedFrom):
(WebCore::HTMLLinkElement::removePendingSheet):
- html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::parseAttribute):
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::resetPseudoStates):
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::setEmulatedMedia):
- page/Frame.cpp:
(WebCore::Frame::setPrinting):
- page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::setPagination):
(WebCore::FrameView::setViewportSizeForCSSViewportUnits):
- page/Page.cpp:
(WebCore::Page::setViewMode):
(WebCore::Page::setNeedsRecalcStyleInAllFrames):
(WebCore::Page::invalidateInjectedStyleSheetCacheInAllFrames):
- svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::rebuildFontFace):
(WebCore::SVGFontFaceElement::removedFrom):
- xml/XMLTreeViewer.cpp:
(WebCore::XMLTreeViewer::transformDocumentToTreeView):
- xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::end):
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::doEnd):
- 9:29 AM Changeset in webkit [206310] by
-
- 3 edits2 adds in trunk
[css-grid] ASSERT when sizing tracks with percentages inside calc
https://bugs.webkit.org/show_bug.cgi?id=162383
Reviewed by Darin Adler.
Source/WebCore:
There is an ASSERT to check that tracks are at least as wide as the initial base size. This
was added to verify that we never shrink tracks bellow that value. In order to compute the
value used for initialization we need a max size which is the value used to resolve
percentages to. The remaining free space was used to compute that value, that's totally
wrong because the free space decreases as the track sizing algorithm is run. The available
space should be used instead.
An extra ASSERT was removed too because it was redundant, we do always check the sizes of
the tracks after running the track sizing algorithm and that's precisely the unique point
were they could be modified.
Test: fast/css-grid-layout/tracks-wider-min-track-breadth-crash.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
LayoutTests:
- fast/css-grid-layout/tracks-wider-min-track-breadth-crash-expected.txt: Added.
- fast/css-grid-layout/tracks-wider-min-track-breadth-crash.html: Added.
- 9:25 AM Changeset in webkit [206309] by
-
- 6 edits in trunk
document.title getter does not strip / collapse the right whitespace characters
https://bugs.webkit.org/show_bug.cgi?id=162468
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-05-expected.txt:
Source/WebCore:
The document.title getter does not strip / collapse whitespace characters
as per:
This part of the specification provides more information about which
whitespace characters:
- https://html.spec.whatwg.org/#strip-and-collapse-whitespace
- https://html.spec.whatwg.org/#space-character
Firefox matches the specification. However, WebKit was stripping / collapsing
some characters it should not.
No new tests, rebaselined existing tests.
- dom/Document.cpp:
(WebCore::canonicalizedTitle):
LayoutTests:
Update existing test to reflect behavior change.
- fast/dom/Document/script-tests/document-title-get.js:
- 9:24 AM Changeset in webkit [206308] by
-
- 6 edits2 adds in trunk
Align Element.insertAdjacentHTML() with the specification
https://bugs.webkit.org/show_bug.cgi?id=162479
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
- web-platform-tests/domparsing/insert_adjacent_html-expected.txt:
Source/WebCore:
Align Element.insertAdjacentHTML() with the specification:
In particular, the following changes issues are now fixed:
- Calling insertAdjacentHTML() on an element whose parent is a DocumentFragment now works insteas of throwing a NO_MODIFICATION_ALLOWED_ERR.
- Calling insertAdjacentHTML() on child of the <html> element no longer creates duplicate body / head elements.
Firefox agrees with the specification.
Test: fast/dom/insertAdjacentHTML-DocumentFragment-parent.html
- dom/Element.cpp:
(WebCore::contextNodeForInsertion):
(WebCore::Element::insertAdjacentHTML):
LayoutTests:
Add layout test coverage for calling insertAdjacentHTML on an element
whose parent is a DocumentFragment. I have verified that this test is
passing in Firefox.
- fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
- fast/dom/insertAdjacentHTML-DocumentFragment-parent-expected.txt: Added.
- fast/dom/insertAdjacentHTML-DocumentFragment-parent.html: Added.
- 9:21 AM Changeset in webkit [206307] by
-
- 9 edits in trunk
Unreviewed, rolling out r206165.
https://bugs.webkit.org/show_bug.cgi?id=162492
needs corresponding API change in bug 162475 (Requested by
alexchristensen on #webkit).
Reverted changeset:
"Non-special URLs should have an opaque origin"
https://bugs.webkit.org/show_bug.cgi?id=162254
http://trac.webkit.org/changeset/206165
Patch by Commit Queue <commit-queue@webkit.org> on 2016-09-23
- 9:09 AM Changeset in webkit [206306] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed. Fix the build after r206300.
- platform/mock/mediasource/MockSourceBufferPrivate.cpp: Add missing header include.
- 8:49 AM Changeset in webkit [206305] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] BadDamage X error in /webkit2/WebKitWebView/preferred-size
https://bugs.webkit.org/show_bug.cgi?id=162489
Reviewed by Michael Catanzaro.
Do a XSync right after creating/destroying the XDamage used by the redirected window in X11.
- UIProcess/gtk/AcceleratedBackingStoreX11.cpp:
(WebKit::AcceleratedBackingStoreX11::~AcceleratedBackingStoreX11):
(WebKit::AcceleratedBackingStoreX11::update):
- 8:48 AM Changeset in webkit [206304] by
-
- 3 edits in trunk/Tools
REGRESSION(r204163): [GTK] API test /webkit2/WebKitSecurityManager/file-xhr is failing
https://bugs.webkit.org/show_bug.cgi?id=161607
Reviewed by Michael Catanzaro.
Since r204163, in case of cross origin error when loading the XHR, the load fails and an error message is shown
in the console, but there isn't any js expcetion, which is what we were checking. Now, we check that there
aren't exceptions, and that the error message is sent to the console.
- Scripts/run-gtk-tests:
(TestRunner):
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(consoleMessageReceivedCallback):
(testWebContextSecurityFileXHR):
- 8:46 AM Changeset in webkit [206303] by
-
- 2 edits in trunk/Tools
Use correct hardware for Sierra Debug WK2 testers.
https://bugs.webkit.org/show_bug.cgi?id=162474
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- 8:45 AM Changeset in webkit [206302] by
-
- 7 edits in trunk/Tools
[GTK] Make all WebView tests have a WebKitUserContentManager
https://bugs.webkit.org/show_bug.cgi?id=162487
Reviewed by Michael Catanzaro.
It simplifies tests using the user content manager, and allows to use it without having to subclass WebViewTest.
- TestWebKitAPI/Tests/WebKit2Gtk/TestConsoleMessage.cpp:
(ConsoleMessageTest::ConsoleMessageTest):
(ConsoleMessageTest::~ConsoleMessageTest):
- TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:
(testUserContentManagerInjectedStyleSheet):
(testUserContentManagerInjectedScript):
(UserScriptMessageTest::UserScriptMessageTest):
(beforeAll):
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewIsPlayingAudio):
- TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:
(WebViewTest::WebViewTest):
- TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h:
- 8:43 AM Changeset in webkit [206301] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix; Missed a file in the last checkin.
- platform/graphics/SourceBufferPrivate.h:
(WebCore::SourceBufferPrivate::enqueuedSamplesForTrackID):
- 8:28 AM Changeset in webkit [206300] by
-
- 10 edits2 adds in trunk
REGRESSION (206001): Scrubbed video on Youtube stops playing
https://bugs.webkit.org/show_bug.cgi?id=162481
<rdar://problem/28436707>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-seek-back.html
When re-enqueing samples after a seek, modified the algorithm for finding the first sample
to re-enqueue. Instead of finding a sample which contained the requested presentation time,
we searched for the first sample on-or-after the presentation time. This meant that if the
last buffered sample in that range started before the seek time, and ended after, it would
get skipped during re-enquing, and a far, far future sample would be enqueued instead. Now
revert to the old behavior (find the sample containing the requested time), and only adopt
the new behavior (find the next sample on-or-after the requested time) if the first failed.
In addition, bail out if the second check resulted in a sample whose presentation time was
greater than a "fudge factor" away from the requested time.
To test this behavior, add a new method onto Internals that returns a list of the enqueued
samples from a SourceBuffer.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::reenqueueMediaForTime):
(WebCore::SourceBuffer::enqueuedSamplesForTrackID):
- Modules/mediasource/SourceBuffer.h:
- platform/mock/mediasource/MockMediaSourcePrivate.cpp:
(WebCore::MockMediaSourcePrivate::seekToTime):
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockSourceBufferPrivate::enqueuedSamplesForTrackID):
(WebCore::MockSourceBufferPrivate::enqueueSample):
- platform/mock/mediasource/MockSourceBufferPrivate.h:
- testing/Internals.cpp:
(WebCore::Internals::enqueuedSamplesForTrackID):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- media/media-source/media-source-seek-back-expected.txt: Added.
- media/media-source/media-source-seek-back.html: Added.
- 7:16 AM Changeset in webkit [206299] by
-
- 2 edits in trunk/Source/WebCore
Replace redundant prepareForDestruction() call with RELEASE_ASSERT in Document::removedLastRef.
https://bugs.webkit.org/show_bug.cgi?id=162467
Reviewed by Chris Dumez.
Since r205786 fixed the root cause of webkit.org/b/159372, we no longer need the workaround.
Replace it with a RELEASE_ASSERT to ensure clean state.
No new tests, covered by existing test.
- dom/Document.cpp:
(WebCore::Document::removedLastRef):
- 5:05 AM Changeset in webkit [206298] by
-
- 2 edits in trunk/LayoutTests
Skip failing html/syntax web platform test on Windows.
https://bugs.webkit.org/show_bug.cgi?id=162415
Unreviewed test gardening.
- platform/win/TestExpectations:
- 2:56 AM Changeset in webkit [206297] by
-
- 2 edits in trunk/Source/JavaScriptCore
ARM EABI buildfix after r206289
https://bugs.webkit.org/show_bug.cgi?id=162486
Unreviewed buildfix.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- 2:32 AM Changeset in webkit [206296] by
-
- 26 edits in trunk
Adding a new runtime flag for modern media controls.
- 1:20 AM Changeset in webkit [206295] by
-
- 11 edits2 adds in trunk
REGRESSION(r194387): Crash on github.com in IntlDateTimeFormat::resolvedOptions in C locale
https://bugs.webkit.org/show_bug.cgi?id=162139
Reviewed by Michael Catanzaro.
Source/JavaScriptCore:
The crash happens in unix ports because the resolved locale is empty when system locale is "C". IntlObject
considers any language tag with a size < 2 to be an invalid language, so "C" is not a valid language to resolve
the locale. We should ensure that WTF::platformUserPreferredLanguages() never returns invalid languages, but
that's not enough, because languages can be overriden from the public API, so we need to handle those cases and
throw exceptions instead of crashing.
- runtime/IntlCollator.cpp:
(JSC::IntlCollator::initializeCollator): Throw a exception when we fail to resolve the locale.
- runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::initializeDateTimeFormat): Ditto.
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::initializeNumberFormat): Ditto.
Source/WebKit2:
Handle the case of "C" locale passed by the user using "en-US" as default to match what
WTF::platformUserPreferredLanguages() does.
- UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_set_preferred_languages): Remove the call to languageDidChange() because
overrideUserPreferredLanguages() already calls it, so we were actually notifying the observers twice.
Source/WTF:
Handle the case of "C" or "POSIX" locale and use "en-US" as default. That matches what ICU and other ports do,
as well as what layout tests expect (some tests like js/intl-collator.html pass in the bots only because we use
en-US as system locale in those bots).
- wtf/PlatformUserPreferredLanguagesUnix.cpp:
(WTF::platformLanguage):
Tools:
Add test cases to check the behavior when using the C locale and an invalid locale.
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(testWebContextLanguages):
LayoutTests:
- js/intl-invalid-locale-crash-expected.txt: Added.
- js/intl-invalid-locale-crash.html: Added.
- 1:02 AM Changeset in webkit [206294] by
-
- 4 edits in trunk/Source/WebKit2
[GTK] Improve performance when resizing a window with multiple web views in X11
https://bugs.webkit.org/show_bug.cgi?id=162413
Reviewed by Michael Catanzaro.
Resizing a window with a single way view performs good enough, but when adding more tabs, the performance
decreases a lot. This is because resize is a sync operation, and the UI process waits for the web process to
have a new update for the new size, while still draws the previous frame. This is needed for the visible web
view, to avoid flickering and artifacts while resizing, but for all other hidden web views, we don't really need
to block the UI process. This doesn't happen in Wayland, because in Wayland we never block the UI process while
waiting for web process update after a resize.
- UIProcess/AcceleratedDrawingAreaProxy.cpp:
(WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState): Return early if the web
view is not visible.
- UIProcess/gtk/AcceleratedBackingStoreX11.cpp:
(WebKit::AcceleratedBackingStoreX11::update): Only schedule a redraw on a damage event when the view is visible.
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp:
(WebKit::AcceleratedSurfaceX11::AcceleratedSurfaceX11): Do a XSync right after creating the new pixmap.
(WebKit::AcceleratedSurfaceX11::resize): Ditto.
Sep 22, 2016:
- 10:31 PM Changeset in webkit [206293] by
-
- 9 edits in tags/Safari-603.1.6.0.2
Roll out r206165. rdar://problem/28435943
- 10:29 PM Changeset in webkit [206292] by
-
- 5 edits in tags/Safari-603.1.6.0.2/Source
Versioning.
- 10:25 PM Changeset in webkit [206291] by
-
- 1 copy in tags/Safari-603.1.6.0.2
New tag.
- 9:16 PM Changeset in webkit [206290] by
-
- 2 edits in trunk/Tools
[EFL] alert box is not displayed
https://bugs.webkit.org/show_bug.cgi?id=156395
Reviewed by Gyuyoung Kim.
Some popup objects(alert, confirm, prompt, file entry dialog) used the ecore_main_loop_begin() to make
the modal popup but ecore_main_loop_begin() was not executed inside an exisiting main loop. So we have
to use the ecore_main_loop_iterate() instead of the ecore_main_loop_begin().
- MiniBrowser/efl/main.c:
(_ok_clicked_cb):
(_file_entry_dialog_show):
(_javascript_alert_cb):
(_javascript_confirm_cb):
(_javascript_prompt_cb):
(quit_event_loop): Deleted.
- 8:50 PM Changeset in webkit [206289] by
-
- 26 edits1 add in trunk
[JSC] Use an inline cache to generate op_negate
https://bugs.webkit.org/show_bug.cgi?id=162371
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-22
Reviewed by Saam Barati.
JSTests:
- stress/op-negate-inline-cache.js: Added.
Source/JavaScriptCore:
Use an inline cache to reduce the amount of code
required to implement op_negate.
For pure integer negate, the generated asm shrinks
from 147 bytes to 125 bytes (14%).
For double negate, the generated asm shrinks
to 130 bytes (11%).
The average size on Sunspider is 100bytes, this is due
to the op_negates that are never executed and do not
generate much.
- bytecode/ArithProfile.h:
(JSC::ArithProfile::ArithProfile):
(JSC::ArithProfile::observeLHS):
(JSC::ArithProfile::observeLHSAndRHS):
- bytecode/BytecodeList.json:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::addJITNegIC):
- bytecode/CodeBlock.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitUnaryOp):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::UnaryOpNode::emitBytecode):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMathIC):
- dfg/DFGSpeculativeJIT.h:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileMathIC):
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- jit/JIT.h:
- jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_negate):
(JSC::JIT::emitSlow_op_negate):
(JSC::JIT::emitMathICFast):
(JSC::JIT::emitMathICSlow):
- jit/JITInlines.h:
(JSC::JIT::callOperation):
- jit/JITMathIC.h:
(JSC::JITMathIC::generateInline):
(JSC::canGenerateWithBinaryProfile):
(JSC::canGenerateWithUnaryProfile):
- jit/JITMathICForwards.h:
- jit/JITNegGenerator.cpp:
(JSC::JITNegGenerator::generateInline):
(JSC::JITNegGenerator::generateFastPath):
- jit/JITNegGenerator.h:
(JSC::JITNegGenerator::JITNegGenerator):
(JSC::JITNegGenerator::arithProfile):
(JSC::JITNegGenerator::didEmitFastPath): Deleted.
(JSC::JITNegGenerator::endJumpList): Deleted.
(JSC::JITNegGenerator::slowPathJumpList): Deleted.
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/CommonSlowPaths.cpp:
(JSC::updateArithProfileForUnaryArithOp):
(JSC::SLOW_PATH_DECL):
- 7:10 PM Changeset in webkit [206288] by
-
- 10 edits in branches/safari-602-branch/Source/WebCore
Merge r206193. rdar://problem/28376161
- 7:10 PM Changeset in webkit [206287] by
-
- 2 edits in branches/safari-602-branch/Tools
Merge r206038. rdar://problem/28086237
- 7:10 PM Changeset in webkit [206286] by
-
- 41 edits1 copy3 adds in branches/safari-602-branch
Merge r206033. rdar://problem/28086237
- 6:54 PM Changeset in webkit [206285] by
-
- 10 edits in trunk
[ShadowDOM] Add support for Node.getRootNode(options)
https://bugs.webkit.org/show_bug.cgi?id=162457
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline existing W3C DOM tests now that more checks are passing.
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/dom/nodes/rootNode-expected.txt:
Source/WebCore:
Add support for Node.getRootNode(options):
No new tests, rebaselined existing tests.
- dom/EventPath.cpp:
(WebCore::RelatedNodeRetargeter::RelatedNodeRetargeter):
(WebCore::RelatedNodeRetargeter::checkConsistency):
- dom/Node.cpp:
(WebCore::Node::rootNode):
(WebCore::Node::shadowIncludingRoot):
(WebCore::Node::getRootNode):
- dom/Node.h:
- dom/Node.idl:
- editing/Editor.cpp:
(WebCore::correctSpellcheckingPreservingTextCheckingParagraph):
- xml/XPathPath.cpp:
(WebCore::XPath::LocationPath::evaluate):
- 6:15 PM Changeset in webkit [206284] by
-
- 4 edits in trunk/Source/JavaScriptCore
Removed unused hasErrorInfo().
https://bugs.webkit.org/show_bug.cgi?id=162473
Reviewed by Saam Barati.
- JavaScriptCore.order:
- runtime/Error.cpp:
(JSC::hasErrorInfo): Deleted.
- runtime/Error.h:
- 6:14 PM Changeset in webkit [206283] by
-
- 2 edits in trunk/Tools
Add an API for getting the branch identifier from a Git or SVN checkout.
https://bugs.webkit.org/show_bug.cgi?id=151570
rdar://problem/17959831
Reviewed by David Kilzer.
This patch adds a function called svnIdentifierForPath. This function returns either "trunk",
the name of the tag, or the name of the branch, as appropriate. This function is necessary for
a VCSUtils client that is not checked in to the WebKit project.
This patch also breaks up pathRelativeToSVNRepositoryRootForPath into four functions:
- pathRelativeToSVNRepositoryRootForPath
- svnInfoForPath
- svnURLForPath
- svnRepositoryRootForPath
This allows us to reuse logic from pathRelativeToSVNRepositoryRootForPath in svnIdentifierForPath and
allows clients of VCSUtils to extract what arbitrary information from thesvn infocommand regardless
of SCM.
- Scripts/VCSUtils.pm:
(svnInfoForPath):
Copied logic that previously lived in pathRelativeToSVNRepositoryRootForPath.
Make code safe to use for a path, and not just for the CWD.
(svnURLForPath):
Calls svnInfoForPath and extracts the URL.
(svnRepositoryRootForPath):
Calls svnInfoForPath and extracts the Repository Root.
(svnIdentifierForPath):
Calls pathRelativeToSVNRepositoryRootForPath and extracts the repository identifier.
(pathRelativeToSVNRepositoryRootForPath):
Now uses svnURLForPath and svnRepositoryRootForPath instead of being responsible for
determining both values.
- 4:53 PM Changeset in webkit [206282] by
-
- 9 edits2 adds in trunk
Add long press selection test
https://bugs.webkit.org/show_bug.cgi?id=162367
Patch by Megan Gardner <Megan Gardner> on 2016-09-22
Reviewed by Simon Fraser.
Tools:
Add support to UIScriptController to synthesize long press events on iOS.
This required adding long-press functionality to HIDEventGenerator.
HIDEventGenerator sends the touchDown, but must then send the touchUp with
a dispatch_after (rather than sleeping, as we do for other events) in order
for the gesture recognizers to correctly detect a long press.
Use the long press synthesis in a test that detects whether a long press
gesture triggers text selection.
Fixed incorrect constants. NSTimeInterval is in seconds, original numbers
were nanoseconds and typedefed to long without regard to the type
differences. Redid constants to be the right value, and converted upon use.
Cleaned up unused enum types.
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::longPressAtPoint):
(WTR::UIScriptController::forcePressAtPoint):
(WTR::UIScriptController::dragFromPointToPoint): Deleted.
- Scripts/webkitpy/common/config/contributors.json:
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::longPressAtPoint):
(WTR::UIScriptController::forcePressAtPoint):
(WTR::UIScriptController::dragFromPointToPoint): Deleted.
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/ios/HIDEventGenerator.h:
- WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator _createIOHIDEventType:]):
(-[HIDEventGenerator sendTaps:location:withNumberOfTouches:completionBlock:]):
(-[HIDEventGenerator clearTap:]):
(-[HIDEventGenerator longPressTimerCall:]):
(-[HIDEventGenerator longPressFinish:completionBlock:]):
(-[HIDEventGenerator longPress:completionBlock:]):
(-[HIDEventGenerator forcePress:completionBlock:]):
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::longPressAtPoint):
(WTR::UIScriptController::forcePressAtPoint):
(WTR::UIScriptController::dragFromPointToPoint): Deleted.
LayoutTests:
Added test for long press selection.
- fast/events/touch/ios/long-press-to-select-text-expected.txt: Added.
- fast/events/touch/ios/long-press-to-select-text.html: Added.
- 4:41 PM Changeset in webkit [206281] by
-
- 6 edits1 add in trunk
Array.prototype.join should do overflow checks on string joins.
https://bugs.webkit.org/show_bug.cgi?id=162459
Reviewed by Saam Barati.
JSTests:
- stress/array-join-on-strings-need-overflow-checks.js: Added.
(assert):
(catch):
Source/JavaScriptCore:
Change the 2 JSRopeString::create() functions that do joins to be private, and
force all clients of it to go through the jsString() utility functions that do
overflow checks before creating the ropes.
- dfg/DFGOperations.cpp:
- runtime/ArrayPrototype.cpp:
(JSC::slowJoin):
- runtime/JSString.h:
- runtime/Operations.h:
(JSC::jsString):
- 3:34 PM Changeset in webkit [206280] by
-
- 3 edits5 adds in trunk
IDBIndex.openCursor() matches indices on multiple object stores.
<rdar://problem/28434463> and https://bugs.webkit.org/show_bug.cgi?id=158833
Reviewed by Alex Christensen.
Source/WebCore:
Tests: storage/indexeddb/modern/multiple-objectstore-index-cursor-collision-private.html
storage/indexeddb/modern/multiple-objectstore-index-cursor-collision.html
- Modules/indexeddb/server/SQLiteIDBCursor.cpp:
(WebCore::IDBServer::buildIndexStatement): Need to include the object store id in the statement for
index cursors, otherwise there will be collisions amongst multiple object stores that happen to
share primary keys.
(WebCore::IDBServer::SQLiteIDBCursor::bindArguments):
LayoutTests:
- storage/indexeddb/modern/multiple-objectstore-index-cursor-collision-expected.txt: Added.
- storage/indexeddb/modern/multiple-objectstore-index-cursor-collision-private-expected.txt: Added.
- storage/indexeddb/modern/multiple-objectstore-index-cursor-collision-private.html: Added.
- storage/indexeddb/modern/multiple-objectstore-index-cursor-collision.html: Added.
- storage/indexeddb/modern/resources/multiple-objectstore-index-cursor-collision.js: Added.
- 2:56 PM Changeset in webkit [206279] by
-
- 2 edits in trunk/Source/WebCore
ShowRenderTree: Shuffle letters to have better readability.
https://bugs.webkit.org/show_bug.cgi?id=162460
Reviewed by Simon Fraser.
old: (B)lock/(I)nline/I(N)line-block, (R)elative/A(B)solute/Fi(X)ed/Stick(Y) positioned, (O)verflow clipping, (A)nonymous, (G)enerated, (F)loating, has(L)ayer, (C)omposited, (D)irty layout, Dirty (S)tyle.
new: (B)lock/(I)nline/I(N)line-block, (A)bsolute/Fi(X)ed/(R)elative/Stic(K)y, (F)loating, (O)verflow clip, Anon(Y)mous, (G)enerated, has(L)ayer, (C)omposited, (+)Dirty style, (+)Dirty layout.
Not testable.
- rendering/RenderObject.cpp:
(WebCore::showRenderTreeLegend):
(WebCore::RenderObject::showRenderObject):
- 2:39 PM Changeset in webkit [206278] by
-
- 49 edits in trunk
[CSP] Violation report may be sent to wrong domain on frame-ancestors violation
https://bugs.webkit.org/show_bug.cgi?id=162079
<rdar://problem/28321575>
Reviewed by Andy Estes.
Source/WebCore:
Fixes an issue where a CSP violation report may be sent to the wrong domain when the
frame-ancestors directive is violated. In particular, when the frame-ancestors directive
is violated for a page that specifies a report URI that is a relative URL then the
report URI would be resolved with respect to the parent frame's document URL and hence
be sent to the domain of the parent frame's document.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation): Adjust the report URL with respect
to the blocked URL when we do not have a script execution context.
LayoutTests:
Modified http/tests/security/contentSecurityPolicy/resources/save-report.php to print the HTTP Host header as a means
to validate that the CSP violation report was sent to the appropriate host. Update test expectations.
Note that the presence of "localhost" in the HTTP Host header in the test results for tests
security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin.html and
security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-https.html
verify that we resolve a relative URL CSP report URI with respect to the blocked URL.
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-https-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin-https.html:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-cross-origin.html:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-https-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin-https.html:
- http/tests/security/contentSecurityPolicy/1.1/frame-ancestors/report-frame-ancestors-same-origin.html:
- http/tests/security/contentSecurityPolicy/1.1/report-uri-effective-directive-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-allowed-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scripthash-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-allowed-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-by-legacy-enforced-policy-and-blocked-by-report-policy2-expected.txt:
- http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
- http/tests/security/contentSecurityPolicy/report-blocked-data-uri-expected.txt:
- http/tests/security/contentSecurityPolicy/report-blocked-file-uri-expected.txt:
- http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin-expected.txt:
- http/tests/security/contentSecurityPolicy/report-blocked-uri-expected.txt:
- http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-expected.txt:
- http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-enabled-expected.txt:
- http/tests/security/contentSecurityPolicy/report-cross-origin-no-cookies-when-private-browsing-toggled-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
- http/tests/security/contentSecurityPolicy/report-only-upgrade-insecure-expected.txt:
- http/tests/security/contentSecurityPolicy/report-same-origin-no-cookies-when-private-browsing-toggled-expected.txt:
- http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-expected.txt:
- http/tests/security/contentSecurityPolicy/report-same-origin-with-cookies-when-private-browsing-enabled-expected.txt:
- http/tests/security/contentSecurityPolicy/report-status-code-zero-when-using-https-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-from-inline-javascript-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt:
- http/tests/security/contentSecurityPolicy/report-uri-scheme-relative-expected.txt:
- http/tests/security/contentSecurityPolicy/resources/save-report.php:
- http/tests/security/xssAuditor/report-script-tag-expected.txt:
- http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt:
- http/tests/security/xssAuditor/report-script-tag-replace-state-expected.txt:
- 2:34 PM Changeset in webkit [206277] by
-
- 3 edits2 adds in trunk
[XSS Auditor] HTML5 entities can bypass XSS Auditor
https://bugs.webkit.org/show_bug.cgi?id=161939
<rdar://problem/25819815>
Reviewed by David Kilzer.
Source/WebCore:
Merged from Blink:
<https://chromium.googlesource.com/chromium/src/+/04e44060dccee711842d08652bf1c622a0f43179>
Truncate a src-like URL at the first & character as it may mark the start of an HTML entity.
We will evaluate the effectiveness of this approach and adjust it if necessary if we see an
increase in false positives.
HTML5 defines more named character references, including named character references for common
punctuation characters. Characters following some punctuation characters may come from the page
itself. We truncate src-like strings at punctuation characters to avoid considering such page
content when performing a match.
Test: http/tests/security/xssAuditor/script-tag-with-source-data-url5.html
- html/parser/XSSAuditor.cpp:
(WebCore::truncateForSrcLikeAttribute):
LayoutTests:
- http/tests/security/xssAuditor/script-tag-with-source-data-url5-expected.txt: Added.
- http/tests/security/xssAuditor/script-tag-with-source-data-url5.html: Added.
- 2:33 PM Changeset in webkit [206276] by
-
- 4 edits2 adds in trunk
[XSS Auditor] Truncate data URLs at quotes
https://bugs.webkit.org/show_bug.cgi?id=161937
Reviewed by David Kilzer.
Source/WebCore:
Merged from Blink:
<https://chromium.googlesource.com/chromium/src/+/c6d6331190dd43f09459e2341c3111e796f9de12/>
Truncate a data URL at the first single or double quote character to avoid considering
characters that may come from the page content following an injected data URL.
Test: http/tests/security/xssAuditor/script-tag-with-source-data-url4.html
- html/parser/XSSAuditor.cpp:
(WebCore::truncateForSrcLikeAttribute):
LayoutTests:
- http/tests/security/xssAuditor/resources/echo-property.pl:
- http/tests/security/xssAuditor/script-tag-with-source-data-url4-expected.txt: Added.
- http/tests/security/xssAuditor/script-tag-with-source-data-url4.html: Added.
- 2:22 PM Changeset in webkit [206275] by
-
- 9 edits in trunk
Remove more ENABLE(TEXT_AUTOSIZING) code
https://bugs.webkit.org/show_bug.cgi?id=162456
Reviewed by Simon Fraser.
.:
- Source/cmake/tools/vsprops/FeatureDefines.props:
- Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
Source/WebCore:
- page/Settings.in:
- rendering/style/StyleVisualData.h:
(WebCore::StyleVisualData::operator==):
Source/WebKit2:
- UIProcess/API/efl/ewk_settings.cpp:
(ewk_settings_text_autosizing_enabled_set):
(ewk_settings_text_autosizing_enabled_get):
- UIProcess/API/efl/tests/test_ewk2_settings.cpp:
(TEST_F):
- 2:11 PM Changeset in webkit [206274] by
-
- 6 edits in trunk/Source
Fences on x86 should be a lot cheaper
https://bugs.webkit.org/show_bug.cgi?id=162417
Reviewed by Mark Lam and Geoffrey Garen.
Source/JavaScriptCore:
It turns out that:
lock; orl $0, (%rsp)
does everything that we wanted from:
mfence
And it's a lot faster. When I tried mfence for making object visiting concurrent-GC-TSO-
friendly, it was a 9% regression on Octane/splay. But when I tried ortop, it was neutral.
So, we should use ortop from now on.
This part of the change is for the JITs. MacroAssembler::memoryFence() appears to always
mean something like an acqrel fence, so it's safe to make this use ortop. Since B3's Fence
compiles to Air MemoryFence, which is just MacroAssembler::memoryFence(), this also changes
B3 codegen.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::memoryFence):
- assembler/X86Assembler.h:
(JSC::X86Assembler::lock):
- b3/testb3.cpp:
(JSC::B3::testX86MFence):
(JSC::B3::testX86CompilerFence):
Source/WTF:
It turns out that:
lock; orl $0, (%rsp)
does everything that we wanted from:
mfence
And it's a lot faster. When I tried mfence for making object visiting concurrent-GC-TSO-
friendly, it was a 9% regression on Octane/splay. But when I tried ortop, it was neutral.
So, we should use ortop from now on.
This part of the change just affects our Atomics. I also changed this in the JITs.
- wtf/Atomics.h:
(WTF::x86_ortop):
(WTF::storeLoadFence):
(WTF::x86_mfence): Deleted.
- 2:05 PM Changeset in webkit [206273] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 1:54 PM Changeset in webkit [206272] by
-
- 2 edits in trunk/Source/WebCore
Fullscreen controls inoperative in WebKitLegacy web views
https://bugs.webkit.org/show_bug.cgi?id=162374
Reviewed by Eric Carlson.
After r205365, the WebPlaybackSessionInterfaceAVKit was now created after the
WebPlaybackSessionModel which fed it data, so it no longer received the burst of data upon
creation. Instead, it should have always asked the model for its cached data as soon as it
was connected to set up its inital state.
- platform/ios/WebPlaybackSessionInterfaceAVKit.mm:
(WebCore::WebPlaybackSessionInterfaceAVKit::WebPlaybackSessionInterfaceAVKit):
- 1:50 PM Changeset in webkit [206271] by
-
- 1 copy in tags/Safari-602.2.12
New tag.
- 1:48 PM Changeset in webkit [206270] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r206027. rdar://problem/28366812
- 1:47 PM Changeset in webkit [206269] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 12:11 PM Changeset in webkit [206268] by
-
- 17 edits in trunk
test262: Function length should be number of parameters before parameters with default values
https://bugs.webkit.org/show_bug.cgi?id=162377
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-22
Reviewed by Saam Barati.
JSTests:
- stress/es6-default-parameters.js:
Add our own tests for function lengths with default parameters.
- test262.yaml:
We now pass all dflt-length tests.
Source/JavaScriptCore:
https://tc39.github.io/ecma262/#sec-function-definitions-static-semantics-expectedargumentcount
NOTE: The ExpectedArgumentCount of a FormalParameterList is the number of
FormalParameters to the left of either the rest parameter or the first
FormalParameter with an Initializer. A FormalParameter without an
initializer is allowed after the first parameter with an initializer
but such parameters are considered to be optional with undefined as
their default value.
Alongside the parameterCount value, maintain a separate count,
functionLength, which will be the count before seeing a rest parameter
or parameter with a default value. This will be the function's length.
- bytecode/UnlinkedCodeBlock.h:
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
- bytecode/UnlinkedFunctionExecutable.h:
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createFunctionMetadata):
- parser/Nodes.cpp:
(JSC::FunctionMetadataNode::FunctionMetadataNode):
- parser/Nodes.h:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::isArrowFunctionParameters):
(JSC::Parser<LexerType>::parseGeneratorFunctionSourceElements):
(JSC::Parser<LexerType>::parseFormalParameters):
(JSC::Parser<LexerType>::parseFunctionBody):
(JSC::Parser<LexerType>::parseFunctionParameters):
(JSC::Parser<LexerType>::parseFunctionInfo):
- parser/Parser.h:
- parser/ParserFunctionInfo.h:
- parser/SourceProviderCacheItem.h:
(JSC::SourceProviderCacheItem::SourceProviderCacheItem):
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createFunctionMetadata):
- runtime/Executable.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::createBuiltinFunction):
(JSC::JSFunction::reifyLength):
- 11:59 AM Changeset in webkit [206267] by
-
- 53 edits in trunk/Source/JavaScriptCore
Remove a bunch of unnecessary includes
https://bugs.webkit.org/show_bug.cgi?id=162376
Reviewed by Mark Lam.
- 11:47 AM Changeset in webkit [206266] by
-
- 4 edits in trunk
Fix serialization of HTML void elements when they have children
https://bugs.webkit.org/show_bug.cgi?id=162418
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/syntax/serializing-html-fragments/serializing-expected.txt:
Source/WebCore:
Fix serialization of HTML void elements when they have children.
Void elements (such as <hr>) cannot have a closing tag. When
encountering them, we would properly not serialize the void
element's children (if it had any). However, we would incorrectly
append an end tag (because the element technically has children).
Relevant specification:
In particular, this part:
""
If current node is an area, base, basefont, bgsound, br, col, embed,
frame, hr, img, input, keygen, link, meta, param, source, track or wbr
element, then continue on to the next child node at this point.
""
Firefox matches the specification.
No new tests, rebaselined existing test.
- editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
- 11:43 AM Changeset in webkit [206265] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo] Fix build after r206196
Patch by Don Olmstead <don.olmstead@am.sony.com> on 2016-09-22
Reviewed by Alex Christensen.
- platform/text/win/LocaleWin.cpp:
(WebCore::LocaleWin::getLocaleInfoString):
- 11:30 AM Changeset in webkit [206264] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/media-source/mediasource-duration.html as flaky on mac.
https://bugs.webkit.org/show_bug.cgi?id=162308
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 11:19 AM Changeset in webkit [206263] by
-
- 4 edits in trunk/LayoutTests
Unreviewed, rolling out r206112.
This change made inspector/network/xhr-json-blob-has-
content.html very flaky.
Reverted changeset:
"Web Inspector: adopt Object.awaitEvent in
LayoutTests/inspector/network"
https://bugs.webkit.org/show_bug.cgi?id=162099
http://trac.webkit.org/changeset/206112
- 10:59 AM Changeset in webkit [206262] by
-
- 2 edits in trunk/LayoutTests
imported/w3c/web-platform-tests/resource-timing/idlharness.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=162414
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-22
- 10:39 AM Changeset in webkit [206261] by
-
- 38 edits in trunk
Automatic Text Replacement Testing in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=161919
Reviewed by Ryosuke Niwa.
Source/WebCore:
Fixing existing tests:
editing/inserting/smart-link-when-caret-is-moved-before-URL.html
editing/inserting/typing-space-to-trigger-smart-link.html
Implemented test hooks for text replacement for WebKit2.
Note that spell checking has not been implemented, so most tests which use text replacement still fail.
- testing/Internals.cpp:
(WebCore::Internals::Internals): Reset TextChecker.
(WebCore::Internals::setContinuousSpellCheckingEnabled): Converted exception to an assert.
(WebCore::Internals::setAutomaticQuoteSubstitutionEnabled): Converted exception to an assert.
(WebCore::Internals::setAutomaticLinkDetectionEnabled): Converted exception to an assert.
(WebCore::Internals::setAutomaticDashSubstitutionEnabled): Converted exception to an assert.
(WebCore::Internals::setAutomaticTextReplacementEnabled): Converted exception to an assert.
(WebCore::Internals::setAutomaticSpellingCorrectionEnabled): Converted exception to an assert.
- testing/Internals.h: Removed exception argument for TextChecker setters.
- testing/Internals.idl: Ditto.
Source/WebKit2:
Implemented test hooks for text replacement for WebKit2.
Note that spell checking has not been implemented, so most tests which use text replacement still fail.
- UIProcess/API/C/WKTextChecker.cpp: Added #ifdefs to include file for iOS and Mac.
(WKTextCheckerSetTestingMode): Added.
- UIProcess/API/C/WKTextChecker.h: Added #ifdefs to include file for iOS and Mac.
- UIProcess/TextChecker.h: Added hooks to bypass writing to NSUserDefaults.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::toggleSmartInsertDelete): New message to toggle TextChecker flag.
(WebKit::WebPageProxy::toggleAutomaticQuoteSubstitution): Ditto.
(WebKit::WebPageProxy::toggleAutomaticLinkDetection): Ditto.
(WebKit::WebPageProxy::toggleAutomaticDashSubstitution): Ditto.
(WebKit::WebPageProxy::toggleAutomaticTextReplacement): Ditto.
- UIProcess/WebPageProxy.h: Added messages to toggle TextChecker flags.
- UIProcess/WebPageProxy.messages.in: Ditto.
- UIProcess/efl/TextCheckerEfl.cpp: Implemented new TextChecker hooks for non-Cocoa platforms.
- UIProcess/gtk/TextCheckerGtk.cpp: Ditto.
(WebKit::TextChecker::mutableState): Ditto.
- UIProcess/ios/TextCheckerIOS.mm: Implemented new TextChecker hooks.
(WebKit::TextChecker::mutableState): Allow modification of text checker without writing to NSUserDefaults.
(WebKit::TextChecker::state): Call mutableState.
(WebKit::TextChecker::accessSmartInsertDeleteEnabled): Dummy function.
- UIProcess/mac/TextCheckerMac.mm:
(WebKit::refresh): Reload TextChecker configuration from NSUserDefaults.
(WebKit::TextChecker::mutableState): Allow modification of text checker without writing to NSUserDefaults.
(WebKit::TextChecker::state): Call mutableState().
(WebKit::TextChecker::accessSmartInsertDeleteEnabled): Allow toggling of smartInsertDeleteEnabled without writing to NSUserDefaults.
(WebKit::initializeState): Deleted.
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetAutomaticLinkDetectionEnabled): Deleted.
- WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Removed WKBundleSetAutomaticLinkDetectionEnabled.
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setAutomaticLinkDetectionEnabled): Deleted.
- WebKit2.xcodeproj/project.pbxproj: Added WKTextChecker to Mac and iOS.
- WebProcess/InjectedBundle/InjectedBundle.h: Remove setAutomaticLinkDetectionEnabled.
- WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
(WebKit::WebEditorClient::toggleSmartInsertDelete): Send message to UI process to toggle TextChecker.
(WebKit::WebEditorClient::toggleAutomaticQuoteSubstitution): Ditto.
(WebKit::WebEditorClient::toggleAutomaticLinkDetection): Ditto.
(WebKit::WebEditorClient::toggleAutomaticDashSubstitution): Ditto.
(WebKit::WebEditorClient::toggleAutomaticTextReplacement): Ditto.
Tools:
Implemented test hooks for text replacement for WebKit2.
Note that spell checking has not been implemented, so most tests which use text replacement still fail.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Removed setAutomaticLinkDetectionEnabled from TestRunner, moved to Internals.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: Ditto.
(WTR::InjectedBundle::beginTesting): Ditto.
- WebKitTestRunner/InjectedBundle/TestRunner.cpp: Ditto.
- WebKitTestRunner/InjectedBundle/TestRunner.h: Ditto.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::runTest): Place TextChecker into testing mode.
LayoutTests:
Implemented test hooks for text replacement for WebKit2.
Note that spell checking has not been implemented, so most tests which use text replacement still fail.
- editing/inserting/smart-link-when-caret-is-moved-before-URL.html: Use internals instead of TestRunner.
- editing/inserting/typing-space-to-trigger-smart-link.html: Ditto.
- platform/efl/TestExpectations: Added port specific tests.
- platform/gtk/TestExpectations: Added port specific tests.
- platform/ios-simulator/TestExpectations: Added port specific tests.
- platform/ios-simulator-wk1/TestExpectations: Moved skipped tests to ios-simulator.
- platform/ios-simulator-wk2/TestExpectations: Moved skipped tests to ios-simulator.
- platform/mac-wk2/TestExpectations: Removed passing test.
- platform/win/TestExpectations: Added port specific tests.
- platform/wk2/TestExpectations: Added better explanation for failing test.
- 9:20 AM Changeset in webkit [206260] by
-
- 94 edits10 copies54 adds6 deletes in trunk/LayoutTests
Sync web-platform-tests up to revision 3801ab5
https://bugs.webkit.org/show_bug.cgi?id=162375
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-22
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- resources/ImportExpectations:
- resources/TestRepositories:
- resources/resource-files.json:
- resources/web-platform-tests-modules.json:
- web-platform-tests/IndexedDB/idbindex-multientry-big-expected.txt:
- web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
- web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
- web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm:
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/dom/interfaces.html:
- web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
- web-platform-tests/dom/nodes/Document-createEvent.html:
- web-platform-tests/dom/nodes/NodeList-Iterable.html: Added.
- web-platform-tests/dom/nodes/rootNode.html: Added.
- web-platform-tests/dom/nodes/w3c-import.log:
- web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt:
- web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-referrer.js:
(corsPreflightReferrer):
- web-platform-tests/fetch/api/redirect/redirect-to-dataurl-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-to-dataurl-worker-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-to-dataurl.js:
(redirectDataURL):
- web-platform-tests/fetch/api/response/response-static-redirect.html:
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html:
- web-platform-tests/html/browsers/origin/origin-of-data-document.html: Added.
- web-platform-tests/html/browsers/origin/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/tabular-data/w3c-import.log.
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub-expected.txt:
- web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub-expected.txt:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms-expected.txt:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms.html:
- web-platform-tests/html/dom/elements-embedded.js:
- web-platform-tests/html/dom/elements-metadata.js:
- web-platform-tests/html/dom/elements-tabular.js:
- web-platform-tests/html/dom/elements-text.js:
- web-platform-tests/html/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/reflection-embedded-expected.txt:
- web-platform-tests/html/dom/reflection-metadata-expected.txt:
- web-platform-tests/html/dom/reflection-tabular-expected.txt:
- web-platform-tests/html/dom/reflection-text-expected.txt:
- web-platform-tests/html/dom/reflection.js:
(ReflectionTests.resolveUrl):
(ReflectionTests.parseNonneg): Deleted.
(ReflectionTests.parseInt): Deleted.
- web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context-expected.txt:
- web-platform-tests/html/semantics/document-metadata/the-style-element/historical.html: Added.
- web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped-expected.txt: Removed.
- web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped.html: Removed.
- web-platform-tests/html/semantics/document-metadata/the-style-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/historical-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/historical.html:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src.html:
- web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical.html:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity.html:
- web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity.html:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow.html:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow.html:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid.html:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html:
- web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html:
- web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
- web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html:
- web-platform-tests/html/semantics/forms/the-input-element/cloning-steps.html: Added.
- web-platform-tests/html/semantics/forms/the-input-element/datetime-2-expected.txt: Removed.
- web-platform-tests/html/semantics/forms/the-input-element/datetime-2.html: Removed.
- web-platform-tests/html/semantics/forms/the-input-element/files-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/files.html:
- web-platform-tests/html/semantics/forms/the-input-element/month-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/month.html:
- web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html:
- web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/valueMode.html:
- web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-option-element/option-form.html: Added.
- web-platform-tests/html/semantics/forms/the-option-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-textarea-element/cloning-steps.html:
- web-platform-tests/html/semantics/forms/the-textarea-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a-expected.html: Added.
- web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a.html: Added.
- web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1b-expected.html: Added.
- web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1b.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-expected.txt:
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close.html:
- web-platform-tests/html/semantics/scripting-1/the-script-element/historical.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events-expected.txt: Removed.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html: Removed.
- web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
- web-platform-tests/html/semantics/tabular-data/historical.html: Added.
- web-platform-tests/html/semantics/tabular-data/w3c-import.log:
- web-platform-tests/html/semantics/text-level-semantics/historical.html: Added.
- web-platform-tests/html/semantics/text-level-semantics/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/w3c-import.log.
- web-platform-tests/html/syntax/parsing/foreign_content_001.html: Added.
- web-platform-tests/html/syntax/parsing/foreign_content_003.html: Added.
- web-platform-tests/html/syntax/parsing/foreign_content_004.html: Added.
- web-platform-tests/html/syntax/parsing/foreign_content_005.html: Added.
- web-platform-tests/html/syntax/parsing/foreign_content_006.html: Added.
- web-platform-tests/html/syntax/parsing/foreign_content_008.html: Added.
- web-platform-tests/html/syntax/parsing/foreign_content_009.html: Added.
- web-platform-tests/html/syntax/parsing/foreign_content_010.html: Added.
- web-platform-tests/html/syntax/parsing/foreign_content_013.html: Added.
- web-platform-tests/media-source/import_tests.sh:
- web-platform-tests/media-source/mediasource-append-buffer-expected.txt:
- web-platform-tests/media-source/mediasource-is-type-supported-expected.txt:
- web-platform-tests/media-source/mediasource-sourcebuffer-mode-expected.txt:
- web-platform-tests/media-source/mp4/w3c-import.log: Added.
- web-platform-tests/media-source/w3c-import.log: Added.
- web-platform-tests/media-source/webm/w3c-import.log: Added.
- web-platform-tests/resource-timing/idlharness-expected.txt: Added.
- web-platform-tests/resource-timing/idlharness.html: Added.
- web-platform-tests/resource-timing/resource-timing-expected.txt:
- web-platform-tests/resource-timing/resource-timing.js:
(window.onload):
- web-platform-tests/resource-timing/w3c-import.log:
LayoutTests:
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/month-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/resource-timing/idlharness-expected.txt: Added.
- platform/wk2/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle-expected.txt:
- tests-options.json:
- 8:14 AM Changeset in webkit [206259] by
-
- 6 edits in trunk
AX: aria-pressed state not correctly conveyed to VoiceOver iOS on <button> unless role=button added
https://bugs.webkit.org/show_bug.cgi?id=162269
Reviewed by Chris Fleizach.
Source/WebCore:
<button> with aria-pressed attribute has a toggle button role, however, we were looking for explicit
roles in order to convey the aria-press state. Since there's no spec requiring authors explicitly defining
default ARIA semantics in such case, I'm exposing the aria-pressed state for all valid toggle buttons.
Changes are covered in modified test.
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isPressed):
LayoutTests:
Added test cases and also fixed a wrong expected output.
- accessibility/ios-simulator/aria-pressed-state-expected.txt:
- accessibility/ios-simulator/aria-pressed-state.html:
- 7:15 AM Changeset in webkit [206258] by
-
- 2 edits in trunk/Source/WebCore
Attempt to fix the open source iOS build.
- platform/spi/cocoa/PassKitSPI.h:
- 5:43 AM Changeset in webkit [206257] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Support a direct GPU-to-GPU copy of video textures to WebGL
https://bugs.webkit.org/show_bug.cgi?id=159928
Patch by Olivier Blin <Olivier Blin> on 2016-09-22
Reviewed by Carlos Garcia Campos.
Copy of GStreamer video frames to WebGL textures was not accelerated.
WebGLRenderingContextBase::texImage2D(HTMLVideoElement) went
through a slow software paint() wrapping the video frame into
cairo surface (ImageGStreamer), downloading it to draw to the
image cache context, copying it again in software, and uploading
it back to an OpenGL texture.
This patch implements copyVideoTextureToPlatformTexture() for
the GStreamer media player backend, to do GPU-to-GPU copy, by
extracting code from nativeImageForCurrentTime().
Doing this also fixes bug #159621: red and blue colors were
swapped in video rendered through WebGL with GSTREAMER_GL enabled.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::prepareContextForCairoPaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paintToCairoSurface):
(WebCore::MediaPlayerPrivateGStreamerBase::copyVideoTextureToPlatformTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- 5:14 AM Changeset in webkit [206256] by
-
- 35 edits4 moves in trunk/Source
[GTK] Rename DataObjectGtk as SelectionData
https://bugs.webkit.org/show_bug.cgi?id=162380
Reviewed by Žan Doberšek.
Source/WebCore:
DataObjectGtk represents the data of a selection, like GtkSelectionData, used for clipboard and drag adn drop
operations. Data object is a very generic name, and the Gtk suffix sounds like if this is the GTK implementation
of a generic DataObject class.
- PlatformGTK.cmake:
- editing/gtk/EditorGtk.cpp:
(WebCore::createFragmentFromPasteboardData):
- page/gtk/DragControllerGtk.cpp:
- platform/DragData.h:
- platform/Pasteboard.h:
- platform/PasteboardStrategy.h:
(WebCore::PasteboardStrategy::~PasteboardStrategy): Deleted.
- platform/PlatformPasteboard.h:
- platform/gtk/DragDataGtk.cpp:
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::createPrivate):
(WebCore::Pasteboard::createForDragAndDrop):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::selectionData):
(WebCore::selectionDataTypeFromHTMLClipboardType):
(WebCore::Pasteboard::writeToClipboard):
(WebCore::Pasteboard::readFromClipboard):
(WebCore::Pasteboard::writeString):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::writePasteboard):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::hasData):
(WebCore::Pasteboard::types):
(WebCore::Pasteboard::readString):
(WebCore::Pasteboard::readFilenames):
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::getClipboardContents):
(WebCore::PasteboardHelper::targetListForSelectionData):
(WebCore::PasteboardHelper::fillSelectionData):
(WebCore::ClipboardSetData::ClipboardSetData):
(WebCore::getClipboardContentsCallback):
(WebCore::PasteboardHelper::writeClipboardContents):
(WebCore::clearClipboardContentsCallback): Deleted.
- platform/gtk/PasteboardHelper.h:
- platform/gtk/PlatformPasteboardGtk.cpp:
(WebCore::PlatformPasteboard::writeToClipboard):
(WebCore::PlatformPasteboard::readFromClipboard):
- platform/gtk/SelectionData.cpp: Renamed from Source/WebCore/platform/gtk/DataObjectGtk.cpp.
(WebCore::SelectionData::setText):
(WebCore::SelectionData::setURIList):
(WebCore::SelectionData::setURL):
(WebCore::SelectionData::urlLabel):
(WebCore::SelectionData::clearAllExceptFilenames):
(WebCore::SelectionData::clearAll):
- platform/gtk/SelectionData.h: Renamed from Source/WebCore/platform/gtk/DataObjectGtk.h.
(WebCore::SelectionData::create):
(WebCore::SelectionData::text):
(WebCore::SelectionData::hasText):
(WebCore::SelectionData::clearText):
(WebCore::SelectionData::setMarkup):
(WebCore::SelectionData::markup):
(WebCore::SelectionData::hasMarkup):
(WebCore::SelectionData::clearMarkup):
(WebCore::SelectionData::hasURL):
(WebCore::SelectionData::clearURL):
(WebCore::SelectionData::filenames):
(WebCore::SelectionData::hasURIList):
(WebCore::SelectionData::hasFilenames):
(WebCore::SelectionData::setImage):
(WebCore::SelectionData::image):
(WebCore::SelectionData::hasImage):
(WebCore::SelectionData::unknownTypeData):
(WebCore::SelectionData::unknownTypes):
(WebCore::SelectionData::hasUnknownTypeData):
(WebCore::SelectionData::canSmartReplace):
(WebCore::SelectionData::url): Deleted.
(WebCore::SelectionData::uriList): Deleted.
(WebCore::SelectionData::clearURIList): Deleted.
(WebCore::SelectionData::clearImage): Deleted.
(WebCore::SelectionData::setUnknownTypeData): Deleted.
Source/WebKit2:
- PlatformGTK.cmake:
- Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::ArgumentCoder<SelectionData>::encode):
(IPC::ArgumentCoder<SelectionData>::decode):
- Shared/gtk/ArgumentCodersGtk.h:
- Shared/gtk/WebSelectionData.cpp: Renamed from Source/WebKit2/Shared/gtk/PasteboardContent.cpp.
(WebKit::WebSelectionData::WebSelectionData):
(WebKit::WebSelectionData::encode):
(WebKit::WebSelectionData::decode):
- Shared/gtk/WebSelectionData.h: Renamed from Source/WebKit2/Shared/gtk/PasteboardContent.h.
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::startDrag):
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performDragControllerAction):
(WebKit::WebPageProxy::startDrag):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/WebPasteboardProxy.h:
- UIProcess/WebPasteboardProxy.messages.in:
- UIProcess/gtk/DragAndDropHandler.cpp:
(WebKit::DragAndDropHandler::DroppingContext::DroppingContext):
(WebKit::DragAndDropHandler::startDrag):
(WebKit::DragAndDropHandler::fillDragData):
(WebKit::DragAndDropHandler::finishDrag):
(WebKit::DragAndDropHandler::dropDataSelection):
(WebKit::DragAndDropHandler::dragEntered):
(WebKit::DragAndDropHandler::dragDataSelection):
(WebKit::DragAndDropHandler::dragMotion):
(WebKit::DragAndDropHandler::dragLeave):
(WebKit::DragAndDropHandler::drop):
- UIProcess/gtk/DragAndDropHandler.h:
- UIProcess/gtk/WebPasteboardProxyGtk.cpp:
(WebKit::WebPasteboardProxy::writeToClipboard):
(WebKit::WebPasteboardProxy::readFromClipboard):
(WebKit::WebPasteboardProxy::setPrimarySelectionOwner): Deleted.
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::writeToClipboard):
(WebKit::WebPlatformStrategies::readFromClipboard):
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag):
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performDragControllerAction):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 1:57 AM Changeset in webkit [206255] by
-
- 8 edits1 move1 add1 delete in trunk
CachedResourceRequest should store a SecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=162258
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-22
Reviewed by Sam Weinig.
Source/WebCore:
Test: http/tests/local/script-crossorigin-loads-file-scheme.html
Passing SecurityOrigin from loader clients to CachedResource through CachedResourceRequest.
This ensures that specific origin properties like universal access are well preserved.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest): Set origin to the request.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource): Setting origin from the request.
Computing CORS state based on that origin.
(WebCore::CachedResource::load): Removing origin computation.
(WebCore::CachedResource::loadFrom): Ditto.
(WebCore::CachedResource::computeOrigin): Deleted.
- loader/cache/CachedResource.h:
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest):
(WebCore::CachedResourceLoader::prepareFetch): Introduced to implement step 1 to 7 of https://fetch.spec.whatwg.org/#fetching.
(WebCore::CachedResourceLoader::requestResource):
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::setAsPotentiallyCrossOrigin): Storing origin.
- loader/cache/CachedResourceRequest.h:
(WebCore::CachedResourceRequest::setOrigin):
(WebCore::CachedResourceRequest::releaseOrigin):
(WebCore::CachedResourceRequest::origin):
LayoutTests:
Updated test to expect load even though CORS checks should fail as the document origin has universal access.
- http/tests/local/script-crossorigin-loads-fail-origin-expected.txt: Removed.
- http/tests/local/script-crossorigin-loads-file-scheme-expected.txt: Added.
- http/tests/local/script-crossorigin-loads-file-scheme.html: Renamed from LayoutTests/http/tests/local/script-crossorigin-loads-fail-origin.html.
- 1:28 AM Changeset in webkit [206254] by
-
- 18 edits in trunk/Source/WebCore
Refactor ContentSecurityPolicy::allow* methods
https://bugs.webkit.org/show_bug.cgi?id=162335
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-22
Reviewed by Darin Adler.
No change of behavior.
Removing the second parameter of ContentSecurityPolicy::allow* methods.
When true, this parameter makes the methods return true.
This patch updates the callers of allow* methods to check for the parameter before making the call.
Made some refactoring to share more code between the various allow* methods.
- Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::start):
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isSafeToLoadURL):
(WebCore::HTMLMediaElement::outOfBandTrackSources):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::allowedToLoadPluginContent):
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::canLoadURL):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::redirectReceived):
(WebCore::DocumentThreadableLoader::loadRequest):
(WebCore::DocumentThreadableLoader::isAllowedByContentSecurityPolicy):
- loader/DocumentThreadableLoader.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkIfFormActionAllowedByCSP):
- loader/PolicyChecker.cpp:
(WebCore::isAllowedByContentSecurityPolicy):
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::createJavaAppletWidget):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy):
- page/EventSource.cpp:
(WebCore::EventSource::create):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowObjectFromSource):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
(WebCore::ContentSecurityPolicy::allowResourceFromSource):
(WebCore::ContentSecurityPolicy::allowChildContextFromSource):
(WebCore::ContentSecurityPolicy::allowScriptFromSource):
(WebCore::ContentSecurityPolicy::allowImageFromSource):
(WebCore::ContentSecurityPolicy::allowStyleFromSource):
(WebCore::ContentSecurityPolicy::allowFontFromSource):
(WebCore::ContentSecurityPolicy::allowMediaFromSource):
(WebCore::ContentSecurityPolicy::allowConnectToSource):
(WebCore::ContentSecurityPolicy::allowFormAction):
- page/csp/ContentSecurityPolicy.h:
- workers/AbstractWorker.cpp:
(WebCore::AbstractWorker::resolveURL):
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::importScripts):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::initSend):
- 12:57 AM Changeset in webkit [206253] by
-
- 7 edits3 adds in trunk
[css-grid] Remove the x2 computation of row sizes with indefinite heights
https://bugs.webkit.org/show_bug.cgi?id=162150
Reviewed by Darin Adler.
PerformanceTests:
Added a new test case which checks the layout performance of grids inside other grids, i.e,
grids acting both as grid container and grid item.
- Layout/nested-grid.html: Added.
Source/WebCore:
On r192154, among other things, we added a second pass of the track sizing algorithm for
rows in order to properly compute row sizes when the height was indefinite. We did that in
order to have a symmetrical implementation for columns and rows, but unfortunatelly that was
not correct.
Apart from issuing incorrect results in some cases it created a huge performance issue in
the case of having nested grids because we were exponentially increasing the amount of
executions of the track sizing algorithm. The attached performance test shows a 200%
improvement with the patch (26 vs 80 runs/s).
Test: fast/css-grid-layout/nested-grid.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeIntrinsicLogicalHeight):
(WebCore::RenderGrid::layoutGridItems):
LayoutTests:
Added a new reftest to check the behavior of grids acting also as grid items and how the
track sizing of rows depend on that. It includes tests for grids which stretch their
children and grids which do not.
Apart from that some expected results were updated so that they no longer fail.
- fast/css-grid-layout/maximize-tracks-definite-indefinite-height.html: Updated expectations.
- fast/css-grid-layout/nested-grid-expected.html: Added.
- fast/css-grid-layout/nested-grid.html: Added.
- fast/css-grid-layout/percent-track-breadths-regarding-container-size.html: Removed FIXME.
- fast/css-grid-layout/percent-track-breadths-regarding-container-size-expected.txt: Fixed 2
failing tests.
- 12:35 AM Changeset in webkit [206252] by
-
- 34 edits in trunk/Source/WebCore
Improve DeferredWrapper code
https://bugs.webkit.org/show_bug.cgi?id=161787
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-22
Reviewed by Darin Adler.
No change of behavior.
Renaming DeferredWrapper to DeferredPromise.
Adding create method that creates the underlying JSC::JSPromiseDeferred in non-worker environments.
Updated create method to take references.
Introducing domWindow helper accessor into JSDOMObject to ease creation of promise in non-worker environments.
Doing some minor clean up (renaming of m_wrapper to m_promiseDeferred, accessor change).
- Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::canMakePaymentsWithActiveCard):
- Modules/applepay/ApplePaySession.h:
- Modules/fetch/DOMWindowFetch.cpp:
(WebCore::DOMWindowFetch::fetch):
- Modules/fetch/DOMWindowFetch.h: Updated to take a DeferredPromise to make it consistent with WorkerGlobalScopeFetch.
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::arrayBuffer):
(WebCore::FetchBody::blob):
(WebCore::FetchBody::json):
(WebCore::FetchBody::text):
(WebCore::FetchBody::consume):
(WebCore::FetchBody::consumeArrayBuffer):
(WebCore::FetchBody::consumeArrayBufferView):
(WebCore::FetchBody::consumeText):
(WebCore::FetchBody::consumeBlob):
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::formData):
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::resolveWithData):
(WebCore::FetchBodyConsumer::resolve):
- Modules/fetch/FetchBodyConsumer.h:
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::arrayBuffer):
(WebCore::FetchBodyOwner::blob):
(WebCore::FetchBodyOwner::formData):
(WebCore::FetchBodyOwner::json):
(WebCore::FetchBodyOwner::text):
- Modules/fetch/FetchBodyOwner.h:
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::consume):
(WebCore::FetchResponse::finishConsumingStream):
- Modules/fetch/FetchResponse.h:
- Modules/fetch/WorkerGlobalScopeFetch.cpp:
(WebCore::WorkerGlobalScopeFetch::fetch):
- Modules/fetch/WorkerGlobalScopeFetch.h:
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::whenDefinedPromise):
(WebCore::JSCustomElementRegistry::whenDefined):
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::visitChildren):
- bindings/js/JSDOMGlobalObject.h:
- bindings/js/JSDOMPromise.cpp:
(WebCore::DOMDeferredPromise::DOMDeferredPromise):
(WebCore::DOMDeferredPromise::~DOMDeferredPromise):
(WebCore::DOMDeferredPromise::clear):
(WebCore::DOMDeferredPromise::contextDestroyed):
(WebCore::DOMDeferredPromise::promise):
(WebCore::DOMDeferredPromise::callFunction):
(WebCore::DOMDeferredPromise::reject):
(WebCore::rejectPromiseWithExceptionIfAny):
(WebCore::fulfillPromiseWithJSON):
(WebCore::fulfillPromiseWithArrayBuffer):
(WebCore::DeferredWrapper::DeferredWrapper): Deleted.
(WebCore::DeferredWrapper::~DeferredWrapper): Deleted.
(WebCore::DeferredWrapper::clear): Deleted.
(WebCore::DeferredWrapper::contextDestroyed): Deleted.
(WebCore::DeferredWrapper::promise): Deleted.
(WebCore::DeferredWrapper::callFunction): Deleted.
(WebCore::DeferredWrapper::reject): Deleted.
- bindings/js/JSDOMPromise.h:
(WebCore::DOMDeferredPromise::create):
(WebCore::callPromiseFunction):
(WebCore::DOMPromise::DOMPromise):
(WebCore::DOMPromise::deferredPromise):
(WebCore::DOMDeferredPromise::resolveWithValue):
(WebCore::DOMDeferredPromise::resolveWithNewlyCreated):
(WebCore::DOMDeferredPromise::rejectWithValue):
(WebCore::DOMDeferredPromise::resolve):
(WebCore::DOMDeferredPromise::reject):
(WebCore::DeferredWrapper::create): Deleted.
(WebCore::DOMPromise::deferredWrapper): Deleted.
(WebCore::DeferredWrapper::resolveWithValue): Deleted.
(WebCore::DeferredWrapper::resolveWithNewlyCreated): Deleted.
(WebCore::DeferredWrapper::rejectWithValue): Deleted.
(WebCore::DeferredWrapper::resolve): Deleted.
(WebCore::DeferredWrapper::reject): Deleted.
- bindings/js/JSDOMWrapper.cpp: Introducing domWindow() accessor.
- bindings/js/JSDOMWrapper.h:
- bindings/js/JSFontFaceCustom.cpp:
(WebCore::JSFontFace::loaded):
- bindings/js/JSFontFaceSetCustom.cpp:
(WebCore::JSFontFaceSet::ready):
- bindings/js/JSMediaDevicesCustom.cpp:
(WebCore::JSMediaDevices::getUserMedia):
- bindings/js/JSMediaStreamTrackCustom.cpp:
(WebCore::JSMediaStreamTrack::applyConstraints):
- bindings/js/JSReadableStreamSourceCustom.cpp:
(WebCore::JSReadableStreamSource::start):
- bindings/js/JSWebKitSubtleCryptoCustom.cpp:
(WebCore::JSWebKitSubtleCrypto::encrypt):
(WebCore::JSWebKitSubtleCrypto::decrypt):
(WebCore::JSWebKitSubtleCrypto::sign):
(WebCore::JSWebKitSubtleCrypto::verify):
(WebCore::JSWebKitSubtleCrypto::digest):
(WebCore::JSWebKitSubtleCrypto::generateKey):
(WebCore::JSWebKitSubtleCrypto::importKey):
(WebCore::JSWebKitSubtleCrypto::exportKey):
(WebCore::JSWebKitSubtleCrypto::wrapKey):
(WebCore::JSWebKitSubtleCrypto::unwrapKey):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
(GenerateReturnParameters):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionPromise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionPromise):
- dom/CustomElementRegistry.h:
(WebCore::CustomElementRegistry::promiseMap):
Sep 21, 2016:
- 11:07 PM Changeset in webkit [206251] by
-
- 5 edits in tags/Safari-603.1.6.0.1/Source
Versioning.
- 11:03 PM Changeset in webkit [206250] by
-
- 1 copy in tags/Safari-603.1.6.0.1
New tag.
- 11:01 PM Changeset in webkit [206249] by
-
- 6 edits in trunk/Source
Rolling out r206244, as it caused flaky crashes on tests.
Was: Correct uses of 'safeCast'
Source/WebCore:
- loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::adjustSize):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyMetadataAndNotify):
(WebCore::BitmapImage::cacheFrame):
(WebCore::BitmapImage::didDecodeProperties):
(WebCore::BitmapImage::dataChanged):
(WebCore::BitmapImage::frameImageAtIndex):
- platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::decodedSizeChanged):
(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
Source/WTF:
- wtf/StdLibExtras.h:
(WTF::safeCast):
- 10:19 PM Changeset in webkit [206248] by
-
- 3 edits in trunk/LayoutTests
Unreviewed, update ios-simulator-wk1 test expectations
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 10:03 PM Changeset in webkit [206247] by
-
- 6 edits in trunk
[macOS] Upon layout, _webView:renderingProgressDidChange: fires before the intrinsic content size is updated
https://bugs.webkit.org/show_bug.cgi?id=162359
<rdar://problem/27776454>
Reviewed by Tim Horton.
Source/WebKit2:
Test: added to TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm
- WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Fixed a bug where m_pendingNewlyReachedLayoutMilestones was never initialized.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: Added m_pendingNewlyReachedLayoutMilestones member variable to this derived class as well.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers): If we have pending milestones, notify
the WebPageProxy now, after any content size changes have been sent.
(WebKit::TiledCoreAnimationDrawingArea::dispatchDidReachLayoutMilestone): New override that
accumulates the milestones into m_pendingNewlyReachedLayoutMilestones and returns true,
so that the caller won’t notify the WebPageProxy immediately.
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:
(TEST):
- 9:36 PM Changeset in webkit [206246] by
-
- 6 edits2 adds in trunk
Fix serialization of bgsound, keygen and track elements
https://bugs.webkit.org/show_bug.cgi?id=162353
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C tests now that more checks are passing.
- web-platform-tests/html/syntax/serializing-html-fragments/outerHTML-expected.txt:
- web-platform-tests/html/syntax/serializing-html-fragments/serializing-expected.txt:
- web-platform-tests/html/syntax/serializing-xml-fragments/outerHTML-expected.txt:
Source/WebCore:
Fix serialization of keygen and track elements to match the specification:
They are not supposed to have an end tag. Firefox and Chrome agree with
the specification.
No new tests, rebaselined existing tests.
- editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::elementCannotHaveEndTag):
- 9:32 PM Changeset in webkit [206245] by
-
- 22 edits in trunk
Fix build for future versions of Clang.
https://bugs.webkit.org/show_bug.cgi?id=162346
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This fixes issues with the WebCore build where inline
template-class function definitions are marked as exported. This
genereates a weak external symobl that our build does not like.
- runtime/VM.h:
(JSC::VM::setGlobalConstRedeclarationShouldThrow):
Source/WebCore:
This fixes issues with the WebCore build where inline
template-class function definitions are marked as exported. This
genereates a weak external symobl that our build does not like.
- Configurations/WebCore.unexp:
- dom/Exception.h:
- page/Frame.h:
- platform/cocoa/WebPlaybackSessionModelMediaElement.h:
- platform/cocoa/WebVideoFullscreenModelVideoElement.h:
(WebCore::WebVideoFullscreenModelVideoElement::videoElement):
- platform/graphics/Color.h:
- platform/graphics/transforms/TransformationMatrix.h:
(WebCore::TransformationMatrix::rotate):
- platform/mac/WebVideoFullscreenInterfaceMac.h:
- platform/network/ParsedContentRange.h:
(WebCore::ParsedContentRange::ParsedContentRange):
(WebCore::ParsedContentRange::isValid):
- platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::certificateInfo):
- platform/text/TextStream.h:
(WebCore::TextStream::increaseIndent):
(WebCore::TextStream::decreaseIndent):
Source/WTF:
This fixes issues with the WebCore build where inline
template-class function definitions are marked as exported. This
genereates a weak external symobl that our build does not like.
- wtf/text/StringImpl.h:
Tools:
- TestWebKitAPI/Counters.cpp:
- TestWebKitAPI/Counters.h:
(DeleterCounter::deleterCount):
(DeleterCounter::TestingScope::TestingScope):
(DeleterCounter::operator()):
- TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
- 6:23 PM Changeset in webkit [206244] by
-
- 6 edits in trunk/Source
Correct uses of 'safeCast'
https://bugs.webkit.org/show_bug.cgi?id=162301
<rdar://problem/28343658>
Reviewed by Antti Koivisto.
Source/WebCore:
A number of integer calculations in BitmapImage and PDFDocumentImage
are not properly checked for overflow. Correct this.
Tested by fast/images/large-size-image-crash.html
- loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::adjustSize): RELEASE_ASSERT on overflow.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyMetadataAndNotify):
(WebCore::BitmapImage::cacheFrame):
(WebCore::BitmapImage::didDecodeProperties):
(WebCore::BitmapImage::dataChanged):
(WebCore::BitmapImage::ensureFrameAtIndexIsCached):
(WebCore::BitmapImage::frameImageAtIndex):
- platform/graphics/BitmapImage.h:
- platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::decodedSizeChanged):
(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
Source/WTF:
- wtf/StdLibExtras.h:
(WTF::safeCast): RELEASE_ASSERT on overflow.
- 4:50 PM Changeset in webkit [206243] by
-
- 11 edits in trunk
Setting HTMLMeterElement's attributes to non-finite values throws wrong exception type
https://bugs.webkit.org/show_bug.cgi?id=162364
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Merge meter test changes from https://github.com/w3c/web-platform-tests/pull/3791.
- web-platform-tests/html/semantics/forms/the-meter-element/meter-expected.txt:
- web-platform-tests/html/semantics/forms/the-meter-element/meter.html:
Source/WebCore:
Setting HTMLMeterElement's attributes to non-finite values throws wrong exception type.
It should throw a TypeError because their type is 'double' but we throw a
NOT_SUPPORTED_ERR.
Specification:
Firefox and Chrome agree with the specification.
No new tests, updated existing test.
- html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::setMin):
(WebCore::HTMLMeterElement::setMax):
(WebCore::HTMLMeterElement::setValue):
(WebCore::HTMLMeterElement::setLow):
(WebCore::HTMLMeterElement::setHigh):
(WebCore::HTMLMeterElement::setOptimum):
- html/HTMLMeterElement.h:
- html/HTMLMeterElement.idl:
LayoutTests:
Update existing test to reflect behavior change.
- fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js:
- fast/dom/HTMLMeterElement/set-meter-properties-expected.txt:
- 4:20 PM Changeset in webkit [206242] by
-
- 2 edits in trunk/Source/WebCore
Fix open source build.
- platform/spi/cocoa/PassKitSPI.h:
- 4:08 PM Changeset in webkit [206241] by
-
- 2 edits in trunk/Source/WebCore
Fix spelling errors (that were supposed to be part of my previous commit).
- 3:52 PM Changeset in webkit [206240] by
-
- 7 edits in trunk
Fix serialization of HTML Element attributes
https://bugs.webkit.org/show_bug.cgi?id=162356
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic-expected.txt:
- web-platform-tests/html/syntax/serializing-html-fragments/serializing-expected.txt:
Source/WebCore:
Fix serialization of HTML Element attributes to align with:
- https://html.spec.whatwg.org/#html-fragment-serialisation-algorithm
- https://html.spec.whatwg.org/#escapingString
In particular, we should not escape '<' and '>'.
Firefox and Chrome both match the specification.
Note that we keep escaping '<' and '>' for Element attributes in the
context of XML serialization, as per:
No new tests, rebaselined existing test.
- editing/MarkupAccumulator.h:
LayoutTests:
Rebaseline test to reflect behavior change.
- editing/pasteboard/paste-noscript-expected.txt:
- 3:52 PM Changeset in webkit [206239] by
-
- 3 edits in trunk/Source/JavaScriptCore
Inline function only used in one place
https://bugs.webkit.org/show_bug.cgi?id=162363
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-21
Reviewed by Saam Barati.
- bytecompiler/NodesCodegen.cpp:
(JSC::ForInNode::emitBytecode):
(JSC::ForInNode::emitMultiLoopBytecode):
- parser/Nodes.h:
No need for the extra function, it adds no clarification.
- 3:51 PM Changeset in webkit [206238] by
-
- 20 edits in trunk/Source
Source/WebCore:
support openPaymentSetup API on ApplePaySession object
https://bugs.webkit.org/show_bug.cgi?id=162357
rdar://problem/26776939
Reviewed by Tim Horton.
- Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::openPaymentSetup):
Perform security checks and then call into the PaymentCoordiantor. In its completion handler, we resolve the promise.
- Modules/applepay/ApplePaySession.h:
Add new members.
- Modules/applepay/ApplePaySession.idl:
Add openPaymentSetup declaration.
- Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::openPaymentSetup):
Call through to the clients.
- Modules/applepay/PaymentCoordinator.h:
- Modules/applepay/PaymentCoordinatorClient.h:
Add new members.
- loader/EmptyClients.cpp:
Add new stub.
- platform/spi/cocoa/PassKitSPI.h:
Add SPI declaration.
Source/WebKit/mac:
Support openPaymentSetup API on ApplePaySession object
https://bugs.webkit.org/show_bug.cgi?id=162357
rdar://problem/26776939
Reviewed by Tim Horton.
Add openPaymentSetup stub.
- WebCoreSupport/WebPaymentCoordinatorClient.h:
- WebCoreSupport/WebPaymentCoordinatorClient.mm:
(WebPaymentCoordinatorClient::openPaymentSetup):
Source/WebKit2:
support openPaymentSetup API on ApplePaySession object
https://bugs.webkit.org/show_bug.cgi?id=162357
rdar://problem/26776939
Reviewed by Tim Horton.
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::openPaymentSetup):
Call through to platformOpenPaymentSetup, and in the completion handler, send back a OpenPaymentSetupReply message.
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
Add new members.
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in:
Add OpenPaymentSetup message.
- UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformOpenPaymentSetup):
Allocate a PKPassLibrary and call openPaymentSetupForMerchantIdentifier:domain:completion: on it.
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::generateOpenPaymentSetupReplyID):
New helper function to generate a reply ID.
(WebKit::WebPaymentCoordinator::openPaymentSetup):
Add the completion handler to m_pendingOpenPaymentSetupCallbacks and send a OpenPaymentSetup message to the UI process.
(WebKit::WebPaymentCoordinator::openPaymentSetupReply):
Grab the callback given its ID and invoke it.
- WebProcess/ApplePay/WebPaymentCoordinator.h:
Add new members.
- WebProcess/ApplePay/WebPaymentCoordinator.messages.in:
Add OpenPaymentSetupReply message.
- 2:40 PM Changeset in webkit [206237] by
-
- 7 edits in trunk
Web Inspector: Improve output of TestHarness.expect* failures
https://bugs.webkit.org/show_bug.cgi?id=162177
<rdar://problem/28367186>
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
This patch adds specific expectation functions to TestHarness, to better
express intent when writing tests, and to allow more details to be logged
in the event of a failure.
For functions taking both
actualandexpectedparameters, theactual
parameter comes first. This convention simplifies the implementation of
TestHarness, improves the readability of tests involving inequalities,
and is consistent with XCTest assertions.
- UserInterface/Test/TestHarness.js:
(TestHarness):
(TestHarness.prototype.expectThat):
(TestHarness.prototype.expectFalse):
(TestHarness.prototype.expectNull):
(TestHarness.prototype.expectNotNull):
(TestHarness.prototype.expectEqual):
(TestHarness.prototype.expectNotEqual):
(TestHarness.prototype.expectShallowEqual):
(TestHarness.prototype.expectNotShallowEqual):
(TestHarness.prototype.expectEqualWithAccuracy):
(TestHarness.prototype.expectLessThan):
(TestHarness.prototype.expectLessThanOrEqual):
(TestHarness.prototype.expectGreaterThan):
(TestHarness.prototype.expectGreaterThanOrEqual):
New expectation functions, all of which call _expect under the hood.
(TestHarness.prototype._expect):
Helper method which calls pass or fail. Creates a message when no user
message is provided, and logs expected and actual values in the event
of a failure.
(TestHarness.prototype._expectationValueAsString):
(TestHarness.prototype._expectationMessageFormat):
Get a message format string for the expectation type. Used to create
pass/fail message when no user message is provided.
(TestHarness.prototype._expectedValueFormat):
Get a format string for displaying the expected value. Used to create
the "Expected: " failure message line.
LayoutTests:
Extend coverage to more TestHarness messages by omitting the optional
messageparameter when calling expect* functions.
Other improvements:
- expectEqual/expectNotEqual should test WebInspector object instances, to cover more TestHarness message formatting cases.
- expectEqual/expectNotEqual should test shallow equal arrays, since the test is for strict equality.
- inspector/indexeddb/requestData-expected.txt:
- inspector/unit-tests/number-utilities-expected.txt:
Updated expectations for new TestHarness output.
- inspector/unit-tests/test-harness-expect-functions-expected.txt:
- inspector/unit-tests/test-harness-expect-functions.html:
- 2:22 PM Changeset in webkit [206236] by
-
- 22 edits in trunk
Unreviewed, rolling out r206222 and r206227.
https://bugs.webkit.org/show_bug.cgi?id=162361
"broke the windows build" (Requested by keith_mi_ on #webkit).
Reverted changesets:
"Fix build for future versions of Clang."
https://bugs.webkit.org/show_bug.cgi?id=162346
http://trac.webkit.org/changeset/206222
"Attempt to fix windows build after r206222."
http://trac.webkit.org/changeset/206227
- 2:16 PM Changeset in webkit [206235] by
-
- 4 edits in trunk
URLParser should match URL::parse when parsing data urls with slashes in them
https://bugs.webkit.org/show_bug.cgi?id=162352
Reviewed by Darin Adler.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 1:53 PM Changeset in webkit [206234] by
-
- 2 edits in trunk/Source/WebCore
[Win] Null pointer crash under WebCore::CACFLayerTreeHost::create().
https://bugs.webkit.org/show_bug.cgi?id=162266
<rdar://problem/28345073>
Reviewed by Brent Fulgham.
Add null pointer check.
- platform/graphics/ca/win/CACFLayerTreeHost.cpp:
(WebCore::CACFLayerTreeHost::create):
- 1:47 PM Changeset in webkit [206233] by
-
- 5 edits in trunk
Fix enumeration of properties cross origin
https://bugs.webkit.org/show_bug.cgi?id=162328
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
Source/WebCore:
All cross origin properties for Window / Location are supposed to be not enumerable:
Therefore, there should be no properties to iterate on for cross origin Window /
Location objects.
No new tests, rebaselined existing test.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertyNames):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertyNames):
- 1:40 PM Changeset in webkit [206232] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/css/manager-preferredInspectorStyleSheetForFrame.html as flaky on mac.
https://bugs.webkit.org/show_bug.cgi?id=162305
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:19 PM Changeset in webkit [206231] by
-
- 4 edits in trunk
URLParser should fail when parsing invalid relative URLs with no schemes
https://bugs.webkit.org/show_bug.cgi?id=162355
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::copyASCIIStringUntil):
When copying from a null String, is8Bit dereferences a null pointer. We don't want to do that.
(WebCore::URLParser::parse):
What the spec calls a "null" URL matches !url.isValid(), not url.isNull().
The former reflects whether the parsing succeeded,
the latter whether the contained String (which could be an invalid URL) is null.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 12:59 PM Changeset in webkit [206230] by
-
- 2 edits in trunk/Source/WebCore
Document::styleResolverChanged simplification
https://bugs.webkit.org/show_bug.cgi?id=162347
Reviewed by Anders Carlsson.
- dom/Document.cpp:
(WebCore::Document::implicitClose):
(WebCore::Document::setParsing):
(WebCore::Document::write):
(WebCore::Document::styleResolverChanged):
- Remove unncessary AnimationUpdateBlock, it is created by recalcStyle.
- Remove explicit setNeedsLayoutAndPrefWidthsRecalc/scheduleRelayout calls, style resolution invalidates those as needed.
- Remove evaluateMediaQueryList call, that is done on layout as needed.
- Remove the ancient INSTRUMENT_LAYOUT_SCHEDULING and the related printfs.
- 12:42 PM Changeset in webkit [206229] by
-
- 5 edits in trunk/Source
Versioning.
- 12:38 PM Changeset in webkit [206228] by
-
- 1 copy in tags/Safari-603.1.6
New tag.
- 12:33 PM Changeset in webkit [206227] by
-
- 2 edits in trunk/Source/WebCore
Attempt to fix windows build after r206222.
- page/MainFrame.h:
(WebCore::Frame::isMainFrame):
- 12:09 PM Changeset in webkit [206226] by
-
- 17 edits2 adds in trunk
Add a Fence opcode to B3
https://bugs.webkit.org/show_bug.cgi?id=162343
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
This adds the most basic fence support to B3. Currently, this is optimal on x86 and correct
on ARM. It also happens to be sufficient and optimal for what we'll do in the concurrent GC.
The idea of Fence is that it can represent any standalone fence instruction by having two
additional params: a read range and a write range. If the write range is empty, this is
taken to be a store-store fence, which turns into zero code on x86 and a cheaper fence on
ARM.
It turns out that this is powerful enough to express store-load and store-store fences. For
load-store and load-load fences, you wouldn't have wanted to use any code on x86 and you
wouldn't have wanted a standalone barrier on ARM. For those cases, you'd want either a
fenced load (load acquire) or a dependency. See bug 162349 and bug 162350, respectively.
This isn't yet optimized for store-store fences on ARM because we don't have the
MacroAssembler support. Also, the support for "dmb ish" is not really what we want (it seems
to use a heavier fence). I don't think that this is urgent because of how the concurrent GC
will use this facility. I've left that to bug 162342.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/MacroAssemblerCodeRef.cpp:
(JSC::MacroAssemblerCodeRef::tryToDisassemble):
(JSC::MacroAssemblerCodeRef::disassembly):
- assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodeRef::size): Deleted.
(JSC::MacroAssemblerCodeRef::tryToDisassemble): Deleted.
- b3/B3Compilation.h:
(JSC::B3::Compilation::codeRef):
(JSC::B3::Compilation::disassembly):
(JSC::B3::Compilation::code): Deleted.
- b3/B3Effects.h:
- b3/B3FenceValue.cpp: Added.
(JSC::B3::FenceValue::~FenceValue):
(JSC::B3::FenceValue::cloneImpl):
(JSC::B3::FenceValue::FenceValue):
- b3/B3FenceValue.h: Added.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::lower):
- b3/B3Opcode.cpp:
(WTF::printInternal):
- b3/B3Opcode.h:
- b3/B3Validate.cpp:
- b3/B3Value.cpp:
(JSC::B3::Value::effects):
- b3/air/AirOpcode.opcodes:
- b3/testb3.cpp:
(JSC::B3::checkUsesInstruction):
(JSC::B3::checkDoesNotUseInstruction):
(JSC::B3::testX86MFence):
(JSC::B3::testX86CompilerFence):
(JSC::B3::run):
Websites/webkit.org:
- docs/b3/intermediate-representation.html:
- 11:42 AM Changeset in webkit [206225] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge 206216 - Unreviewed, build fix.
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::paint): fix usage of deviceScaleFactor variable which was
removed.
- 11:41 AM Changeset in webkit [206224] by
-
- 2 edits in trunk/Source/WebCore
New DocumentLoader logging causes crashes
https://bugs.webkit.org/show_bug.cgi?id=162348
<rdar://problem/28404744>
Patch by Keith Rollin <Keith Rollin> on 2016-09-21
Reviewed by Chris Dumez
Check for NULL m_frame before using it.
No new tests -- no tests for logging, though this issue was found by
contentfiltering/block-after-will-send-request-then-allow-unblock.html
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
- 11:33 AM Changeset in webkit [206223] by
-
- 2 edits in trunk/Source/WebCore
Optimize URLParser
https://bugs.webkit.org/show_bug.cgi?id=162338
Reviewed by Tim Horton.
No change in behavior. Just a marginal performance improvement.
- platform/URLParser.cpp:
(WebCore::isValidSchemeCharacter):
Added to reduce branches when parsing the scheme of a URL. Now there is a table lookup instead of many range checks.
(WebCore::URLParser::parse):
Use appendVector, which uses memcpy.
(WebCore::URLParser::parseHostAndPort):
If we know that we are parsing the serialized output of a valid URL,
we do not need to convert host characters to lower case.
They are already lower case.
- 11:24 AM Changeset in webkit [206222] by
-
- 21 edits in trunk
Fix build for future versions of Clang.
https://bugs.webkit.org/show_bug.cgi?id=162346
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
This fixes issues with the WebCore build where inline
template-class function definitions are marked as exported. This
genereates a weak external symobl that our build does not like.
- runtime/VM.h:
(JSC::VM::setGlobalConstRedeclarationShouldThrow):
Source/WebCore:
This fixes issues with the WebCore build where inline
template-class function definitions are marked as exported. This
genereates a weak external symobl that our build does not like.
- Configurations/WebCore.unexp:
- dom/Exception.h:
- page/Frame.h:
- platform/cocoa/WebPlaybackSessionModelMediaElement.h:
- platform/cocoa/WebVideoFullscreenModelVideoElement.h:
(WebCore::WebVideoFullscreenModelVideoElement::videoElement):
- platform/graphics/Color.h:
- platform/graphics/transforms/TransformationMatrix.h:
(WebCore::TransformationMatrix::rotate):
- platform/mac/WebVideoFullscreenInterfaceMac.h:
- platform/network/ParsedContentRange.h:
(WebCore::ParsedContentRange::ParsedContentRange):
(WebCore::ParsedContentRange::isValid):
- platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::certificateInfo):
- platform/text/TextStream.h:
(WebCore::TextStream::increaseIndent):
(WebCore::TextStream::decreaseIndent):
Source/WTF:
This fixes issues with the WebCore build where inline
template-class function definitions are marked as exported. This
genereates a weak external symobl that our build does not like.
- wtf/text/StringImpl.h:
Tools:
- TestWebKitAPI/Counters.cpp:
- TestWebKitAPI/Counters.h:
(DeleterCounter::deleterCount):
(DeleterCounter::TestingScope::TestingScope):
(DeleterCounter::operator()):
- TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
- 11:23 AM Changeset in webkit [206221] by
-
- 10 edits2 adds in trunk
Object.getOwnPropertyDescriptor() does not work correctly cross origin
https://bugs.webkit.org/show_bug.cgi?id=162311
Reviewed by Gavin Barraclough.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
Source/JavaScriptCore:
Add a CustomGetterSetter field to PropertySlot that gets populated
by getOwnPropertySlot() and use it in getOwnPropertyDescriptor()
to properly populate the descriptor. We used to rely on reifying
the properties and then call getDirect() in order to get the
CustomGetterSetter. However, this hack was insufficient to support
the cross-origin case because we need to control more precisely
the visibility of the getter and the setter. For example, Location's
href property has both a getter and a setter in the same origin
case but only has a setter in the cross-origin case.
In the future, we can extend the use of PropertySlot's
customGetterSetter field to the same origin case and get rid of the
reification + getDirect() hack in getOwnPropertyDescriptor().
- runtime/JSObject.cpp:
(JSC::JSObject::getOwnPropertyDescriptor):
- runtime/PropertySlot.cpp:
(JSC::PropertySlot::customAccessorGetter):
- runtime/PropertySlot.h:
Source/WebCore:
Object.getOwnPropertyDescriptor() does not work correctly cross origin. In particular:
- We return value descriptors for attributes instead of getter/setter descriptors
- attributes / operations are wrongly marked as non-configurable
Corresponding specification:
- https://html.spec.whatwg.org/#crossoriginproperties-(-o-)
- https://html.spec.whatwg.org/#crossorigingetownpropertyhelper-(-o,-p-)
Test: http/tests/security/cross-origin-descriptors.html
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertySlotDelegate):
LayoutTests:
Add layout test coverage.
- http/tests/security/cross-origin-descriptors-expected.txt: Added.
- http/tests/security/cross-origin-descriptors.html: Added.
- 11:04 AM Changeset in webkit [206220] by
-
- 2 edits in trunk/Tools
Prepare API tests for enabling URLParser by default
https://bugs.webkit.org/show_bug.cgi?id=162341
Reviewed by Tim Horton.
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
(TestWebKitAPI::shouldFail):
- 11:02 AM Changeset in webkit [206219] by
-
- 4 edits in trunk
URLParser: Correctly parse URLs that are just nonspecialscheme:/
https://bugs.webkit.org/show_bug.cgi?id=162340
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
r206162 wasn't quite right. If a url is just nonspecialscheme:/ then the path should indeed be /
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:00 AM Changeset in webkit [206218] by
-
- 4 edits in trunk
URLParser: correctly parse relative URLs that are just one character
https://bugs.webkit.org/show_bug.cgi?id=162344
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 10:44 AM Changeset in webkit [206217] by
-
- 4 edits11 adds in trunk
REGRESSION (r201090): Setting style.webkitTextSizeAdjust does not change text change on iPad
https://bugs.webkit.org/show_bug.cgi?id=162227
<rdar://problem/27201529>
Reviewed by Simon Fraser.
Source/WebCore:
The CSS property -webkit-text-size-adjust should be respected on all iOS devices. Following
r201090 we respect it only on iPhone and in iPhone-apps run on iPad.
Tests: fast/text-autosizing/ios/ipad/programmatic-text-size-adjust.html
fast/text-autosizing/ios/ipad/text-size-adjust-inline-style.html
fast/text-autosizing/ios/programmatic-text-size-adjust.html
fast/text-autosizing/ios/text-size-adjust-inline-style.html
fast/text-autosizing/text-size-adjust-inline-style.html
- css/parser/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue): Remove unused code to validate -webkit-text-size-adjust.
This code is never used because -webkit-text-size-adjust is a value property (since it accepts a
<percentage> as a value and CSSParserFastPaths::isKeywordPropertyID(CSSPropertyWebkitTextSizeAdjust)
returns false). That is, it is not a keyword property.
(WebCore::CSSParser::parseValue): Always enable the -webkit-text-size-adjust CSS property when
building for iOS regardless of whether Settings:textAutosizingEnabled() is enabled.
LayoutTests:
Add tests to ensure setting the CSS property -webkit-text-size-adjust in a stylesheet or
programmatically is respected on iPhone and iPad. Also added a test to ensure that this
CSS property is ignored on macOS by default.
Note that we have existing tests that ensure that -webkit-text-size-adjust is respected
on macOS when the internal setting Settings::textAutosizingEnabled() is enabled.
- fast/text-autosizing/ios/ipad/programmatic-text-size-adjust-expected.txt: Added.
- fast/text-autosizing/ios/ipad/programmatic-text-size-adjust.html: Added.
- fast/text-autosizing/ios/ipad/text-size-adjust-inline-style-expected.html: Added.
- fast/text-autosizing/ios/ipad/text-size-adjust-inline-style.html: Added.
- fast/text-autosizing/ios/programmatic-text-size-adjust-expected.txt: Added.
- fast/text-autosizing/ios/programmatic-text-size-adjust.html: Added.
- fast/text-autosizing/ios/text-size-adjust-inline-style-expected.html: Added.
- fast/text-autosizing/ios/text-size-adjust-inline-style.html: Added.
- fast/text-autosizing/text-size-adjust-inline-style-expected.html: Added.
- fast/text-autosizing/text-size-adjust-inline-style.html: Added.
- platform/mac/TestExpectations: Skip the iOS and iPad tests on Mac. Otherwise, they will fail
because these tests intentionally do not call window.internal.settings.setTextAutosizingEnabled(true)
so as to test the default port behavior. And on Mac automatic text size adjustment is disabled
by default.
- 10:35 AM Changeset in webkit [206216] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, build fix.
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::paint): fix usage of deviceScaleFactor variable which was
removed.
- 10:20 AM Changeset in webkit [206215] by
-
- 3 edits in trunk/LayoutTests
Unreviewed gardening; after r206208, update url-null.html test to reflect current (specced) behavior.
- fast/files/url-null-expected.txt:
- fast/files/url-null.html:
- 10:16 AM Changeset in webkit [206214] by
-
- 2 edits in trunk/LayoutTests/imported/w3c
Unreviewed gardening; add some whitespace to expected results.
- web-platform-tests/media-source/URL-createObjectURL-null-expected.txt:
- 9:28 AM Changeset in webkit [206213] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Build fails with GSTREAMER_GL enabled
https://bugs.webkit.org/show_bug.cgi?id=162337
Patch by Miguel Gomez <magomez@igalia.com> on 2016-09-21
Reviewed by Michael Catanzaro.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext): Remove uneeded const.
- 9:26 AM Changeset in webkit [206212] by
-
- 7 edits in trunk/Source/JavaScriptCore
FTL needs to reserve callee stack space in bytes
https://bugs.webkit.org/show_bug.cgi?id=162324
Reviewed by Geoffrey Garen.
Changed two instances where we call B3::Procedure::requestCallArgAreaSize() with the
number of JSValue sized objects of stack space instead of bytes. The correct units
to use is bytes.
Renamed both the Air and B3 related callArgAreaSize() to callArgAreaSizeInBytes().
No new tests as this doesn't surface as an issue when arguments are passed on the stack.
- b3/B3Procedure.cpp:
(JSC::B3::Procedure::callArgAreaSizeInBytes):
(JSC::B3::Procedure::requestCallArgAreaSizeInBytes):
(JSC::B3::Procedure::callArgAreaSize): Deleted.
(JSC::B3::Procedure::requestCallArgAreaSize): Deleted.
- b3/B3Procedure.h:
- b3/air/AirAllocateStack.cpp:
(JSC::B3::Air::allocateStack):
- b3/air/AirCCallingConvention.cpp:
(JSC::B3::Air::computeCCallingConvention):
- b3/air/AirCode.h:
(JSC::B3::Air::Code::callArgAreaSizeInBytes):
(JSC::B3::Air::Code::requestCallArgAreaSizeInBytes):
(JSC::B3::Air::Code::callArgAreaSize): Deleted.
(JSC::B3::Air::Code::requestCallArgAreaSize): Deleted.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs):
(JSC::FTL::DFG::LowerDFGToB3::compileCallEval):
- 9:25 AM Changeset in webkit [206211] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r206127): ASSERTION FAILED: !isClosed() in WebCore::MediaSource::detachFromElement
https://bugs.webkit.org/show_bug.cgi?id=162307
Reviewed by Eric Carlson.
The test is crashing when the ScriptExecutionContext is calling stop() on the media element before
it's attached MediaSource has been open()ed, which is a valid state. Removing this ASSERT().
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::detachFromElement):
- 9:16 AM Changeset in webkit [206210] by
-
- 3 edits2 adds in trunk/LayoutTests
LayoutTests/imported/w3c:
Unreviewed gardening; added test expectations for new tests.
- web-platform-tests/media-source/mediasource-attach-stops-delaying-load-event-expected.txt: Added.
- web-platform-tests/media-source/mediasource-sourcebuffer-mode-timestamps-expected.txt: Added.
LayoutTests:
Unreviewed gardening; mark imported/w3c/web-platform-tests/media-source/ tests as passing by default
and mark specific tests to skip or fail (rather than vice versa).
- platform/mac/TestExpectations:
- 9:13 AM Changeset in webkit [206209] by
-
- 4 edits in trunk
[media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-activesourcebuffers.html
https://bugs.webkit.org/show_bug.cgi?id=162257
Reviewed by Eric Carlson.
Source/WebCore:
Some of the conditions in the track changed methods were reversed, and all failed to schedule
a change event.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::videoTrackSelectedChanged):
(WebCore::SourceBuffer::audioTrackEnabledChanged):
(WebCore::SourceBuffer::textTrackModeChanged):
LayoutTests:
- platform/mac/TestExpectations:
- 9:12 AM Changeset in webkit [206208] by
-
- 21 edits in trunk
[media-source] Fix imported/w3c/web-platform-tests/media-source/URL-createObjectURL-null.html
https://bugs.webkit.org/show_bug.cgi?id=162299
Reviewed by Eric Carlson.
Source/WebCore:
URL.createObjectURL() should not take an optional parameter (nor return an optional String).
(Ref: https://w3c.github.io/FileAPI/#dfn-createObjectURL)
- Modules/mediasource/DOMURLMediaSource.cpp:
(WebCore::DOMURLMediaSource::createObjectURL):
- Modules/mediasource/DOMURLMediaSource.h:
- Modules/mediasource/DOMURLMediaSource.idl:
- Modules/mediasource/MediaSourceRegistry.cpp:
(WebCore::MediaSourceRegistry::registerURL):
- Modules/mediasource/MediaSourceRegistry.h:
- Modules/mediastream/DOMURLMediaStream.cpp:
(WebCore::DOMURLMediaStream::createObjectURL):
- Modules/mediastream/DOMURLMediaStream.h:
- Modules/mediastream/DOMURLMediaStream.idl:
- Modules/mediastream/MediaStreamRegistry.cpp:
(WebCore::MediaStreamRegistry::registerURL):
- Modules/mediastream/MediaStreamRegistry.h:
- fileapi/Blob.cpp:
(WebCore::BlobURLRegistry::registerURL):
- html/DOMURL.cpp:
(WebCore::DOMURL::createObjectURL):
(WebCore::DOMURL::createPublicURL):
- html/DOMURL.h:
- html/DOMURL.idl:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setSrcObject):
- html/PublicURLManager.cpp:
(WebCore::PublicURLManager::registerURL):
- html/PublicURLManager.h:
- html/URLRegistry.h:
LayoutTests:
- platform/mac/TestExpectations:
- 5:39 AM Changeset in webkit [206207] by
-
- 3 edits in trunk/Source/JavaScriptCore
[ARM] Unreviewed buildfix after r206136.
- assembler/MacroAssembler.h:
- assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::branchPtr): Added.
- 5:16 AM WebKitGTK/Roadmap edited by
- Remove Iulian as primary contact of GAction work, mark as stalled (diff)
- 5:15 AM WebKitGTK/Roadmap edited by
- Use a different bug to track sandboxing, remove my name as primary contact (diff)
- 2:56 AM Changeset in webkit [206206] by
-
- 17 edits in trunk
[Fetch] Align Accept header default values with fetch spec
https://bugs.webkit.org/show_bug.cgi?id=162260
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-21
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Ensuring Accept and Accept-Language user-specific values are going up to the server.
- web-platform-tests/fetch/api/basic/accept-header-expected.txt:
- web-platform-tests/fetch/api/basic/accept-header-worker-expected.txt:
- web-platform-tests/fetch/api/basic/accept-header.js:
(promise_test):
Source/WebCore:
Covered by existing and updated tests.
To start implementing step 1 to 7 of fetch algorithm, this patch updates Accept header handling.
Default values are set according the spec based on resource type.
Some resource types are not defined in the spec and we keep using existing values.
We check if Accept header is already present in the request. If that is the case, no change is done to that header.
If the Accept header is not set, the default value '*/*' is used.
An Accept header is therefore always set at CachedResourceLoader level.
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Removing accept initialization.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load): Removing accept header setting.
- loader/cache/CachedResource.h:
(WebCore::CachedResource::accept): Deleted.
(WebCore::CachedResource::setAccept): Deleted.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::acceptHeaderValueFromType): helper routine merging fetch spec and existing WebKit accept values.
(WebCore::CachedResourceLoader::prepareFetch): Should implement step 1 to 7 of https://fetch.spec.whatwg.org/#fetching.
(WebCore::CachedResourceLoader::requestResource): Making use of prepareFetch.
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedSVGDocument.cpp:
(WebCore::CachedSVGDocument::CachedSVGDocument): Removing accept initialization.
- loader/cache/CachedScript.cpp:
(WebCore::CachedScript::CachedScript): Removing accept initialization.
- loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): Removing accept initialization.
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::hasHTTPHeader): Introduced to check for header presence.
- platform/network/ResourceRequestBase.h:
LayoutTests:
- http/tests/misc/resources/image-checks-for-accept.php: Updated according new image Accept header value.
- 2:48 AM Changeset in webkit [206205] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Fix build failure of ScrollbarThemeGtk with libc++
https://bugs.webkit.org/show_bug.cgi?id=162302
Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-09-21
Reviewed by Carlos Garcia Campos.
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paint): Add missing #include <cstdlib>
- 2:44 AM Changeset in webkit [206204] by
-
- 3 edits in trunk/Source/WebCore
[OpenWebRTC] Miscellaneous fixes
https://bugs.webkit.org/show_bug.cgi?id=162332
Reviewed by Alejandro G. Castro.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::currentTime): Improved logging.
(WebCore::MediaPlayerPrivateGStreamerOwr::load): Ditto.
(WebCore::MediaPlayerPrivateGStreamerOwr::loadingFailed): Ditto.
(WebCore::MediaPlayerPrivateGStreamerOwr::createGSTAudioSinkBin):
Pre-roll the autoaudiosink, fetch the underlying platform audio
sink and pass it to the OpenWebRTC renderer.
(WebCore::MediaPlayerPrivateGStreamerOwr::maybeHandleChangeMutedState): Improved logging.
(WebCore::MediaPlayerPrivateGStreamerOwr::setSize): Don't configure invalid video renderer.
- platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
(WebCore::RealtimeMediaSourceCenterOwr::createMediaStream): Fix copy-paste error.
- 2:28 AM WebKitGTK/Roadmap edited by
- (diff)
- 2:25 AM WebKitGTK/Roadmap edited by
- (diff)
- 1:43 AM Changeset in webkit [206203] by
-
- 14 edits in trunk/Source/WebCore
Refactor CachedResourceLoader::canRequest
https://bugs.webkit.org/show_bug.cgi?id=162144
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-21
Reviewed by Darin Adler.
Covered by existing tests.
Simplifying CachedResourceLoader::canRequest by doing:
- CSP checks in another method
- Removing Same-Origin type-specific checks by setting FetchOptions::Mode appropriately in resource loader clients
- Moving script specific check in ScriptElement
Note that the last check may affect the loading behavior in the case scripts are enabled when starting the load
of a script, but gets disabled before receiving a redirection for the script load.
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet): Setting XSLT stylesheet fetch mode to SameOrigin.
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestScriptWithCache): Returning early if scripts are disabled.
- loader/CrossOriginPreflightChecker.cpp:
(WebCore::CrossOriginPreflightChecker::startPreflight): Bypassing CSP checks.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource): Bypassing CSP checks as CachedResourceLoader was not
checking them for MainResource.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest): Ditto.
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::preloadIfNeeded): Using new CachedResourceRequest constructor to enable moving the ResourceRequest.
(WebCore::LinkLoader::loadLink): Skipping CSP checks for link prefetch/subresources as CachedResourceLoader was
not checking them for Link Prefetch and Subresource types.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::allowedByContentSecurityPolicy): Helper routine to check for CSP.
(WebCore::CachedResourceLoader::canRequest): Making use of introduced helper routine.
Simplified same origin check as all requests should have their options set.
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::CachedResourceRequest): More efficient constructor.
- loader/cache/CachedResourceRequest.h:
- loader/cache/CachedSVGDocumentReference.cpp:
(WebCore::CachedSVGDocumentReference::load): Setting fetch mode to SameOrigin.
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::updateExternalDocument): Ditto.
- xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::loadSheet): Ditto.
- 12:48 AM Changeset in webkit [206202] by
-
- 3 edits in trunk/Source/WebCore
Build fails with GSTREAMER_GL when both desktop GL and GLES2 are enabled in gst-plugins-bad
https://bugs.webkit.org/show_bug.cgi?id=159562
Patch by Miguel Gomez <magomez@igalia.com> on 2016-09-21
Reviewed by Philippe Normand.
Refactor video orientation code so including TextureMapperGL in MediaPlayerPrivateGStreamerBase.h
is not necessary.
Covered by existent tests.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::texMapFlagFromOrientation):
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor):
(WebCore::MediaPlayerPrivateGStreamerBase::paintToTextureMapper):
(WebCore::MediaPlayerPrivateGStreamerBase::setVideoSourceOrientation):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- 12:14 AM Changeset in webkit [206201] by
-
- 4 edits193 adds in trunk/LayoutTests
Import html/syntax web platform tests
https://bugs.webkit.org/show_bug.cgi?id=162331
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Import html/syntax web platform tests to improve test coverage.
- web-platform-tests/html/syntax/*: Added.
LayoutTests:
- tests-options.json:
- 12:09 AM Changeset in webkit [206200] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Fix build failure in clipboard support
https://bugs.webkit.org/show_bug.cgi?id=162261
Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-09-21
Reviewed by Carlos Garcia Campos.
- platform/PlatformPasteboard.h: Add missing #include <functional>
- platform/gtk/PasteboardHelper.h: Add missing #include <functional>
Sep 20, 2016:
- 11:44 PM Changeset in webkit [206199] by
-
- 2 edits in trunk/Source/WebCore
VariadicHelper::Result should not include constructor to initialize members
https://bugs.webkit.org/show_bug.cgi?id=162298
Reviewed by Darin Adler.
Remove the constructor since member-wise initialization does the same thing.
No new tests required.
- bindings/js/JSDOMBinding.h: Remove useless constructor.
- 11:42 PM WebKitGTK/Roadmap edited by
- (diff)
- 11:34 PM Changeset in webkit [206198] by
-
- 4 edits in trunk
Optimize URLParser
https://bugs.webkit.org/show_bug.cgi?id=162105
Reviewed by Geoffrey Garen.
Source/WebCore:
Covered by new API tests.
This is about a 5% speedup on my URLParser benchmark.
- platform/URLParser.cpp:
(WebCore::percentEncodeByte):
(WebCore::utf8PercentEncode):
(WebCore::utf8QueryEncode):
(WebCore::encodeQuery):
(WebCore::URLParser::parse):
(WebCore::serializeURLEncodedForm):
(WebCore::percentEncode): Deleted.
(WebCore::utf8PercentEncodeQuery): Deleted.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:17 PM Changeset in webkit [206197] by
-
- 28 edits in trunk/Source
[GTK] Clean up DataObjectGtk handling
https://bugs.webkit.org/show_bug.cgi?id=162267
Reviewed by Michael Catanzaro.
Source/WebCore:
- platform/Pasteboard.h: Use Ref instead of RefPtr for DataObjectGtk member.
- platform/PasteboardStrategy.h: Pass a const reference to DataObjectGtk in write method and return a Ref from read.
- platform/PlatformPasteboard.h: Ditto.
- platform/gtk/DataObjectGtk.h:
(WebCore::DataObjectGtk::image): Use Image instead of GdkPixbuf.
(WebCore::DataObjectGtk::setImage):
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::createForDragAndDrop): Use a reference instead of a pointer.
(WebCore::Pasteboard::Pasteboard): Receives a reference, so we can also remove the ASSERT.
(WebCore::Pasteboard::dataObject):
(WebCore::Pasteboard::writeToClipboard): Remove the ShouldIncludeSmartPaste parameter, callers should also update
canSmartPaste property of DataObjectGtk before calling this.
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::write): Do not convert the image the GdkPixbuf, pass the image to the DataObjectGtk instead.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::fillSelectionData): Convert the DataObjectGtk image to GdkPixbuf right before
passing it to gtk_selection_data_set_pixbuf().
(WebCore::ClipboardSetData::ClipboardSetData): Use reference instead of pointer.
(WebCore::getClipboardContentsCallback):
(WebCore::clearClipboardContentsCallback): Never clear the saved DataObjectGtk, that was only needed when we had
a global DataObjectGtk associated to a GtkClipboard.
(WebCore::PasteboardHelper::writeClipboardContents): Use TemporaryChange to set the settingClipboardDataObject global.
- platform/gtk/PlatformPasteboardGtk.cpp:
(WebCore::PlatformPasteboard::writeToClipboard):
(WebCore::PlatformPasteboard::readFromClipboard):
Source/WebKit2:
In some cases the ownership of DataObjectGtk instances is not clear enough, and we have hacks to avoid memory
leaks because of that.
- Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::encodeImage): Use Image instead of GdkPixbuf.
(IPC::decodeImage): Ditto.
(IPC::ArgumentCoder<DataObjectGtk>::encode):
(IPC::ArgumentCoder<DataObjectGtk>::decode):
(IPC::encode): Deleted.
(IPC::decode): Deleted.
(IPC::ArgumentCoder<DragData>::encode): Deleted.
(IPC::ArgumentCoder<DragData>::decode): Deleted.
- Shared/gtk/ArgumentCodersGtk.h:
- Shared/gtk/PasteboardContent.cpp:
(WebKit::PasteboardContent::PasteboardContent): Add empty constructor that creates a new DataObjectGtk, a
constructor that receives a const reference and another one that takes the ownership of the given DataObjectGtk.
(WebKit::PasteboardContent::encode):
(WebKit::PasteboardContent::decode):
- Shared/gtk/PasteboardContent.h: Use Ref instead of RefPtr for the DataObjectGtk member.
- UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::startDrag): Transfer the DataObjectGtk to the DragAndDropHandler, instead of using DragData.
- UIProcess/API/gtk/PageClientImpl.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::performDragControllerAction): Instead of sending a DragData object to the web process,
send the DataObjectGtk and DragData members needed as parameters.
(WebKit::WebPageProxy::startDrag): Transfer the received DataObjectGtk to page client, instead of using
DragData. Also notify the web process that drag started.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in: Update StartDrag message parameters.
- UIProcess/gtk/DragAndDropHandler.cpp:
(WebKit::DragAndDropHandler::DragAndDropHandler): Remove unneeded initialization.
(WebKit::DragAndDropHandler::startDrag): Take ownership of the given DataObjectGtk.
- UIProcess/gtk/DragAndDropHandler.h:
- UIProcess/gtk/WebPasteboardProxyGtk.cpp:
(WebKit::WebPasteboardProxy::writeToClipboard):
(WebKit::WebPasteboardProxy::readFromClipboard):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::writeToClipboard):
(WebKit::WebPlatformStrategies::readFromClipboard):
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::convertCairoSurfaceToShareableBitmap):
(WebKit::WebDragClient::startDrag): Do not create a DragData and pass the DataObjectGtk directly to the
message. Also notify the WebPage that drag is about to start.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performDragControllerAction): Remove explicit DataObjectGtk derefs and simply create a
DragData using the DataObjectGtk pointer as platform data.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Update PerformDragControllerAction message parameters.
- 8:10 PM Changeset in webkit [206196] by
-
- 20 edits in trunk/Source
Require WTFMove for String::adopt
https://bugs.webkit.org/show_bug.cgi?id=162313
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- runtime/JSStringBuilder.h:
(JSC::JSStringBuilder::build):
Source/WebCore:
No change in behavior. This just makes it more clear what is going on when a String adopts a Vector.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readString):
- css/parser/CSSParser.cpp:
(WebCore::quoteCSSStringInternal):
- dom/Document.cpp:
(WebCore::canonicalizedTitle):
- html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::normalizeSpaces):
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::takeRemainingWhitespace):
- platform/Length.cpp:
(WebCore::newCoordsArray):
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::serialize):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::ReplicaState::cloneID):
- platform/text/TextCodecUTF16.cpp:
(WebCore::TextCodecUTF16::decode):
- platform/text/TextCodecUTF8.cpp:
(WebCore::TextCodecUTF8::decode):
- platform/text/mac/TextCodecMac.cpp:
(WebCore::TextCodecMac::decode):
Source/WTF:
- wtf/text/StringImpl.cpp:
(WTF::StringImpl::removeCharacters):
(WTF::StringImpl::simplifyMatchedCharactersToSpace):
(WTF::StringImpl::adopt):
- wtf/text/StringImpl.h:
(WTF::StringImpl::adopt):
- wtf/text/WTFString.h:
(WTF::String::adopt):
- 7:46 PM Changeset in webkit [206195] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Reload unexpectedly switches to Storage Tab
https://bugs.webkit.org/show_bug.cgi?id=162323
<rdar://problem/28393954>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-20
Reviewed by Matt Baker.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
We aren't stealing if the ContentView doesn't yet have a parent!
This fixes restoration when switching to the Storage tab at a
later time after a reload.
- UserInterface/Views/StorageSidebarPanel.js:
(WebInspector.StorageSidebarPanel._treeSelectionDidChange):
Don't showRepresentedObject if we aren't visible. That would force this
tab to the foreground and we don't want that. This only happens when
tree elements are removed (main frame navigation) and TreeOutline
selects the next available tree element.
(WebInspector.StorageSidebarPanel.prototype._storageCleared):
Simplify and close all content views. We were missing IndexedDB content views.
- 7:34 PM Changeset in webkit [206194] by
-
- 2 edits in trunk/Source/WebKit2
[EFL] ewk_context_menu_item_select test have been failed
https://bugs.webkit.org/show_bug.cgi?id=162143
Reviewed by Gyuyoung Kim.
ewk_context_menu_item_select has been waited until test page loading is finished, but it is
unnecessary to wait the loading is finished. It would be good to pass if *testFinished*
flag is true.
- UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
(EWK2ContextMenuTest::checkBasicContextMenuItem):
(EWK2ContextMenuTest::testContextMenu):
(TEST_F):
- 6:10 PM Changeset in webkit [206193] by
-
- 10 edits in trunk/Source/WebCore
Adopt MRMediaRemoteSetParentApplication.
https://bugs.webkit.org/show_bug.cgi?id=162259
<rdar://problem/28376161>
Reviewed by Anders Carlsson.
Allow MediaSessionManagerMac to retrieve the correct parent application identifier
from a PlatformMediaSession so that it can pass that identifier through to MediaRemote
via MRMediaRemoteSetParentApplication.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::sourceApplicationIdentifier):
- Modules/webaudio/AudioContext.h:
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::sourceApplicationIdentifier):
- platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSession::resetPlaybackSessionState): Deleted.
- platform/audio/mac/MediaSessionManagerMac.mm:
(WebCore::MediaSessionManagerMac::updateNowPlayingInfo):
- platform/mac/MediaRemoteSoftLink.cpp:
- platform/mac/MediaRemoteSoftLink.h:
- 6:03 PM Changeset in webkit [206192] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION(r205692): Minified builds have broken inspector
https://bugs.webkit.org/show_bug.cgi?id=162327
<rdar://problem/28370137>
Reviewed by Matt Baker.
- Scripts/cssmin.py:
(cssminify):
Converge on the newer cssmin that we mistakenly dropped in r205692.
This knows how to handle more cases.
- 5:34 PM Changeset in webkit [206191] by
-
- 1 copy in tags/Safari-602.2.11
New tag.
- 5:27 PM Changeset in webkit [206190] by
-
- 3 edits2 adds in trunk
AX: AppleVisUser: VO can't navigate web dialogs iOS10
https://bugs.webkit.org/show_bug.cgi?id=162322
Reviewed by Chris Fleizach.
Source/WebCore:
When using VoiceOver to navigate a web dialog's children, we were setting focus
onto the focusable parent in accessibilityElementDidBecomeFocused. When the focusable
parent is the dialog, it will cause the VO cursor jumping back and forward. Fixed it
by not setting focus on web dialogs in such case.
Test: accessibility/ios-simulator/dialog-did-become-focused.html
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityElementDidBecomeFocused]):
LayoutTests:
- accessibility/ios-simulator/dialog-did-become-focused-expected.txt: Added.
- accessibility/ios-simulator/dialog-did-become-focused.html: Added.
- 5:27 PM Changeset in webkit [206189] by
-
- 12 edits in trunk/Source
Add new logging for network resource loading
https://bugs.webkit.org/show_bug.cgi?id=162237
Reviewed by Antti Koivisto.
Add new logging along the non-main path for resource loading. This
logging should allow us to differentiate between lack-of-logging due
execution along a path that doesn't have logging statements and
lack-of-logging due to a hung process.
Source/WebCore:
No new tests -- there are no tests for logging.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
(WebCore::DocumentLoader::isAlwaysOnLoggingAllowed):
- loader/DocumentLoader.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::isAlwaysOnLoggingAllowed):
- loader/cache/CachedResourceLoader.h:
- page/Frame.h:
Source/WebKit2:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::setDefersLoading):
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::didReceiveBuffer):
- NetworkProcess/NetworkResourceLoader.h:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResource):
(WebKit::WebLoaderStrategy::scheduleLoad):
- 5:25 PM Changeset in webkit [206188] by
-
- 5 edits2 adds in trunk
REGRESSION (r204552): Athlete search on Strava gives bad rendering.
https://bugs.webkit.org/show_bug.cgi?id=162250
Reviewed by Simon Fraser.
Source/WebCore:
Test: fast/layers/blank-content-when-child-layer-is-at-negative-big-number.html
- platform/graphics/LayoutRect.cpp:
(WebCore::LayoutRect::checkedUnite):
- platform/graphics/LayoutRect.h:
(WebCore::LayoutRect::isMaxXMaxYRepresentable):
(WebCore::LayoutRect::maxXMaxYCorner): Deleted.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
LayoutTests:
While computing the size of a particular layer, we unite the content size and the descendant layers' size.
If a descendant layer is positioned far off, the computed rectangle might not fully cover the original rectangles.
This happens when the 2 rectangles' distance is close to the maximum LayoutUnit value.
It's fairly common technic to put some content offscreen (top: -99999999px;). In order to keep the main content
visible, we need to ensure that the parent layer never gets cut off, while uniting it with the descendant layers.
- fast/layers/blank-content-when-child-layer-is-at-negative-big-number-expected.html: Added.
- fast/layers/blank-content-when-child-layer-is-at-negative-big-number.html: Added.
- 5:21 PM Changeset in webkit [206187] by
-
- 2 edits in trunk/Tools
enable remote_api (for debugging) in flakiness dashboard app
https://bugs.webkit.org/show_bug.cgi?id=162325
Reviewed by Alexey Proskuryakov.
- TestResultServer/app.yaml: enabled remote_api and datastore_admin.
- 4:58 PM Changeset in webkit [206186] by
-
- 5 edits in trunk
[media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-appendwindow.html
https://bugs.webkit.org/show_bug.cgi?id=162306
Reviewed by Darin Adler.
Source/WebCore:
appendWindowStart should be a restricted double, and both it and appendWindowEnd should throw
TypeError exceptions when setting them to disallowed values.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::setAppendWindowStart):
(WebCore::SourceBuffer::setAppendWindowEnd):
- Modules/mediasource/SourceBuffer.idl:
LayoutTests:
- platform/mac/TestExpectations:
- 4:56 PM Changeset in webkit [206185] by
-
- 4 edits in trunk
[media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-preload.html
https://bugs.webkit.org/show_bug.cgi?id=162304
Reviewed by Darin Adler.
Source/WebCore:
If an error occurs while loading a URL on behalf of MediaPlayerPrivateAVFObjC, make sure to signal
that error to AVFoundation, so that the HTMLMediaElement is notified of the error.
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::notifyFinished):
LayoutTests:
- platform/mac/TestExpectations:
- 4:11 PM Changeset in webkit [206184] by
-
- 4 edits in trunk/Tools
Unreviewed, rolling out r206180.
Roll r206178 back in as the necessary changes have been made
on the build master.
Reverted changeset:
"Unreviewed, rolling out r206178."
https://bugs.webkit.org/show_bug.cgi?id=162249
http://trac.webkit.org/changeset/206180
- 3:57 PM Changeset in webkit [206183] by
-
- 2 edits in trunk/Source/JavaScriptCore
DFG::StoreBarrierInsertionPhase should assume that any epoch increment may make objects older
https://bugs.webkit.org/show_bug.cgi?id=162319
Reviewed by Saam Barati.
The store barrier phase needs to be aware of the fact that an object that is not in the
OldBlack state may be concurrently brought into that state. That means that:
- We cannot reason about the relative ages of objects. An object is either new, in which case we can store to it without barriers, or it's not in which case it needs a barrier.
- After we insert a barrier on an object, the object is no longer new, because now the GC knows about it and the GC may do things to it, like make it OldBlack.
This is a perf-neutral change. These optimizations were never particularly profitable.
- dfg/DFGStoreBarrierInsertionPhase.cpp:
- 3:36 PM Changeset in webkit [206182] by
-
- 2 edits in trunk/Tools
Use a hardcoded patch for sRGB color profile
https://bugs.webkit.org/show_bug.cgi?id=162320
rdar://problem/28387318
Reviewed by Simon Fraser.
This is a workaround for rdar://problem/28392768
- DumpRenderTree/mac/LayoutTestHelper.m:
(installLayoutTestColorProfile):
- 3:30 PM Changeset in webkit [206181] by
-
- 7 edits in trunk/Source/WebCore
Remove "in-store" from "-apple-pay-button-type"
https://bugs.webkit.org/show_bug.cgi?id=162321
rdar://problem/28394581
Reviewed by Beth Dakin.
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ApplePayButtonType):
- css/CSSValueKeywords.in:
- css/parser/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- rendering/RenderThemeCocoa.mm:
(WebCore::toPKPaymentButtonType):
- rendering/style/RenderStyleConstants.h:
- 3:30 PM Changeset in webkit [206180] by
-
- 4 edits in trunk/Tools
Unreviewed, rolling out r206178.
This change caused buildbot config issues.
Reverted changeset:
"Add Sierra bots to buildbot and dashboard."
https://bugs.webkit.org/show_bug.cgi?id=162249
http://trac.webkit.org/changeset/206178
- 3:19 PM Changeset in webkit [206179] by
-
- 2 edits in trunk/Source/WebCore
Fix occasional using uninitialized memory crashes after r206168.
https://bugs.webkit.org/show_bug.cgi?id=162247
This fixes a crash in imported/w3c/web-platform-tests/url/urlsearchparams-constructor.html
I could reproduce about 10% of the time.
- html/URLSearchParams.h:
Initialize the pointer to nullptr.
- 3:16 PM Changeset in webkit [206178] by
-
- 4 edits in trunk/Tools
Add Sierra bots to buildbot and dashboard.
https://bugs.webkit.org/show_bug.cgi?id=162249
Patch by Dean Johnson <dean_johnson@apple.com> on 2016-09-20
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- 2:50 PM Changeset in webkit [206177] by
-
- 5 edits in trunk
Reduce allocations in URLParser
https://bugs.webkit.org/show_bug.cgi?id=162241
Reviewed by Chris Dumez.
Source/WebCore:
Use Vectors instead of StringBuilders. This allows us to use the inline capacity on the stack
for short URLs (<2KB) and also allows us to skip branches because we know whether the
contained type is UChar or LChar at compile time. It also allows us to use uncheckedAppend.
Added new API tests for parts that were less tested, but there is
no change in behavior except for a performance improvement.
- platform/URLParser.cpp:
(WebCore::appendCodePoint):
(WebCore::encodeQuery):
(WebCore::URLParser::failure):
(WebCore::URLParser::parse):
(WebCore::percentDecode):
(WebCore::domainToASCII):
(WebCore::hasInvalidDomainCharacter):
(WebCore::URLParser::parseHost):
(WebCore::formURLDecode):
(WebCore::isC0Control): Deleted.
- platform/URLParser.h:
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::checkURL):
- 2:43 PM Changeset in webkit [206176] by
-
- 2 edits in trunk/Source/WebKit2
Can't present a payment sheet if a sheet is already active in another window
https://bugs.webkit.org/show_bug.cgi?id=162314
rdar://problem/27643511
Reviewed by Tim Horton.
Instead of keeping track of whether a sheet is active or not, keep track of its underlying payment coordinator proxy,
so we can hide it and send a cancel event to WebCore if another sheet is being presented.
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::~WebPaymentCoordinatorProxy):
(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):
(WebKit::WebPaymentCoordinatorProxy::didReachFinalState):
- 2:19 PM Changeset in webkit [206175] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 2:19 PM Changeset in webkit [206174] by
-
- 5 edits in tags/Safari-602.2.7.1/Source
Versioning.
- 2:10 PM Changeset in webkit [206173] by
-
- 1 copy in tags/Safari-602.2.7.1
New tag.
- 2:04 PM Changeset in webkit [206172] by
-
- 15 edits in trunk/Source/JavaScriptCore
Rename MarkedSpace::version/MarkedBlock::version to MarkedSpace::markingVersion/MarkedBlock::markingVersion
https://bugs.webkit.org/show_bug.cgi?id=162310
Reviewed by Geoffrey Garen.
In bug 162309, which is part of my concurrent GC work, I'll need to introduce a second
version-based flip. This one will be for newlyAllocated bits. This will allow me to
cheaply preserve per-object live state during marking. MarkedBlock::aboutToMarkSlow() will
do this instead of clearMarks():
- Walk the mark bits, simultaneously counting the number of set bits and clearing them.
- If the count is zero, then we're done.
- If the count is equal to the max number of cells in the block, then set the allocated bit for the block.
- If the count is something else, create a newlyAllocated vector.
The hope is that the last mode is going to be rare, since most blocks are not fragmented
at end of GC. Usually, we will fill them in with objects by allocating! But if we do
create newlyAllocated bits then we need to have some way of blowing them away later.
This is where a second version comes in. We can have a version for newlyAllocated bits,
which we increment at the end of marking, at around the same time that we clear all
allocated bits.
This means that the MarkedBlock will have two different version-based flips, so terms like
"flip" and "version" aren't enough.
This patch gets rid of the term "flip" entirely. It's a term of art in GCs that refers to
the state change at the beginning or end of GC. It refers to the logical state change, not
the physical one. It doesn't actually make sense to speak of a block being flipped
independently of other blocks. It's true that our implementation of the flip makes some
state updates happen lazily, but the block updating itself in some way (like clearing mark
bits) isn't the flip - the flip already happened when the version was incremented.
We no longer refer to a version without qualifying what kind of version it is. The type is
HeapVersion. All of the version members were renamed to markingVersion, to reflect the
fact that this version is just used for doing things to marking state. Instead of asking
if the block needsFlip(), we ask if areMarksStale().
This will let us introduce a second version for newlyAllocated, and will let us speak of
the two versions unambiguously.
- heap/CellContainer.h:
- heap/CellContainerInlines.h:
(JSC::CellContainer::isMarked):
(JSC::CellContainer::isMarkedOrNewlyAllocated):
(JSC::CellContainer::aboutToMark):
(JSC::CellContainer::areMarksStale):
(JSC::CellContainer::needsFlip): Deleted.
- heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::genericAddSpan):
- heap/HeapInlines.h:
(JSC::Heap::isMarked):
(JSC::Heap::isMarkedConcurrently):
(JSC::Heap::testAndSetMarked):
- heap/HeapUtil.h:
(JSC::HeapUtil::findGCObjectPointersForMarking):
- heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::isPagedOut):
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::MarkedBlock):
(JSC::MarkedBlock::Handle::specializedSweep):
(JSC::MarkedBlock::Handle::sweepHelperSelectSweepMode):
(JSC::MarkedBlock::Handle::sweepHelperSelectMarksMode):
(JSC::MarkedBlock::aboutToMarkSlow):
(JSC::MarkedBlock::clearMarks):
(JSC::MarkedBlock::assertMarksNotStale):
(JSC::MarkedBlock::areMarksStale):
(JSC::MarkedBlock::Handle::areMarksStale):
(JSC::MarkedBlock::isMarked):
(JSC::MarkedBlock::Handle::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::markCount):
(JSC::MarkedBlock::Handle::isLive):
(JSC::MarkedBlock::Handle::isLiveCell):
(JSC::MarkedBlock::Handle::sweepHelperSelectFlipMode): Deleted.
(JSC::MarkedBlock::assertFlipped): Deleted.
(JSC::MarkedBlock::needsFlip): Deleted.
(JSC::MarkedBlock::Handle::needsFlip): Deleted.
- heap/MarkedBlock.h:
(JSC::MarkedBlock::areMarksStale):
(JSC::MarkedBlock::aboutToMark):
(JSC::MarkedBlock::assertMarksNotStale):
(JSC::MarkedBlock::Handle::assertMarksNotStale):
(JSC::MarkedBlock::isMarked):
(JSC::MarkedBlock::isMarkedConcurrently):
(JSC::MarkedBlock::testAndSetMarked):
(JSC::MarkedBlock::Handle::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::needsFlip): Deleted.
(JSC::MarkedBlock::assertFlipped): Deleted.
(JSC::MarkedBlock::Handle::assertFlipped): Deleted.
- heap/MarkedBlockInlines.h:
(JSC::MarkedBlock::Handle::isLive):
(JSC::MarkedBlock::Handle::isLiveCell):
(JSC::MarkedBlock::resetMarkingVersion):
(JSC::MarkedBlock::resetVersion): Deleted.
- heap/MarkedSpace.cpp:
(JSC::MarkedSpace::beginMarking):
- heap/MarkedSpace.h:
(JSC::MarkedSpace::markingVersion):
(JSC::MarkedSpace::version): Deleted.
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::SlotVisitor):
(JSC::SlotVisitor::didStartMarking):
(JSC::SlotVisitor::appendJSCellOrAuxiliary):
(JSC::SlotVisitor::setMarkedAndAppendToMarkStack):
(JSC::SlotVisitor::markAuxiliary):
- heap/SlotVisitor.h:
(JSC::SlotVisitor::markingVersion):
(JSC::SlotVisitor::version): Deleted.
- heap/WeakBlock.cpp:
(JSC::WeakBlock::specializedVisit):
(JSC::WeakBlock::reap):
- 1:57 PM Changeset in webkit [206171] by
-
- 14 edits in trunk/JSTests
[JSC] Do not use EagerRun on tests counting recompilation
https://bugs.webkit.org/show_bug.cgi?id=162248
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-20
Reviewed by Geoffrey Garen.
This patch adds defaultNoEagerRun to all the tests
for which recompilation is the symptom of a bug.
The reason is that an OSR Exit can be unrelated to the tested
nodes when we are running in Eager mode.
- stress/arith-abs-on-various-types.js:
- stress/arith-ceil-on-various-types.js:
- stress/arith-clz32-on-various-types.js:
- stress/arith-cos-on-various-types.js:
- stress/arith-floor-on-various-types.js:
- stress/arith-fround-on-various-types.js:
- stress/arith-log-on-various-types.js:
- stress/arith-round-on-various-types.js:
- stress/arith-sin-on-various-types.js:
- stress/arith-sqrt-on-various-types.js:
- stress/arith-tan-on-various-types.js:
- stress/arith-trunc-on-various-types.js:
- stress/compare-strict-eq-on-various-types.js:
(testAllTypesCall):
The value 2 came from the other tests.
CompareStrictEq supports many more cases, the worst case
is bool->int->int52->number->polymorphic.
- 1:44 PM Changeset in webkit [206170] by
-
- 5 edits in trunk
AX: voiceover does not read contents of input role="spinbutton"
https://bugs.webkit.org/show_bug.cgi?id=162137
Reviewed by Chris Fleizach.
Source/WebCore:
The aria-valuenow attribute value on the spinbutton is not exposed
on iOS. We should expose aria-valuenow attribute for range controls
based on https://www.w3.org/TR/wai-aria/states_and_properties#aria-valuenow
Changes are covered in the modified test.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityValue]):
LayoutTests:
- accessibility/ios-simulator/spinbutton-expected.txt:
- accessibility/ios-simulator/spinbutton.html:
- 1:25 PM Changeset in webkit [206169] by
-
- 2 edits in trunk/Source/WebCore
URLParser: uidna_IDNToASCII_56 is deprecated
https://bugs.webkit.org/show_bug.cgi?id=161841
Patch by Michael Catanzaro <Michael Catanzaro> on 2016-09-20
Reviewed by Alex Christensen.
Add pragmas to silence the warning, plus a FIXME.
- platform/URLParser.cpp:
(WebCore::domainToASCII):
- 1:11 PM Changeset in webkit [206168] by
-
- 7 edits in trunk
Make URLSearchParams spec-compliant
https://bugs.webkit.org/show_bug.cgi?id=162247
Reviewed by Chris Dumez and Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
Covered by newly-passing web platform tests.
- html/DOMURL.cpp:
(WebCore::DOMURL::~DOMURL):
(WebCore::DOMURL::setHref):
(WebCore::DOMURL::setQuery):
Update any associated URLSearchParams object when the query could change.
(WebCore::DOMURL::searchParams):
The lifetime of the URLSearchParams was wrong. We were creating a new URLSearchParams each time
URL.searchParams was called, and we should have been creating one the first time and returning the
same instance for subsequent calls. This means the DOMURL must own the URLSearchParams if it is associated,
but if it is not associated, then a URLSearchParams can live on its own.
- html/DOMURL.h:
- html/URLSearchParams.h:
(WebCore::URLSearchParams::URLDestroyed):
(WebCore::URLSearchParams::setContents):
- 1:05 PM Changeset in webkit [206167] by
-
- 3 edits in trunk/Source/WebCore
Remove AuthorStyleSheets::m_hadActiveLoadingStylesheet bit
https://bugs.webkit.org/show_bug.cgi?id=162312
Reviewed by Chris Dumez.
- dom/AuthorStyleSheets.cpp:
(WebCore::AuthorStyleSheets::analyzeStyleSheetChange):
We can handle loading sheets with the normal stylesheet change logic. Remove the special case.
(WebCore::filterEnabledNonemptyCSSStyleSheets):
Filter out loading stylesheets.
- dom/AuthorStyleSheets.h:
- 1:03 PM Changeset in webkit [206166] by
-
- 8 edits in trunk/Source
Adjust current networking logging
https://bugs.webkit.org/show_bug.cgi?id=162235
Reviewed by Antti Koivisto.
Update the "always on" network logging in order to better track the
loading of a particular resource and to better bind together the
resources downloaded for a particular page and frame. Do this by
consistently logging pageID, frameID, and resourceID.
Source/WebCore:
No new tests -- there are no tests for logging.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
- loader/ResourceLoader.h:
(WebCore::ResourceLoader::frame):
Source/WebKit2:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFailLoading):
(WebKit::NetworkResourceLoader::continueWillSendRequest):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::startLocalLoad):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::create):
(WebKit::WebResourceLoader::WebResourceLoader):
(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::didFailResourceLoad):
(WebKit::WebResourceLoader::didReceiveResource):
- WebProcess/Network/WebResourceLoader.h:
- 1:01 PM Changeset in webkit [206165] by
-
- 9 edits in trunk
Non-special URLs should have an opaque origin
https://bugs.webkit.org/show_bug.cgi?id=162254
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
Covered by newly passing web platform tests.
- page/SecurityOrigin.cpp:
(WebCore::shouldTreatAsUniqueOrigin):
According to https://url.spec.whatwg.org/#origin all URLs with non-special protocols
should have a unique SecurityOrigin whose serialization is "null".
LayoutTests:
- http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:
- http/tests/security/postMessage/invalid-origin-throws-exception.html:
- 12:31 PM Changeset in webkit [206164] by
-
- 2 edits in trunk/Source/JavaScriptCore
Rebaseline builtins generator tests after r206155.
Unreviewed test gardening.
- Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result:
- 12:11 PM Changeset in webkit [206163] by
-
- 3 edits in trunk/Source/WebCore
[WinCairo] Not building since 206044
https://bugs.webkit.org/show_bug.cgi?id=162246
Patch by Christopher Reid <Christopher.Reid@am.sony.com> on 2016-09-20
Reviewed by Alex Christensen.
No new tests. No change in behaviour.
- bindings/js/JSWebGLRenderingContextCustom.cpp:
- platform/network/curl/CookieJarCurl.cpp:
- 11:46 AM Changeset in webkit [206162] by
-
- 5 edits in trunk
Align URLParser with web platform tests when parsing non-special relative URLs ending in AuthorityOrHost state
https://bugs.webkit.org/show_bug.cgi?id=162251
Reviewed by Tim Horton.
Source/WebCore:
Covered by new and updated API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Fix parsing of non-special URLs that end after scheme:// with no authority.
We used to assume that parsing non-special schemes would never end with just scheme:// but a string can indeed end right there.
When a non-special relative URL contains just scheme:// we need the resulting URL to be valid to conform with the web platform tests.
(WebCore::URLParser::parseHostAndPort):
Renamed to reflect what the function actually does.
(WebCore::URLParser::internalValuesConsistent):
Add utility function for testing.
(WebCore::URLParser::parseHost): Deleted.
- platform/URLParser.h:
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::checkRelativeURLDifferences):
- 11:41 AM Changeset in webkit [206161] by
-
- 6 edits in trunk
[css-grid] The 'grid' shorthand has a new syntax.
https://bugs.webkit.org/show_bug.cgi?id=161954
Reviewed by Darin Adler.
Source/WebCore:
Implementation of the new CSS syntax for the 'grid' shorthand, as
defined in the CSS Grid Layout specification:
No new tests, just adapted the ones we already have and added a few additional test cases.
- css/CSSValueKeywords.in:
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseImplicitAutoFlow): Added. Similar to parseGridAutoFlow, but using the new 'auto-flow' keyword.
(WebCore::CSSParser::parseGridShorthand): New syntax of the 'grid' shorthand.
- css/parser/CSSParser.h:
LayoutTests:
Adapted the already defined test cases to the new syntax of the
'grid' shorthand. Also added a few additional test cases.
- fast/css-grid-layout/grid-shorthand-get-set-expected.txt:
- fast/css-grid-layout/grid-shorthand-get-set.html:
- 11:35 AM Changeset in webkit [206160] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix cloop build.
- runtime/VM.h:
- 11:34 AM Changeset in webkit [206159] by
-
- 4 edits in trunk
URLParser should allow '@' in user
https://bugs.webkit.org/show_bug.cgi?id=162272
Reviewed by Tim Horton.
Source/WebCore:
Covered by a new API test.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
The spec describes using an "@ flag" and rewinding iterators. I've implemented the authority parsing
and host parsing a little differently, but this makes it equivalent.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:31 AM Changeset in webkit [206158] by
-
- 4 edits in trunk
URLParser: Fix parsing relative URLs with one slash after the scheme:
https://bugs.webkit.org/show_bug.cgi?id=162294
Reviewed by Tim Horton.
Source/WebCore:
This fixes the relatively-obscure case where a relative URL has the same special scheme as the base,
but there is only one slash after the scheme: at the beginning of the relative URL. According to spec,
this should be interpreted the same as if the scheme: were not there.
For example, parsing "http:/example.com/" relative to "http://example.org/foo/bar" should be the same as
parsing "/example.com/" relative to "http://example.org/foo/bar".
Covered by a new API test.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:27 AM Changeset in webkit [206157] by
-
- 4 edits in trunk
Fix Windows file URL quirks in URLParser
https://bugs.webkit.org/show_bug.cgi?id=162303
Reviewed by Tim Horton.
Source/WebCore:
Windows file urls allow c:\ and c|\ to have the same meaning, but when serialized they should both be c:/.
This is now standardized to allow cross-platform uniform behavior of URLs.
Covered by new API tests and progress on web platform tests when URLParser is enabled.
- platform/URLParser.cpp:
(WebCore::incrementIteratorSkippingTabAndNewLine):
(WebCore::isWindowsDriveLetter):
(WebCore::checkWindowsDriveLetter):
(WebCore::shouldCopyFileURL):
(WebCore::URLParser::parseSerializedURL):
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:24 AM Changeset in webkit [206156] by
-
- 27 edits2 adds in trunk/Source/WebCore
Rename FrameData to ImageFrame, move it to a separate file and use it for all ports
https://bugs.webkit.org/show_bug.cgi?id=159819
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-09-20
Reviewed by Simon Fraser.
Rename FrameData to ImageFrame and move it to a separate file so caching
it can be managed outside the BitmapImage object. Make the data members
of FrameData be private and add getters to return their values. Add backing
store and disposalMethod members, getter and setters to ImageFrame so it can
replace the non-CG ImageFrame class.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
Add ImageFrame class to WebCore project.
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage): The metadata for the non-decoder case is now calculated in the ImageFrame::initialize().
(WebCore::BitmapImage::haveFrameImageAtIndex): Call ImageFrame's getters instead of access private members.
(WebCore::BitmapImage::destroyDecodedData): Pass ImageFrame::Caching::Metadata to ImageFrame::clear() to clear the image only.
(WebCore::BitmapImage::destroyDecodedDataIfNecessary): ImageFrame::usedFrameBytes() is now renamed to ImageFrame::frameBytes().
(WebCore::BitmapImage::cacheFrame): Call ImageFrame::initialize() to set the image and cache the frame's metadata.
(WebCore::BitmapImage::dataChanged): Pass ImageFrame::Caching::Empty to ImageFrame::clear() to clear the frame's image and metadata.
(WebCore::BitmapImage::ensureFrameAtIndexIsCached): Call ImageFrame's getters instead of access private members.
(WebCore::BitmapImage::frameImageAtIndex): Call ImageFrame's getters instead of access private members.
(WebCore::BitmapImage::frameIsCompleteAtIndex): Pass ImageFrame::Caching::Metadata to ensureFrameAtIndexIsCached() to ensure the frame's metadata is cached.
(WebCore::BitmapImage::frameDurationAtIndex): Pass ImageFrame::Caching::Metadata to ensureFrameAtIndexIsCached() to ensure the frame's metadata is cached.
(WebCore::BitmapImage::frameHasAlphaAtIndex): Pass ImageFrame::Caching::Metadata to ensureFrameAtIndexIsCached() to ensure the frame's metadata is cached.
(WebCore::BitmapImage::frameOrientationAtIndex): Pass ImageFrame::Caching::Metadata to ensureFrameAtIndexIsCached() to ensure the frame's metadata is cached.
(WebCore::BitmapImage::singlePixelSolidColor): Call ImageFrame's getters instead of access private members.
(WebCore::BitmapImage::repetitionCount): Change the return type to be RepetitionCount instead of int.
(WebCore::BitmapImage::shouldAnimate): Use a simpler condition since RepetitionCountNone is equal to zero.
(WebCore::BitmapImage::startAnimation): Replace the cAnimation* constants by the new RepetitionCount* enum.
(WebCore::BitmapImage::internalAdvanceAnimation): Replace the cAnimation* constants by the new RepetitionCount* enum.
- platform/graphics/BitmapImage.h: FrameData is renamed to ImageFrame and moved to a separate file named ImageFrame.h.
(WebCore::FrameData::FrameData): Deleted.
(WebCore::FrameData::~FrameData): Deleted.
(WebCore::FrameData::clear): Deleted.
(WebCore::FrameData::usedFrameBytes): Deleted.
- platform/graphics/ImageBackingStore.h:
(WebCore::ImageBackingStore::fillRect): Make it efficient to fill a rect in the ImageBackingStore with the same color.
(WebCore::ImageBackingStore::pixelAt): Asserts the point is in the bounds of the ImageBackingStore size.
(WebCore::ImageBackingStore::setPixel): Use pixelValue().
(WebCore::ImageBackingStore::inBounds): Private functions check whether a point or a rect is in the bounds of the ImageBackingStore size.
(WebCore::ImageBackingStore::pixelValue): Calculate the RGBA value form red, green, blue and alpha values.
- platform/graphics/ImageFrame.cpp: Added.
(WebCore::ImageFrame::ImageFrame):
(WebCore::ImageFrame::~ImageFrame):
(WebCore::ImageFrame::operator=):
(WebCore::ImageFrame::fillMetaData): Caches the ImageFrame's metadata.
(WebCore::ImageFrame::clearImage): Deletes all the allocated memory by ImageFrame which can be the ImageBackingStore or the NativeImagePtr.
(WebCore::ImageFrame::clear): Deletes the allocated memory and may or may not clears the metadata also.
(WebCore::ImageFrame::initialize): Sets a new ImageBackingStore or a new NativeImagePtr in the ImageFrame.
(WebCore::ImageFrame::size): Returns the size of the ImageFrame which can be the size of ImageBackingStore or the size of NativeImagePtr.
(WebCore::ImageFrame::singlePixelSolidColor): Returns whether the ImageFrame can be drawn by filling the image rectangle with a solid color.
- platform/graphics/ImageFrame.h: Added.
(WebCore::operator++): SubsamplingLevel is strongly typed but RepetitionCount is not since it can be any unsigned value in addition to -1.
(WebCore::ImageFrame::ImageFrame):
(WebCore::ImageFrame::setDecoding):
(WebCore::ImageFrame::decoding):
(WebCore::ImageFrame::isEmpty):
(WebCore::ImageFrame::isPartial):
(WebCore::ImageFrame::isComplete):
(WebCore::ImageFrame::sizeRespectingOrientation):
(WebCore::ImageFrame::frameBytes):
(WebCore::ImageFrame::subsamplingLevel):
(WebCore::ImageFrame::setDisposalMethod):
(WebCore::ImageFrame::disposalMethod):
(WebCore::ImageFrame::image):
(WebCore::ImageFrame::setOrientation):
(WebCore::ImageFrame::orientation):
(WebCore::ImageFrame::setDuration):
(WebCore::ImageFrame::duration):
(WebCore::ImageFrame::setHasAlpha):
(WebCore::ImageFrame::hasAlpha):
(WebCore::ImageFrame::hasImage):
(WebCore::ImageFrame::hasInvalidImage):
(WebCore::ImageFrame::hasMetadata):
(WebCore::ImageFrame::backingStore):
(WebCore::ImageFrame::hasBackingStore):
Setters and getters for the private members.
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::calculateMaximumSubsamplingLevel): allowSubsamplingOfFrameAtIndex() is renamed to frameAllowSubsamplingAtIndex().
(WebCore::ImageSource::subsamplingLevelForScale): Use the values of the enum class SubsamplingLevel.
(WebCore::ImageSource::size): Use the values of the enum class SubsamplingLevel.
(WebCore::ImageSource::sizeRespectingOrientation): Use the values of the enum class SubsamplingLevel.
(WebCore::ImageSource::repetitionCount): Replace the constants cAnimation* by the enum RepetitionCount*.
(WebCore::ImageSource::frameAllowSubsamplingAtIndex): Rename allowSubsamplingOfFrameAtIndex() to frameAllowSubsamplingAtIndex().
(WebCore::ImageSource::frameSizeAtIndex): Replace the call to orientationAtIndex() by frameOrientationAtIndex().
(WebCore::ImageSource::frameOrientationAtIndex): Rename orientationAtIndex() to frameOrientationAtIndex().
(WebCore::ImageSource::dump): Replace the call to orientationAtIndex() by frameOrientationAtIndex().
(WebCore::ImageSource::allowSubsamplingOfFrameAtIndex): Deleted.
(WebCore::ImageSource::orientationAtIndex): Deleted.
- platform/graphics/ImageSource.h:
(WebCore::ImageSource::decoder): We need this function temporarily till we move caching the frames outside BitmapImage.
- platform/graphics/NativeImage.h: Change SubImages() to Subimages(). See Darin's comment in https://bugs.webkit.org/show_bug.cgi?id=159819#c6.
- platform/graphics/cairo/NativeImageCairo.cpp:
(WebCore::clearNativeImageSubimages):
(WebCore::clearNativeImageSubImages): Deleted.
- platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::createImageSourceOptions): Use the values of the enum class SubsamplingLevel.
(WebCore::imageSourceOptions): Use the values of the enum class SubsamplingLevel.
(WebCore::ImageDecoder::repetitionCount): Change the return type to be RepetitionCount instead of int.
(WebCore::ImageDecoder::frameOrientationAtIndex): orientationAtIndex() is renamed to frameOrientationAtIndex().
(WebCore::ImageDecoder::frameAllowSubsamplingAtIndex): allowSubsamplingOfFrameAtIndex() is renamed to frameAllowSubsamplingAtIndex().
(WebCore::ImageDecoder::orientationAtIndex): Deleted.
(WebCore::ImageDecoder::allowSubsamplingOfFrameAtIndex): Deleted.
- platform/graphics/cg/ImageDecoderCG.h:
- platform/graphics/cg/NativeImageCG.cpp:
(WebCore::clearNativeImageSubimages): Change SubImages() to Subimages().
(WebCore::clearNativeImageSubImages): Deleted.
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::frameIsCompleteAtIndex): Use ImageFrame::isComplete() instead of checking the value of the decoding status().
(WebCore::ImageDecoder::frameHasAlphaAtIndex): Use ImageFrame::isComplete() instead of checking the value of the decoding status().
(WebCore::ImageDecoder::frameDurationAtIndex): Use ImageFrame::isEmpty() instead of checking the value of the decoding status().
(WebCore::ImageDecoder::createFrameImageAtIndex): Access the ImageBackingStore::image() function directly.
(WebCore::ImageFrame::ImageFrame): Deleted.
(WebCore::ImageFrame::operator=): Deleted.
(WebCore::ImageFrame::clearPixelData): Deleted.
(WebCore::ImageFrame::zeroFillPixelData): Deleted.
(WebCore::ImageFrame::zeroFillFrameRect): Deleted.
(WebCore::ImageFrame::initializeBackingStore): Deleted.
(WebCore::ImageFrame::hasAlpha): Deleted.
(WebCore::ImageFrame::setHasAlpha): Deleted.
(WebCore::ImageFrame::setOriginalFrameRect): Deleted.
(WebCore::ImageFrame::setStatus): Deleted.
- platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::repetitionCount): Use the type RepetitionCount and the enum RepetitionCount* values.
(WebCore::ImageDecoder::frameOrientationAtIndex): Rename orientationAtIndex() to frameOrientationAtIndex().
(WebCore::ImageDecoder::frameAllowSubsamplingAtIndex): Rename allowSubsamplingOfFrameAtIndex() to frameAllowSubsamplingAtIndex().
(WebCore::ImageDecoder::subsamplingLevelForScale): Use the enum class SubsamplingLevel value instead of integer values.
(WebCore::ImageFrame::ImageFrame): Deleted.
(WebCore::ImageFrame::copyRowNTimes): Deleted.
(WebCore::ImageFrame::size): Deleted.
(WebCore::ImageFrame::asNewNativeImage): Deleted.
(WebCore::ImageFrame::backingStore): Deleted.
(WebCore::ImageFrame::hasBackingStore): Deleted.
(WebCore::ImageFrame::originalFrameRect): Deleted.
(WebCore::ImageFrame::status): Deleted.
(WebCore::ImageFrame::duration): Deleted.
(WebCore::ImageFrame::disposalMethod): Deleted.
(WebCore::ImageFrame::setDuration): Deleted.
(WebCore::ImageFrame::setDisposalMethod): Deleted.
(WebCore::ImageFrame::pixelAt): Deleted.
(WebCore::ImageFrame::setPixel): Deleted.
(WebCore::ImageFrame::blendPixel): Deleted.
(WebCore::ImageDecoder::orientationAtIndex): Deleted.
(WebCore::ImageDecoder::allowSubsamplingOfFrameAtIndex): Deleted.
- platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::frameBufferAtIndex): Call ImageFrame::isComplete() instead of checking the value of the decoding status().
(WebCore::BMPImageDecoder::decode): Ditto.
- platform/image-decoders/bmp/BMPImageReader.cpp:
(WebCore::BMPImageReader::decodeBMP): Call ImageFrame::isEmpty(). ImageBuffer::initializeBackingStore() is renamed to initialize().
(WebCore::BMPImageReader::processNonRLEData): Replace ImageFrame::zeroFillPixelData() by ImageBackingStore::clear() and ImageFrame::setAlpha().
- platform/image-decoders/bmp/BMPImageReader.h:
(WebCore::BMPImageReader::setPixel): Call ImageBackingStore::setPixel() directly.
(WebCore::BMPImageReader::fillRGBA): Replace an efficient loop to call setPixel() by ImageBackingStore::fillRect().
- platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::GIFImageDecoder): Move the initialization of m_repetitionCount to the header file.
(WebCore::GIFImageDecoder::repetitionCount): Change the return type.
(WebCore::GIFImageDecoder::frameBufferAtIndex): Call ImageFrame::isComplete() instead of checking the value of the decoding status().
(WebCore::GIFImageDecoder::clearFrameBufferCache): Use the values of the new enum class ImageFrame::DisposalMethod.
(WebCore::GIFImageDecoder::haveDecodedRow): Call the ImageBackingStore API's directly.
(WebCore::GIFImageDecoder::frameComplete): Use the values of the new enum class ImageFrame::DisposalMethod.
(WebCore::GIFImageDecoder::initFrameBuffer): Move calling ImageBackingStore::setFrameRect() to be after initializing the ImageBackingStore itself.
- platform/image-decoders/gif/GIFImageDecoder.h: Make repetitionCount() returns RepetitionCount and use the new enum class ImageFrame::DisposalMethod.
- platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::parse):
- platform/image-decoders/gif/GIFImageReader.h:
(GIFFrameContext::GIFFrameContext): Use new enum class ImageFrame::DisposalMethod.
- platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::frameBufferAtIndex): Call ImageFrame::isComplete() instead of checking the value of the decoding status().
(WebCore::ICOImageDecoder::decode): Ditto.
- platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::frameBufferAtIndex): Call ImageFrame::isComplete() instead of checking the value of the decoding status().
(WebCore::setPixel): Call ImageBackingStore::setPixel() directly.
(WebCore::JPEGImageDecoder::outputScanlines): ImageFrame::initializeBackingStore() is renamed to initialize().
(WebCore::JPEGImageDecoder::jpegComplete): ImageFrame::setStatus() is renamed to ImageFrame::setDecoding().
(WebCore::JPEGImageDecoder::decode): Call ImageFrame::isComplete() instead of checking the value of the decoding status().
- platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::frameBufferAtIndex): Call ImageFrame::isComplete() instead of checking the value of the decoding status().
(WebCore::PNGImageDecoder::rowAvailable): Call the ImageBackingStore APIs directly.
(WebCore::PNGImageDecoder::pngComplete): ImageFrame::setStatus() is renamed to setDecoding().
(WebCore::PNGImageDecoder::readChunks): Use the values of the new enum class ImageFrame::DisposalMethod.
(WebCore::PNGImageDecoder::clearFrameBufferCache): Replace the call to ImageFrame::clearPixelData() by ImageFrame::clear().
(WebCore::PNGImageDecoder::initFrameBuffer): Move calling ImageBackingStore::setFrameRect() to be after initializing the ImageBackingStore itself.
(WebCore::PNGImageDecoder::frameComplete): Call the ImageBackingStore APIs directly.
- platform/image-decoders/png/PNGImageDecoder.h: Call ImageFrame::isComplete() instead of checking the value of the decoding status().
- platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::frameBufferAtIndex): Call ImageFrame::isComplete() instead of checking the value of the decoding status().
(WebCore::WEBPImageDecoder::decode): ImageFrame::setStatus() is renamed to setDecoding(). And initializeBackingStore() is renamed to initialize().
- 11:12 AM Changeset in webkit [206155] by
-
- 2 edits in trunk/LayoutTests
Marking js/regress-139548.html as a flaky timeout on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=160017
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:12 AM Changeset in webkit [206154] by
-
- 46 edits6 adds in trunk
Make MarkedBlock state tracking support overlapped allocation and marking state
https://bugs.webkit.org/show_bug.cgi?id=161581
Reviewed by Geoffrey Garen.
JSTests:
Add a microbenchmark for why we want to reclaim empty blocks from other allocators.
- microbenchmarks/switching-size-classes.js: Added.
Source/JavaScriptCore:
Concurrent GCs must allow for mutation and allocation during collection. We already know
how to mutate during collection. We have a write barrier for that. Allocation during
collection is more involved: the collector modifies the the mark bits, as well as other
kinds of MarkedBlock state, in-place during a collection. The allocator uses that same
MarkedBlock state to decide which regions of memory are free. This works if the allocator
never runs while the collector is running, but if we want to allow them to run at the same
time, then we need to have two versions of the state: one version built up by the
collector and another consumed by the allocator. We clear the collector state at the
beginning of collection, and splat the collector state onto the allocator state after
collection.
This could be super expensive, but we can make it cheap with some cleverness. The biggest
observation is just that most of the state is a handful of bits per block: is the block
free-listed? is it completely full? completely empty? in the incremental sweeper's
snapshot? is it retired? is it in eden? There is also state inside blocks, like the mark
bits, but I have a solid plan there and I'll save it for another patch. Once we view the
state of blocks as bits, we can put that state into bitvectors, so that if the collector
needs to transform the state of some blocks, it can do it with a single operation over
bitvectors. I like to think of this as 32-way parallelizing block operations, since
doing one operation on a 32-bit word in one of those bitvectors instantly affects 32
blocks.
This change converts all previous collections of MarkedBlocks, along with the MarkedBlock
state, into 8 bitvectors (live, empty, allocated, canAllocateButNotEmpty, eden, unswept,
markingNotEmpty, and markingRetired). The bitvectors separate allocator state (empty,
allocated, canAllocateButNotEmpty) from marking state (markingNotEmpty, markingRetired).
As a nice side-effect of switching to bitvectors, we get size class rebalancing for free.
It used to be that if a MarkedAllocator had an empty block, we would only allow that
memory to be reused by a different MarkedAllocator if we did an incremental sweep or a
full eager sweep. Now we hunt down all destructorless empty blocks before allocating new
MarkedBlocks. It would be relatively easy to also hunt down destructor empty blocks, but
the theory is that those might be expensive to sweep, so it might still be better to leave
those to the incremental sweeper.
This change is perf-neutral all around. I did some tests with two different kinds of
allocation strategies - something that is somewhat easier to do now that you can look for
blocks that are candidates for allocation by just scanning some bitvectors. I tried two
variants:
- Allocate out of non-empty blocks first, leaving empty blocks for last in case a different allocator needed them. This is sort of a best-fit strategy. I tried this first, and it can be expressed as:
m_allocationCursor = m_canAllocateButNotEmpty.findBit(m_allocationCursor, true)
- Allocate out of lower-indexed blocks first, treating empty and canAllocateButNotEmpty blocks equally. This is sort of a first-fit strategy. This is what I ended up settling on, and it can be expressed as:
m_allocationCursor = (m_canAllocateButNotEmpty | m_empty).findBit(m_allocationCursor, true)
The best-fit strategy meant 1% regressions in LongSpider and Octane overall, and a 11%
regression on Octane/earley. First-fit means perf-neutrality. Most great allocators skew
towards first-fit because it's empirically better, so this result is not surprising.
Overall, the performance of this patch on my machine is as follows, where "neutral" means
less than 1% and not statistically significant.
run-jsc-benchmarks:
SunSpider: neutral
LongSpider: 0.6% slower
V8Spider: neutral
Octane: neutral
Kraken: neutral
Microbenchmarks: 0.37% slower
AsmBench: neutral
CompressionBench: maybe 1% faster
For browser benchmarks, I report the ratio of means (bigger / smaller) along with a T-test
from Mathematica reported as % chance of not [sic] the null hypothesis. Note that we
normally consider anything less than 95% confidence to be inconclusive.
Browser benchmarks:
PLT3: 0.3% faster with 67% confidence
membuster:
Snap2FinishedLoadingPost: 0.68% more memory with 50% confidence
Snap3EndPost: 2.4% more memory with 61% confidence
JetStream: 0.2% slower with 32% confidence
Speedometer: 0.7% faster with 82% confidence
Additionally, Octane/splay's heap capacity goes down to ~180KB from ~200KB, so about a 10%
progression. This is due to the allocator rebalancing feature.
Finally, this breaks --useImmortalObjects. It was already broken as far as I can tell. I
filed a bug to reimplement it (bug 162296). Unless someone urgently needs this internal
tool, it's probably best to reimplement it after I'm done refactoring MarkedSpace.
- JavaScriptCore.xcodeproj/project.pbxproj:
- debugger/Debugger.cpp:
- heap/CellContainer.h:
- heap/CellContainerInlines.h:
(JSC::CellContainer::vm):
(JSC::CellContainer::heap):
(JSC::CellContainer::isMarkedOrNewlyAllocated):
(JSC::CellContainer::aboutToMark):
(JSC::CellContainer::isMarked): Deleted.
(JSC::CellContainer::flipIfNecessary): Deleted.
- heap/ConservativeRoots.cpp:
- heap/Heap.cpp:
(JSC::Heap::beginMarking):
(JSC::Heap::endMarking):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collectImpl):
(JSC::Heap::snapshotMarkedSpace):
(JSC::Heap::prepareForAllocation):
(JSC::Heap::zombifyDeadObjects):
(JSC::MarkedBlockSnapshotFunctor::MarkedBlockSnapshotFunctor): Deleted.
(JSC::MarkedBlockSnapshotFunctor::operator()): Deleted.
(JSC::Heap::resetAllocators): Deleted.
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::isMarked):
(JSC::Heap::isMarkedConcurrently):
(JSC::Heap::testAndSetMarked):
- heap/HeapStatistics.cpp:
- heap/HeapUtil.h:
(JSC::HeapUtil::findGCObjectPointersForMarking):
(JSC::HeapUtil::isPointerGCObjectJSCell):
- heap/HeapVerifier.cpp:
- heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::IncrementalSweeper):
(JSC::IncrementalSweeper::doSweep):
(JSC::IncrementalSweeper::sweepNextBlock):
(JSC::IncrementalSweeper::startSweeping):
(JSC::IncrementalSweeper::willFinishSweeping):
- heap/IncrementalSweeper.h:
- heap/LargeAllocation.h:
(JSC::LargeAllocation::isMarked):
(JSC::LargeAllocation::isMarkedConcurrently):
(JSC::LargeAllocation::isMarkedOrNewlyAllocated):
(JSC::LargeAllocation::aboutToMark):
(JSC::LargeAllocation::isMarkedDuringWeakVisiting): Deleted.
(JSC::LargeAllocation::flipIfNecessary): Deleted.
(JSC::LargeAllocation::flipIfNecessaryDuringMarking): Deleted.
- heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::isPagedOut):
(JSC::MarkedAllocator::findEmptyBlock):
(JSC::MarkedAllocator::tryAllocateWithoutCollectingImpl):
(JSC::MarkedAllocator::allocateIn):
(JSC::MarkedAllocator::tryAllocateIn):
(JSC::MarkedAllocator::allocateSlowCaseImpl):
(JSC::MarkedAllocator::tryAllocateBlock):
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
(JSC::MarkedAllocator::stopAllocating):
(JSC::MarkedAllocator::prepareForAllocation):
(JSC::MarkedAllocator::lastChanceToFinalize):
(JSC::MarkedAllocator::resumeAllocating):
(JSC::MarkedAllocator::beginMarkingForFullCollection):
(JSC::MarkedAllocator::endMarking):
(JSC::MarkedAllocator::snapshotForEdenCollection):
(JSC::MarkedAllocator::snapshotForFullCollection):
(JSC::MarkedAllocator::findBlockToSweep):
(JSC::MarkedAllocator::sweep):
(JSC::MarkedAllocator::shrink):
(JSC::MarkedAllocator::assertSnapshotEmpty):
(JSC::MarkedAllocator::dump):
(JSC::MarkedAllocator::dumpBits):
(JSC::MarkedAllocator::retire): Deleted.
(JSC::MarkedAllocator::filterNextBlock): Deleted.
(JSC::MarkedAllocator::setNextBlockToSweep): Deleted.
(JSC::MarkedAllocator::reset): Deleted.
- heap/MarkedAllocator.h:
(JSC::MarkedAllocator::forEachBitVector):
(JSC::MarkedAllocator::forEachBitVectorWithName):
(JSC::MarkedAllocator::nextAllocator):
(JSC::MarkedAllocator::setNextAllocator):
(JSC::MarkedAllocator::forEachBlock):
(JSC::MarkedAllocator::resumeAllocating): Deleted.
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::tryCreate):
(JSC::MarkedBlock::Handle::Handle):
(JSC::MarkedBlock::Handle::~Handle):
(JSC::MarkedBlock::MarkedBlock):
(JSC::MarkedBlock::Handle::specializedSweep):
(JSC::MarkedBlock::Handle::sweep):
(JSC::MarkedBlock::Handle::sweepHelperSelectScribbleMode):
(JSC::MarkedBlock::Handle::sweepHelperSelectEmptyMode):
(JSC::MarkedBlock::Handle::sweepHelperSelectHasNewlyAllocated):
(JSC::MarkedBlock::Handle::sweepHelperSelectSweepMode):
(JSC::MarkedBlock::Handle::sweepHelperSelectFlipMode):
(JSC::MarkedBlock::Handle::unsweepWithNoNewlyAllocated):
(JSC::MarkedBlock::Handle::setIsFreeListed):
(JSC::MarkedBlock::Handle::stopAllocating):
(JSC::MarkedBlock::Handle::lastChanceToFinalize):
(JSC::MarkedBlock::Handle::resumeAllocating):
(JSC::MarkedBlock::aboutToMarkSlow):
(JSC::MarkedBlock::clearMarks):
(JSC::MarkedBlock::isMarked):
(JSC::MarkedBlock::Handle::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::Handle::didConsumeFreeList):
(JSC::MarkedBlock::markCount):
(JSC::MarkedBlock::Handle::isEmpty):
(JSC::MarkedBlock::noteMarkedSlow):
(JSC::MarkedBlock::Handle::removeFromAllocator):
(JSC::MarkedBlock::Handle::didAddToAllocator):
(JSC::MarkedBlock::Handle::didRemoveFromAllocator):
(JSC::MarkedBlock::Handle::isLive):
(JSC::MarkedBlock::Handle::isLiveCell):
(JSC::MarkedBlock::Handle::sweepHelperSelectStateAndSweepMode): Deleted.
(JSC::MarkedBlock::flipIfNecessary): Deleted.
(JSC::MarkedBlock::Handle::flipIfNecessary): Deleted.
(JSC::MarkedBlock::flipIfNecessarySlow): Deleted.
(JSC::MarkedBlock::flipIfNecessaryDuringMarkingSlow): Deleted.
(JSC::MarkedBlock::Handle::willRemoveBlock): Deleted.
(WTF::printInternal): Deleted.
- heap/MarkedBlock.h:
(JSC::MarkedBlock::Handle::isFreeListed):
(JSC::MarkedBlock::Handle::index):
(JSC::MarkedBlock::aboutToMark):
(JSC::MarkedBlock::isMarked):
(JSC::MarkedBlock::isMarkedConcurrently):
(JSC::MarkedBlock::Handle::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::Handle::isOnBlocksToSweep): Deleted.
(JSC::MarkedBlock::Handle::setIsOnBlocksToSweep): Deleted.
(JSC::MarkedBlock::Handle::state): Deleted.
(JSC::MarkedBlock::flipIfNecessary): Deleted.
(JSC::MarkedBlock::flipIfNecessaryDuringMarking): Deleted.
(JSC::MarkedBlock::Handle::flipIfNecessary): Deleted.
(JSC::MarkedBlock::Handle::flipIfNecessaryDuringMarking): Deleted.
(JSC::MarkedBlock::Handle::flipForEdenCollection): Deleted.
(JSC::MarkedBlock::isMarkedDuringWeakVisiting): Deleted.
(JSC::MarkedBlock::Handle::isLive): Deleted.
(JSC::MarkedBlock::Handle::isLiveCell): Deleted.
(JSC::MarkedBlock::Handle::forEachLiveCell): Deleted.
(JSC::MarkedBlock::Handle::forEachDeadCell): Deleted.
(JSC::MarkedBlock::Handle::needsSweeping): Deleted.
(JSC::MarkedBlock::Handle::isAllocated): Deleted.
(JSC::MarkedBlock::Handle::isMarked): Deleted.
- heap/MarkedBlockInlines.h: Added.
(JSC::MarkedBlock::Handle::isLive):
(JSC::MarkedBlock::Handle::isLiveCell):
(JSC::MarkedBlock::Handle::forEachLiveCell):
(JSC::MarkedBlock::Handle::forEachDeadCell):
(JSC::MarkedBlock::resetVersion):
- heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::allocate):
(JSC::MarkedSpace::tryAllocate):
(JSC::MarkedSpace::sweep):
(JSC::MarkedSpace::prepareForAllocation):
(JSC::MarkedSpace::shrink):
(JSC::MarkedSpace::clearNewlyAllocated):
(JSC::MarkedSpace::beginMarking):
(JSC::MarkedSpace::endMarking):
(JSC::MarkedSpace::didAllocateInBlock):
(JSC::MarkedSpace::findEmptyBlock):
(JSC::MarkedSpace::snapshot):
(JSC::MarkedSpace::assertSnapshotEmpty):
(JSC::MarkedSpace::dumpBits):
(JSC::MarkedSpace::zombifySweep): Deleted.
(JSC::MarkedSpace::resetAllocators): Deleted.
(JSC::VerifyMarked::operator()): Deleted.
(JSC::MarkedSpace::flip): Deleted.
- heap/MarkedSpace.h:
(JSC::MarkedSpace::nextVersion):
(JSC::MarkedSpace::firstAllocator):
(JSC::MarkedSpace::allocatorForEmptyAllocation):
(JSC::MarkedSpace::forEachAllocator):
(JSC::MarkedSpace::blocksWithNewObjects): Deleted.
(JSC::MarkedSpace::setIsMarking): Deleted.
(JSC::MarkedSpace::forEachLiveCell): Deleted.
(JSC::MarkedSpace::forEachDeadCell): Deleted.
- heap/MarkedSpaceInlines.h: Added.
(JSC::MarkedSpace::forEachLiveCell):
(JSC::MarkedSpace::forEachDeadCell):
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::setMarkedAndAppendToMarkStack):
(JSC::SlotVisitor::markAuxiliary):
(JSC::SlotVisitor::visitChildren):
- heap/Weak.h:
(WTF::HashTraits<JSC::Weak<T>>::emptyValue):
(WTF::HashTraits<JSC::Weak<T>>::peek):
- heap/WeakBlock.cpp:
(JSC::WeakBlock::specializedVisit):
(JSC::WeakBlock::reap):
- heap/WeakInlines.h:
(WTF::HashTraits<JSC::Weak<T>>::emptyValue): Deleted.
(WTF::HashTraits<JSC::Weak<T>>::peek): Deleted.
- jit/JITThunks.h:
- runtime/JSGlobalObject.cpp:
- runtime/PrototypeMap.h:
- runtime/SamplingProfiler.cpp:
- runtime/WeakGCMap.h:
- tools/JSDollarVMPrototype.cpp:
Source/WTF:
The main change here is to bring back FastBitVector.cpp, so that I could outline some
large slow path functions. This also adds some utilities, like atomicSetAndCheck() and
isEmpty(). The GC uses these.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/FastBitVector.cpp: Added.
(WTF::FastBitVectorWordOwner::setEqualsSlow):
(WTF::FastBitVectorWordOwner::resizeSlow):
- wtf/FastBitVector.h:
(WTF::FastBitVectorWordOwner::operator=):
(WTF::FastBitVectorWordOwner::resize):
(WTF::FastBitVectorImpl::isEmpty):
(WTF::FastBitVector::atomicSetAndCheck):
(WTF::FastBitVector::operator[]): Deleted.
Tools:
Remove the always-trigger-copy-phase configuration.
- Scripts/run-jsc-stress-tests:
- 11:07 AM Changeset in webkit [206153] by
-
- 10 edits in trunk
[WinCairo] Use find_package cairo in build
https://bugs.webkit.org/show_bug.cgi?id=162239
Patch by Don Olmstead <don.olmstead@am.sony.com> on 2016-09-20
Reviewed by Alex Christensen.
.:
- Source/cmake/FindCairo.cmake:
- Source/cmake/OptionsWinCairo.cmake:
Source/WebCore:
No new tests. No change in behavior.
- PlatformWinCairo.cmake:
Source/WebKit:
- PlatformWin.cmake:
Tools:
- DumpRenderTree/PlatformWin.cmake:
- TestWebKitAPI/PlatformWin.cmake:
- 10:28 AM Changeset in webkit [206152] by
-
- 6 edits in trunk/LayoutTests
Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/model
https://bugs.webkit.org/show_bug.cgi?id=162074
Patch by Devin Rousso <Devin Rousso> on 2016-09-20
Reviewed by Brian Burg.
Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
tests more readable.
- inspector/model/frame-extra-scripts.html:
- inspector/model/scope-chain-node.html:
- inspector/model/script-resource-relationship-expected.txt:
- inspector/model/script-resource-relationship.html:
- inspector/model/stack-trace.html:
- 10:14 AM Changeset in webkit [206151] by
-
- 5 edits in trunk/Source
Undefined behavior: Left shift negative number
https://bugs.webkit.org/show_bug.cgi?id=161866
Reviewed by Keith Miller.
Left shifting a negative number is undefined behavior in C/C++, although most implementations do define it. Explicitly clarifying the intended behavior due to shifting negative number in some cases.
Source/JavaScriptCore:
- dfg/DFGAbstractHeap.h:
(JSC::DFG::AbstractHeap::encode): Explicitly cast signed integer for left shift.
Source/WTF:
- wtf/text/Base64.cpp:
(WTF::base64EncodeInternal): Changed signed character to unsigned when shifting.
(WTF::base64Encode): Ditto.
(WTF::base64URLEncode): Ditto.
(WTF::base64DecodeInternal): Ditto.
- wtf/text/Base64.h: Ditto.
(WTF::SignedOrUnsignedCharVectorAdapter): Rebuilt to stop using union as a bitwise_cast.
(WTF::ConstSignedOrUnsignedCharVectorAdapter): Ditto.
- 8:58 AM Changeset in webkit [206150] by
-
- 2 edits in trunk/Tools
Unreviewed build fix on 10.10 bots.
- TestWebKitAPI/mac/TestWKWebViewMac.h:
- 8:56 AM Changeset in webkit [206149] by
-
- 3 edits1 add in trunk
JSTests:
Unreviewed, added test for x86 32-bit failure for HasOwnProperty node in DFG.
- stress/has-own-property-called-on-non-object.js: Added.
(let.objs):
(new.String):
(foo):
Source/JavaScriptCore:
Unreviewed fix for 32-bit DFG x86 implementation of HasOwnProperty.
Fixup phase is always setting ObjectUse on child1() of HasOwnProperty.
However, on x86 32-bit, I omitted a call to speculateObject() on child1().
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- 8:47 AM Changeset in webkit [206148] by
-
- 3 edits in trunk/Tools
VideoControlsManager.VideoControlsManagerSingleLargeVideo fails intermittently on the Mac WK2 bot
https://bugs.webkit.org/show_bug.cgi?id=162255
Reviewed by Jer Noble.
This is reproducible by running the test repeatedly in a for loop (locally, I observed that running the test
back-to-back would result in the second one failing). This suggests that even on the runloop after the video
starts playing, the state of the playback controls manager may not be up to date in the UI process. Instead, we
can just spin the runloop until the playback controls are shown, which makes back-to-back tests to succeed and
will probably address flakiness on the bots for this test.
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.html:
- 8:45 AM Changeset in webkit [206147] by
-
- 4 edits2 adds in trunk
[JSC] Add
typeof value === "symbol"handling to bytecode compiler
https://bugs.webkit.org/show_bug.cgi?id=162253
Reviewed by Sam Weinig.
JSTests:
- microbenchmarks/is-symbol-mixed.js: Added.
(isSymbol):
(i.let.pair.of.list.String):
- microbenchmarks/is-symbol.js: Added.
(isSymbol):
Source/JavaScriptCore:
Add
typeof value === "symbol"handling to the bytecode compiler.
The effect is tiny, but it keeps consistency since the bytecode compiler
already has the similar optimization for "string" case.
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromJSType):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitEqualityOp):
- 8:26 AM Changeset in webkit [206146] by
-
- 14 edits1 copy in trunk
[media-source] Support MediaSource.setLiveSeekableRanges()
https://bugs.webkit.org/show_bug.cgi?id=162252
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/media-source/interfaces-expected.txt:
Source/WebCore:
Fixes tests: imported/w3c/web-platform-tests/media-source/interfaces.html
imported/w3c/web-platform-tests/media-source/mediasource-liveseekable.html
Add support for a new part of the Media Source specification, the ability for clients to
specify the seekable ranges for a MediaSource-backed HTMLMediaElement.
Adding the live-seekable methods to MediaSource fixes a large number of the interfaces.html
tests, and the rest are fixed by adding on<event> handlers to MediaSource, SourceBuffer,
and SourceBufferList.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::seekable):
(WebCore::MediaSource::setLiveSeekableRange):
(WebCore::MediaSource::clearLiveSeekableRange):
- Modules/mediasource/MediaSource.h:
- Modules/mediasource/MediaSource.idl:
- Modules/mediasource/SourceBuffer.idl:
- Modules/mediasource/SourceBufferList.idl:
- Modules/mediasource/VideoPlaybackQuality.idl:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::seekable):
LayoutTests:
- platform/mac/TestExpectations:
- platform/mac/imported/w3c/web-platform-tests/media-source/interfaces-expected.txt:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- 2:08 AM Changeset in webkit [206145] by
-
- 2 edits in trunk/Source/WebCore
[Win] Unreviewed warning fix.
- page/CaptionUserPreferencesMediaAF.cpp:
- 1:29 AM Changeset in webkit [206144] by
-
- 2 edits in trunk/Tools
[Win] Run layout tests in parallel.
https://bugs.webkit.org/show_bug.cgi?id=162145
Reviewed by Brent Fulgham.
To speed up layout tests, try running them in parallel.
- Scripts/webkitpy/port/win.py:
(WinPort.default_child_processes): Deleted.
- 12:11 AM Changeset in webkit [206143] by
-
- 1 copy in releases/WebKitGTK/webkit-2.14.0
WebKitGTK+ 2.14.0
- 12:10 AM Changeset in webkit [206142] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.14.0 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.14.0.
Sep 19, 2016:
- 11:02 PM Changeset in webkit [206141] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14
Merge r206095 - [GTK] Make ENABLE_THREADED_COMPOSITOR a public option
https://bugs.webkit.org/show_bug.cgi?id=162148
Reviewed by Carlos Garcia Campos.
- Source/cmake/OptionsGTK.cmake:
- 9:22 PM Changeset in webkit [206140] by
-
- 4 edits in trunk
Add support for HTMLSourceElement.prototype.sizes / HTMLSourceElement.prototype.srcset
https://bugs.webkit.org/show_bug.cgi?id=162244
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline now that more checks are passing.
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Add support for HTMLPrototype.prototype.sizes / HTMLPrototype.prototype.srcset:
We already support the corresponding content attributes internally. However, we
are missing the corresponding IDL attributes that are supposed to reflect them.
Chrome and Firefox support them. We already had those IDL attributes on
HTMLImageElement.
No new tests, rebaselined existing test.
- html/HTMLSourceElement.idl:
- 8:38 PM Changeset in webkit [206139] by
-
- 5 edits in tags/Safari-603.1.5.2/Source
Versioning.
- 8:34 PM Changeset in webkit [206138] by
-
- 1 copy in tags/Safari-603.1.5.2
New tag.
- 7:00 PM Changeset in webkit [206137] by
-
- 2 edits in trunk/Tools
Unreviewed build fix after r206135
NSEventMaskLeftMouseDown and friends are only available on 10.12.
- TestWebKitAPI/mac/TestWKWebViewMac.mm:
(simulated_forceClickAssociatedEventsMask):
- 6:05 PM Changeset in webkit [206136] by
-
- 29 edits6 adds in trunk
Make HasOwnProperty faster
https://bugs.webkit.org/show_bug.cgi?id=161708
Reviewed by Geoffrey Garen.
JSTests:
- microbenchmarks/has-own-property-name-cache.js: Added.
(foo):
- stress/has-own-property-cache-basics.js: Added.
(assert):
(foo):
- stress/has-own-property-name-cache-string-keys.js: Added.
(assert):
(foo):
- stress/has-own-property-name-cache-symbol-keys.js: Added.
(assert):
(foo):
- stress/has-own-property-name-cache-symbols-and-strings.js: Added.
(assert):
(foo):
Source/JavaScriptCore:
This patch adds a cache for HasOwnProperty. The cache holds tuples
of {StructureID, UniquedStringImpl*, boolean} where the boolean indicates
the result of performing hasOwnProperty on an object with StructureID and
UniquedStringImpl*. If the cache contains an item, we can be guaranteed
that it contains the same result as performing hasOwnProperty on an
object O with a given structure and key. To guarantee this, we only add
items into the cache when the Structure of the given item is cacheable.
The caching strategy is simple: when adding new items into the cache,
we will evict any item that was in the location that the new item
is hashed into. We also clear the cache on every GC. This strategy
proves to be successful on speedometer, which sees a cache hit rate
over 90%. This caching strategy is now inlined into the DFG/FTL JITs
by now recognizing hasOwnProperty as an intrinsic with the corresponding
HasOwnProperty node. The goal of the node is to emit inlined code for
the cache lookup to prevent the overhead of the call for the common
case where we get a cache hit.
I'm seeing around a 1% to 1.5% percent improvement on Speedometer on
my machine. Hopefully the perf bots agree with my machine.
This patch also speeds up the microbenchmark I added by 2.5x.
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGValidate.cpp:
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty):
- heap/Heap.cpp:
(JSC::Heap::collectImpl):
- jit/JITOperations.h:
- runtime/HasOwnPropertyCache.h: Added.
(JSC::HasOwnPropertyCache::Entry::offsetOfStructureID):
(JSC::HasOwnPropertyCache::Entry::offsetOfImpl):
(JSC::HasOwnPropertyCache::Entry::offsetOfResult):
(JSC::HasOwnPropertyCache::operator delete):
(JSC::HasOwnPropertyCache::create):
(JSC::HasOwnPropertyCache::hash):
(JSC::HasOwnPropertyCache::get):
(JSC::HasOwnPropertyCache::tryAdd):
(JSC::HasOwnPropertyCache::clear):
(JSC::VM::ensureHasOwnPropertyCache):
- runtime/Intrinsic.h:
- runtime/JSObject.h:
- runtime/JSObjectInlines.h:
(JSC::JSObject::hasOwnProperty):
- runtime/ObjectPrototype.cpp:
(JSC::ObjectPrototype::finishCreation):
(JSC::objectProtoFuncHasOwnProperty):
- runtime/Symbol.h:
- runtime/VM.cpp:
- runtime/VM.h:
(JSC::VM::hasOwnPropertyCache):
- 6:02 PM Changeset in webkit [206135] by
-
- 9 edits2 adds in trunk
Add a unit test covering <https://trac.webkit.org/changeset/205983>
https://bugs.webkit.org/show_bug.cgi?id=162112
Reviewed by Beth Dakin.
Source/WebKit2:
Adds some a test support method as SPI on WKWebView to determine whether to request candidates. See
Tools/ChangeLog for more details.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _shouldRequestCandidates]):
(-[WKWebView _forceRequestCandidates]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Tools:
Adds a new unit test covering the changes in r205983 along with the infrastructure needed to support it. Also
further refactors the TestWKWebView used by VideoControlsManager and WKWebViewCandidateTests so that in both
cases, we add the WKWebView to a visible key window, and when sending a mouse down event, we propagate the event
at the window level rather than the view level, allowing greater flexibility to simulate behaviors such as
pressure-sensitive events that are needed for the new test.
Also rewrites currently disabled unit tests in CandidateTests as WebKit2 unit tests in WKWebViewCandidateTests,
checking whether or not to should be requesting candidates in password and non-password fields.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::setUpWebViewForTestingVideoControlsManager):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm:
(-[CandidateTestWebView typeString:inputMessage:]):
(+[CandidateTestWebView setUpWithFrame:testPage:]):
- TestWebKitAPI/Tests/WebKit2Cocoa/large-input-field-focus-onload.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/text-and-password-inputs.html: Added.
- TestWebKitAPI/mac/TestWKWebViewMac.h:
- TestWebKitAPI/mac/TestWKWebViewMac.mm:
(simulated_forceClickAssociatedEventsMask):
(-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:]):
(-[TestWKWebView initWithFrame:]):
(-[TestWKWebView initWithFrame:configuration:]):
(-[TestWKWebView _setUpTestWindow:]):
(-[TestWKWebView mouseDownAtPoint:simulatePressure:]):
(-[TestWKWebView typeCharacter:]):
(-[TestWKWebView mouseDownAtPoint:]): Deleted.
- 5:48 PM Changeset in webkit [206134] by
-
- 13 edits4 adds in trunk
[JSC] Make the rounding-related nodes support any type
https://bugs.webkit.org/show_bug.cgi?id=161895
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-19
Reviewed by Geoffrey Garen.
JSTests:
- stress/arith-ceil-on-various-types.js: Added.
- stress/arith-floor-on-various-types.js: Added.
- stress/arith-round-on-various-types.js: Added.
- stress/arith-trunc-on-various-types.js: Added.
Source/JavaScriptCore:
This patch changes ArithRound, ArithFloor, ArithCeil and ArithTrunc
to support polymorphic input without exiting on entry.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
The 4 functions ignore any input past the first argument. It is okay
to use the nodes with the first argument and let the Phantoms keep
the remaining arguments live.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
Our fixup had the issue we have seen on previous nodes: unaryArithShouldSpeculateInt32()
prevents us from picking a good type if we do not see any double.
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
Prediction propagation of those nodes are fully determined
from their flags and results's prediction. They are moved
to the invariant processing.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithRounding):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithRound):
(JSC::FTL::DFG::LowerDFGToB3::compileArithFloor):
(JSC::FTL::DFG::LowerDFGToB3::compileArithCeil):
(JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc):
- 4:51 PM Changeset in webkit [206133] by
-
- 8 edits in trunk/LayoutTests
Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/css
https://bugs.webkit.org/show_bug.cgi?id=162071
Patch by Devin Rousso <Devin Rousso> on 2016-09-19
Reviewed by Brian Burg.
Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
tests more readable.
- inspector/css/createStyleSheet.html:
- inspector/css/generate-css-rule-string.html:
- inspector/css/manager-preferredInspectorStyleSheetForFrame-expected.txt:
- inspector/css/manager-preferredInspectorStyleSheetForFrame.html:
- inspector/css/stylesheet-events-basic.html:
- inspector/css/stylesheet-events-inspector-stylesheet.html:
- inspector/css/stylesheet-events-multiple-documents.html:
- 4:46 PM Changeset in webkit [206132] by
-
- 5 edits in trunk/Source
Suppress JavaScript prompts early on in certain cases
https://bugs.webkit.org/show_bug.cgi?id=162243
rdar://problem/27661602
Reviewed by Geoffrey Garen.
Source/WebCore:
Export symbols needed by WebKit2.
- loader/FrameLoader.h:
- loader/FrameLoaderStateMachine.h:
Source/WebKit2:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::shouldSuppressJavaScriptDialogs):
Add helper function.
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
Call helper function and return early if we should supress dialogs.
- 4:45 PM Changeset in webkit [206131] by
-
- 10 edits12 deletes in trunk
Align HTMLAppletElement with the specification
https://bugs.webkit.org/show_bug.cgi?id=162240
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline W3C test now that all checks are passing.
- web-platform-tests/html/dom/reflection-obsolete-expected.txt:
Source/WebCore:
Align HTMLAppletElement with the specification:
In particular:
- space / vspace should be of type "unsigned long", not DOMString
- codeBase and object should reflect as URLs
Firefox agree with the specification. Chrome does not have
HTMLAppletElement anymore.
No new tests, rebaselined existing test.
- html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::isURLAttribute):
- html/HTMLAppletElement.h:
- html/HTMLAppletElement.idl:
LayoutTests:
Drop outdated tests. Update existing tests to reflect behavior change.
- dom/html/level2/html/HTMLAppletElement11-expected.txt: Removed.
- dom/html/level2/html/HTMLAppletElement11.html: Removed.
- dom/html/level2/html/HTMLAppletElement11.js: Removed.
- dom/xhtml/level2/html/HTMLAppletElement11-expected.txt: Removed.
- dom/xhtml/level2/html/HTMLAppletElement11.js: Removed.
- dom/xhtml/level2/html/HTMLAppletElement11.xhtml: Removed.
- fast/dom/element-attribute-js-null-expected.txt:
- fast/dom/element-attribute-js-null.html:
- 4:36 PM Changeset in webkit [206130] by
-
- 6 edits in trunk/LayoutTests
Web Inspector: adopt Object.awaitEvent in LayoutTests/http/tests/inspector
https://bugs.webkit.org/show_bug.cgi?id=162069
Patch by Devin Rousso <Devin Rousso> on 2016-09-19
Reviewed by Brian Burg.
Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
tests more readable.
- http/tests/inspector/dom/disconnect-dom-tree-after-main-frame-navigation.html:
- http/tests/inspector/network/copy-as-curl.html:
- http/tests/inspector/network/resource-timing-expected.txt:
- http/tests/inspector/network/resource-timing.html:
- http/tests/inspector/network/xhr-request-data-encoded-correctly.html:
- 4:30 PM Changeset in webkit [206129] by
-
- 26 edits2 adds in trunk/LayoutTests/imported/w3c
Unreviewed gardening; update LayoutTests/media-source to the most recent version (5a011ca).
- resources/TestRepositories:
- web-platform-tests/media-source/OWNERS:
- web-platform-tests/media-source/interfaces.html:
- web-platform-tests/media-source/manifest.txt:
- web-platform-tests/media-source/mediasource-appendbuffer-quota-exceeded.html:
- web-platform-tests/media-source/mediasource-attach-stops-delaying-load-event.html: Added.
- web-platform-tests/media-source/mediasource-avtracks.html:
- web-platform-tests/media-source/mediasource-detach.html:
- web-platform-tests/media-source/mediasource-duration-expected.txt:
- web-platform-tests/media-source/mediasource-duration.html:
- web-platform-tests/media-source/mediasource-endofstream.html:
- web-platform-tests/media-source/mediasource-errors.html:
- web-platform-tests/media-source/mediasource-getvideoplaybackquality-expected.txt:
- web-platform-tests/media-source/mediasource-getvideoplaybackquality.html:
- web-platform-tests/media-source/mediasource-is-type-supported.html:
- web-platform-tests/media-source/mediasource-liveseekable.html:
- web-platform-tests/media-source/mediasource-remove-expected.txt:
- web-platform-tests/media-source/mediasource-remove.html:
- web-platform-tests/media-source/mediasource-removesourcebuffer.html:
- web-platform-tests/media-source/mediasource-seekable.html:
- web-platform-tests/media-source/mediasource-sourcebuffer-mode-timestamps.html: Added.
- web-platform-tests/media-source/mediasource-sourcebuffer-mode.html:
- web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults.html:
- web-platform-tests/media-source/mediasource-timestamp-offset.html:
- web-platform-tests/media-source/mediasource-trackdefault.html:
- web-platform-tests/media-source/mediasource-trackdefaultlist.html:
- web-platform-tests/media-source/mediasource-util.js:
- 4:27 PM Changeset in webkit [206128] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, build fix for Win64
https://bugs.webkit.org/show_bug.cgi?id=162132
In Windows 64bit, t3 register in LLInt is not r[a-d]x.
It means that this cannot be used for byte operation.
- llint/LowLevelInterpreter64.asm:
- 4:24 PM Changeset in webkit [206127] by
-
- 9 edits1 add in trunk
[media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-avtracks.html
https://bugs.webkit.org/show_bug.cgi?id=162104
Reviewed by Eric Carlson.
Source/WebCore:
Fixes test: imported/w3c/web-platform-tests/media-source/mediasource-avtracks.html
Multiple overlapping issues are causing this test to fail:
- When a MediaSource object is not attached from a HTMLMediaElement, it's SourceBuffer
objects will return
nullfrom .videoTracks and .audioTracks, foiling the tests ability to assert that sourceBuffer.videoTracks.length == 0.
- When a MediaSource object is detached from a HTMLMediaElement, it's tracks are removed but do not generate 'removedtrack' events.
When these bugs were fixed, a few more popped up:
- The HTMLMediaElement removes its tracks before it closes the MediaSource, which causes an assertion when the MediaSource tells the HTMLMediaElement to remove its copy of the source's tracks (which have already been removed).
- When the HTMLMediaElement is stop()-ed due to its ScriptExecutionContext being destroyed, it tries to close its MediaSource, which has itself already been stop()-ed and thus asserts.
To eliminate all these bugs and make the code more self explanatory, we will rename the
HTMLMediaElement's closeMediaSource() method to detachMediaSource(), and the MediaSource's
close() method to detachFromElement(). The only way to close a MediaSource is now by calling
detachMediaSource() from the HTMLMediaElement. The parts of the "Detaching from a media
element" algorithm which were previously spread across setReadyState() and onReadyStateChange()
are now unified in the newly renamed detachFromElement() method. The HTMLMediaElement will
first detach its MediaSource, and only after that remove all its tracks.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setReadyState): Move steps into detachFromElement().
(WebCore::MediaSource::onReadyStateChange): Ditto.
(WebCore::MediaSource::detachFromElement): Perform the steps as specified.
(WebCore::MediaSource::attachToElement): Takes a reference rather than a bare pointer.
(WebCore::MediaSource::stop): Ask the media elemnet to detach.
(WebCore::MediaSource::close): Renamed to detachFromElement().
- Modules/mediasource/MediaSource.h:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::videoTracks): Always return a valid TrackList object.
(WebCore::SourceBuffer::audioTracks): Ditto.
(WebCore::SourceBuffer::textTracks): Ditto.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement): Renamed closeMediaSource() -> detachMediaSource().
(WebCore::HTMLMediaElement::prepareForLoad): Ditto.
(WebCore::HTMLMediaElement::loadResource): Ditto.
(WebCore::HTMLMediaElement::noneSupported): Ditto.
(WebCore::HTMLMediaElement::mediaLoadingFailedFatally): Ditto.
(WebCore::HTMLMediaElement::detachMediaSource): Ditto.
(WebCore::HTMLMediaElement::userCancelledLoad): Ditto.
(WebCore::HTMLMediaElement::createMediaPlayer): Ditto.
(WebCore::HTMLMediaElement::clearMediaPlayer): Ditto. Also, detach from the MediaSource before
removing tracks.
(WebCore::HTMLMediaElement::closeMediaSource): Deleted.
- html/HTMLMediaElement.h:
- html/track/TrackListBase.cpp:
(TrackListBase::remove): Only try to clear the media element from Tracks that have one.
LayoutTests:
- imported/w3c/web-platform-tests/media-source/mediasource-avtracks-expected.txt
- platform/mac/TestExpectations:
- 4:05 PM Changeset in webkit [206126] by
-
- 4 edits in trunk
URLParser can read memory out of bounds
https://bugs.webkit.org/show_bug.cgi?id=162206
Reviewed by Geoff Garen.
Source/WebCore:
Covered by new API tests.
URLParser is disabled by default still.
- platform/URLParser.cpp:
(WebCore::parseIPv4Host):
If there are fewer than two numbers in an ipv4 address, we would subtract two from the Vector's size,
causing us to read memory up to std::numeric_limits<size_t>::max() - 2. Added a bounds check and many tests.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 4:03 PM Changeset in webkit [206125] by
-
- 4 edits in trunk/Source/WebCore
URLParser should parse serialized valid URLs faster than unknown input
https://bugs.webkit.org/show_bug.cgi?id=162228
Reviewed by Chris Dumez.
The URL constructor with ParsedURLStringTag is almost twice as fast as the other URL constructors.
Assuming there are no tabs or newlines, and assuming characters are already encoded decreases the URLParser
runtime by over 25% and adds infrastructure for more optimizations.
No new tests. No change in behaviour.
- platform/URL.cpp:
(WebCore::URL::URL):
- platform/URLParser.cpp:
(WebCore::utf8PercentEncode):
(WebCore::utf8PercentEncodeQuery):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseSerializedURL):
(WebCore::incrementIterator):
(WebCore::URLParser::parseAuthority):
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHost):
- platform/URLParser.h:
(WebCore::URLParser::parse): Deleted.
- 4:02 PM Changeset in webkit [206124] by
-
- 1 copy in tags/Safari-602.2.10
New tag.
- 3:53 PM Changeset in webkit [206123] by
-
- 3 edits in trunk/Source/WebKit2
Reduce logging from WebResourceLoader::didReceiveData
https://bugs.webkit.org/show_bug.cgi?id=162233
Reviewed by Antti Koivisto.
Only log once even if called multiple times for a single resource.
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::didReceiveData):
- WebProcess/Network/WebResourceLoader.h:
- 3:33 PM Changeset in webkit [206122] by
-
- 2 edits in trunk/Source/WebCore
Cleanup: Remove an extraneous copy of SecurityOrigin
https://bugs.webkit.org/show_bug.cgi?id=162118
Reviewed by Youenn Fablet.
Share one isolated copy of the SecurityOrigin between the ContentSecurityPolicy and
LoaderTaskOptions objects instead of creating two isolated copies of the SecurityOrigin.
This is safe because both ContentSecurityPolicy and LoaderTaskOptions are instantiated
in WorkerThreadableLoader::MainThreadBridge for use on the main thread only.
- loader/WorkerThreadableLoader.cpp:
(WebCore::LoaderTaskOptions::LoaderTaskOptions):
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
- 3:12 PM Changeset in webkit [206121] by
-
- 3 edits in trunk/Source/WebCore
Add size assert for RenderElement
https://bugs.webkit.org/show_bug.cgi?id=162096
Reviewed by Simon Fraser.
Also remove the unused m_visibleInViewportState field.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::unregisterForVisibleInViewportCallback):
- rendering/RenderElement.h:
- 2:59 PM Changeset in webkit [206120] by
-
- 4 edits in trunk/Source/WebCore
REGRESSION (r205275): LOG_WITH_STREAM() macros are all compiled in release builds now
https://bugs.webkit.org/show_bug.cgi?id=162180
Reviewed by Simon Fraser.
Disable LOG_WITH_STREAM in release mode. Along with this, remove a
local variable in GraphcsContextCG.cpp in release mode that's no
longer referenced. And adjust logFunctionResult so that it gets
defined only in debug mode, too, to match its declaration in
LogMacros.h.
No new tests -- there are no tests for logging.
- platform/LogMacros.h:
- platform/Logging.cpp:
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage):
- 2:25 PM Changeset in webkit [206119] by
-
- 44 edits112 deletes in trunk
Remove ENABLE(TEXT_AUTOSIZING) automatic text size adjustment code
https://bugs.webkit.org/show_bug.cgi?id=162167
Reviewed by Simon Fraser.
.:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Remove the automatic text size adjustment code guarded by ENABLE(TEXT_AUTOSIZING)
because it is not used by any port. On Mac and iOS, analogous code guarded by
ENABLE(IOS_TEXT_AUTOSIZING) is used.
- CMakeLists.txt:
- Configurations/FeatureDefines.xcconfig:
- dom/Document.cpp:
(WebCore::Document::Document):
- dom/Document.h:
(WebCore::Document::textAutosizer): Deleted.
- page/FrameView.cpp:
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::layout):
- page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setTextAutosizingFontScaleFactor): Deleted.
- page/Settings.h:
(WebCore::Settings::textAutosizingFontScaleFactor): Deleted.
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- rendering/RenderingAllInOne.cpp:
- rendering/TextAutosizer.cpp: Removed.
- rendering/TextAutosizer.h: Removed.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):
(WebCore::RenderStyle::lineHeight):
(WebCore::RenderStyle::setFontSize):
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::textAutosizingMultiplier): Deleted.
(WebCore::RenderStyle::setTextAutosizingMultiplier): Deleted.
- rendering/style/StyleVisualData.cpp:
(WebCore::StyleVisualData::StyleVisualData):
- rendering/style/StyleVisualData.h:
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setTextAutosizingEnabled):
(WebCore::InternalSettings::setTextAutosizingWindowSizeOverride):
(WebCore::InternalSettings::setTextAutosizingFontScaleFactor): Deleted.
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
- Scripts/webkitperl/FeatureList.pm:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
- TestExpectations:
- fast/text-autosizing/cluster-inline-block-or-table-expected.html: Removed.
- fast/text-autosizing/cluster-inline-block-or-table.html: Removed.
- fast/text-autosizing/cluster-inline-grid-flex-box-expected.html: Removed.
- fast/text-autosizing/cluster-inline-grid-flex-box.html: Removed.
- fast/text-autosizing/cluster-list-item-expected.html: Removed.
- fast/text-autosizing/cluster-list-item.html: Removed.
- fast/text-autosizing/cluster-narrow-in-wide-expected.html: Removed.
- fast/text-autosizing/cluster-narrow-in-wide-ohidden-expected.html: Removed.
- fast/text-autosizing/cluster-narrow-in-wide-ohidden.html: Removed.
- fast/text-autosizing/cluster-narrow-in-wide.html: Removed.
- fast/text-autosizing/cluster-wide-in-narrow-expected.html: Removed.
- fast/text-autosizing/cluster-wide-in-narrow.html: Removed.
- fast/text-autosizing/cluster-with-narrow-lca-and-cluster-expected.html: Removed.
- fast/text-autosizing/cluster-with-narrow-lca-and-cluster.html: Removed.
- fast/text-autosizing/cluster-with-narrow-lca-expected.html: Removed.
- fast/text-autosizing/cluster-with-narrow-lca.html: Removed.
- fast/text-autosizing/cluster-with-wide-lca-expected.html: Removed.
- fast/text-autosizing/cluster-with-wide-lca.html: Removed.
- fast/text-autosizing/clusters-insufficient-text-expected.html: Removed.
- fast/text-autosizing/clusters-insufficient-text.html: Removed.
- fast/text-autosizing/clusters-insufficient-width-expected.html: Removed.
- fast/text-autosizing/clusters-insufficient-width.html: Removed.
- fast/text-autosizing/clusters-sufficient-text-except-in-root-expected.html: Removed.
- fast/text-autosizing/clusters-sufficient-text-except-in-root.html: Removed.
- fast/text-autosizing/clusters-sufficient-width-expected.html: Removed.
- fast/text-autosizing/clusters-sufficient-width.html: Removed.
- fast/text-autosizing/constrained-and-overflow-auto-ancestor-expected.html: Removed.
- fast/text-autosizing/constrained-and-overflow-auto-ancestor.html: Removed.
- fast/text-autosizing/constrained-and-overflow-hidden-ancestor-expected.html: Removed.
- fast/text-autosizing/constrained-and-overflow-hidden-ancestor.html: Removed.
- fast/text-autosizing/constrained-and-overflow-paged-x-ancestor-expected.html: Removed.
- fast/text-autosizing/constrained-and-overflow-paged-x-ancestor.html: Removed.
- fast/text-autosizing/constrained-and-overflow-scroll-ancestor-expected.html: Removed.
- fast/text-autosizing/constrained-and-overflow-scroll-ancestor.html: Removed.
- fast/text-autosizing/constrained-height-ancestor-expected.html: Removed.
- fast/text-autosizing/constrained-height-ancestor.html: Removed.
- fast/text-autosizing/constrained-height-body-expected.html: Removed.
- fast/text-autosizing/constrained-height-body.html: Removed.
- fast/text-autosizing/constrained-maxheight-ancestor-expected.html: Removed.
- fast/text-autosizing/constrained-maxheight-ancestor.html: Removed.
- fast/text-autosizing/constrained-maxheight-expected.html: Removed.
- fast/text-autosizing/constrained-maxheight.html: Removed.
- fast/text-autosizing/constrained-out-of-flow-expected.html: Removed.
- fast/text-autosizing/constrained-out-of-flow.html: Removed.
- fast/text-autosizing/constrained-percent-maxheight-expected.html: Removed.
- fast/text-autosizing/constrained-percent-maxheight.html: Removed.
- fast/text-autosizing/constrained-percent-of-viewport-maxheight-expected.html: Removed.
- fast/text-autosizing/constrained-percent-of-viewport-maxheight.html: Removed.
- fast/text-autosizing/constrained-then-float-ancestors-expected.html: Removed.
- fast/text-autosizing/constrained-then-float-ancestors.html: Removed.
- fast/text-autosizing/constrained-then-overflow-ancestors-expected.html: Removed.
- fast/text-autosizing/constrained-then-overflow-ancestors.html: Removed.
- fast/text-autosizing/constrained-then-position-absolute-ancestors-expected.html: Removed.
- fast/text-autosizing/constrained-then-position-absolute-ancestors.html: Removed.
- fast/text-autosizing/constrained-then-position-fixed-ancestors-expected.html: Removed.
- fast/text-autosizing/constrained-then-position-fixed-ancestors.html: Removed.
- fast/text-autosizing/constrained-within-overflow-ancestor-expected.html: Removed.
- fast/text-autosizing/constrained-within-overflow-ancestor.html: Removed.
- fast/text-autosizing/em-margin-border-padding-expected.html: Removed.
- fast/text-autosizing/em-margin-border-padding.html: Removed.
- fast/text-autosizing/font-scale-factor-expected.html: Removed.
- fast/text-autosizing/font-scale-factor.html: Removed.
- fast/text-autosizing/form-controls-autosizing-button-input-elements-expected.html: Removed.
- fast/text-autosizing/form-controls-autosizing-button-input-elements.html: Removed.
- fast/text-autosizing/form-controls-autosizing-checkbox-input-element-expected.html: Removed.
- fast/text-autosizing/form-controls-autosizing-checkbox-input-element.html: Removed.
- fast/text-autosizing/form-controls-autosizing-radio-input-element-expected.html: Removed.
- fast/text-autosizing/form-controls-autosizing-radio-input-element.html: Removed.
- fast/text-autosizing/form-controls-autosizing-select-element-expected.html: Removed.
- fast/text-autosizing/form-controls-autosizing-select-element.html: Removed.
- fast/text-autosizing/form-controls-autosizing-textfield-input-elements-expected.html: Removed.
- fast/text-autosizing/form-controls-autosizing-textfield-input-elements.html: Removed.
- fast/text-autosizing/header-li-links-autosizing-expected.html: Removed.
- fast/text-autosizing/header-li-links-autosizing.html: Removed.
- fast/text-autosizing/header-links-autosizing-different-fontsize-expected.html: Removed.
- fast/text-autosizing/header-links-autosizing-different-fontsize.html: Removed.
- fast/text-autosizing/header-links-autosizing-expected.html: Removed.
- fast/text-autosizing/header-links-autosizing.html: Removed.
- fast/text-autosizing/narrow-child-expected.html: Removed.
- fast/text-autosizing/narrow-child.html: Removed.
- fast/text-autosizing/narrow-descendants-combined-expected.html: Removed.
- fast/text-autosizing/narrow-descendants-combined.html: Removed.
- fast/text-autosizing/narrow-iframe-expected.html: Removed.
- fast/text-autosizing/narrow-iframe-flattened-expected.html: Removed.
- fast/text-autosizing/narrow-iframe-flattened.html: Removed.
- fast/text-autosizing/narrow-iframe.html: Removed.
- fast/text-autosizing/nested-child-expected.html: Removed.
- fast/text-autosizing/nested-child.html: Removed.
- fast/text-autosizing/nested-em-line-height-expected.html: Removed.
- fast/text-autosizing/nested-em-line-height.html: Removed.
- fast/text-autosizing/oscillation-javascript-fontsize-change-expected.html: Removed.
- fast/text-autosizing/oscillation-javascript-fontsize-change.html: Removed.
- fast/text-autosizing/simple-paragraph-expected.html: Removed.
- fast/text-autosizing/simple-paragraph.html: Removed.
- fast/text-autosizing/span-child-expected.html: Removed.
- fast/text-autosizing/span-child.html: Removed.
- fast/text-autosizing/unwrappable-blocks-expected.html: Removed.
- fast/text-autosizing/unwrappable-blocks.html: Removed.
- fast/text-autosizing/unwrappable-inlines-expected.html: Removed.
- fast/text-autosizing/unwrappable-inlines.html: Removed.
- fast/text-autosizing/various-font-sizes-expected.html: Removed.
- fast/text-autosizing/various-font-sizes.html: Removed.
- fast/text-autosizing/wide-block-expected.html: Removed.
- fast/text-autosizing/wide-block.html: Removed.
- fast/text-autosizing/wide-child-expected.html: Removed.
- fast/text-autosizing/wide-child.html: Removed.
- fast/text-autosizing/wide-iframe-expected.html: Removed.
- fast/text-autosizing/wide-iframe.html: Removed.
- fast/text-autosizing/wide-in-narrow-overflow-scroll-expected.html: Removed.
- fast/text-autosizing/wide-in-narrow-overflow-scroll.html: Removed.
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- platform/ios-simulator-wk1/TestExpectations: Move Failure entry for test
fast/text-autosizing/ios/line-height-text-autosizing.html from here to platform/ios-simulator/TestExpectations.
- platform/ios-simulator-wk2/TestExpectations: Ditto.
- platform/ios-simulator/TestExpectations: Associated failure of test
fast/text-autosizing/ios/line-height-text-autosizing.html with <https://bugs.webkit.org/show_bug.cgi?id=162236>.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
- platform/wk2/TestExpectations:
- 2:10 PM Changeset in webkit [206118] by
-
- 3 edits5 adds in trunk
Update XHTMLParser to recognize "-W3CDTD MathML 2.0EN" public identifier
https://bugs.webkit.org/show_bug.cgi?id=162166
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Import test coverage from W3C web-platform-tests.
- web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/w3c-import.log: Added.
- web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support-expected.txt: Added.
- web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm: Added.
Source/WebCore:
Update XHTMLParser to recognize "-W3CDTD MathML 2.0EN" public identifier as
per the latest HTML specification.
Firefox already recognizes it properly.
Test: imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::convertUTF16EntityToUTF8):
Fix assertion that was causing the new test to crash in debug. The input '\u0026'
gets converted to '&' which is only 1 character. However, the assertion wrongly
expected WTF::Unicode::convertUTF16ToUTF8() to generate more than 1 character.
(WebCore::externalSubsetHandler):
Add "-W3CDTD MathML 2.0EN" to the list.
- 2:07 PM Changeset in webkit [206117] by
-
- 3 edits in trunk/LayoutTests
Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/unit-tests
https://bugs.webkit.org/show_bug.cgi?id=162103
Patch by Devin Rousso <Devin Rousso> on 2016-09-19
Reviewed by Brian Burg.
Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
tests more readable.
- inspector/unit-tests/inspector-test-dispatch-event-to-frontend.html:
- inspector/unit-tests/protocol-test-dispatch-event-to-frontend.html:
- 1:49 PM Changeset in webkit [206116] by
-
- 8 edits in trunk/LayoutTests
Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/console
https://bugs.webkit.org/show_bug.cgi?id=162070
Patch by Devin Rousso <Devin Rousso> on 2016-09-19
Reviewed by Brian Burg.
Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
tests more readable.
- inspector/console/clearMessages.html:
- inspector/console/command-line-api.html:
- inspector/console/console-time.html:
- inspector/console/messageAdded-from-named-evaluations.html:
- inspector/console/messageAdded-from-worker.html:
- inspector/console/messageRepeatCountUpdated.html:
- inspector/console/messagesCleared.html:
- 1:47 PM Changeset in webkit [206115] by
-
- 2 edits in trunk/LayoutTests
Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/script-profiler
https://bugs.webkit.org/show_bug.cgi?id=162101
Patch by Devin Rousso <Devin Rousso> on 2016-09-19
Reviewed by Brian Burg.
Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
tests more readable.
- inspector/script-profiler/event-type-Other.html:
- 1:46 PM Changeset in webkit [206114] by
-
- 2 edits in trunk/LayoutTests
Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/page
https://bugs.webkit.org/show_bug.cgi?id=162100
Patch by Devin Rousso <Devin Rousso> on 2016-09-19
Reviewed by Brian Burg.
Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
tests more readable.
- inspector/page/searchInResources.html:
- 1:45 PM Changeset in webkit [206113] by
-
- 2 edits in trunk/LayoutTests
Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/storage
https://bugs.webkit.org/show_bug.cgi?id=162102
Patch by Devin Rousso <Devin Rousso> on 2016-09-19
Reviewed by Brian Burg.
Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
tests more readable.
- inspector/storage/domStorage-events.html:
- 1:45 PM Changeset in webkit [206112] by
-
- 4 edits in trunk/LayoutTests
Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/network
https://bugs.webkit.org/show_bug.cgi?id=162099
Patch by Devin Rousso <Devin Rousso> on 2016-09-19
Reviewed by Brian Burg.
Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
tests more readable.
- inspector/network/client-blocked-load-expected.txt:
- inspector/network/client-blocked-load.html:
- inspector/network/xhr-json-blob-has-content.html:
- 1:41 PM Changeset in webkit [206111] by
-
- 5 edits in trunk/LayoutTests
Web Inspector: adopt Object.awaitEvent in LayoutTests/inspector/indexeddb
https://bugs.webkit.org/show_bug.cgi?id=162073
Patch by Devin Rousso <Devin Rousso> on 2016-09-19
Reviewed by Brian Burg.
Replace instances of singleFireEventListener with awaitEvent and use promise logic to make
tests more readable.
- inspector/indexeddb/clearObjectStore.html:
- inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
- inspector/indexeddb/requestDatabase.html:
- inspector/indexeddb/requestDatabaseNames.html:
- 1:39 PM Changeset in webkit [206110] by
-
- 9 edits1 delete in trunk/Source/JavaScriptCore
Update WASM towards 0xc
https://bugs.webkit.org/show_bug.cgi?id=162067
Reviewed by Geoffrey Garen.
This patch updates some of the core parts of the WASM frontend to the 0xc standard.
First, it changes the section names from strings to bytecodes. It also adds support
for inline block signatures. This is a change from the old version that used to have
each branch indicate the arity. Finally, this patch updates all the tests and deletes
a duplicate test.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- testWASM.cpp:
(runWASMTests):
- wasm/WASMB3IRGenerator.cpp:
- wasm/WASMFormat.h:
- wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser<Context>::FunctionParser):
(JSC::WASM::FunctionParser<Context>::parseBlock):
(JSC::WASM::FunctionParser<Context>::parseExpression):
- wasm/WASMModuleParser.cpp:
(JSC::WASM::ModuleParser::parse):
- wasm/WASMSections.cpp: Removed.
(JSC::WASM::Sections::lookup): Deleted.
- wasm/WASMSections.h:
(JSC::WASM::Sections::validateOrder):
- 1:35 PM Changeset in webkit [206109] by
-
- 11 edits in trunk
Window's pageXOffset / pageYOffset attributes should be replaceable
https://bugs.webkit.org/show_bug.cgi?id=162046
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/browsers/the-window-object/window-properties-expected.txt:
Source/WebCore:
Window's pageXOffset / pageYOffset attributes should be replaceable as per:
Firefox agrees with the specification.
No new tests, rebaselined existing test.
- page/DOMWindow.h:
- page/DOMWindow.idl:
LayoutTests:
Update existing tests to reflect behavior change.
- fast/dom/Window/get-set-properties-expected.txt:
- fast/dom/Window/get-set-properties.html:
- js/dom/var-declarations-shadowing-expected.txt:
- js/dom/var-declarations-shadowing.html:
- 1:22 PM Changeset in webkit [206108] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r206107.
https://bugs.webkit.org/show_bug.cgi?id=162229
still failing on armv7 for some reason (Requested by anttik on
#webkit).
Reverted changeset:
"Add size assert for RenderElement"
https://bugs.webkit.org/show_bug.cgi?id=162096
http://trac.webkit.org/changeset/206107
- 12:26 PM Changeset in webkit [206107] by
-
- 3 edits in trunk/Source/WebCore
Add size assert for RenderElement
https://bugs.webkit.org/show_bug.cgi?id=162096
Reviewed by Simon Fraser.
Also remove the unused m_visibleInViewportState field.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::unregisterForVisibleInViewportCallback):
- rendering/RenderElement.h:
- 12:08 PM Changeset in webkit [206106] by
-
- 3 edits in trunk/Source/WebInspectorUI
Unreviewed, reverting changeset https://trac.webkit.org/changeset/206101.
Revert https://bugs.webkit.org/show_bug.cgi?id=162165:
Web Inspector: Make it easier to create a view from an existing DOM element.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
- UserInterface/Views/View.js:
(WebInspector.View):
- 11:59 AM Changeset in webkit [206105] by
-
- 6 edits in trunk
Web Inspector: Scope sidebar shows "Closure" instead of "Local" when paused in anonymous function
https://bugs.webkit.org/show_bug.cgi?id=162113
<rdar://problem/28348954>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-19
Reviewed by Brian Burg.
Source/WebInspectorUI:
- UserInterface/Models/CallFrame.js:
(WebInspector.CallFrame):
Default the functionName to the empty string. This will compare
favorably against other empty function names instead of null.
LayoutTests:
- inspector/debugger/paused-scopes-expected.txt:
- inspector/debugger/paused-scopes.html:
- inspector/debugger/resources/paused-scopes.js:
Add a third pause to test behavior paused inside an
unnamed anonymous function.
- 11:46 AM Changeset in webkit [206104] by
-
- 15 edits in trunk/Source/JavaScriptCore
[JSC] Use is_cell_with_type for @isRegExpObject, @isMap, and @isSet
https://bugs.webkit.org/show_bug.cgi?id=162142
Reviewed by Michael Saboff.
Use is_cell_with_type for @isRegExpObject, @isMap and @isSet.
Previously, they were implemented as functions and only @isRegExpObject was handled in the DFG and FTL.
The recently added op_is_cell_with_type bytecode and DFG IsCellWithType node allows us to simplify the above checks in all JIT tiers.
Changed these checks to bytecode intrinsics using op_is_cell_with_type.
- builtins/BuiltinNames.h:
- bytecode/BytecodeIntrinsicRegistry.h:
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromJSType):
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitIsRegExpObject):
(JSC::BytecodeGenerator::emitIsMap):
(JSC::BytecodeGenerator::emitIsSet):
(JSC::BytecodeGenerator::emitIsProxyObject): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isRegExpObject):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isMap):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isSet):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- runtime/ECMAScriptSpecInternalFunctions.cpp:
(JSC::esSpecIsRegExpObject): Deleted.
- runtime/ECMAScriptSpecInternalFunctions.h:
- runtime/Intrinsic.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/MapPrototype.cpp:
(JSC::privateFuncIsMap): Deleted.
- runtime/MapPrototype.h:
- runtime/SetPrototype.cpp:
(JSC::privateFuncIsSet): Deleted.
- runtime/SetPrototype.h:
- 11:38 AM Changeset in webkit [206103] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 11:32 AM Changeset in webkit [206102] by
-
- 6 edits2 adds in trunk
AX: Add accessibility support for details element on iOS
https://bugs.webkit.org/show_bug.cgi?id=162041
Reviewed by Chris Fleizach.
Source/WebCore:
The details and summary elements are poorly supported on iOS.
Two major issues:
- Assistive technologies taking focus onto details/summary elements will cause unexpected behavior.
- VoiceOver is not speaking the expanded status of the details element.
Fixed them by not setting focus onto elements inside details and exposing the details element's expanded
status to its summary's accessible children.
Test: accessibility/ios-simulator/detail-summary-ios.html
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(matchedParent):
(-[WebAccessibilityObjectWrapper _accessibilityListAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityLandmarkAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityTableAncestor]):
(-[WebAccessibilityObjectWrapper _accessibilityFieldsetAncestor]):
(-[WebAccessibilityObjectWrapper tableCellParent]):
(-[WebAccessibilityObjectWrapper tableParent]):
(-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
(-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):
(-[WebAccessibilityObjectWrapper detailParentForSummaryObject:]):
(-[WebAccessibilityObjectWrapper detailParentForObject:]):
(-[WebAccessibilityObjectWrapper accessibilityElementDidBecomeFocused]):
(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):
(-[WebAccessibilityObjectWrapper accessibilityIsExpanded]):
Tools:
- DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::isExpanded):
- WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::isExpanded):
LayoutTests:
- accessibility/ios-simulator/detail-summary-ios-expected.txt: Added.
- accessibility/ios-simulator/detail-summary-ios.html: Added.
- 10:53 AM Changeset in webkit [206101] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Make it easier to create a view from an existing DOM element
https://bugs.webkit.org/show_bug.cgi?id=162165
<rdar://problem/28365848>
Reviewed by Timothy Hatcher.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
Pass id string for views created from existing DOM elements.
- UserInterface/Views/View.js:
(WebInspector.View):
ChangeelementtoelementOrIdentifier. If the value is a string,
treat it as an element identifier. If the identifier is invalid, create
a default element.
- 10:36 AM Changeset in webkit [206100] by
-
- 3 edits2 adds in trunk
ASSERTION FAILED: clipRectsContext.rootLayer == m_clipRectsCache->m_clipRectsRoot[clipRectsType] while loading guardian.co.uk
https://bugs.webkit.org/show_bug.cgi?id=162129
<rdar://problem/28353350>
Reviewed by Antti Koivisto.
Source/WebCore:
Neither ::localClipRect() nor ::selfClipRect() accounts for paginated context while computing the cliprects (See FIXMEs).
This patch ensures that we don't end up caching these invalid cliprects.
Test: fast/multicol/assert-on-cliprect-caching-when-paginated.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
LayoutTests:
- fast/multicol/assert-on-cliprect-caching-when-paginated-expected.txt: Added.
- fast/multicol/assert-on-cliprect-caching-when-paginated.html: Added.
- 10:16 AM Changeset in webkit [206099] by
-
- 8 edits in trunk/Source/JavaScriptCore
Web Replay: teach the replay inputs generator to encode and decode OptionSet<T>
https://bugs.webkit.org/show_bug.cgi?id=162107
Reviewed by Anders Carlsson.
Add a new type flag OPTION_SET. This means that the type is a typechecked enum class
declaration, but it's stored in an OptionSet object and can contain multiple
distinct enumeration values like an untyped enum declaration.
Do some cleanup since the generator now supports three different enumerable types:
'enum', 'enum class', and 'OptionSet<T>' where T is an enum class.
Also clean up some sloppy variable names. Using an 'enum_' prefix is really confusing now.
- replay/scripts/CodeGeneratorReplayInputs.py:
(Type.is_enum_declaration):
(Type.is_enum_class_declaration):
(Type.is_option_set):
(Type):
(Type.is_enumerable):
When we want all enumerable types, this property includes all three variants.
(Type.declaration_kind): Forward-declare OptionSet's type parameter as an enum class.
(VectorType.is_enum_declaration): Renamed from is_enum().
(VectorType.is_enum_class_declaration): Renamed from is_enum_class().
(VectorType.is_option_set): Added.
(InputsModel.enumerable_types): Added.
(InputsModel.parse_type_with_framework):
(Generator.generate_header):
(Generator.generate_implementation):
(Generator.generate_includes):
(Generator.generate_type_forward_declarations):
(Generator.generate_enumerable_type_trait_declaration):
(Generator.generate_enum_trait_declaration): Renamed.
(Generator.generate_enum_trait_implementation): Renamed.
- replay/scripts/CodeGeneratorReplayInputsTemplates.py:
Add new templates for OptionSet types. Clean up parameter names and simplify the
enumerable type declaration template, which is the same for all enumerable type variants.
- replay/scripts/tests/expected/fail-on-c-style-enum-no-storage.json-error:
- replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp:
(JSC::EncodingTraits<Test::PlatformEvent::OtherType>::encodeValue):
(JSC::EncodingTraits<Test::PlatformEvent::OtherType>::decodeValue):
- replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h:
- replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.h:
Rebaseline test results.
- replay/scripts/tests/generate-enum-encoding-helpers.json:
Add a new type for OptionSet<PlatformEvent::Modifier> to capture generated encode/decode methods.
- 10:00 AM Changeset in webkit [206098] by
-
- 29 edits in trunk/Source/JavaScriptCore
[JSC][LLInt] Introduce is_cell_with_type
https://bugs.webkit.org/show_bug.cgi?id=162132
Reviewed by Sam Weinig.
In this patch, we introduce is_cell_with_type bytecode. This bytecode can unify the following predicates,
op_is_string, op_is_jsarray, op_is_proxy_object, and op_is_derived_array!
And we now drop DFG node IsString since we can use IsCellWithType instead.
This automatically offers optimization to previous IsString node: dropping cell check by using CellUse edge filter.
Later, we are planning to use this is_cell_with_type to optimize @isRegExpObject, @isSet, and @isMap[1].
The performance results are neutral.
[1]: https://bugs.webkit.org/show_bug.cgi?id=162142
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromJSType):
- bytecode/SpeculatedType.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitEqualityOp):
(JSC::BytecodeGenerator::emitIsCellWithType):
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitIsJSArray):
(JSC::BytecodeGenerator::emitIsProxyObject):
(JSC::BytecodeGenerator::emitIsDerivedArray):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupIsCellWithType):
- dfg/DFGNode.h:
(JSC::DFG::Node::speculatedTypeForQuery):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- 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::compileIsString): Deleted.
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_is_cell_with_type):
(JSC::JIT::emitIsCellWithType): Deleted.
(JSC::JIT::emit_op_is_string): Deleted.
(JSC::JIT::emit_op_is_jsarray): Deleted.
(JSC::JIT::emit_op_is_proxy_object): Deleted.
(JSC::JIT::emit_op_is_derived_array): Deleted.
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_is_cell_with_type):
(JSC::JIT::emitIsCellWithType): Deleted.
(JSC::JIT::emit_op_is_string): Deleted.
(JSC::JIT::emit_op_is_jsarray): Deleted.
(JSC::JIT::emit_op_is_proxy_object): Deleted.
(JSC::JIT::emit_op_is_derived_array): Deleted.
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- 9:01 AM Changeset in webkit [206097] by
-
- 3 edits in trunk/Source/WebKit2
Only override URLParser::enabled if NSUserDefaults object exists
https://bugs.webkit.org/show_bug.cgi?id=162131
Patch by Alex Christensen <achristensen@webkit.org> on 2016-09-19
Reviewed by Sam Weinig.
- Shared/Cocoa/WebKit2InitializeCocoa.mm:
(WebKit::platformInitializeWebKit2):
- Shared/WebKit2Initialize.cpp:
When I enable URLParser by default, I will want the default to only be overwritten if there is a
NSUserDefaults key for URLParserEnabled. Right now it is setting URLParser::enabled to false always,
which isn't a problem because the default is also false. When the default is true, that will overwrite the default.
- 7:31 AM Changeset in webkit [206096] by
-
- 2 edits in trunk/Source/WebCore
Clean-up after r206014
https://bugs.webkit.org/show_bug.cgi?id=162140
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-19
Reviewed by Sam Weinig.
Covered by existing tests.
- platform/network/HTTPHeaderMap.cpp:
(WebCore::HTTPHeaderMap::add):
- 6:30 AM Changeset in webkit [206095] by
-
- 2 edits in trunk
[GTK] Make ENABLE_THREADED_COMPOSITOR a public option
https://bugs.webkit.org/show_bug.cgi?id=162148
Reviewed by Carlos Garcia Campos.
- Source/cmake/OptionsGTK.cmake:
- 5:30 AM Changeset in webkit [206094] by
-
- 4 edits in trunk/Source/WebCore
If a host object is only used as a variadic argument, its bindings header isn't properly included
https://bugs.webkit.org/show_bug.cgi?id=150121
Reviewed by Youenn Fablet.
Modify JS binding generator to include binding headers of objects passed
as variadic argument.
- Modules/mediastream/RTCPeerConnection.h: Remove workaround.
- bindings/scripts/CodeGeneratorJS.pm:
(AddVariadicToImplIncludes):
(GenerateParametersCheck):
- bindings/scripts/test/JS/JSTestObj.cpp:
- 4:30 AM Changeset in webkit [206093] by
-
- 3 edits in trunk/Source/WebCore
Web Inspector: ⇧⌘C should highlight node under cursor without re-moving mouse
https://bugs.webkit.org/show_bug.cgi?id=162128
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-19
Reviewed by Brian Burg.
- inspector/InspectorDOMAgent.h:
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
(WebCore::InspectorDOMAgent::highlightMousedOverNode):
(WebCore::InspectorDOMAgent::setSearchingForNode):
When the inspector is connected, remember the last moused over node.
This produces far more consistent results of highlighting under
the cursor when pressing and releasing the keyboard shortcut keys,
without having to move the mouse. Even when using the shortcut to
first connect the inspector this produces far more consistent
results because releasing the keys for the shortcut produce new
mouseDidMoveOverElement events.
- 4:29 AM Changeset in webkit [206092] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Color picker in Style sidebar stops working after 1st color change
https://bugs.webkit.org/show_bug.cgi?id=162115
<rdar://problem/28349875>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-19
Reviewed by Brian Burg.
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.createSwatch):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchActivated):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchDeactivated):
Listen for swatch activated / inactivated events to set some state.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._propertiesChanged):
Do not wipe markers if there is an active inline swatch. That
would break behavior for that active swatch.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchValueChanged):
Eliminate old, incorrect, and now unnecessary code for trying to recover
a textMarker for an inline swatch if the textMarker went away. Besides being
incorrect, if an inline swatch's textMarker goes away, then we will already
have issues, because any active popover will still be connected to the
original marker and swatch element that no longer appear in the editor.
- UserInterface/Views/ColorPicker.js:
(WebInspector.ColorPicker):
(WebInspector.ColorPicker.prototype.set color):
- UserInterface/Views/InlineSwatch.js:
(WebInspector.InlineSwatch.prototype.didDismissPopover):
(WebInspector.InlineSwatch.prototype._swatchElementClicked):
- 2:39 AM Changeset in webkit [206091] by
-
- 8 edits in trunk/Source
Web Inspector: Bring the inspected page's window forward when activating element search
https://bugs.webkit.org/show_bug.cgi?id=162114
<rdar://problem/28349357>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-19
Reviewed by Brian Burg.
Source/WebKit/mac:
- WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::didSetSearchingForNode):
When element search is activated bring the window
containing the inspected page to the foreground.
Source/WebKit2:
- UIProcess/WebInspectorProxy.h:
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::elementSelectionChanged):
When element search is activated allow the platform to bring
the window containing the inspected page to the foreground.
(WebKit::WebInspectorProxy::platformBringInspectedPageToFront):
- UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformBringInspectedPageToFront):
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformBringInspectedPageToFront):
Default empty implementation for ports.
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformBringInspectedPageToFront):
Bring the window containing the inspected page to the foreground.
- 2:00 AM Changeset in webkit [206090] by
-
- 4 edits in trunk/Source/WebCore
JSDOMBindings' toArguments() should return a more descriptive object
https://bugs.webkit.org/show_bug.cgi?id=161793
Reviewed by Youenn Fablet.
Replace std::pair with new VariadicHelperResult class with more
readable members names.
No additional tests required.
- bindings/js/JSDOMBinding.h:
(WebCore::VariadicHelper::Result::Result):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
- 12:23 AM Changeset in webkit [206089] by
-
- 9 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r206080 - [GTK] Stop using glReadPixels() to blit AC surfaces in the UIProcess under Wayland
https://bugs.webkit.org/show_bug.cgi?id=161530
Reviewed by Carlos Garcia Campos.
Use gdk_cairo_draw_from_gl when all necessary conditions exist.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::create): take TextureMapper::PaintFlags as optional argument.
(WebKit::ThreadedCompositor::ThreadedCompositor): ditto.
(WebKit::ThreadedCompositor::renderLayerTree): relay paint flags to TextureMapper::beginPaint.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::paint): use the faster gdk_cairo_draw_from_gl when a new
enough GTK+ is in use.
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): create compositor
with PaintingMirrored flag if we have recent GTK+ and are running under Wayland.
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h: implement shouldPaintMirrored by always
returning false.
- WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.h: implement shouldPaintMirrored by always
returning true.
- WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::compositeLayersToContext): pass PaintingMirror flag to TextureMapper
when under a recent enough GTK+ and Wayland.
- 12:22 AM Changeset in webkit [206088] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore/platform/gtk/po
Merge r206079 - [GTK] [l10n] Updated Ukrainian translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=162136
Patch by Yuri Chornoivan <yurchor@ukr.net> on 2016-09-18
Rubber-stamped by Michael Catanzaro.
- uk.po:
- 12:21 AM Changeset in webkit [206087] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r206086 - [GTK] Empty referer header after WebKit session state restoration trips Bad Behavior Wordpress plugin
https://bugs.webkit.org/show_bug.cgi?id=159606
Reviewed by Carlos Garcia Campos.
Leave the referrer member of FrameState unset when restoring from session state, unless
there is actually a nonempty referrer saved in the state. If we set it to an empty string,
then an empty referrer gets sent to the server, which some servers do not accept. It
triggers the Bad Behavior plugin on my WordPress blog, for instance. It also breaks vox.com.
- UIProcess/API/gtk/WebKitWebViewSessionState.cpp:
(decodeFrameState):
Sep 18, 2016:
- 11:51 PM Changeset in webkit [206086] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Empty referer header after WebKit session state restoration trips Bad Behavior Wordpress plugin
https://bugs.webkit.org/show_bug.cgi?id=159606
Reviewed by Carlos Garcia Campos.
Leave the referrer member of FrameState unset when restoring from session state, unless
there is actually a nonempty referrer saved in the state. If we set it to an empty string,
then an empty referrer gets sent to the server, which some servers do not accept. It
triggers the Bad Behavior plugin on my WordPress blog, for instance. It also breaks vox.com.
- UIProcess/API/gtk/WebKitWebViewSessionState.cpp:
(decodeFrameState):
- 12:49 PM Changeset in webkit [206085] by
-
- 3 edits in trunk/LayoutTests
Web Inspector: Add test coverage for all array utility functions
https://bugs.webkit.org/show_bug.cgi?id=162044
<rdar://problem/28330846>
Reviewed by Joseph Pecoraro.
New test cases and expectations for Array utility functions.
- inspector/unit-tests/array-utilities-expected.txt:
- inspector/unit-tests/array-utilities.html:
- 12:04 PM Changeset in webkit [206084] by
-
- 2 edits in trunk/Source/WebKit2
[iOS] Remove unused methods from _WKInputDelegate
https://bugs.webkit.org/show_bug.cgi?id=162098
Patch by Chelsea Pugh <cpugh@apple.com> on 2016-09-18
Reviewed by Anders Carlsson.
- UIProcess/API/Cocoa/_WKInputDelegate.h:
- 11:03 AM Changeset in webkit [206083] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Assert length of LLInt opcodes using isCellWithType is 3
https://bugs.webkit.org/show_bug.cgi?id=162134
Reviewed by Saam Barati.
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- 10:40 AM Changeset in webkit [206082] by
-
- 3 edits1 add in trunk
[JSC] Do not need to use defineProperty to define methods for object literals
https://bugs.webkit.org/show_bug.cgi?id=162111
Reviewed by Saam Barati.
JSTests:
- stress/object-literal-methods.js: Added.
(shouldBe):
(throw.new.Error.let.object.get name):
(throw.new.Error):
(shouldBe.let.object.get name):
(shouldBe.let.object.get prototype):
(shouldBe.let.object.get 42):
Source/JavaScriptCore:
When we receive the following code,
var object = { method() { } };
currently, we use defineProperty to define "method" function for "object".
This patch replaces it with the ordinary put_by_id_direct / put_by_val_direct
because the following 2 conditions are met.
- While methods in classes have special attributes ({configurable: true, writable: true, enumerable: false}), the attributes of methods in object literals is just the same to the other normal properties ({configurable: true, writable: true, enumerable: true}). This means that we can use the usual put_by_id_direct / put_by_val_direct to define method properties for object literals.
- Furthermore, all the own properties that can reside in objects created by object literals have {configurable: true}. So there is no need to check conflict by defineProperty. Always overwriting is OK.
let name = 'method';
var object = { get [name]() { }, method() { } };
Latter method wins.
On the other hand, in class syntax, conflict check is necessary since "prototype" own property is defined as {configurable: false}.
class Hello { static prototype() { } } Should throw error by defineProperty's check.
This means that conflict check done in defneProperty is not necessary for object literals' properties.
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitPutConstantProperty):
- 10:36 AM Changeset in webkit [206081] by
-
- 2 edits in trunk/Source/WebInspectorUI
Uncaught Exception: null is not an object (evaluating 'this.listItemElement.classList')
https://bugs.webkit.org/show_bug.cgi?id=162123
<rdar://problem/28352900>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-18
Reviewed by Matt Baker.
- UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype.onexpand):
If not attached yet, don't update title. We will update title
when attaching, so this avoids work and avoids doing that
work when the tree element is not fully setup.
(WebInspector.DOMTreeElement.prototype._startEditing):
(WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
(WebInspector.DOMTreeElement.prototype._nodePseudoClassesDidChange):
Switch to the public name instead of the private name.
- 8:10 AM Changeset in webkit [206080] by
-
- 9 edits in trunk/Source/WebKit2
[GTK] Stop using glReadPixels() to blit AC surfaces in the UIProcess under Wayland
https://bugs.webkit.org/show_bug.cgi?id=161530
Reviewed by Carlos Garcia Campos.
Use gdk_cairo_draw_from_gl when all necessary conditions exist.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::create): take TextureMapper::PaintFlags as optional argument.
(WebKit::ThreadedCompositor::ThreadedCompositor): ditto.
(WebKit::ThreadedCompositor::renderLayerTree): relay paint flags to TextureMapper::beginPaint.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::paint): use the faster gdk_cairo_draw_from_gl when a new
enough GTK+ is in use.
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): create compositor
with PaintingMirrored flag if we have recent GTK+ and are running under Wayland.
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h: implement shouldPaintMirrored by always
returning false.
- WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.h: implement shouldPaintMirrored by always
returning true.
- WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::compositeLayersToContext): pass PaintingMirror flag to TextureMapper
when under a recent enough GTK+ and Wayland.
- 7:03 AM Changeset in webkit [206079] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[GTK] [l10n] Updated Ukrainian translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=162136
Patch by Yuri Chornoivan <yurchor@ukr.net> on 2016-09-18
Rubber-stamped by Michael Catanzaro.
- uk.po:
- 6:47 AM Changeset in webkit [206078] by
-
- 4 edits in trunk
[EFL] Bump efl library to 1.18.1
https://bugs.webkit.org/show_bug.cgi?id=162120
Patch by Gyuyoung Kim <gyuyoung.kim@navercorp.com> on 2016-09-18
Reviewed by Michael Catanzaro.
.:
- Source/cmake/OptionsEfl.cmake: Use efl-1.18.1 instead of 1.18.
Tools:
- efl/jhbuild.modules: Use efl-1.18.1 instead of 1.18.
- 6:13 AM Changeset in webkit [206077] by
-
- 3 edits in trunk/Tools
[EFL] Adjust EFL coding style to EFL MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=162119
Reviewed by Michael Catanzaro.
Apply EFL coding style to main.c for MiniBrowser.
- Use _foo_cb instead of on_foo for callback function
- Use 3 spaces and use 2 spaces in keywords.
- EFL coding style. https://phab.enlightenment.org/w/coding_convention/
Additionally this patch adds an exception rule that style checker doesn't
check indentation rule in EFL MiniBrowser.
- MiniBrowser/efl/main.c:
(miniBrowserViewSmartClass):
(window_find_with_ewk_view):
(_tooltip_show):
(window_tooltip_hide):
(window_tooltip_update):
(_mouse_in_cb):
(_mouse_move_cb):
(_mouse_out_cb):
(_mouse_wheel_cb):
(_window_resize_cb):
(update_view_favicon):
(_icon_changed_cb):
(window_free):
(window_close):
(search_icon_show):
(search_box_show):
(search_box_hide):
(history_list_hide):
(save_page_contents_callback):
(script_execute_callback):
(toggle_window_fullscreen):
(_key_down_cb):
(_mouse_down_cb):
(_title_changed_cb):
(_url_changed_cb):
(_back_forward_list_changed_cb):
(_progress_cb):
(_error_cb):
(_download_request_cb):
(close_file_picker):
(_filepicker_parent_deletion_cb):
(_filepicker_deletion_cb):
(_fileselector_done_cb):
(_file_chooser_request_cb):
(_download_finished_cb):
(_download_failed_cb):
(_color_changed_cb):
(_color_item_selected_cb):
(_color_picker_ok_clicked_cb):
(_color_picker_cancel_clicked_cb):
(_color_picker_dismiss_cb):
(_color_picker_request_cb):
(_url_bar_activated_cb):
(_url_bar_clicked_cb):
(_search_field_aborted_cb):
(_search_field_activated_cb):
(_search_field_clicked_cb):
(_back_button_clicked_cb):
(_forward_button_clicked_cb):
(_search_backward_button_clicked_cb):
(_search_forward_button_clicked_cb):
(_search_case_option_changed):
(_search_word_start_option_changed_cb):
(_search_close_button_clicked_cb):
(_refresh_button_clicked_cb):
(_stop_button_clicked_cb):
(_list_item_select_cb):
(navigation_button_longpress_process):
(_forward_button_longpress_cb):
(_back_button_longpress_cb):
(_ok_clicked_cb):
(_file_entry_dialog_show):
(_javascript_alert_cb):
(_javascript_confirm_cb):
(_javascript_prompt_cb):
(_javascript_before_unload_confirm_cb):
(_popup_menu_item_clicked_cb):
(popup_menu_populate):
(_popup_menu_show):
(_popup_menu_hide):
(_window_geometry_get):
(_window_geometry_set):
(_fullscreen_accept_cb):
(_fullscreen_deny_cb):
(_fullscreen_enter_cb):
(_fullscreen_exit_cb):
(_window_create_cb):
(_window_close_cb):
(_context_menu_item_selected_cb):
(context_menu_populate):
(_context_menu_show):
(_context_menu_hide):
(auth_popup_close):
(_auth_cancel_cb):
(_auth_ok_cb):
(_authentication_request_cb):
(_search_text_found_cb):
(_tooltip_text_set):
(_tooltip_text_unset):
(_navigation_policy_decision_cb):
(_home_button_clicked_cb):
(_window_deletion_cb):
(create_toolbar_button):
(window_create):
(configuration):
(parse_cookies_policy):
(parse_window_size):
(elm_main):
(on_tooltip_show): Deleted.
(on_mouse_in): Deleted.
(on_mouse_move): Deleted.
(on_mouse_out): Deleted.
(on_mouse_wheel): Deleted.
(on_window_resize): Deleted.
(on_icon_changed_cb): Deleted.
(on_key_down): Deleted.
(on_mouse_down): Deleted.
(on_title_changed): Deleted.
(on_url_changed): Deleted.
(on_back_forward_list_changed): Deleted.
(on_progress): Deleted.
(on_error): Deleted.
(on_download_request): Deleted.
(on_filepicker_parent_deletion): Deleted.
(on_filepicker_deletion): Deleted.
(on_fileselector_done): Deleted.
(on_file_chooser_request): Deleted.
(on_download_finished): Deleted.
(on_download_failed): Deleted.
(on_color_changed): Deleted.
(on_color_item_selected): Deleted.
(on_color_picker_ok_clicked): Deleted.
(on_color_picker_cancel_clicked): Deleted.
(on_color_picker_dismiss): Deleted.
(on_color_picker_request): Deleted.
(on_url_bar_activated): Deleted.
(on_url_bar_clicked): Deleted.
(on_search_field_aborted): Deleted.
(on_search_field_activated): Deleted.
(on_search_field_clicked): Deleted.
(on_back_button_clicked): Deleted.
(on_forward_button_clicked): Deleted.
(on_search_backward_button_clicked): Deleted.
(on_search_forward_button_clicked): Deleted.
(on_search_case_option_changed): Deleted.
(on_search_word_start_option_changed): Deleted.
(on_search_close_button_clicked): Deleted.
(on_refresh_button_clicked): Deleted.
(on_stop_button_clicked): Deleted.
(on_list_item_select): Deleted.
(on_forward_button_longpress): Deleted.
(on_back_button_longpress): Deleted.
(on_ok_clicked): Deleted.
(show_file_entry_dialog): Deleted.
(on_javascript_alert): Deleted.
(on_javascript_confirm): Deleted.
(on_javascript_prompt): Deleted.
(on_javascript_before_unload_confirm): Deleted.
(on_popup_menu_item_clicked): Deleted.
(on_popup_menu_show): Deleted.
(on_popup_menu_hide): Deleted.
(on_window_geometry_get): Deleted.
(on_window_geometry_set): Deleted.
(on_fullscreen_accept): Deleted.
(on_fullscreen_deny): Deleted.
(on_fullscreen_enter): Deleted.
(on_fullscreen_exit): Deleted.
(on_window_create): Deleted.
(on_window_close): Deleted.
(context_menu_item_selected_cb): Deleted.
(on_context_menu_show): Deleted.
(on_context_menu_hide): Deleted.
(on_auth_cancel): Deleted.
(on_auth_ok): Deleted.
(on_authentication_request): Deleted.
(on_search_text_found): Deleted.
(on_tooltip_text_set): Deleted.
(on_tooltip_text_unset): Deleted.
(on_navigation_policy_decision): Deleted.
(on_home_button_clicked): Deleted.
(on_window_deletion): Deleted.
- Scripts/webkitpy/style/checker.py:
- 1:01 AM Changeset in webkit [206076] by
-
- 4 edits in trunk/Source/WebCore
Remove unnecessary String allocations in URLParser
https://bugs.webkit.org/show_bug.cgi?id=162089
Reviewed by Chris Dumez.
No change in behavior except a performance improvement.
- platform/URL.cpp:
(WebCore::assertProtocolIsGood):
(WebCore::URL::protocolIs):
(WebCore::protocolIs):
- platform/URL.h:
Added a new protocolIs for non-null-terminated strings from user input.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Don't make a String to compare protocols.
Sep 17, 2016:
- 10:38 PM Changeset in webkit [206075] by
-
- 2 edits in trunk/Source/WebCore
Inline functions in URLParser
https://bugs.webkit.org/show_bug.cgi?id=162106
Reviewed by Antti Koivisto.
No change in behavior. Just make URLParser faster.
- platform/URLParser.cpp:
(WebCore::isC0Control):
(WebCore::isC0ControlOrSpace):
(WebCore::isTabOrNewline):
(WebCore::isInSimpleEncodeSet):
(WebCore::isInDefaultEncodeSet):
(WebCore::isInUserInfoEncodeSet):
(WebCore::isInvalidDomainCharacter):
(WebCore::isPercentOrNonASCII):
(WebCore::isSlashQuestionOrHash):
(WebCore::isWindowsDriveLetter):
(WebCore::shouldCopyFileURL):
(WebCore::percentEncode):
(WebCore::utf8PercentEncode):
(WebCore::utf8PercentEncodeQuery):
(WebCore::encodeQuery):
(WebCore::isDefaultPort):
(WebCore::isSpecialScheme):
(WebCore::copyASCIIStringUntil):
(WebCore::isPercentEncodedDot):
(WebCore::isSingleDotPathSegment):
(WebCore::isDoubleDotPathSegment):
(WebCore::consumeSingleDotPathSegment):
(WebCore::consumeDoubleDotPathSegment):
(WebCore::serializeIPv4):
(WebCore::zeroSequenceLength):
(WebCore::findLongestZeroSequence):
(WebCore::serializeIPv6Piece):
(WebCore::serializeIPv6):
(WebCore::parseIPv4Number):
(WebCore::pow256):
(WebCore::parseIPv4Host):
(WebCore::parseIPv6Host):
(WebCore::percentDecode):
(WebCore::containsOnlyASCII):
(WebCore::domainToASCII):
(WebCore::hasInvalidDomainCharacter):
(WebCore::formURLDecode):
(WebCore::serializeURLEncodedForm):
- 4:14 AM Changeset in webkit [206074] by
-
- 2 edits in trunk/Source/WebCore
MainThreadBridge needs an isolatedCopy() of SecurityOrigin
<https://webkit.org/b/162116>
<rdar://problem/27525870>
Reviewed by Carlos Garcia Campos.
Covered by existing tests.
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
Make an isolatedCopy() of SecurityOrigin here since that's the
correct idiom to use when the object is passed from a worker
thread back to the main thread. Fix suggested by Daniel Bates.
- 3:53 AM Changeset in webkit [206073] by
-
- 5 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r206019 - [TextureMapper] Scrolling through 01.org/dleyna crashes WebKitWebProcess
https://bugs.webkit.org/show_bug.cgi?id=162020
Reviewed by Žan Doberšek.
The problem is that we are trying to clone a ReferenceFilterOperation, which is not expected to be cloned, from
FilterAnimationValue copy constructor, and FilterOperations are never expected to be nullptr, so we end up
crashing. We just need to validate the filters before setting then and before creating a TextureMapperAnimation
for them.
- platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::filtersCanBeComposited): Return false if there are reference filters or no
filters at all. I don't know if we really support other filters, but at least we won't crash for the others.
(WebCore::GraphicsLayerTextureMapper::addAnimation): Check if filters can be composited before creating a
TextureMapperAnimation.
(WebCore::GraphicsLayerTextureMapper::setFilters): Check if filters can be composited before setting them.
- platform/graphics/texmap/GraphicsLayerTextureMapper.h:
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::filtersCanBeComposited): Return false if there are reference filters or no
filters at all. I don't know if we really support other filters, but at least we won't crash for the others.
(WebCore::CoordinatedGraphicsLayer::setFilters): Check if filters can be composited before setting them.
(WebCore::CoordinatedGraphicsLayer::addAnimation): Check if filters can be composited before creating a
TextureMapperAnimation.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
- 3:52 AM Changeset in webkit [206072] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r206067 - [GTK] Move the rendering of auth dialog shadow to the auth dialog widget
https://bugs.webkit.org/show_bug.cgi?id=162061
Reviewed by Michael Catanzaro.
Instead of rendering the shadow in the web view, we can let the auth dialog do it. This fixes the rendering of
the shadow in Wayland when using gdk_cairo_draw_from_gl().
- UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
(webkitAuthenticationDialogDraw): Draw the shadow before rendering the child.
(webkitAuthenticationDialogSizeAllocate): Center the child on the allocated space.
(webkit_authentication_dialog_class_init): Add size_allocate implementation.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDraw): Do not draw the shadow when auth dialog is present.
(webkitWebViewBaseSizeAllocate): Give the whole web view allocation to the auth dialog.
- 3:51 AM Changeset in webkit [206071] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r206066 - [ThreadedCompositor] Scrolling artifacts on accelerated subframes
https://bugs.webkit.org/show_bug.cgi?id=149060
Reviewed by Michael Catanzaro.
The problem is that we are scrolling the main frame even when scrolling is not delegated.
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::scrollNonCompositedContents): Return early if main frame view doesn't
delegate scrolling.
- 3:50 AM Changeset in webkit [206070] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r206045 - [GTK] Surface created for glReadPixels path on Wayland is bigger than needed
https://bugs.webkit.org/show_bug.cgi?id=162025
Reviewed by Carlos Garcia Campos.
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::paint): the texture created by the Wayland
compositor is already scaled, so scaling its size when creating the surface causes it
to end up bigger than necessary.
- 3:48 AM Changeset in webkit [206069] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205998 - REGRESSION (r205462): Lot of leaks
https://bugs.webkit.org/show_bug.cgi?id=161946
Reviewed by Saam Barati.
We were forgetting to delete LargeAllocations on VM exit!
- heap/MarkedSpace.cpp:
(JSC::MarkedSpace::~MarkedSpace):
- 3:47 AM Changeset in webkit [206068] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14
Merge r206020 - [CMake] Build broken with current debian testing
https://bugs.webkit.org/show_bug.cgi?id=162054
Reviewed by Žan Doberšek.
Building WTR bindings is broken now in Debian testing. The reason is that '.' is no longer included in @INC for
perl, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=588017 and
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1238.
- Source/cmake/WebKitMacros.cmake(GENERATE_BINDINGS): Pass also the given BASE_DIR to perl executable so that it
can find modules in the current directory even if '.' is not in @INC. Also include generators in BASE_DIR to the
list of dependencies.
- 1:34 AM Changeset in webkit [206067] by
-
- 3 edits in trunk/Source/WebKit2
[GTK] Move the rendering of auth dialog shadow to the auth dialog widget
https://bugs.webkit.org/show_bug.cgi?id=162061
Reviewed by Michael Catanzaro.
Instead of rendering the shadow in the web view, we can let the auth dialog do it. This fixes the rendering of
the shadow in Wayland when using gdk_cairo_draw_from_gl().
- UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
(webkitAuthenticationDialogDraw): Draw the shadow before rendering the child.
(webkitAuthenticationDialogSizeAllocate): Center the child on the allocated space.
(webkit_authentication_dialog_class_init): Add size_allocate implementation.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDraw): Do not draw the shadow when auth dialog is present.
(webkitWebViewBaseSizeAllocate): Give the whole web view allocation to the auth dialog.
- 1:32 AM Changeset in webkit [206066] by
-
- 2 edits in trunk/Source/WebKit2
[ThreadedCompositor] Scrolling artifacts on accelerated subframes
https://bugs.webkit.org/show_bug.cgi?id=149060
Reviewed by Michael Catanzaro.
The problem is that we are scrolling the main frame even when scrolling is not delegated.
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::scrollNonCompositedContents): Return early if main frame view doesn't
delegate scrolling.
Sep 16, 2016:
- 11:32 PM Changeset in webkit [206065] by
-
- 48 edits4 adds in trunk
[DFG] Introduce IsCellWithType node and unify IsJSArray, IsRegExpObject and newly added IsProxyObject
https://bugs.webkit.org/show_bug.cgi?id=162000
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/is-array-for-array.js: Added.
(isArray):
- microbenchmarks/is-array-for-mixed-case.js: Added.
(isArray):
- microbenchmarks/is-array-for-non-array-object.js: Added.
(isArray):
- microbenchmarks/is-array-for-proxy.js: Added.
(isArray):
(isArray.proxy.throw.new.Error.isArray):
(isArray.proxy.throw.new.Error):
Source/JavaScriptCore:
Sampling profiler tells that ES6SampleBench/Basic frequently calls Array.isArray(). This function is introduced in
ES5 and it is well-used to distinguish Array from the other objects. Moreover, this function is used in Array.prototype.xxx
methods as @isArray. So it's worth optimizing.
The difference between Array.isArray and @isJSArray is that Array.isArray need to consider about ProxyObject while
@isJSArray builtin intrinsic does not. So in this patch, we leverage the existing @isJSArray to implement Array.isArray.
Array.isArray is written in builtin JS code using @isJSArray and newly added @isProxyObject(). That allow us to inline
Array.isArray() code and the inlined code uses existing DFG nodes well.
Another problem is RuntimeArray and ArrayPrototype. They inherit JSArray and their JSType is ObjectType. But Array.isArray need
to return true for those types. While optimizing type checking in generic way by type display is nice, RuntimeArray and
ArrayPrototype are a bit tricky and it is super rare that these functions are passed to Array.isArray(). So instead of introducing
type display in this patch, we just introduce a new JSType, DerivedArrayType and use it in the above 2 use classes. Since
Array.isArray is specially handled in the spec (while we don't have any Date.isDate() like functions, only Array.isArray
is specified in the spec because we frequently want to distinguish Arrays from other Objects), optimizing Array.isArray specially
by introducing special DerivedArrayType is reasonable.
In LLInt level, we add a new opcode, op_is_proxy_object and op_is_derived_array. This works similar to op_is_jsarray.
And we also perform LLInt code cleanup by introducing a macro isCellWithType.
In baseline, we perform some clean up for op_is_proxy_object etc. Now duplicate code is reduced.
In DFG, we unify IsJSArray, IsRegExpObject, IsProxyObject, and IsDerivedArray into one IsCellWithType node. And we clean up
some AI code related to IsJSArray and IsRegExpObject since SpeculatedType now recognizes ProxyObject. IsJSArray and IsRegExpObject
does not do anything special for proxy objects.
The above change simplify things to create a new IsXXX DFG handling and paves the way for optimizing @isMap & @isSet in DFG.
Furthermore, introducing @isProxyObject() is nice for the first step to optimize ProxyObject handling.
Here is microbenchmark result. We can see stable performance improvement (Even if we use Proxies!).
baseline patched
is-array-for-array 2.5156+-0.0288 2.0668+-0.0285 definitely 1.2171x faster
is-array-for-mixed-case 4.7787+-0.0755 4.4722+-0.0789 definitely 1.0686x faster
is-array-for-non-array-object 2.3596+-0.0368 1.8178+-0.0262 definitely 1.2980x faster
is-array-for-proxy 4.0469+-0.0437 3.3845+-0.0404 definitely 1.1957x faster
And ES6SampleBench/Basic reports 5.2% perf improvement. And now sampling result in ES6SampleBench/Basic does not pose Array.isArray.
Benchmark First Iteration Worst 2% Steady State
baseline:Basic 28.59 ms +- 1.03 ms 15.08 ms +- 0.28 ms 1656.96 ms +- 18.02 ms
patched:Basic 27.82 ms +- 0.44 ms 14.59 ms +- 0.16 ms 1574.65 ms +- 8.44 ms
- builtins/ArrayConstructor.js:
(isArray):
(from): Deleted.
- builtins/BuiltinNames.h:
- bytecode/BytecodeIntrinsicRegistry.h:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationFromClassInfo):
(JSC::speculationFromStructure):
- bytecode/SpeculatedType.h:
(JSC::isProxyObjectSpeculation):
(JSC::isDerivedArraySpeculation):
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitIsProxyObject):
(JSC::BytecodeGenerator::emitIsDerivedArray):
(JSC::BytecodeGenerator::emitIsJSArray): Deleted.
- bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isProxyObject):
(JSC::BytecodeIntrinsicNode::emit_intrinsic_isDerivedArray):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupIsCellWithType):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasQueriedType):
(JSC::DFG::Node::queriedType):
(JSC::DFG::Node::hasSpeculatedTypeForQuery):
(JSC::DFG::Node::speculatedTypeForQuery):
(JSC::DFG::Node::shouldSpeculateProxyObject):
(JSC::DFG::Node::shouldSpeculateDerivedArray):
(JSC::DFG::Node::loadVarargsData): Deleted.
(JSC::DFG::Node::shouldSpeculateArray): Deleted.
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIsCellWithType):
(JSC::DFG::SpeculativeJIT::speculateProxyObject):
(JSC::DFG::SpeculativeJIT::speculateDerivedArray):
(JSC::DFG::SpeculativeJIT::speculate):
(JSC::DFG::SpeculativeJIT::compileIsJSArray): Deleted.
(JSC::DFG::SpeculativeJIT::compileIsRegExpObject): Deleted.
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGUseKind.cpp:
(WTF::printInternal):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileIsCellWithType):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::isCellWithType):
(JSC::FTL::DFG::LowerDFGToB3::speculateProxyObject):
(JSC::FTL::DFG::LowerDFGToB3::speculateDerivedArray):
(JSC::FTL::DFG::LowerDFGToB3::compileIsJSArray): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::compileIsRegExpObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::isArray): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::isRegExpObject): Deleted.
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emitIsCellWithType):
(JSC::JIT::emit_op_is_string):
(JSC::JIT::emit_op_is_jsarray):
(JSC::JIT::emit_op_is_proxy_object):
(JSC::JIT::emit_op_is_derived_array):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emitIsCellWithType):
(JSC::JIT::emit_op_is_string):
(JSC::JIT::emit_op_is_jsarray):
(JSC::JIT::emit_op_is_proxy_object):
(JSC::JIT::emit_op_is_derived_array):
- jsc.cpp:
(WTF::RuntimeArray::createStructure):
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::finishCreation):
(JSC::isArraySlowInline):
(JSC::isArraySlow):
(JSC::arrayConstructorPrivateFuncIsArraySlow):
(JSC::arrayConstructorIsArray): Deleted.
- runtime/ArrayConstructor.h:
(JSC::isArray):
- runtime/ArrayPrototype.h:
(JSC::ArrayPrototype::createStructure):
- runtime/JSArray.h:
(JSC::JSArray::finishCreation):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSType.h:
Source/WebCore:
- bridge/runtime_array.h:
(JSC::RuntimeArray::createStructure):
- 10:18 PM Changeset in webkit [206064] by
-
- 2 edits in trunk/JSTests
Unreviewed, gardening test262 results
Some tests are now passed with JSC, but marked as failed.
- test262.yaml:
- 8:53 PM Changeset in webkit [206063] by
-
- 3 edits1 add in trunk/LayoutTests
Unreviewed cleanup of some inspector tests.
Start skipping some debugger stepping test flakeyness on
Debug builds until that bug is addressed.
- inspector/debugger/break-on-exception-throw-in-promise.html:
Remove debug only.
- inspector/debugger/paused-scopes.html: Added.
This test was missing for 3 months. Its expectations got added
but the test itself got lost after a rollout and re-land.
- 8:18 PM Changeset in webkit [206062] by
-
- 4 edits6 adds in trunk
Cancelling one frame's load cancels load in other frames that have the same URL as well
https://bugs.webkit.org/show_bug.cgi?id=162094
Reviewed by Antti Koivisto.
Source/WebCore:
Cancelling one frame's load cancels load in other frames that have the same URL as well.
So if you have several frames that are loading URL X and you navigate one of the frames
to Y, then the load of X will be cancelled and this frame will navigate to Y. All other
frames will not load URL X even though they should.
The issue is that all the DocumentLoaders share the same CachedResource because of the
memoryCache. When we call DocumentLoader::stopLoading(), it will cancel the
CachedResource's load even though there are several clients for this CachedResource
and other clients still want the load.
The approach chosen in this patch is to not reuse CachedResources that are still
loading when trying to load a main resource. This is not the most efficient approach.
I still chose this approach because:
- It is very unlikely to introduce new bugs.
- The change is very simple.
- This is a corner case (several iframes having the same URL and cancelling the load in one of them).
Test: http/tests/navigation/frames-same-url-cancel-load.html
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
LayoutTests:
Add layout test coverage.
- http/tests/cache/iframe-detach-expected.txt: Added.
- http/tests/cache/iframe-detach.html: Added.
- http/tests/cache/resources/slow-iframe.php: Added.
Import Alex Christensen's test from Bug 157563.
- http/tests/navigation/frames-same-url-cancel-load-expected.txt: Added.
- http/tests/navigation/frames-same-url-cancel-load.html: Added.
- http/tests/navigation/resources/success.html: Added.
- http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt:
- 7:53 PM Changeset in webkit [206061] by
-
- 2 edits in trunk/Source/WebCore
ASSERTION FAILED: The string being removed is atomic in the string table of an other thread! iterator != atomicStringTable.end() at Source/WTF/wtf/text/AtomicStringImpl.cpp(453)
https://bugs.webkit.org/show_bug.cgi?id=161800
Reviewed by Žan Doberšek.
Speculative fix. These strings are created as static objects on a secondary thread, but all
static objects are destroyed in exit handlers on the main thread, and AtomicStrings must
always be destroyed on the same thread they are created.
- platform/graphics/texmap/TextureMapperShaderProgram.h:
- 7:39 PM Changeset in webkit [206060] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed, rolling out r206055.
https://bugs.webkit.org/show_bug.cgi?id=162110
broke 32bit ARM build (Requested by anttik on #webkit).
Reverted changeset:
"Add size assert for RenderElement"
https://bugs.webkit.org/show_bug.cgi?id=162096
http://trac.webkit.org/changeset/206055
- 7:14 PM Changeset in webkit [206059] by
-
- 6 edits6 adds in trunk
Web Inspector: Implement Copy CSS Selector and Copy Xpath Selector context menus
https://bugs.webkit.org/show_bug.cgi?id=158881
<rdar://problem/8181156>
Reviewed by Matt Baker.
Source/WebInspectorUI:
This is based off of the Blink implementation (DOMPresentationUtils)
with some minor modifications and using our own utility methods.
- Localizations/en.lproj/localizedStrings.js:
New context menu strings.
- UserInterface/Base/DOMUtilities.js:
(WebInspector.cssPath):
(WebInspector.cssPathComponent.classNames):
(WebInspector.cssPathComponent):
(WebInspector.xpath):
(WebInspector.xpathIndex.isSimiliarNode):
(WebInspector.xpathIndex):
Build strings for a CSS selector path or XPath path to a node.
- UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
- UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype.populateContextMenu):
Include copy path context menu items on nodes.
Pseudo elements do not get Copy XPath.
Non-node elements do not get Copy Selector Path.
LayoutTests:
- inspector/dom/domutilities-csspath-expected.txt: Added.
- inspector/dom/domutilities-csspath.html: Added.
- inspector/dom/domutilities-path-dump-expected.txt: Added.
- inspector/dom/domutilities-path-dump.html: Added.
- inspector/dom/domutilities-xpath-expected.txt: Added.
- inspector/dom/domutilities-xpath.html: Added.
- 5:43 PM Changeset in webkit [206058] by
-
- 1 copy in tags/Safari-602.2.9
New tag.
- 5:41 PM Changeset in webkit [206057] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: Make console session dividers more pronounced
https://bugs.webkit.org/show_bug.cgi?id=161938
<rdar://problem/28291166>
Reviewed by Brian Burg.
Instead of using a dim dashed line as a console session separator, include time and reason why
the new session started, which could be one of the following values:
- Console opened (for the first time)
- Console cleared
- Page reloaded
- Page navigated
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype.clear):
(WebInspector.JavaScriptLogViewController.prototype.startNewSession):
Remove previous session if it doesn't have any messages.
- UserInterface/Controllers/LogManager.js:
(WebInspector.LogManager.prototype._mainResourceDidChange):
(WebInspector.LogManager):
Session separator wasn't appended when navigating to a different web page. Always dispatch
SessionStarted events when the main resource changes. Distinguish between reload and navigation.
- UserInterface/Views/ConsoleSession.js:
(WebInspector.ConsoleSession):
(WebInspector.ConsoleSession.prototype.addMessageView):
(WebInspector.ConsoleSession.prototype.append):
(WebInspector.ConsoleSession.prototype.hasMessages):
- UserInterface/Views/LogContentView.css:
(.console-session-header):
(.console-session:first-of-type .console-session-header):
(.console-session:not(:first-of-type)):
(.console-session:not(:first-of-type) .console-session-header):
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._sessionStarted):
- 5:14 PM Changeset in webkit [206056] by
-
- 3 edits1 add in trunk/Source/WebCore
[Win][Direct2D] Provide Color support for Direct2D
https://bugs.webkit.org/show_bug.cgi?id=162090
Reviewed by Dean Jackson.
Add casting operations to the Color class to allow easy interoption with
native Direct2D operations.
No new tests. No change in behavior.
- PlatformWin.cmake: Add new Windows implementation file.
- platform/graphics/Color.h:
- platform/graphics/win/ColorDirect2D.cpp: Added.
(WebCore::Color::Color):
(WebCore::Color::operator D2D1_COLOR_F):
- 4:33 PM Changeset in webkit [206055] by
-
- 3 edits in trunk/Source/WebCore
Add size assert for RenderElement
https://bugs.webkit.org/show_bug.cgi?id=162096
Reviewed by Simon Fraser.
Also remove the unused m_visibleInViewportState field.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::unregisterForVisibleInViewportCallback):
- rendering/RenderElement.h:
- 3:14 PM Changeset in webkit [206054] by
-
- 3 edits in trunk/Source/WebKit2
WKWebViewConfiguration's _incrementalRenderingSuppressionTimeout should be an NSTimeInterval
https://bugs.webkit.org/show_bug.cgi?id=162092
Reviewed by Anders Carlsson.
The _incrementalRenderingSuppressionTimeout property should be a NSTimeInterval, not a CGFloat.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _incrementalRenderingSuppressionTimeout]):
(-[WKWebViewConfiguration _setIncrementalRenderingSuppressionTimeout:]):
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- 2:43 PM Changeset in webkit [206053] by
-
- 23 edits in branches/safari-602-branch/Source
Merge r206006. rdar://problem/27991573
- 2:43 PM Changeset in webkit [206052] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r206003. rdar://problem/27991573
- 2:43 PM Changeset in webkit [206051] by
-
- 8 edits in branches/safari-602-branch/Source/WebKit2
Merge r206000. rdar://problem/27991573
- 2:42 PM Changeset in webkit [206050] by
-
- 9 edits2 adds in branches/safari-602-branch
Merge r204916. rdar://problem/27991573
- 2:39 PM Changeset in webkit [206049] by
-
- 11 edits in trunk/Source/WebCore
Tighten region style map to use RenderElement instead of RenderObject
https://bugs.webkit.org/show_bug.cgi?id=162064
Reviewed by Zalan Bujtas.
RenderTexts don't have styles of their own so the map can operate on RenderElements.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::willBeRemovedFromTree):
(WebCore::RenderElement::removeFromRenderFlowThread):
(WebCore::RenderElement::removeFromRenderFlowThreadIncludingDescendants):
(WebCore::RenderElement::invalidateFlowThreadContainingBlockIncludingDescendants):
- rendering/RenderElement.h:
- rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::removeFlowChildInfo):
- rendering/RenderFlowThread.h:
- rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::computeChildrenStyleInRegion):
(WebCore::RenderNamedFlowFragment::setRendererStyleInRegion):
(WebCore::RenderNamedFlowFragment::clearObjectStyleInRegion):
(WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
(WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle):
(WebCore::RenderNamedFlowFragment::setObjectStyleInRegion): Deleted.
- rendering/RenderNamedFlowFragment.h:
- rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
(WebCore::RenderNamedFlowThread::removeFlowChildInfo):
- rendering/RenderNamedFlowThread.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeRemovedFromTree):
(WebCore::RenderObject::removeFromRenderFlowThread): Deleted.
(WebCore::RenderObject::removeFromRenderFlowThreadIncludingDescendants): Deleted.
(WebCore::RenderObject::invalidateFlowThreadContainingBlockIncludingDescendants): Deleted.
These can now move to RenderElement.
- rendering/RenderObject.h:
- 2:20 PM Changeset in webkit [206048] by
-
- 3 edits in trunk/Source/WebCore
CaptionUserPreferences's use of the PageGroup's page map is incorrect
https://bugs.webkit.org/show_bug.cgi?id=122194
<rdar://problem/27332004>
Reviewed by Zalan Bujtas.
Avoid the possibility of dereferencing an unsafe iterator by checking
for an empty HashSet before using the result of 'begin()'.
No new tests because there is no change in behavior.
- page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::CaptionUserPreferences): Use new safer
accessor to retrieve the current page.
(WebCore::CaptionUserPreferences::setCaptionDisplayMode): Ditto.
(WebCore::CaptionUserPreferences::currentPage): Added.
(WebCore::CaptionUserPreferences::userPrefersCaptions): Use new safer
accessor to retrieve the current page.
(WebCore::CaptionUserPreferences::setUserPrefersCaptions): Ditto.
(WebCore::CaptionUserPreferences::userPrefersSubtitles): Ditto.
(WebCore::CaptionUserPreferences::setUserPrefersSubtitles): Ditto.
(WebCore::CaptionUserPreferences::userPrefersTextDescriptions): Ditto.
(WebCore::CaptionUserPreferences::setUserPrefersTextDescriptions): Ditto.
- page/CaptionUserPreferences.h:
- 2:17 PM Changeset in webkit [206047] by
-
- 9 edits in trunk/Source/JavaScriptCore
[DFG] Introduce ArrayUse
https://bugs.webkit.org/show_bug.cgi?id=162063
Reviewed by Keith Miller.
ArrayUse is particularly useful: for IsJSArray.
We can drop IsJSArray in fixup phase by setting ArrayUse edge filter.
Since @isJSArray user is limited (Array.prototype.concat), the effect of this patch is small.
But later, I'll update {@isArray, Array.isArray} to use @isJSArray[1]. In that patch, we are planning
to implement more aggressive optimization like, setting CellUse edge filter to avoid cell check in
SpeculativeJIT::compileIsJSArray.
In the benchmark using Array.prototype.concat, we can see perf improvement since we can drop IsJSArray in fixup phase.
baseline patched
lazy-array-species-watchpoints 25.0911+-0.0516 24.7687+-0.0767 definitely 1.0130x faster
[1]: https://bugs.webkit.org/show_bug.cgi?id=162000
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateArray):
(JSC::DFG::SpeculativeJIT::speculate):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGUseKind.cpp:
(WTF::printInternal):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateArray):
(JSC::FTL::DFG::LowerDFGToB3::speculateObject): Deleted.
- 1:49 PM Changeset in webkit [206046] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: make Object.awaitEvent synchronously add an event listener
https://bugs.webkit.org/show_bug.cgi?id=162066
Reviewed by Brian Burg.
Patch by Devin Rousso <Devin Rousso> on 2016-09-16
- UserInterface/Base/Object.js:
(WebInspector.Object.awaitEvent):
Utilize a WebInspector.WrappedPromise to not worry about adding the singleFireEventListener
on the next tick due to the promise construction.
- UserInterface/TestStub.html:
Add WebInspector.WrappedPromise.
- 1:46 PM Changeset in webkit [206045] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Surface created for glReadPixels path on Wayland is bigger than needed
https://bugs.webkit.org/show_bug.cgi?id=162025
Reviewed by Carlos Garcia Campos.
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::paint): the texture created by the Wayland
compositor is already scaled, so scaling its size when creating the surface causes it
to end up bigger than necessary.
- 1:35 PM Changeset in webkit [206044] by
-
- 3 edits in trunk/Source/WebCore
Use Vector<LChar> instead of StringBuilder for the ASCII parts of URLParser
https://bugs.webkit.org/show_bug.cgi?id=162035
Reviewed by Chris Dumez.
StringBuilder::append checks to see whether its StringBuffer is 8-bit or 16-bit each time it is called.
When parsing URLs, almost all of the parsed URL is guaranteed to be 8-bit ASCII.
Using a Vector<LChar> for this allows us to use uncheckedAppend in some places, and it always eliminates the 8-bit check.
This is a ~20% speedup in url parsing.
Covered by existing API tests.
- platform/URLParser.cpp:
(WebCore::isWindowsDriveLetter):
(WebCore::percentEncode):
(WebCore::utf8PercentEncode):
(WebCore::utf8PercentEncodeQuery):
(WebCore::encodeQuery):
(WebCore::URLParser::copyURLPartsUntil):
(WebCore::URLParser::popPath):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseAuthority):
(WebCore::appendNumber):
(WebCore::serializeIPv4):
(WebCore::serializeIPv6Piece):
(WebCore::serializeIPv6):
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHost):
(WebCore::serializeURLEncodedForm):
(WebCore::URLParser::serialize):
(WebCore::bufferView): Deleted.
- platform/URLParser.h:
- 1:24 PM Changeset in webkit [206043] by
-
- 23 edits in trunk
[CSS Parser] Get CSSPropertyParserHelpers.cpp compiling
https://bugs.webkit.org/show_bug.cgi?id=162078
Reviewed by Dean Jackson.
Source/WebCore:
- css/CSSCalculationValue.cpp:
(WebCore::hasDoubleValue):
(WebCore::checkDepthAndIndex):
(WebCore::CSSCalcExpressionNodeParser::parseCalc):
(WebCore::CSSCalcExpressionNodeParser::operatorValue):
(WebCore::CSSCalcExpressionNodeParser::parseValue):
(WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
(WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
(WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
(WebCore::CSSCalcExpressionNodeParser::parseValueExpression):
(WebCore::checkDepthAndIndexDeprecated):
(WebCore::CSSCalcExpressionNodeParserDeprecated::parseValueTerm):
(WebCore::CSSCalcExpressionNodeParserDeprecated::parseValueMultiplicativeExpression):
(WebCore::CSSCalcExpressionNodeParserDeprecated::parseAdditiveValueExpression):
(WebCore::CSSCalcValue::create):
- css/CSSCalculationValue.h:
(WebCore::CSSCalcValue::createCalculationValue):
(WebCore::CSSCalcValue::setPermittedValueRange):
Switch off the permitted calc value range enum, since we can just use the identical ValueRange enum.
Deprecate the CSSParserValueList-based parser by renaming it, and add a new parser that operates
on tokens.
- css/CSSPrimitiveValue.cpp:
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::isStringType):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText):
(WebCore::CSSPrimitiveValue::cloneForCSSOM):
(WebCore::CSSPrimitiveValue::equals):
(WebCore::CSSPrimitiveValue::buildParserValue):
- css/CSSPrimitiveValue.h:
Add support for CSS_QUIRKY_EMS as a unit type. This will let us eliminate the extra m_isQuirkValue boolean
eventually.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::validateCalculationUnit):
(WebCore::CSSParser::parseCalculation):
- css/parser/CSSParser.h:
Switch to ValueRange.
- css/parser/CSSParserIdioms.cpp:
(WebCore::completeURL):
- css/parser/CSSParserIdioms.h:
Make the URL completion function from CSSParser.cpp available to all.
- css/parser/CSSParserMode.h:
(WebCore::isUnitLessValueParsingEnabledForMode):
(WebCore::isUnitLessLengthParsingEnabledForMode): Deleted.
Rename this to value, since for now we're not supporting Blink's UserUnits. This means we need to support
unitless parsing for times and angles in addition to lengths, making the name of the function inappropriate.
- css/parser/CSSParserToken.cpp:
(WebCore::cssPrimitiveValueUnitFromTrie):
Turn quirky ems support back on.
- css/parser/CSSParserValues.cpp:
(WebCore::CSSParserValue::createCSSValue):
Support quirky ems.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::CalcParser::consumeValue):
(WebCore::CSSPropertyParserHelpers::CalcParser::consumeNumber):
(WebCore::CSSPropertyParserHelpers::consumeInteger):
(WebCore::CSSPropertyParserHelpers::consumePositiveInteger):
(WebCore::CSSPropertyParserHelpers::consumeNumber):
(WebCore::CSSPropertyParserHelpers::shouldAcceptUnitlessValue):
(WebCore::CSSPropertyParserHelpers::consumeLength):
(WebCore::CSSPropertyParserHelpers::consumePercent):
(WebCore::CSSPropertyParserHelpers::canConsumeCalcValue):
(WebCore::CSSPropertyParserHelpers::consumeLengthOrPercent):
(WebCore::CSSPropertyParserHelpers::consumeAngle):
(WebCore::CSSPropertyParserHelpers::consumeTime):
(WebCore::CSSPropertyParserHelpers::consumeIdent):
(WebCore::CSSPropertyParserHelpers::consumeIdentRange):
(WebCore::CSSPropertyParserHelpers::consumeCustomIdent):
(WebCore::CSSPropertyParserHelpers::consumeString):
(WebCore::CSSPropertyParserHelpers::consumeUrl):
(WebCore::CSSPropertyParserHelpers::parseRGBParameters):
(WebCore::CSSPropertyParserHelpers::parseHSLParameters):
(WebCore::CSSPropertyParserHelpers::consumeColor):
(WebCore::CSSPropertyParserHelpers::consumePositionComponent):
(WebCore::CSSPropertyParserHelpers::positionFromOneValue):
(WebCore::CSSPropertyParserHelpers::positionFromTwoValues):
(WebCore::CSSPropertyParserHelpers::createPrimitiveValuePair):
(WebCore::CSSPropertyParserHelpers::positionFromThreeOrFourValues):
(WebCore::CSSPropertyParserHelpers::consumePosition):
(WebCore::CSSPropertyParserHelpers::consumeOneOrTwoValuedPosition):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradientPoint):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradientStopColor):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradientColorStop):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradient):
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient):
(WebCore::CSSPropertyParserHelpers::consumeLinearGradient):
(WebCore::CSSPropertyParserHelpers::consumeImageOrNone):
(WebCore::CSSPropertyParserHelpers::consumeCrossFade):
(WebCore::CSSPropertyParserHelpers::consumeGeneratedImage):
(WebCore::CSSPropertyParserHelpers::consumeImageSet):
(WebCore::CSSPropertyParserHelpers::consumeImage):
- css/parser/CSSPropertyParserHelpers.h:
(WebCore::CSSPropertyParserHelpers::isCSSWideKeyword):
Lots of changes here. The most important is switching over to RefPtrs and Refs where appropriate, with the
requisite WTFMoves. Unit types also have to be converted back to our values, and unitless parsing has
to work with consumeTime and consumeAngle.
- platform/CalculationValue.cpp:
(WebCore::CalculationValue::create):
- platform/CalculationValue.h:
(WebCore::CalculationValue::CalculationValue):
Use ValueRange.
- platform/graphics/Color.cpp:
(WebCore::Color::parseHexColor):
(WebCore::Color::Color):
- platform/graphics/Color.h:
Add a StringView-based parseHexColor function.
- rendering/style/BasicShapes.cpp:
(WebCore::BasicShapeCenterCoordinate::updateComputedLength):
Use ValueRange
Tools:
- TestWebKitAPI/Tests/WebCore/CalculationValue.cpp:
(TestWebKitAPI::createTestValue):
Convert to ValueRange.
- 1:19 PM Changeset in webkit [206042] by
-
- 2 edits in trunk/Tools
Fix API tests after r206036
https://bugs.webkit.org/show_bug.cgi?id=162049
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
An emoji had been UTF-8 encoded in the patch that was applied.
The test needed to check the encoding of the emoji, not the UTF-8 encoding of the emoji.
Everything was correct except applying the patch before committing.
- 12:55 PM Changeset in webkit [206041] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening; enable newly passing media/media-source/ tests.
- platform/mac/TestExpectations:
- 12:44 PM Changeset in webkit [206040] by
-
- 2 edits in trunk/Source/WebKit2
ASSERT accidentally commented out in r204916
<https://webkit.org/b/162077>
Reviewed by Anders Carlsson.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::terminateProcess): Comment in the ASSERT
back in.
- 12:33 PM Changeset in webkit [206039] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening; enable newly passing imported/w3c/web-platform-tests/media-source/ tests.
- platform/mac/TestExpectations:
- 12:32 PM Changeset in webkit [206038] by
-
- 2 edits in trunk/Tools
RequiresUserActionForPlayback TestWebKitAPI tests are broken after r206033.
https://bugs.webkit.org/show_bug.cgi?id=162080
Reviewed by Jer Noble.
I renamed "playingHandler" to the more generalized "testHandler", but did not realize that the
RequiresUserActionForPlayback tests also used "playingHandler". Renames the handler to account for this change.
- TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm:
(RequiresUserActionForPlaybackTest::SetUp):
- 12:25 PM Changeset in webkit [206037] by
-
- 4 edits in trunk
[media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html
https://bugs.webkit.org/show_bug.cgi?id=162052
Reviewed by Brent Fulgham.
Source/WebCore:
Fixes tests: imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html
imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate.html
The above tests would throw an assertion while trying to invert a range with an invalid end time. Check the
validity of trackBuffer.lastEnqueuedPresentationTime before comparing it and assigning it to a range.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::removeCodedFrames):
LayoutTests:
- platform/mac/TestExpectations:
- 11:59 AM Changeset in webkit [206036] by
-
- 4 edits in trunk
URLParser should percent encode the user and password according to spec
https://bugs.webkit.org/show_bug.cgi?id=162049
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests based on the web platform tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parseAuthority):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:57 AM Changeset in webkit [206035] by
-
- 4 edits in trunk
Fix more edge cases in URLParser
https://bugs.webkit.org/show_bug.cgi?id=162051
Reviewed by Tim Horton.
Source/WebCore:
Added new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Some edge case handling was wrong. Also, some of the terminal states are not possible
to reach because we transition to those states without incrementing the iterator.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:49 AM Changeset in webkit [206034] by
-
- 2 edits in trunk/Source/WebCore
Fix Windows clean build after r205929
- DerivedSources.cpp:
- 11:14 AM Changeset in webkit [206033] by
-
- 41 edits1 copy3 adds in trunk
Inserting a space after inserting an accepted candidate scrolls the document and causes a flicker
https://bugs.webkit.org/show_bug.cgi?id=162009
<rdar://problem/28086237>
Reviewed by Tim Horton.
Source/WebKit2:
After inserting a text candidate, if the candidate ended with a soft space, the next space we insert should just
replace the soft space. This currently works because we leave the text insertion out of the list of
KeypressCommands sent to the web process and instead replace the soft space via WebPage::InsertTextAsync.
However, this means when the web process handles this keydown event, the current editor will not handle it,
since the list of key commands is empty despite the text and unmodified text being non-empty.
To fix this, when sending keydown or keyup events where we replace a soft space, we set the key event's text to
an empty string instead of a space. This allows us to return early in EventHandler::keyEvent and avoid the
codepath that tries to insert text into the current editor and (in the case of inserting a ' ') scrolls the
document if necessary. Since we've already handled text insertion via WebPage::InsertTextAsync, there is no need
to also dispatch the keypress to the editor.
Additionally, this patch addresses flickering in the candidates UI due to the fact that we're asynchronously
replacing the last soft space. During this operation, we select the range of the soft space and then insert the
new text. This causes a momentary range selection which the web process notifies the UI process about, prompting
us to hide the candidates list. To address this, we suppress the EditorStateChanged message fired from the web
process to the UI process while we're selecting the original range to replace.
This patch adds 3 new WebKit API tests.
- Shared/NativeWebKeyboardEvent.h:
- Shared/mac/NativeWebKeyboardEventMac.mm:
(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
- Shared/mac/WebEventFactory.h:
- Shared/mac/WebEventFactory.mm:
(WebKit::textFromEvent):
(WebKit::unmodifiedTextFromEvent):
(WebKit::WebEventFactory::createWebKeyboardEvent):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _handleAcceptedCandidate:]):
(-[WKWebView _didHandleAcceptedCandidate]):
(-[WKWebView _didUpdateCandidateListVisibility:]):
(-[WKWebView _forceRequestCandidates]):
(-[WKWebView _handleControlledElementIDResponse:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/mac/WKView.mm:
(-[WKView _didHandleAcceptedCandidate]):
(-[WKView _didUpdateCandidateListVisibility:]):
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::forceRequestCandidatesForTesting):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::didHandleAcceptedCandidate):
(WebKit::WebViewImpl::insertText):
(WebKit::WebViewImpl::performKeyEquivalent):
(WebKit::WebViewImpl::keyUp):
(WebKit::WebViewImpl::keyDown):
(WebKit::WebViewImpl::flagsChanged):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::insertTextAsync):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::insertTextAsync):
(WebKit::WebPage::didChangeSelection):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Adds 3 new text editing API tests covering candidate insertion, as well as support for testing candidates in
WKWebViews. Refactors common WKWebView helpers across both VideoControlsManager tests and the new
WKWebViewCandidateTests into a new utility class, TestWKWebView in TestWKWebView.mm, which is capable of
simulating mouse and keyboard events as well as waiting for JavaScript messages sent from the web process and
performing actions in response.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/ios/audio-only.html:
- TestWebKitAPI/Tests/WebKit/ios/video-with-audio.html:
- TestWebKitAPI/Tests/WebKit/ios/video-without-audio.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
(-[MessageHandler initWithMessage:handler:]): Deleted.
(-[MessageHandler userContentController:didReceiveScriptMessage:]): Deleted.
(-[VideoControlsManagerTestWebView mouseDownAtPoint:]): Deleted.
(-[VideoControlsManagerTestWebView performAfterLoading:]): Deleted.
(-[VideoControlsManagerTestWebView callJavascriptFunction:]): Deleted.
(-[VideoControlsManagerTestWebView loadTestPageNamed:]): Deleted.
(-[VideoControlsManagerTestWebView performAfterReceivingMessage:action:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm: Added.
(-[TestCandidate initWithReplacementString:inRange:]):
(-[TestCandidate replacementString]):
(-[TestCandidate resultType]):
(-[TestCandidate range]):
(-[CandidateTestWebView insertCandidatesAndWaitForResponse:range:]):
(-[CandidateTestWebView _didHandleAcceptedCandidate]):
(-[CandidateTestWebView expectCandidateListVisibilityUpdates:whenPerformingActions:]):
(-[CandidateTestWebView _didUpdateCandidateListVisibility:]):
(TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/autoplaying-video-with-audio.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-click.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-end.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/full-size-autoplaying-video-with-audio.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/input-field-in-scrollable-document.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-hides-controls-after-seek-to-end.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-mutes-onplaying.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-offscreen.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-playing-scroll-away.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-seek-after-ending.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-seek-to-beginning-and-play-after-ending.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-without-audio.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-click-to-pause.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-scroll-to-video.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-paused-video-hides-controls.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-muted-video-hides-controls.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-video-keeps-controls.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-with-audio-autoplay.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/skinny-autoplaying-video-with-audio.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/wide-autoplaying-video-with-audio.html:
- TestWebKitAPI/mac/TestWKWebViewMac.h: Added.
- TestWebKitAPI/mac/TestWKWebViewMac.mm: Added.
(-[TestMessageHandler initWithMessage:handler:]):
(-[TestMessageHandler userContentController:didReceiveScriptMessage:]):
(-[TestWKWebView mouseDownAtPoint:]):
(-[TestWKWebView performAfterReceivingMessage:action:]):
(-[TestWKWebView loadTestPageNamed:]):
(-[TestWKWebView typeCharacter:]):
(-[TestWKWebView stringByEvaluatingJavaScript:]):
(-[TestWKWebView waitForMessage:]):
(-[TestWKWebView performAfterLoading:]):
- 11:04 AM Changeset in webkit [206032] by
-
- 8 edits in trunk
[media-source] fix imported/w3c/web-platform-tests/media-source/mediasource-duration.html
https://bugs.webkit.org/show_bug.cgi?id=161999
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Expected results had a stray newline.
- web-platform-tests/media-source/mediasource-duration-expected.txt:
Source/WTF:
The mediasource-duration.html test tries to set the duration of a MediaSource to a double value
(5.0), then some work happens and the duration is set to a media time (12533/2500, or 5.0132).
The test then tries to set that value as the duration, converted from a media time to a double,
and asserts that no duration change event is fired. But because the floating point value and the
media time value are ever so slightly different, this round-tripping fails.
Fix this bug in MediaTime by, when one side or the other of a comparison is a floating point
MediaTime, convert both sides to doubles and run the comparison against those values. This preserves
the transitive equality of doubles <-> MediaTimes.
- wtf/MediaTime.cpp:
(WTF::MediaTime::compare):
Tools:
- TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST):
LayoutTests:
- platform/mac/TestExpectations:
- 10:46 AM Changeset in webkit [206031] by
-
- 4 edits in trunk
Fix isValidEnum to work with older versions of GCC
https://bugs.webkit.org/show_bug.cgi?id=162065
Reviewed by Michael Catanzaro.
Source/WTF:
Use the ternary operator instead of a more complex function body.
- wtf/EnumTraits.h:
Tools:
Add EnumTraits.cpp to the CMake build.
- TestWebKitAPI/CMakeLists.txt:
- 10:35 AM Changeset in webkit [206030] by
-
- 8 edits in trunk/Source/WebKit2
Add support for enum class parameters in the message generator
https://bugs.webkit.org/show_bug.cgi?id=162036
Reviewed by Brady Eidson.
Also, convert the WebPage::SetLayerHostingMode to take an actual enum class.
- Scripts/webkit/messages.py:
(function_parameter_type):
Change this to take the parameter kind as well, and use the raw type for enums.
(arguments_type):
(message_to_struct_declaration):
Pass the kind to function_parameter_type.
(forward_declaration):
(forward_declarations_for_namespace):
Forward declare enums with "enum class".
(headers_for_type):
Add WebKit::LayerHostingMode as a special case.
(generate_message_handler):
Pass the kind to function_parameter_type.
- Scripts/webkit/parser.py:
(parse_parameters_string):
Parse 'enum' as well.
- Shared/LayerTreeContext.h:
Add enum traits.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewDidEnterWindow):
(WebKit::WebPageProxy::layerHostingModeDidChange):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reinitializeWebPage):
(WebKit::WebPage::setLayerHostingMode):
- WebProcess/WebPage/WebPage.h:
Change unsigned to LayerHostingMode.
- WebProcess/WebPage/WebPage.messages.in:
Change unsigned to LayerHostingMode.
- 10:08 AM Changeset in webkit [206029] by
-
- 8 edits in trunk/Source/WebKit2
Unreviewed, rolling out r206000.
https://bugs.webkit.org/show_bug.cgi?id=162062
inadvertent GCC requirement bump (Requested by mcatanzaro on
#webkit).
Reverted changeset:
"Add support for enum class parameters in the message
generator"
https://bugs.webkit.org/show_bug.cgi?id=162036
http://trac.webkit.org/changeset/206000
- 9:45 AM Changeset in webkit [206028] by
-
- 4 edits in trunk
[media-source] Fix imported/w3c/web-platform-tests/media-source/mediasource-timestamp-offset.html
https://bugs.webkit.org/show_bug.cgi?id=162038
Reviewed by Eric Carlson.
Source/WebCore:
The timestampOffset property is no longer specified as an 'unrestricted' double.
- Modules/mediasource/SourceBuffer.idl:
LayoutTests:
- platform/mac/TestExpectations:
- 9:40 AM Changeset in webkit [206027] by
-
- 2 edits in trunk/Source/WebCore
[Win] Compile fix.
https://bugs.webkit.org/show_bug.cgi?id=162059
Reviewed by Alex Christensen.
If an include file exists in two places in the include paths, we can end up including the file twice,
since #pragma once will not protect us against this.
- PlatformWin.cmake: Put WebCore forwarding folder first in include list.
- 9:32 AM Changeset in webkit [206026] by
-
- 9 edits2 adds in trunk
Cloning a textarea does not clone the textarea's value
https://bugs.webkit.org/show_bug.cgi?id=156637
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Import corresponding W3C web platform test.
- web-platform-tests/html/semantics/forms/the-textarea-element/cloning-steps-expected.txt: Added.
- web-platform-tests/html/semantics/forms/the-textarea-element/cloning-steps.html: Added.
- web-platform-tests/html/semantics/forms/the-textarea-element/w3c-import.log:
Source/WebCore:
Update WebKit so that cloning a textarea element also clones its value.
This matches the HTML specification after:
The new behavior also matches Chrome and Edge.
Test: imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/cloning-steps.html
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement):
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::copyNonAttributePropertiesFromElement):
- html/HTMLTextAreaElement.h:
LayoutTests:
Update existing test to reflect behavior change.
- fast/forms/checkValidity-cloneNode-crash-expected.txt:
- fast/forms/checkValidity-cloneNode-crash.html:
- 9:21 AM Changeset in webkit [206025] by
-
- 6 edits in trunk/Source/WebCore
[media-source] Only fire 'resize' events when new sized frame is displayed, not parsed.
https://bugs.webkit.org/show_bug.cgi?id=162039
Reviewed by Eric Carlson.
Fixes tests: imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize.html
imported/w3c/web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize.html
Currently, the SourceBufferPrivateAVFObjC will signal a size change as soon as the sample is
parsed during appendData(). This is incorrect, as the intrinsic size of the video element
should be based on when the sample is displayed, and it causes some W3C test cases to fail.
Set a boundary time observer on the player's synchronizer at each sample's presentation time
where that sample signals a change in intrinsic size. Flush those observers whenever the
samples are flushed un-displayed (typically, during a seek). Because the observer callback
may have already been issued (but not executed) at a flush, use a separate weak pointer
factory, and invalidate all outstanding size change observer weak pointers when flushing.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::reenqueueMediaForTime): When re-enqueing, enqueue the next decodable
sample, even if it doesn't include the current time. This handles cases where the current
time is 0, and the first video sample starts at 0.033.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::sizeWillChangeAtTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::flushPendingSizeChanges):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::sizeChanged): Deleted.
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
(WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
- 9:21 AM Changeset in webkit [206024] by
-
- 2 edits in trunk/Source/WebCore
Fix Windows clean build after r205929
- DerivedSources.cpp:
- 9:20 AM Changeset in webkit [206023] by
-
- 3 edits in trunk/Source/WebCore
[media-source] ASAN crash running imported/w3c/web-platform-tests/media-source/mediasource-remove.html
https://bugs.webkit.org/show_bug.cgi?id=162050
Reviewed by Brent Fulgham.
SampleMap::removeSample() was accessing the passed-in sample after removing it from its own storage. If
the SampleMap held the last reference to the sample, it would end up acessing freed memory. Fix the
post-removal access, but also ensure that the caller, SourceBuffer::removeCodedFrames(), retains the
sample it passes into removeSample().
- Modules/mediasource/SampleMap.cpp:
(WebCore::SampleMap::removeSample):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::removeCodedFrames):
- 6:08 AM Changeset in webkit [206022] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Unreviewed build fix after r206007.
https://bugs.webkit.org/show_bug.cgi?id=162058
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
- 5:41 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 5:02 AM Changeset in webkit [206021] by
-
- 2 edits in trunk/Tools
Unreviewed: Change my primary address for auto-complete in bugzilla.
- Scripts/webkitpy/common/config/contributors.json:
- 3:02 AM Changeset in webkit [206020] by
-
- 2 edits in trunk
[CMake] Build broken with current debian testing
https://bugs.webkit.org/show_bug.cgi?id=162054
Reviewed by Žan Doberšek.
Building WTR bindings is broken now in Debian testing. The reason is that '.' is no longer included in @INC for
perl, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=588017 and
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1238.
- Source/cmake/WebKitMacros.cmake(GENERATE_BINDINGS): Pass also the given BASE_DIR to perl executable so that it
can find modules in the current directory even if '.' is not in @INC. Also include generators in BASE_DIR to the
list of dependencies.
- 2:59 AM Changeset in webkit [206019] by
-
- 5 edits in trunk/Source/WebCore
[TextureMapper] Scrolling through 01.org/dleyna crashes WebKitWebProcess
https://bugs.webkit.org/show_bug.cgi?id=162020
Reviewed by Žan Doberšek.
The problem is that we are trying to clone a ReferenceFilterOperation, which is not expected to be cloned, from
FilterAnimationValue copy constructor, and FilterOperations are never expected to be nullptr, so we end up
crashing. We just need to validate the filters before setting then and before creating a TextureMapperAnimation
for them.
- platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::filtersCanBeComposited): Return false if there are reference filters or no
filters at all. I don't know if we really support other filters, but at least we won't crash for the others.
(WebCore::GraphicsLayerTextureMapper::addAnimation): Check if filters can be composited before creating a
TextureMapperAnimation.
(WebCore::GraphicsLayerTextureMapper::setFilters): Check if filters can be composited before setting them.
- platform/graphics/texmap/GraphicsLayerTextureMapper.h:
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::filtersCanBeComposited): Return false if there are reference filters or no
filters at all. I don't know if we really support other filters, but at least we won't crash for the others.
(WebCore::CoordinatedGraphicsLayer::setFilters): Check if filters can be composited before setting them.
(WebCore::CoordinatedGraphicsLayer::addAnimation): Check if filters can be composited before creating a
TextureMapperAnimation.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
- 2:47 AM Changeset in webkit [206018] by
-
- 11 edits in trunk
test262: Various Constructors length properties should be configurable
https://bugs.webkit.org/show_bug.cgi?id=161998
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-16
Reviewed by Saam Barati.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
https://tc39.github.io/ecma262/#sec-ecmascript-standard-built-in-objects
Unless otherwise specified, the length property of a built-in Function
object has the attributes:
{ Writable: false, Enumerable: false, Configurable: true }.
- runtime/ErrorConstructor.cpp:
(JSC::ErrorConstructor::finishCreation):
- runtime/JSPromiseConstructor.cpp:
(JSC::JSPromiseConstructor::finishCreation):
- runtime/MapConstructor.cpp:
(JSC::MapConstructor::finishCreation):
- runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::finishCreation):
- runtime/ProxyConstructor.cpp:
(JSC::ProxyConstructor::finishCreation):
- runtime/SetConstructor.cpp:
(JSC::SetConstructor::finishCreation):
- runtime/WeakMapConstructor.cpp:
(JSC::WeakMapConstructor::finishCreation):
- runtime/WeakSetConstructor.cpp:
(JSC::WeakSetConstructor::finishCreation):
- 2:44 AM Changeset in webkit [206017] by
-
- 3 edits in trunk/Source/WebCore
CachedFont do not need to be updated according Origin/Fetch mode
https://bugs.webkit.org/show_bug.cgi?id=161909
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-16
Reviewed by Sam Weinig.
No change of behavior.
- loader/cache/CachedFont.h: Ensuring CachedFont is not reused.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest): Doing direct reuse for CachedFont as WebKit is ignoring CORS for all fonts related stuff.
- 1:56 AM Changeset in webkit [206016] by
-
- 48 edits in trunk/Source/WebCore
CachedResource should efficiently construct its ResourceRequest
https://bugs.webkit.org/show_bug.cgi?id=161609
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-16
Reviewed by Sam Weinig.
Covered by existing tests.
Making CachedResourceLoader take a CachedResourceRequest&& when being asked to load resources.
Making CachedResource et al take a CachedResourceRequest&& as constructor parameter.
CachedResource now sets its options at construction time instead of load time.
This may change some specific behaviors, for instance when loading manually images.
Made some refactoring when both the resource and request are needed, for ResourceTimingInformation.
Made local copies of some CachedResourceRequest fields so that we do not need it after being WTFMoved.
Some of these properties may be put outside CachedResourceRequest in a later refactoring step.
- css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::cachedFont):
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::loadBestFitImage):
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::loadImage):
- css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::requestStyleSheet):
- dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::checkStyleSheet):
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestScriptWithCache):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process):
- html/parser/HTMLResourcePreloader.cpp:
(WebCore::HTMLResourcePreloader::preload):
- loader/CrossOriginPreflightChecker.cpp:
(WebCore::CrossOriginPreflightChecker::startPreflight):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::preloadIfNeeded):
(WebCore::LinkLoader::loadLink):
- loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::requestResource):
- loader/ResourceTimingInformation.cpp:
(WebCore::ResourceTimingInformation::storeResourceTimingInitiatorInformation):
- loader/ResourceTimingInformation.h:
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::load):
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
- loader/cache/CachedCSSStyleSheet.h:
- loader/cache/CachedFont.cpp:
(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::load):
(WebCore::CachedFont::beginLoadIfNeeded):
- loader/cache/CachedFont.h:
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::CachedImage):
(WebCore::CachedImage::load):
- loader/cache/CachedImage.h:
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::CachedRawResource):
- loader/cache/CachedRawResource.h:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::load):
(WebCore::CachedResource::loadFrom):
- loader/cache/CachedResource.h:
(WebCore::CachedResource::resourceRequest):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestFont):
(WebCore::CachedResourceLoader::requestTextTrack):
(WebCore::CachedResourceLoader::requestCSSStyleSheet):
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestScript):
(WebCore::CachedResourceLoader::requestXSLStyleSheet):
(WebCore::CachedResourceLoader::requestSVGDocument):
(WebCore::CachedResourceLoader::requestLinkResource):
(WebCore::CachedResourceLoader::requestMedia):
(WebCore::CachedResourceLoader::requestRawResource):
(WebCore::CachedResourceLoader::requestMainResource):
(WebCore::CachedResourceLoader::shouldUpdateCachedResourceWithCurrentRequest):
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::reloadImagesIfNotDeferred):
(WebCore::CachedResourceLoader::preload):
(WebCore::CachedResourceLoader::checkForPendingPreloads):
(WebCore::CachedResourceLoader::requestPreload):
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedSVGDocument.cpp:
(WebCore::CachedSVGDocument::CachedSVGDocument):
- loader/cache/CachedSVGDocument.h:
- loader/cache/CachedSVGDocumentReference.cpp:
(WebCore::CachedSVGDocumentReference::load):
- loader/cache/CachedSVGFont.cpp:
(WebCore::CachedSVGFont::CachedSVGFont):
- loader/cache/CachedSVGFont.h:
- loader/cache/CachedScript.cpp:
(WebCore::CachedScript::CachedScript):
- loader/cache/CachedScript.h:
- loader/cache/CachedTextTrack.cpp:
(WebCore::CachedTextTrack::CachedTextTrack):
- loader/cache/CachedTextTrack.h:
- loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
(WebCore::CachedXSLStyleSheet::didAddClient):
- loader/cache/CachedXSLStyleSheet.h:
- loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
- platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
(WebCore::WebCoreAVCFResourceLoader::startLoading):
- platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::startLoading):
- svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::requestImageResource):
- svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::loadFont):
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::updateExternalDocument):
- xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::loadSheet):
- 1:47 AM Changeset in webkit [206015] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Include JavaScript completion for ES6 keywords and global variables
https://bugs.webkit.org/show_bug.cgi?id=162027
Reviewed by Brian Burg.
- UserInterface/Controllers/CodeMirrorCompletionController.js:
(WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
Include ES6 keywords and provide them when they may be available.
- UserInterface/Views/ConsolePrompt.js:
(WebInspector.ConsolePrompt):
- UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.set mimeType):
For editors that might want to provide completion for global variables
use the mode with options way of setting the mode for CodeMirror. The
only mode that cares about "globalVars" are the JavaScript variants.
- 1:24 AM Changeset in webkit [206014] by
-
- 11 edits1 copy2 adds in trunk
[Fetch API] Headers should be combine with ',' and not ', '
https://bugs.webkit.org/show_bug.cgi?id=161736
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-16
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive.htm: Making ',' combination as expected.
- web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed-expected.txt: Some new header tests are failing.
This is due to the fact that the underlying HTTP code is probably reprocessing those headers and readding ', ' in lieu of ','.
- web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm: Ditto.
- web-platform-tests/fetch/api/cors/cors-preflight.js:
(corsPreflight): Removing stripping of whitespaces
- web-platform-tests/fetch/api/headers/headers-combine.html: Making ',' combination as expected.
Source/WebCore:
Covered by updated tests and http/tests/xmlhttprequest/check-combining-headers.html.
- loader/CrossOriginAccessControl.cpp:
(WebCore::createAccessControlPreflightRequest): Combining with ',' for Access-Control-Request-Headers
- platform/network/HTTPHeaderMap.cpp:
(HTTPHeaderMap::add): Combining with ','
LayoutTests:
- http/tests/xmlhttprequest/check-combining-headers-expected.txt:
- http/tests/xmlhttprequest/check-combining-headers.html: Checking combined headers.
- http/tests/xmlhttprequest/resources/print-headers.php: Printing all request headers in a JSON response.
- http/tests/xmlhttprequest/web-apps/005.html: Making ',' combination as expected.
- 12:56 AM Changeset in webkit [206013] by
-
- 4 edits in branches/safari-602-branch/Source/WebKit2
Merge r205983. rdar://problem/28312297
- 12:56 AM Changeset in webkit [206012] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit/mac
Merge r205991. rdar://problem/28272353
- 12:54 AM WebKitGTK/2.14.x edited by
- (diff)
- 12:51 AM Changeset in webkit [206011] by
-
- 19 edits1 add1 delete in trunk
Custom promise-returning functions should not throw if callee has not the expected type
https://bugs.webkit.org/show_bug.cgi?id=162011
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-16
Reviewed by Sam Weinig.
Source/JavaScriptCore:
- JavaScriptCore.xcodeproj/project.pbxproj: Making JSPromiseConstructor.h private
Source/WebCore:
Covered by added test.
Updating code generator to handle this case.
Cleaning related getUserMedia implementation.
- CMakeLists.txt: Removing Modules/mediastream/MediaDevices.js.
- DerivedSources.make: Removing Modules/mediastream/MediaDevices.js.
- Modules/mediastream/MediaDevices.idl: Cleaning IDL definition
- Modules/mediastream/MediaDevices.js: Removing error throwing and so removing file.
- Modules/mediastream/NavigatorUserMedia.js: getUsermMediaFromJS to getUserMedia.
- WebCore.xcodeproj/project.pbxproj: Removing Modules/mediastream/MediaDevices.js.
- bindings/js/JSDOMPromise.cpp:
(WebCore::createRejectedPromiseWithTypeError): Helper routine.
- bindings/js/JSDOMPromise.h:
- bindings/js/WebCoreBuiltinNames.h: getUsermMediaFromJS to getUserMedia.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Rejecting promise in case of failing castedThis, but only for custom functions since
they are handled differently for non custom methods.
(GenerateFunctionCastedThis):
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/TestObj.idl: Adding custom promise test.
LayoutTests:
- fast/mediastream/MediaDevices-getUserMedia-expected.txt:
- fast/mediastream/MediaDevices-getUserMedia.html: Enusing calling getUserMedia on something else than MediaDevices does not throw.
- http/tests/media/media-stream/disconnected-frame-already-expected.txt:
- 12:41 AM Changeset in webkit [206010] by
-
- 7 edits4 adds in trunk
Link loader should use FetchOptions::mode according its crossOrigin attribute
https://bugs.webkit.org/show_bug.cgi?id=161859
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-16
Reviewed by Sam Weinig.
Source/WebCore:
Tests: http/tests/security/cached-cross-origin-preloaded-css-stylesheet.html
http/tests/security/cached-cross-origin-preloading-css-stylesheet.html
Setting fetch mode according crossorigin attribute for link preload elements.
This allows calling onerror callback for CORS failures, which was not the case before the patch.
Making cached CSS stylesheet reusable accross origins and fetch modes.
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::preloadIfNeeded): Using CachedResourceRequest::setAsPotentiallyCrossOrigin to set fetch mode.
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::sheetText): clean-up.
(WebCore::CachedCSSStyleSheet::setBodyDataFrom): Implementing data init for cached css stylesheets.
- loader/cache/CachedCSSStyleSheet.h:
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest): Activating update support for stylesheets.
(WebCore::CachedResourceLoader::requestResource): Fixing for matching cached resources that need being reloaded due to different origin/fetch mode.
LayoutTests:
- http/tests/security/cached-cross-origin-preloaded-css-stylesheet-expected.txt: Added.
- http/tests/security/cached-cross-origin-preloaded-css-stylesheet.html: Added.
- http/tests/security/cached-cross-origin-preloading-css-stylesheet-expected.txt: Added.
- http/tests/security/cached-cross-origin-preloading-css-stylesheet.html: Added.
- http/tests/security/resources/allow-if-origin.php: Adding support for allowing credentials and setting contentType.
- 12:33 AM Changeset in webkit [206009] by
-
- 18 edits2 adds in trunk
[Fetch API] Referrer and Origin header should not be considered as safe request headers
https://bugs.webkit.org/show_bug.cgi?id=161902
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-16
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-referrer.js:
(corsPreflightReferrer): Adding check of the preflight Access-Control-Request-Headers header value.
Added new tests to check for non-default referrer values.
Source/WebCore:
Test: http/tests/fetch/fetch-cors-with-referrer.html and updated WPT tests.
Removing Origin and Referrer from safe request headers.
Making referrer header setting after preflight for fetch API code path.
Ensuring that no ThreadableLoader client sets Origin or Referrer headers of the ResourceRequest, as they should use the proper mechanisms for that.
Handling no-referrer referrer special value by setting the referrer-policy to NoReferrer in FetchLoader.
- Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::start): Computing referrer value and handling special "client"and "no-referrer" cases.
Passing the value directly to ThreadableLoader.
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::internalRequest): Removing setting of ResourceRequest referrer header.
(WebCore::FetchRequest::clone): Removing obsolete FIXME.
- Modules/fetch/FetchRequest.h:
- loader/CrossOriginAccessControl.cpp:
(WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Removing Origin and Referrer headers.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::create): Updated to take a referrer as parameter.
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
- loader/DocumentThreadableLoader.h: Ditto.
- loader/ThreadableLoader.cpp: Ditto.
(WebCore::ThreadableLoader::create): Ditto.
- loader/ThreadableLoader.h: Ditto.
- loader/WorkerThreadableLoader.cpp: Ditto.
(WebCore::WorkerThreadableLoader::WorkerThreadableLoader): Ditto.
(WebCore::WorkerThreadableLoader::loadResourceSynchronously): Ditto.
- loader/WorkerThreadableLoader.h: Ditto.
(WebCore::WorkerThreadableLoader::create): Ditto.
- platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::hasHTTPReferrer): Added to enable asserting that no threadable loader client sets the referrer in the request.
- platform/network/ResourceRequestBase.h:
LayoutTests:
- http/tests/fetch/fetch-cors-with-referrer-expected.txt: Added.
- http/tests/fetch/fetch-cors-with-referrer.html: Added.
Sep 15, 2016:
- 5:56 PM Changeset in webkit [206008] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: support drag and drop of CSS classes and ids onto DOM nodes
https://bugs.webkit.org/show_bug.cgi?id=16529
Patch by Devin Rousso <Devin Rousso> on 2016-09-15
Reviewed by Joseph Pecoraro.
- UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode.prototype.toggleClass.resolvedNode.inspectedPage_node_toggleClass):
(WebInspector.DOMNode.prototype.toggleClass.resolvedNode):
(WebInspector.DOMNode.prototype.toggleClass):
Moved from WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.
- UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content ~ :matches(.options-container, .class-list-container)):
Added z-index to fix overlapping with selector origin.
- UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._classToggleButtonClicked):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputBlur):
Added a setting for auto-expanding the Classes toggle list based on the previous state.
Also renamed the existing _lastSelectedSectionSetting to _lastSelectedPanelSetting since the
setting doesn't have anything to do with the last selected section.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName):
(WebInspector.CSSStyleDetailsSidebarPanel.ToggledClassesDragType):
Added functionality to allow dragging of a className toggle's text (not the checkbox) by
using a custom type, preventing the value from being dropped anywhere except the DOM tree.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName.classNameToggleChanged):
Restructured to use arrow function to avoid function binding.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode.toggleClass): Deleted.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode): Deleted.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass): Deleted.
- UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline.prototype._ondragover):
(WebInspector.DOMTreeOutline.prototype._ondrop.callback):
(WebInspector.DOMTreeOutline.prototype._ondrop):
Allow dragging when the dataTransfer object contains the type specified by
WebInspector.CSSStyleDetailsSidebarPanel.ToggledClassesDragType. The value for that type
will be added to the dropped element's classList.
- 5:33 PM Changeset in webkit [206007] by
-
- 12 edits2 adds in trunk/Source/WebCore
[CSS Parser] Get CSSParserFastPaths.cpp compiling
https://bugs.webkit.org/show_bug.cgi?id=162033
Reviewed by Dean Jackson.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
Add new StyleColor.h/.cpp files to the projecty
- css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::CSSFunctionValue):
(WebCore::CSSFunctionValue::customCSSText):
(WebCore::CSSFunctionValue::append):
(WebCore::CSSFunctionValue::buildParserValueSubstitutingVariables):
- css/CSSFunctionValue.h:
Tweak CSSFunctionValue so that the name can be represented as a keyword ID instead of a String. Eventually we also
want to make CSSFunctionValue subclass CSSValueList rather than referencing a separate CSSValueList as a member. For now
I left that alone though in order to not change too much in the old parser.
- css/CSSProperty.cpp:
(WebCore::CSSProperty::isDescriptorOnly):
Whether or not a property is only a descriptor, e.g., used in viewport and font face stuff.
- css/CSSProperty.h:
- css/CSSValueKeywords.in:
Added new keywords for functions that can be used as values. The new parser uses keywords to represent function names.
- css/StyleColor.cpp: Added.
(WebCore::StyleColor::colorFromKeyword):
(WebCore::StyleColor::isColorKeyword):
(WebCore::StyleColor::isSystemColor):
- css/StyleColor.h: Added.
(WebCore::StyleColor::StyleColor):
(WebCore::StyleColor::currentColor):
(WebCore::StyleColor::isCurrentColor):
(WebCore::StyleColor::getColor):
(WebCore::StyleColor::resolve):
(WebCore::operator==):
(WebCore::operator!=):
New color helper that contains code for checking and looking up colors. This code is similar to some code we already
had in the old CSSParser.cpp file, but this way it can be used outside the parser and/or in different files.
- css/parser/CSSParserFastPaths.cpp:
(WebCore::parseSimpleLengthValue):
(WebCore::isColorPropertyID):
(WebCore::parseColorIntOrPercentage):
(WebCore::fastParseColorInternal):
(WebCore::CSSParserFastPaths::parseColor):
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::isUniversalKeyword):
(WebCore::parseKeywordValue):
(WebCore::parseTransformTranslateArguments):
(WebCore::parseTransformNumberArguments):
(WebCore::parseSimpleTransformValue):
(WebCore::transformCanLikelyUseFastPath):
(WebCore::parseSimpleTransformList):
(WebCore::parseSimpleTransform):
(WebCore::CSSParserFastPaths::maybeParseValue):
- css/parser/CSSParserFastPaths.h:
Get everything compiling in this file. Key changes included reverting to our old unit names, making CSSFunctionValue compatible,
adding support for StyleColor, adding support for mode checking of keywords, and fixing up the memory management model so that
RefPtrs are used on returns from parsing functions.
- css/parser/CSSParserIdioms.cpp:
(WebCore::isValueAllowedInMode):
- css/parser/CSSParserIdioms.h:
New helper function for restricting keywords to certain modes only. The -webkit-text color quirk has been moved to this function.
- 5:27 PM Changeset in webkit [206006] by
-
- 23 edits in trunk/Source
WKWebView.hasOnlySecureContent always returns "YES" after going back to a CachedPage (even if it has http resources).
<rdar://problem/27681261> and https://bugs.webkit.org/show_bug.cgi?id=162043
Reviewed by Brent Fulgham.
Source/WebCore:
No new tests (Not possible with current testing infrastructure).
This adds the infrastructure for WebCore to track whether or not a CachedFrame had insecure content at the time
it was cached, and then to report that back to the client when a CachedPage is restored.
Since "has insecure content" is currently only tracked in the WK2 UI process, that is the only client of this code.
- history/CachedFrame.cpp:
(WebCore::CachedFrame::setHasInsecureContent):
- history/CachedFrame.h:
(WebCore::CachedFrame::hasInsecureContent):
- loader/EmptyClients.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::dispatchDidCommitLoad):
- loader/FrameLoader.h:
- loader/FrameLoaderClient.h:
- loader/FrameLoaderTypes.h:
Source/WebKit/mac:
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidCommitLoad):
Source/WebKit/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDidCommitLoad):
- WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKit2:
- Scripts/webkit/messages.py:
(headers_for_type): Add a custom header, and alphabetize existing ones.
- Shared/WebCoreArgumentCoders.h: Add EnumTraits for HasInsecureContent.
- UIProcess/PageLoadState.h:
(WebKit::PageLoadState::committedHasInsecureContent):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::hasInsecureContent):
(WebKit::WebPageProxy::didCommitLoadForFrame): If the WebProcess included an existing "HasInsecureContent" value, use it.
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
(WebKit::WebFrameLoaderClient::savePlatformDataToCachedFrame): Save the "HasInsecureContent" value to the CachedFrame in
case we restore it in the future.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 5:20 PM Changeset in webkit [206005] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Use more global color variables in TreeOutline and DataGrid
https://bugs.webkit.org/show_bug.cgi?id=161940
<rdar://problem/28292555>
Reviewed by Brian Burg.
- UserInterface/Views/DataGrid.css:
(.data-grid tr.selected):
(.data-grid:matches(:focus, .force-focus) tr.selected):
Use global color vars.
- UserInterface/Views/TreeOutline.css:
(.tree-outline .item.selected):
Use global color vars.
(body.window-inactive .tree-outline .item.selected): Deleted.
Not needed. Unfocused color is the same when window is inactive.
- UserInterface/Views/Variables.css:
(:root):
Add --selected-background-color-unfocused.
- 4:42 PM Changeset in webkit [206004] by
-
- 2 edits in trunk/Source/WebKit/mac
This was supposed to be committed with the previous patch!
- Plugins/WebBasePluginPackage.mm:
(pathByResolvingSymlinksAndAliases): Deleted.
- 4:38 PM Changeset in webkit [206003] by
-
- 2 edits in trunk/Source/WebKit2
Actually assign the decoded enum value to the output value
https://bugs.webkit.org/show_bug.cgi?id=162042
Reviewed by Brady Eidson.
- Platform/IPC/Decoder.h:
- 4:34 PM Changeset in webkit [206002] by
-
- 2 edits in trunk/Source/WebKit/mac
Replace use of Carbon file system APIs in plug-in loading
https://bugs.webkit.org/show_bug.cgi?id=162040
rdar://problem/6017896
Reviewed by Sam Weinig.
- Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage initWithPath:]):
Use -[NSString stringByResolvingSymlinksInPath] directly here. We already check for duplicate bundle IDs, so there's no need to try
to resolve aliases as well (and the modern WebKit plug-in implementation doesn't do this).
- 4:13 PM Changeset in webkit [206001] by
-
- 14 edits in trunk
[media-source] web-platform-test/media-source/mediasource-remove.html test failing
https://bugs.webkit.org/show_bug.cgi?id=161950
Reviewed by Eric Carlson.
Source/WebCore:
Fixes test: web-platform-test/media-source/mediasource-remove.html
The mediasource-remove.html test was failing in a number of ways:
- Tests with invalid start or end times were not throwing the correct exception code, or not throwing exception codes at all
- Tests were showing an incorrect start buffered range at the beginning of each test.
- Tests which removed samples were not getting the expected buffered values at the end each test.
For the exception failures, update the implementation of abort() and remove() to throw
the correct exceptions at the correct times.
For the incorrect initial buffered range, update our buffered calculations to store
individual PlatformTimeRanges on each TrackBuffer, and coalesce them into a single
value when an append operation completes, a remove operation completes, or when the
MediaSource's ready state changes.
For the incorrect buffered ranges after removal, this is caused because the "samples"
that make up an audio track are actually a collection of a large number of individual
samples. So when we are asked to remove media data in a given range, break these audio
meta-samples into two pieces at the removal points. This allows the removal algorithm
to operate on a individual audio sample basis. (We should look into using this technique
when audio samples are evicted during an append operation.) This requires adding some
methods to MediaSample and it's concrete subclasses to "divide" a sample into two at
a given presentation time.
Fixing these behaviors, however, breaks the media-source-end-of-stream-buffered.html
test, which expects the buffered range for the entire element to expand to the maximum
buffered time of any of the element's MediaSource's active sourceBuffers. To fix this,
update the MediaSource's monitorSourceBuffer() implementation to match the current
specification. The new spec no longer queries the individual SourceBuffers, but rather
queries the already coalesced buffered ranges. So move the helper methods hasCurrentTime()
hasFutureTime(), and canPlayThrough() up into MediaSource from SourceBuffer. Also, update
seekToTime, since it has the same problem as monitorSourceBuffer().
However, this breaks the media-source-monitor-source-buffers.html test, which appends
10s of movie data instantaneously, then never appends again. The SourceBuffer's
monitorBufferingRate() method only re-evaluates the rate after data has been appended,
so the SourceBuffer thinks it's buffered data at a prodigious rate forever. Instead,
allow the SourceBuffer to continuously re-evalute it's buffering rate by modifying the
exponential moving average so that the co-efficient scales based on how frequently the
method is called. Call the method more often, and the moving average changes less quickly,
and it means that when media is stalled out at the end of a buffered range, the readyState
of a video element will eventually drop to HAVE_CURRENT_DATA when the average buffering
rate falls below the level where playback would continue uninterrupted.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::seekToTime):
(WebCore::MediaSource::currentTimeFudgeFactor):
(WebCore::MediaSource::hasBufferedTime):
(WebCore::MediaSource::hasCurrentTime):
(WebCore::MediaSource::hasFutureTime):
(WebCore::MediaSource::monitorSourceBuffers):
- Modules/mediasource/MediaSource.h:
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::abort):
(WebCore::SourceBuffer::remove):
(WebCore::SourceBuffer::abortIfUpdating):
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::updateBufferedFromTrackBuffers):
(WebCore::SourceBuffer::canPlayThroughRange):
(WebCore::SourceBuffer::monitorBufferingRate):
(WebCore::currentTimeFudgeFactor): Deleted.
(WebCore::SourceBuffer::hasCurrentTime): Deleted.
(WebCore::SourceBuffer::hasFutureTime): Deleted.
(WebCore::SourceBuffer::canPlayThrough): Deleted.
- platform/MediaSample.h:
- platform/cf/CoreMediaSoftLink.cpp:
- platform/cf/CoreMediaSoftLink.h:
- platform/graphics/avfoundation/MediaSampleAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::isDivisable):
(WebCore::MediaSampleAVFObjC::divide):
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
LayoutTests:
- platform/mac/TestExpectations:
- 3:38 PM Changeset in webkit [206000] by
-
- 8 edits in trunk/Source/WebKit2
Add support for enum class parameters in the message generator
https://bugs.webkit.org/show_bug.cgi?id=162036
Reviewed by Brady Eidson.
Also, convert the WebPage::SetLayerHostingMode to take an actual enum class.
- Scripts/webkit/messages.py:
(function_parameter_type):
Change this to take the parameter kind as well, and use the raw type for enums.
(arguments_type):
(message_to_struct_declaration):
Pass the kind to function_parameter_type.
(forward_declaration):
(forward_declarations_for_namespace):
Forward declare enums with "enum class".
(headers_for_type):
Add WebKit::LayerHostingMode as a special case.
(generate_message_handler):
Pass the kind to function_parameter_type.
- Scripts/webkit/parser.py:
(parse_parameters_string):
Parse 'enum' as well.
- Shared/LayerTreeContext.h:
Add enum traits.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewDidEnterWindow):
(WebKit::WebPageProxy::layerHostingModeDidChange):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::reinitializeWebPage):
(WebKit::WebPage::setLayerHostingMode):
- WebProcess/WebPage/WebPage.h:
Change unsigned to LayerHostingMode.
- WebProcess/WebPage/WebPage.messages.in:
Change unsigned to LayerHostingMode.
- 3:13 PM Changeset in webkit [205999] by
-
- 5 edits2 adds in trunk
ASSERTION FAILED: willBeComposited == needsToBeComposited(layer) in WebCore::RenderLayerCompositor::computeCompositingRequirements
https://bugs.webkit.org/show_bug.cgi?id=151097
<rdar://problem/27711678>
Reviewed by Simon Fraser.
Source/WebCore:
This patch ensures that when will-change property triggers stacking context, we make the associated layer a non-normal flow layer.
(This is similar to what any other stacking context-triggering CSS property does.)
Test: compositing/assert-on-will-change-transform-with-composited-descendant.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
LayoutTests:
- compositing/assert-on-will-change-transform-with-composited-descendant-expected.txt: Added.
- compositing/assert-on-will-change-transform-with-composited-descendant.html: Added.
- 3:01 PM Changeset in webkit [205998] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION (r205462): Lot of leaks
https://bugs.webkit.org/show_bug.cgi?id=161946
Reviewed by Saam Barati.
We were forgetting to delete LargeAllocations on VM exit!
- heap/MarkedSpace.cpp:
(JSC::MarkedSpace::~MarkedSpace):
- 2:57 PM Changeset in webkit [205997] by
-
- 11 edits in trunk/Source/WebCore
Move RenderObject::shouldRespectImageOrientation to RenderElement.
https://bugs.webkit.org/show_bug.cgi?id=162028
Reviewed by Antti Koivisto.
Tighten the type for imageSizeForRenderer/canRender so that RenderObject::shouldRespectImageOrientation could
be moved to RenderElement.
No change in functionality.
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):
- loader/cache/CachedImage.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::shouldRespectImageOrientation):
- rendering/RenderElement.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::shouldRespectImageOrientation): Deleted.
- rendering/RenderObject.h:
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::canRender):
- rendering/style/StyleCachedImage.h:
- rendering/style/StyleImage.h:
(WebCore::StyleImage::canRender):
- 2:25 PM Changeset in webkit [205996] by
-
- 2 edits in trunk/LayoutTests
Marking js/date-constructor.html as flaky on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=162032
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 1:43 PM Changeset in webkit [205995] by
-
- 2 edits in trunk/Source/WTF
TextBreakIterator: unconvolute character break cache
https://bugs.webkit.org/show_bug.cgi?id=162001
Reviewed by Michael Saboff.
Simplify the one-element cache.
Added here (fixed a bit after): https://bugs.webkit.org/attachment.cgi?id=144118&action=prettypatch
Updated to never use a lock, and always use weak cmpxchg here: https://bugs.webkit.org/attachment.cgi?id=261719&action=prettypatch
It's just trying to reduce the number of times it calls into ICU
to initialize a UBRK_CHARACTER. The implementation keeps a
one-element cache of the latest used one, which threads can
optimistically grab. Failure is fine (just create a new one), same
for failure to cache (just destroy it), but the logic is odd and
you technically need release / acquire semantics because the
UBRK_CHARACTER creation's store need to be visible on acquisition
(but realistically it was created and then used and *then* cached,
so it's probably been long ago enough that read reorders never
manifested).
Using exchange directly achieves this without the headache.
- wtf/text/TextBreakIterator.cpp:
(WTF::getNonSharedCharacterBreakIterator):
(WTF::cacheNonSharedCharacterBreakIterator):
(WTF::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator):
(WTF::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator):
(WTF::compareAndSwapNonSharedCharacterBreakIterator): Deleted.
- 1:41 PM Changeset in webkit [205994] by
-
- 8 copies1 add in releases/Apple/Safari Technology Preview 13
Added a tag for Safari Technology Preview release 13.
- 1:07 PM Changeset in webkit [205993] by
-
- 2 edits in trunk/LayoutTests
Skip two crashing media tests, remove flaky expectation for one that was wrongly blamed.
https://bugs.webkit.org/show_bug.cgi?id=161323
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 12:46 PM Changeset in webkit [205992] by
-
- 2 edits in trunk/Source/WebCore
Fix build.
- platform/spi/cocoa/PassKitSPI.h:
- 12:18 PM Changeset in webkit [205991] by
-
- 2 edits in trunk/Source/WebKit/mac
Need hasMarkedText on Mac
https://bugs.webkit.org/show_bug.cgi?id=162026
-and corresponding-
rdar://problem/28272353
Reviewed by Anders Carlsson.
- WebView/WebHTMLViewInternal.h:
- 11:48 AM Changeset in webkit [205990] by
-
- 2 edits in trunk/Source/WebCore
Use character class table in URLParser
https://bugs.webkit.org/show_bug.cgi?id=161997
Reviewed by Chris Dumez.
No change in behavior except a performance improvement.
Before this change, URLParser took 1.514x as long to run my URL Parsing benchmark as URL::parse
with a standard deviation of the ration of the runtimes of 0.063 after 8 runs with each parser.
After this change, URLParser took 1.328x as long with a standard deviation of 0.037.
This isn't the cleanest data, but it's enough to convince me that this is a significant improvement.
- platform/URLParser.cpp:
(WebCore::isC0Control):
(WebCore::isC0ControlOrSpace):
(WebCore::isTabOrNewline):
(WebCore::isInSimpleEncodeSet):
(WebCore::isInDefaultEncodeSet):
(WebCore::isInUserInfoEncodeSet):
(WebCore::isInvalidDomainCharacter):
(WebCore::isSlashQuestionOrHash):
(WebCore::shouldPercentEncodeQueryByte):
(WebCore::shouldCopyFileURL):
(WebCore::isSingleDotPathSegment):
(WebCore::URLParser::parse):
- 11:35 AM Changeset in webkit [205989] by
-
- 16 edits in trunk/Source
Pragma out undefined-var-template warnings in JSC for JSObjects that are templatized
https://bugs.webkit.org/show_bug.cgi?id=161985
Reviewed by Alex Christensen.
Source/JavaScriptCore:
I started a true fix for this in
https://bugs.webkit.org/show_bug.cgi?id=161979, however the fix
for this issue is not sustainable. Since the scope of this issue
is just limited to the static const ClassInfo member it is
simpler to just pragma out this warning. This works because
COMDAT will, AFAIK, pick the actual specialization. If, in the
future, we want to expose these classes to WebCore we will need to
do what we do for JSGenericTypedArrayViews and create a custom
info() function with a switch.
This patch also fixes a bunch of weak external symbols due to one of:
1) out of line template member definitions functions not being marked inline.
2) inline member functions definitions being marked as exported.
3) missing header file includes for forward function declarations.
- API/JSCallbackObject.h:
- b3/B3ValueInlines.h:
(JSC::B3::Value::as):
- runtime/HashMapImpl.cpp:
(JSC::getHashMapBucketKeyClassInfo):
(JSC::getHashMapBucketKeyValueClassInfo):
(JSC::getHashMapImplKeyClassInfo):
(JSC::getHashMapImplKeyValueClassInfo):
- runtime/HashMapImpl.h:
(JSC::HashMapBucket::info):
(JSC::HashMapImpl::info):
- runtime/JSCJSValue.h:
(JSC::toUInt32): Deleted.
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndexQuicklyToDouble):
- runtime/JSGenericTypedArrayViewConstructor.h:
- runtime/JSGenericTypedArrayViewPrototype.h:
- runtime/MathCommon.h:
(JSC::toUInt32):
- runtime/TypedArrayAdaptors.h:
- runtime/VM.h:
(JSC::VM::watchdog):
(JSC::VM::heapProfiler):
(JSC::VM::samplingProfiler):
Source/WebCore:
Delete unneeded using, which broke the build on newer versions of clang.
- bridge/objc/WebScriptObject.mm:
Source/WTF:
Fix WTF_EXPORT_PRIVATE for an inline member function. This would
generate a weak export.
- wtf/MetaAllocator.h:
(WTF::MetaAllocator::getLock):
- 11:20 AM Changeset in webkit [205988] by
-
- 4 edits in trunk
URLParser: Check for invalid characters in the host
https://bugs.webkit.org/show_bug.cgi?id=162023
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::failure):
(WebCore::URLParser::parseHost):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:16 AM Changeset in webkit [205987] by
-
- 2 edits in trunk/Source/WebCore
Remove some extra spaces.
- rendering/TextDecorationPainter.cpp:
(WebCore::collectStylesForRenderer):
- 11:12 AM Changeset in webkit [205986] by
-
- 3 edits in trunk/Source/WebCore
Use efficient iterators in URLParser
https://bugs.webkit.org/show_bug.cgi?id=162007
Reviewed by Tim Horton.
URLParser used to use StringView::CodePoints::Iterator, which needs to check if
the StringView is 8-bit or 16-bit every time it does anything.
I wrote a new CodePointIterator template which already knows whether it is iterating
8-bit or 16-bit characters, so it does not need to do the checks each time it gets a
code point or advances to the next code point.
No change in behavior except a performance increase.
Covered by existing tests.
- platform/URLParser.cpp:
(WebCore::CodePointIterator::CodePointIterator):
(WebCore::CodePointIterator::operator==):
(WebCore::CodePointIterator::operator!=):
(WebCore::CodePointIterator::operator=):
(WebCore::CodePointIterator::atEnd):
(WebCore::CodePointIterator<LChar>::operator):
(WebCore::CodePointIterator<UChar>::operator):
(WebCore::isWindowsDriveLetter):
(WebCore::shouldCopyFileURL):
(WebCore::isPercentEncodedDot):
(WebCore::isSingleDotPathSegment):
(WebCore::isDoubleDotPathSegment):
(WebCore::consumeSingleDotPathSegment):
(WebCore::consumeDoubleDotPathSegment):
(WebCore::URLParser::failure):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseAuthority):
(WebCore::parseIPv4Number):
(WebCore::parseIPv4Host):
(WebCore::parseIPv6Host):
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHost):
- platform/URLParser.h:
- 11:11 AM Changeset in webkit [205985] by
-
- 7 edits in trunk/Source/WebCore
Move text decoration style computation from RenderObject to TextDecorationPainter
https://bugs.webkit.org/show_bug.cgi?id=162004
Reviewed by Zalan Bujtas.
It is mostly an implementation detail of TextDecorationPainter.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(AXAttributeStringSetStyle):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(AXAttributeStringSetStyle):
- rendering/RenderObject.cpp:
(WebCore::decorationColor): Deleted.
(WebCore::RenderObject::getTextDecorationColorsAndStyles): Deleted.
- rendering/RenderObject.h:
- rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::TextDecorationPainter):
(WebCore::TextDecorationPainter::paintTextDecoration):
(WebCore::decorationColor):
- rendering/TextDecorationPainter.h:
- 11:04 AM Changeset in webkit [205984] by
-
- 3 edits in trunk/Source/WebCore
[CSS Parser] Make stylesheets parse using the new parser if the setting is enabled
https://bugs.webkit.org/show_bug.cgi?id=162018
Reviewed by Zalan Bujtas.
- css/parser/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::CSSParser::parseSheet):
- css/parser/CSSParserMode.h:
- 10:58 AM Changeset in webkit [205983] by
-
- 4 edits in trunk/Source/WebKit2
dictionaryPopupInfoForRange() can change selection temporarily; updates should not
be sent to the UIProcess.
https://bugs.webkit.org/show_bug.cgi?id=162008
-and corresponding-
rdar://problem/28312297
Reviewed by Tim Horton.
This patch prevents the selection changes that occur while gathering
dictionaryPopupInfo from being propagated to the UIProcess.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didChangeSelection):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForRange):
- 10:48 AM Changeset in webkit [205982] by
-
- 7 edits in trunk
[CMake] Refactor GENERATE_BINDINGS
https://bugs.webkit.org/show_bug.cgi?id=161854
Patch by Fujii Hironori <Fujii Hironori> on 2016-09-15
Reviewed by Gyuyoung Kim.
.:
- Source/cmake/WebKitMacros.cmake(GENERATE_BINDINGS): Use
CMakeParseArguments for argument parsing. Defined as a function
instread of a macro because function has its own variable scope.
Wrapped both preprocess-idls.pl and generate-bindings.pl scripts.
Downcased local variables COMMON_GENERATOR_DEPENDENCIES and
BINDING_GENERATOR. Generate idl_files.tmp. Removed arguments
_prefix and _extension because they are always JS and cpp now.
Source/WebCore:
- CMakeLists.txt: Changed the arguments of GENERATE_BINDINGS to
new style. Removed add_custom_command of preprocess-idls.pl which
is moved to GENERATE_BINDINGS. Moved IDL_ATTRIBUTES_FILE into
GENERATE_BINDINGS.
Tools:
- DumpRenderTree/CMakeLists.txt: Changed the arguments of
GENERATE_BINDINGS to new style.
- WebKitTestRunner/CMakeLists.txt: Ditto.
- 10:46 AM Changeset in webkit [205981] by
-
- 1 edit in trunk/Source/WebCore/ChangeLog
Add radar link
- 10:45 AM Changeset in webkit [205980] by
-
- 18 edits2 adds in trunk/Source/WebCore
Add CSS -webkit-appearance property for Apple Pay buttons
https://bugs.webkit.org/show_bug.cgi?id=161986
Reviewed by Dean Jackson.
Add a new -webkit-appearance property, "-apple-pay-button".
Also, add two properties, "-apple-pay-button-type" and "-apple-pay-button-style".
- WebCore.xcodeproj/project.pbxproj:
Add RenderThemeCocoa.h and RenderThemeCocoa.mm.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
Handle CSSPropertyApplePayButtonStyle and CSSPropertyApplePayButtonType.
- css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ApplePayButtonStyle):
(WebCore::CSSPrimitiveValue::operator ApplePayButtonType):
Add ApplePayButtonStyle and ApplePayButtonType conversion routines.
- css/CSSPropertyNames.in:
Add -apple-pay-button-style and -apple-pay-button-type.
- css/CSSValueKeywords.in:
Add CSS values.
- css/parser/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
Handle CSSPropertyApplePayButtonStyle and CSSPropertyApplePayButtonType.
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
Handle CSSPropertyApplePayButtonStyle and CSSPropertyApplePayButtonType.
(WebCore::isAppleLegacyCSSPropertyKeyword):
New function that returns whether the CSS property should be rewritten to -webkit-.
We want to rewrite -apple- but not -apple-pay-.
(WebCore::cssPropertyID):
Use the newly added isAppleLegacyCSSPropertyKeyword.
(WebCore::isAppleLegacyCSSValueKeyword):
Check for "-apple-pay-" in addition to "-apple-system-".
- platform/ThemeTypes.h:
Add ApplePayButtonPart.
- platform/spi/cocoa/PassKitSPI.h:
Add PKDrawApplePayButton declaration.
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
Handle ApplePayButtonPart.
(WebCore::RenderTheme::paint):
Handle ApplePayButtonPart.
- rendering/RenderTheme.h:
(WebCore::RenderTheme::adjustApplePayButtonStyle):
(WebCore::RenderTheme::paintApplePayButton):
Add new functions.
- rendering/RenderThemeCocoa.h: Added.
- rendering/RenderThemeCocoa.mm: Added.
(WebCore::RenderThemeCocoa::adjustApplePayButtonStyle):
Adjust the minimum width and minimum height accordingly.
(WebCore::toPKPaymentButtonStyle):
(WebCore::toPKPaymentButtonType):
Helper functions that convert our WebCore types to PK types.
(WebCore::RenderThemeCocoa::paintApplePayButton):
Call PKDrawApplePayButton.
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeMac.h:
Inherit from RenderThemeCocoa.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::applePayButtonStyle):
(WebCore::RenderStyle::applePayButtonType):
(WebCore::RenderStyle::setApplePayButtonStyle):
(WebCore::RenderStyle::setApplePayButtonType):
(WebCore::RenderStyle::initialApplePayButtonStyle):
(WebCore::RenderStyle::initialApplePayButtonType):
- rendering/style/RenderStyleConstants.h:
- rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
- rendering/style/StyleRareInheritedData.h:
Add new style members for the button style and button type properties.
- 10:17 AM Changeset in webkit [205979] by
-
- 4 edits in trunk/Source/JavaScriptCore
There is no good reason for WeakBlock to care about newly allocated objects
https://bugs.webkit.org/show_bug.cgi?id=162006
Reviewed by Geoffrey Garen.
WeakBlock scans itself in two modes:
visit: if a Weak in the block belongs to an unmarked object, ask the Weak to consider whether
it should do things.
reap: if a Weak in a block belongs to an unmarked object, delete the Weak.
Except that "unmarked" has a peculiar meaning: WeakBlock defines it as
!markedOrNewlyAllocated. So, a newly allocated object will never be consulted about anything.
That sounds scary until you realize that newlyAllocated must have been cleared before we even
got here.
So, we were paying the price of checking newlyAllocated for no reason. This switches the code
to using isMarked(). I don't know why the code previously checked newlyAllocated, but I do
trust my reasoning.
- heap/LargeAllocation.h:
(JSC::LargeAllocation::isMarkedDuringWeakVisiting):
(JSC::LargeAllocation::isMarkedOrNewlyAllocatedDuringWeakVisiting): Deleted.
- heap/MarkedBlock.h:
(JSC::MarkedBlock::isMarkedDuringWeakVisiting):
(JSC::MarkedBlock::isMarkedOrNewlyAllocatedDuringWeakVisiting): Deleted.
- heap/WeakBlock.cpp:
(JSC::WeakBlock::specializedVisit):
(JSC::WeakBlock::reap):
- 10:10 AM Changeset in webkit [205978] by
-
- 8 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=162019
- platform/gtk/TestExpectations:
- platform/gtk/fast/forms/menulist-clip-expected.png:
- platform/gtk/fast/forms/menulist-clip-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-expected.txt:
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
- 10:07 AM Changeset in webkit [205977] by
-
- 14 edits4 adds in trunk
[css-grid] Implement fit-content track size
https://bugs.webkit.org/show_bug.cgi?id=161379
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
This implements the new <fit-content> track size which is defined as follows: "Represents
the formula min(max-content, max(auto, argument)), which is calculated similar to auto
(i.e. minmax(auto, max-content)), except that the track size is clamped at argument if it is
greater than the auto minimum."
From the parsing POV fit-content was implemented as a new type of function which only takes
one argument. That forced us to refactor some code because minmax() was the only allowed
function for <track-size>s so far.
The implementation key is a new attribute in GridTrack called growthLimitCap which is
precisely the single attribute of fit-content(). Some parts of the track sizing algorithm
were adapted to this change like for example the sorting of tracks by growth potential (we
need to consider the caps).
Tests: fast/css-grid-layout/fit-content-columns.html
fast/css-grid-layout/fit-content-rows.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::specifiedValueForGridTrackSize): Added support for fit-content sizes.
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::createGridTrackSize): Added support for fit-content sizes.
- css/parser/CSSParser.cpp:
(WebCore::isGridTrackFixedSized): Added support for fit-content sizes.
(WebCore::CSSParser::parseGridTrackSize): Added support for parsing fit-content() functions.
- css/parser/CSSPropertyParser.cpp: Added support for parsing fit-content() functions so
it'll be available once we switch to the new parser.
- rendering/RenderGrid.cpp:
(WebCore::GridTrack::baseSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::growthLimit): Ditto.
(WebCore::GridTrack::setGrowthLimit): Added an ASSERT to check that the growth limit is
never higher than the cap.
(WebCore::GridTrack::infiniteGrowthPotential):
(WebCore::GridTrack::plannedSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::tempSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::setTempSize): Added as we no longer return a reference in tempSize().
(WebCore::GridTrack::growTempSize): New utility function which increases the tempSize.
(WebCore::GridTrack::setInfinitelyGrowable):
(WebCore::GridTrack::setGrowthLimitCap): Added.
(WebCore::GridTrack::growthLimitCap): Ditto.
(WebCore::GridTrack::growthLimitIsInfinite): Made private.
(WebCore::RenderGrid::GridSizingData::freeSpace): Renamed from freeSpaceForDirection.
(WebCore::RenderGrid::GridSizingData::availableSpace): We now cache the available space as
it is used to compute relative (percentage) sizes.
(WebCore::RenderGrid::GridSizingData::setAvailableSpace): Ditto.
(WebCore::RenderGrid::GridSizingData::setFreeSpace): Renamed from setFreeSpaceForDirection.
(WebCore::RenderGrid::computeTrackSizesForDirection): Receives the available space instead
of the free space.
(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Properly initialize free and available
spaces.
(WebCore::RenderGrid::computeIntrinsicLogicalHeight): Ditto.
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks): Use available space to initialize the
track sizes. Also use sizingOperation to decide whether or not sizes are indefinite. Last
but not least, added support for fit-content tracks.
(WebCore::RenderGrid::computeUsedBreadthOfMinLength): Pass a GridTrackSize instead of a GridLength.
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength): Ditto.
(WebCore::RenderGrid::gridTrackSize): Added support for fit-content.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions): Ditto.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems): Ditto.
(WebCore::trackSizeForTrackSizeComputationPhase):
(WebCore::sortByGridTrackGrowthPotential): Reworked the function so it properly sorts tracks
with growth limit caps to support fit-content().
(WebCore::clampGrowthShareIfNeeded): Clamps the given growthShare passed as argument to the
track growth limit cap.
(WebCore::RenderGrid::distributeSpaceToTracks): Use the new setTempSize() method. Also sort
the selected tracks to grow over growth limits in order to respect the track caps eventually
set by fit-content (otherwise those tracks could indefinitely grow over the specified value).
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth): Use the new defined functions.
(WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded): Use freeSpace().
(WebCore::RenderGrid::populateGridPositionsForDirection): Ditto.
(WebCore::GridTrack::infinitelyGrowable): Deleted.
(WebCore::RenderGrid::GridSizingData::freeSpaceForDirection): Deleted.
(WebCore::RenderGrid::GridSizingData::setFreeSpaceForDirection): Deleted.
(WebCore::RenderGrid::trackSizeForTrackSizeComputationPhase): Deleted.
- rendering/RenderGrid.h: Changed the signature of some methods. Moved
TrackSizeComputationPhase out of the RenderGrid class.
- rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::GridTrackSize): Added some extra documentation. Added a new
attribute to the constructor to support fit-content GridTrackSizes.
(WebCore::GridTrackSize::fitContentTrackBreadth): New method which returns the growth limit
cap set by fit-content().
(WebCore::GridTrackSize::minTrackBreadth):
(WebCore::GridTrackSize::isFitContent): Added.
(WebCore::GridTrackSize::length): Deleted.
(WebCore::GridTrackSize::isPercentage): Deleted.
LayoutTests:
New tests to verify that fit-content track sizes work as expected for columns and for
rows. Also added some more test cases to verify that we properly parse fit-content().
- fast/css-grid-layout/fit-content-columns-expected.html: Added.
- fast/css-grid-layout/fit-content-columns.html: Added.
- fast/css-grid-layout/fit-content-rows-expected.html: Added.
- fast/css-grid-layout/fit-content-rows.html: Added.
- fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
- fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-columns-rows-get-set.html:
- fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
- 9:59 AM Changeset in webkit [205976] by
-
- 2 edits in trunk/Tools
Disable failing API WebKit2.DataDetectionReferenceDate until it can be investigated.
https://bugs.webkit.org/show_bug.cgi?id=161967
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
(TEST):
- 9:59 AM Changeset in webkit [205975] by
-
- 2 edits in trunk/LayoutTests
Marking transitions/3d/interrupted-transition.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=130972
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 9:51 AM Changeset in webkit [205974] by
-
- 12 edits4 deletes in trunk
Unreviewed, rolling out r205931.
https://bugs.webkit.org/show_bug.cgi?id=162021
Tests for this change fail on 32-bit JSC bots (Requested by
ryanhaddad on #webkit).
Reverted changeset:
"[JSC] Make the rounding-related nodes support any type"
https://bugs.webkit.org/show_bug.cgi?id=161895
http://trac.webkit.org/changeset/205931
- 9:39 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 9:32 AM Changeset in webkit [205973] by
-
- 2 edits in trunk/Source/WebCore
[css-grid] Fix a dangling reference
https://bugs.webkit.org/show_bug.cgi?id=161739
Reviewed by Alexey Proskuryakov.
The code was trying to get a reference to a private attribute of a temporary object returned
by gridTrackSize().
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::assumedRowsSizeForOrthogonalChild):
- 8:51 AM Changeset in webkit [205972] by
-
- 14 edits4 deletes in trunk
Unreviewed, rolling out r205966.
Triggered some assertions
Reverted changeset:
"[css-grid] Implement fit-content track size"
https://bugs.webkit.org/show_bug.cgi?id=161379
http://trac.webkit.org/changeset/205966
- 8:46 AM Changeset in webkit [205971] by
-
- 2 edits in trunk/Tools
[Win] run-api-tests is failing.
https://bugs.webkit.org/show_bug.cgi?id=162015
Reviewed by Brent Fulgham.
MSVC is not interpreting C++ string literals with unicode characters correctly when the source file
doesn't contain encoding information. Save the file with utf8 encoding with signature.
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
- 8:42 AM Changeset in webkit [205970] by
-
- 5 edits in trunk
Cleanup RenderLayer::shouldBeNormalFlowOnly
https://bugs.webkit.org/show_bug.cgi?id=161981
Reviewed by Simon Fraser.
Source/WebCore:
This patch changes the logic of figuring about if a particular layer is normal flow only by simply checking
if the layer creates a stacking context. If it does, we assume that it can't be a normal flow layer anymore.
This patch slightly changes behaviour by making layers with isolation and reflection to be non normal flow layers anymore.
Covered by existing testcases.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
LayoutTests:
Rebaselining.
- fast/table/overflow-table-collapsed-borders-section-self-painting-layer-painting-expected.txt:
- 8:40 AM Changeset in webkit [205969] by
-
- 5 edits in trunk
test262: Should be a SyntaxError for duplicate parameter names in function with default parameters
https://bugs.webkit.org/show_bug.cgi?id=162013
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-15
Reviewed by Saam Barati.
JSTests:
- stress/es6-default-parameters.js:
- test262.yaml:
Source/JavaScriptCore:
https://tc39.github.io/ecma262/#sec-function-definitions-static-semantics-early-errors
It is a Syntax Error if IsSimpleParameterList of FormalParameterList is
false and BoundNames of FormalParameterList contains any duplicate elements.
Non-simple parameter lists include rest parameters, destructuring,
and default parameters.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFormalParameters):
Previously, we were not failing if there were default parameters
early in the parameter list that were not yet identified as duplicates
and simple parameters later were duplicates. Now, we fail if there
are default parameters anywhere in the parameter list with a duplicate.
- 8:30 AM Changeset in webkit [205968] by
-
- 3 edits in trunk/Tools
Move --no-sample-on-timeout to config.json for each bot
https://bugs.webkit.org/show_bug.cgi?id=161964
Reviewed by Daniel Bates.
Roll out changes from 205573 and move them into config.json. At this time, only macOS and iOS simulator sample a process on timeout, —no-sample-on-timeout is unneeded for GTK, EFL and Windows.
- BuildSlaveSupport/build.webkit.org-config/config.json: Each bot now independently defines if it will be running sample on timeout.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests.start): Rolled out changes from 205573.
- 4:18 AM Changeset in webkit [205967] by
-
- 8 edits in trunk
js/stringimpl-to-jsstring-on-large-strings tests consume huge memory
https://bugs.webkit.org/show_bug.cgi?id=159807
Reviewed by Saam Barati.
Tools:
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunRemoteJavaScriptCoreTests.start): JSCOnly bots are memory limited devices, tests should run with --memory-limited option.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests): Pass through --memory-limited option to run-jsc-stress-tests.
- Scripts/run-jsc-stress-tests: Typo fix.
LayoutTests:
- js/script-tests/stringimpl-to-jsstring-on-large-strings-1.js: Skipped on memory limited devices.
- js/script-tests/stringimpl-to-jsstring-on-large-strings-2.js: Skipped on memory limited devices.
- js/script-tests/stringimpl-to-jsstring-on-large-strings-3.js: Skipped on memory limited devices.
- 2:45 AM Changeset in webkit [205966] by
-
- 14 edits4 adds in trunk
[css-grid] Implement fit-content track size
https://bugs.webkit.org/show_bug.cgi?id=161379
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
This implements the new <fit-content> track size which is defined as follows: "Represents
the formula min(max-content, max(auto, argument)), which is calculated similar to auto
(i.e. minmax(auto, max-content)), except that the track size is clamped at argument if it is
greater than the auto minimum."
From the parsing POV fit-content was implemented as a new type of function which only takes
one argument. That forced us to refactor some code because minmax() was the only allowed
function for <track-size>s so far.
The implementation key is a new attribute in GridTrack called growthLimitCap which is
precisely the single attribute of fit-content(). Some parts of the track sizing algorithm
were adapted to this change like for example the sorting of tracks by growth potential (we
need to consider the caps).
Tests: fast/css-grid-layout/fit-content-columns.html
fast/css-grid-layout/fit-content-rows.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::specifiedValueForGridTrackSize): Added support for fit-content sizes.
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::createGridTrackSize): Added support for fit-content sizes.
- css/parser/CSSParser.cpp:
(WebCore::isGridTrackFixedSized): Added support for fit-content sizes.
(WebCore::CSSParser::parseGridTrackSize): Added support for parsing fit-content() functions.
- css/parser/CSSPropertyParser.cpp: Added support for parsing fit-content() functions so
it'll be available once we switch to the new parser.
- rendering/RenderGrid.cpp:
(WebCore::GridTrack::baseSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::growthLimit): Ditto.
(WebCore::GridTrack::setGrowthLimit): Added an ASSERT to check that the growth limit is
never higher than the cap.
(WebCore::GridTrack::infiniteGrowthPotential):
(WebCore::GridTrack::plannedSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::tempSize): Just return a LayoutUnit, the return value optimization will
keep it fast in any case.
(WebCore::GridTrack::setTempSize): Added as we no longer return a reference in tempSize().
(WebCore::GridTrack::growTempSize): New utility function which increases the tempSize.
(WebCore::GridTrack::setInfinitelyGrowable):
(WebCore::GridTrack::setGrowthLimitCap): Added.
(WebCore::GridTrack::growthLimitCap): Ditto.
(WebCore::GridTrack::growthLimitIsInfinite): Made private.
(WebCore::RenderGrid::GridSizingData::freeSpace): Renamed from freeSpaceForDirection.
(WebCore::RenderGrid::GridSizingData::availableSpace): We now cache the available space as
it is used to compute relative (percentage) sizes.
(WebCore::RenderGrid::GridSizingData::setAvailableSpace): Ditto.
(WebCore::RenderGrid::GridSizingData::setFreeSpace): Renamed from setFreeSpaceForDirection.
(WebCore::RenderGrid::computeTrackSizesForDirection): Receives the available space instead
of the free space.
(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Properly initialize free and available
spaces.
(WebCore::RenderGrid::computeIntrinsicLogicalHeight): Ditto.
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks): Use available space to initialize the
track sizes. Also use sizingOperation to decide whether or not sizes are indefinite. Last
but not least, added support for fit-content tracks.
(WebCore::RenderGrid::computeUsedBreadthOfMinLength): Pass a GridTrackSize instead of a GridLength.
(WebCore::RenderGrid::computeUsedBreadthOfMaxLength): Ditto.
(WebCore::RenderGrid::gridTrackSize): Added support for fit-content.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions): Ditto.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems): Ditto.
(WebCore::trackSizeForTrackSizeComputationPhase):
(WebCore::sortByGridTrackGrowthPotential): Reworked the function so it properly sorts tracks
with growth limit caps to support fit-content().
(WebCore::clampGrowthShareIfNeeded): Clamps the given growthShare passed as argument to the
track growth limit cap.
(WebCore::RenderGrid::distributeSpaceToTracks): Use the new setTempSize() method. Also sort
the selected tracks to grow over growth limits in order to respect the track caps eventually
set by fit-content (otherwise those tracks could indefinitely grow over the specified value).
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth): Use the new defined functions.
(WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded): Use freeSpace().
(WebCore::RenderGrid::populateGridPositionsForDirection): Ditto.
(WebCore::GridTrack::infinitelyGrowable): Deleted.
(WebCore::RenderGrid::GridSizingData::freeSpaceForDirection): Deleted.
(WebCore::RenderGrid::GridSizingData::setFreeSpaceForDirection): Deleted.
(WebCore::RenderGrid::trackSizeForTrackSizeComputationPhase): Deleted.
- rendering/RenderGrid.h: Changed the signature of some methods. Moved
TrackSizeComputationPhase out of the RenderGrid class.
- rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::GridTrackSize): Added some extra documentation. Added a new
attribute to the constructor to support fit-content GridTrackSizes.
(WebCore::GridTrackSize::fitContentTrackBreadth): New method which returns the growth limit
cap set by fit-content().
(WebCore::GridTrackSize::minTrackBreadth):
(WebCore::GridTrackSize::isFitContent): Added.
(WebCore::GridTrackSize::length): Deleted.
(WebCore::GridTrackSize::isPercentage): Deleted.
LayoutTests:
New tests to verify that fit-content track sizes work as expected for columns and for
rows. Also added some more test cases to verify that we properly parse fit-content().
- fast/css-grid-layout/fit-content-columns-expected.html: Added.
- fast/css-grid-layout/fit-content-columns.html: Added.
- fast/css-grid-layout/fit-content-rows-expected.html: Added.
- fast/css-grid-layout/fit-content-rows.html: Added.
- fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
- fast/css-grid-layout/grid-columns-rows-get-set-expected.txt:
- fast/css-grid-layout/grid-columns-rows-get-set.html:
- fast/css-grid-layout/resources/grid-columns-rows-get-set.js:
- 2:24 AM Changeset in webkit [205965] by
-
- 3 edits in trunk/Source/WebCore
Fix build warnings in the mediastream code
https://bugs.webkit.org/show_bug.cgi?id=161957
Patch by Alejandro G. Castro <alex@igalia.com> on 2016-09-15
Reviewed by Philippe Normand.
- platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaConstraint::create): Added assertion and mock return.
- platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp:
(WebCore::RealtimeMediaSourceSupportedConstraints::nameForConstraint):
Added assertion and mock return.
(WebCore::RealtimeMediaSourceSupportedConstraints::supportsConstraint):
Added assertion and mock return.
- 2:15 AM Changeset in webkit [205964] by
-
- 3 edits in trunk/Source/WebCore
Rebase binding tests after r205953
https://bugs.webkit.org/show_bug.cgi?id=162012
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-15
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunctionTestWorkerPromise):
(WebCore::jsTestNodePrototypeFunctionTestWorkerPromisePromise):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunction):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionPromise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionPromise):
- 2:12 AM Changeset in webkit [205963] by
-
- 1 copy in releases/WebKitGTK/webkit-2.13.92
WebKitGTK+ 2.13.92
- 2:11 AM Changeset in webkit [205962] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.13.92 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.13.92.
- 1:47 AM Changeset in webkit [205961] by
-
- 6 edits in trunk
[WebRTC][OpenWebRTC] crash in maybeHandleChangeMutedState
https://bugs.webkit.org/show_bug.cgi?id=161619
Source/WebCore:
Added OpenWebRTC support to the RealtimeMediaSource mock class.
Patch by Alejandro G. Castro <alex@igalia.com> on 2016-09-15
Reviewed by Eric Carlson.
Fixed tests.
- platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h:
(WebCore::RealtimeMediaSourceOwr::RealtimeMediaSourceOwr): Allowed
inheritance of the class, required to use it when creating the
mock class. Added a new constructor to create the class with null
mediastream.
- platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::MockRealtimeMediaSource): Use
the new BaseRealtimeMediaSourceClass in the constructor.
- platform/mock/MockRealtimeMediaSource.h: Added a new
BaseRealtimeMediaSourceClass defined using the
RealtimeMediaSourceOwr class for OpenWebRTC platform.
LayoutTests:
Patch by Alejandro G. Castro <alex@igalia.com> on 2016-09-15
Reviewed by Eric Carlson.
- platform/gtk/TestExpectations: Modify the expectations, the
tests do not crash anymore.
- 1:42 AM Changeset in webkit [205960] by
-
- 5 edits in trunk
[css-grid] Fix intrinsic size computation with flexible sized tracks
https://bugs.webkit.org/show_bug.cgi?id=161903
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
This is fixing a regression added in r192154. When computing the min content size of a grid
container (min preferred logical width) we should not take into account the fr tracks. As
stated in the early versions of the spec that size is the sum of the tracks' base sizes
before running the maximize tracks step.
That regression was causing sizing issues in grids with fr tracks both when under
min|max-content constrains and also when used as grid items (in nested grids).
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
LayoutTests:
Added a couple of new test cases, grid with fr tracks inside a container with intrinsic
dimensions and and grid with fr tracks inside another grid with fr tracks.
- fast/css-grid-layout/flex-and-intrinsic-sizes-expected.txt:
- fast/css-grid-layout/flex-and-intrinsic-sizes.html:
- 1:11 AM Changeset in webkit [205959] by
-
- 26 edits4 adds in releases/WebKitGTK/webkit-2.14/Source
Merge r205909 - [GTK][Wayland] Implement clipboard support
https://bugs.webkit.org/show_bug.cgi?id=146574
Patch by Carlos Garnacho <carlosg@gnome.org> on 2016-09-14
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Implement PlatformPasteboard in the GTK+ platform, and move Pasteboard
to using PasteboardStrategy so clipboard management is left to the
UIProcess.
DataObjectGtk is still used in the Pasteboard GTK implementation, it's
now just never backed by a GtkClipboard, this object is instead
serialized through PasteboardStrategy, so the UIProcess side can mirror
the content in a GtkClipboard-backed DataObjectGtk, which is then
exposed to the windowing through PlatformPasteboard/PasteboardHelper.
When requesting clipboard content, it works similarly, the UIProcess
side first updates its DataObjectGtk, which is then mirrored by the
WebProcess through the PasteboardStrategy requests.
- PlatformGTK.cmake: Added PlatformPasteboardGtk.cpp
- editing/gtk/EditorGtk.cpp:
(WebCore::Editor::writeSelectionToPasteboard): Eliminate usage of
PasteboardWebContent callback argument. This is done differently as
we have to signal back the WebProcess.
- platform/Pasteboard.h: Cleaned up of direct GTK+ dependency.
- platform/PasteboardStrategy.h: Added plumbing towards the pasteboard
proxy.
- platform/PlatformPasteboard.h:
- platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::clearAllExceptFilenames): Clear the "smart
paste" flag if set, now that this is DataObjectGtk data.
- platform/gtk/DataObjectGtk.h:
(WebCore::DataObjectGtk::canSmartReplace):
(WebCore::DataObjectGtk::setCanSmartReplace): Added functions, in order
to flag whether a DataObjectGtk has the "smart paste" feature enabled
or not.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createForGlobalSelection):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::writeToClipboard):
(WebCore::Pasteboard::readFromClipboard):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::writePasteboard):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::hasData):
(WebCore::Pasteboard::types):
(WebCore::Pasteboard::readString):
(WebCore::Pasteboard::readFilenames): Made to use the
PasteboardStrategy instead of PasteboardHelper/GTK+ API.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::~PasteboardHelper):
(WebCore::ClipboardSetData::ClipboardSetData):
(WebCore::clearClipboardContentsCallback):
(WebCore::PasteboardHelper::writeClipboardContents): Remove the GClosure
to notify whether the global selection has been replaced. Use std:function
instead. Remove SmartPasteInclusion argument, now figured out through
DataObjectGtk canSmartPaste() member.
- platform/gtk/PasteboardHelper.h:
- platform/gtk/PlatformPasteboardGtk.cpp: Added.
(WebCore::PlatformPasteboard::PlatformPasteboard):
(WebCore::PlatformPasteboard::writeToClipboard):
(WebCore::PlatformPasteboard::readFromClipboard): Implemented
PlatformPasteboard using PasteboardHelper/GTK+ API.
Source/WebKit2:
Add the necessary plumbing for the GTK+ backend to use the
PlatformPasteboard in WebCore. All selection data is transmitted
at once through the serialization of PasteboardContentGtk/DataObjectGtk.
- PlatformGTK.cmake: Add PasteboardContentGtk.cpp and
WebPasteboardProxyGtk.cpp
- Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::encode):
(IPC::decode): Renamed from encodeDataObject/decodeDataObject
and made public.
(IPC::ArgumentCoder<DragData>::encode):
(IPC::ArgumentCoder<DragData>::decode): Update DataObjectGtk
encode/decode callers. Encode the extra canSmartReplace field.
- Shared/gtk/ArgumentCodersGtk.h: Expose encode/decode methods for
DataObjectGtk.
- Shared/gtk/PasteboardContent.cpp: Added. Wraps a DataObjectGtk
so it can be serialized on WebProcess/UIProcess messaging.
(WebKit::PasteboardContent::PasteboardContent):
(WebKit::PasteboardContent::encode):
(WebKit::PasteboardContent::decode): Methods to encode/decode a
PasteboardContent.
- Shared/gtk/PasteboardContent.h: Added.
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::collapseSelection): Added plumbing to allow
collapsing the global selection from the UI process side.
- UIProcess/WebFrameProxy.h:
- UIProcess/WebPasteboardProxy.h:
- UIProcess/WebPasteboardProxy.messages.in: Added plumbing for the
GTK+ pasteboard proxy functions.
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::editorStateChanged):
- UIProcess/gtk/WebPasteboardProxyGtk.cpp: Added.
(WebKit::WebPasteboardProxy::writeToClipboard):
(WebKit::WebPasteboardProxy::readFromClipboard): Implemented functions
hooking into the PlatformPasteboard. Per-selection (ie.
primary/clipboard) PlatformPasteboards are kept at this level, so those
are independently set and dealt with.
(WebKit::WebPasteboardProxy::setPrimarySelectionOwner):
(WebKit::WebPasteboardProxy::didDestroyFrame): Implemented functions
to manage the frame currently being currently interacted, so we can
signal back when the global selection has been replaced.
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::writeToClipboard):
(WebKit::WebPlatformStrategies::readFromClipboard): Added methods to
send the WebProcess->UIProcess messages.
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::updateGlobalSelection): Remove GClosure to
get notifications about changes in global selection ownership. This
is done through a WebPage message now, as the UI process manages the
clipboard.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::collapseSelectionInFrame): Added methods to send
the UIProcess->WebProcess notification that the global selection has
been replaced.
- 1:02 AM Changeset in webkit [205958] by
-
- 12 edits in releases/WebKitGTK/webkit-2.14/Source
Merge r205860 - [GTK] Get rid of DataObjectGtk::forClipboard and cleanup pasteboard code
https://bugs.webkit.org/show_bug.cgi?id=161907
Reviewed by Michael Catanzaro.
Source/WebCore:
We don't really need to keep a DataObjectGtk for every clipboard, we could simply pass the DataObjectGtk to read
and write methods of PasteboardHelper.
- editing/gtk/EditorGtk.cpp:
(WebCore::createFragmentFromPasteboardData): Update for DataObjectGtk API changes.
- platform/Pasteboard.h:
- platform/gtk/DataObjectGtk.cpp: Remove forClipboard() static method.
- platform/gtk/DataObjectGtk.h: Ditto.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::Pasteboard): Always create a new DataObjectGtk.
(WebCore::Pasteboard::dataObject): Return a const reference instead of a pointer.
(WebCore::Pasteboard::writePlainText): Pass the DataObjectGtk to PasteboardHelper.
(WebCore::Pasteboard::write): Ditto.
(WebCore::Pasteboard::writePasteboard): Ditto.
(WebCore::Pasteboard::clear): Ditto.
(WebCore::Pasteboard::read): Ditto.
(WebCore::Pasteboard::hasData): Ditto.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::getClipboardContents): Update the given DataObjectGtk.
(WebCore::PasteboardHelper::fillSelectionData): Use a const reference to DataObjectGtk instead of a pointer.
(WebCore::PasteboardHelper::targetListForDataObject): Ditto.
(WebCore::PasteboardHelper::fillDataObjectFromDropData): Use a reference to DataObjectGtk instead of a pointer.
(WebCore::ClipboardSetData::ClipboardSetData): Helper struct to pass DataObjectGtk and callback to clipboard callbacks.
(WebCore::ClipboardSetData::~ClipboardSetData):
(WebCore::getClipboardContentsCallback): Get the DataObjectGtk from ClipboardSetData struct passed as user data.
(WebCore::clearClipboardContentsCallback): Get the DataObjectGtk and callback from ClipboardSetData struct
passed as user data.
(WebCore::PasteboardHelper::writeClipboardContents): Write the given DataObjectGtk.
- platform/gtk/PasteboardHelper.h:
Source/WebKit2:
Update to DataObjectGtk and PasteboardHelper API changes.
- UIProcess/gtk/DragAndDropHandler.cpp:
(WebKit::DragAndDropHandler::startDrag):
(WebKit::DragAndDropHandler::fillDragData):
(WebKit::DragAndDropHandler::dataObjectForDropData):
- WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag):
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::collapseSelection):
(WebKit::WebEditorClient::updateGlobalSelection): Remove wrong X11 guards, since that code is not X11 specific.
- 1:00 AM Changeset in webkit [205957] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205853 - [GTK] Scrollbar too large
https://bugs.webkit.org/show_bug.cgi?id=161735
Reviewed by Michael Catanzaro.
We were not calculating the total scrollbar size correctly when the theme defines a minimum width/height. In
that case we need to take the extra size into account (border, margin, padding), but not adding the minimum
size. We were also adjusting the thumb position when rendering in indicator mode, but we really need to adjust
the whole rectangle. This worked in Adwaita because it uses a transparent track when in indicator mode. We are
also now taking into account the text direction when doing this adjustment for the indicator mode.
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paint):
(WebCore::ScrollbarThemeGtk::scrollbarThickness):
- 12:59 AM Changeset in webkit [205956] by
-
- 5 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205852 - [GTK] Crash of WebProcess on the last WebView disconnect (take two)
https://bugs.webkit.org/show_bug.cgi?id=161842
Reviewed by Michael Catanzaro.
The problem is that when PlatformDisplayX11 is destroyed, the sharing GL context is deleted and its destructor
makes a downcast of PlatformDisplay to get the native X11 display. We could simply keep a pointer to the native
X11 display in GLContextGLX, got at construction time from the PlatformDisplay, and ensure the sharing GL
context is deleted before the native X11 display is closed.
- platform/graphics/PlatformDisplay.h: Make m_sharingGLContext protected.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::GLContextGLX): Initialize m_x11Display.
(WebCore::GLContextGLX::~GLContextGLX): Use m_x11Display and remove confusing comment about possible crash with
nviedia closed drivers.
(WebCore::GLContextGLX::defaultFrameBufferSize): Use m_x11Display.
(WebCore::GLContextGLX::makeContextCurrent): Ditto.
(WebCore::GLContextGLX::swapBuffers): Ditto.
(WebCore::GLContextGLX::swapInterval): Ditto.
(WebCore::GLContextGLX::cairoDevice): Ditto.
- platform/graphics/glx/GLContextGLX.h:
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::~PlatformDisplayX11): Delete the sharing GL context before closing the display.
- 12:50 AM Changeset in webkit [205955] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14
Merge r205672 - [CMake] Build failure with GCC 6 (fatal error: stdlib.h: No such file or directory)
https://bugs.webkit.org/show_bug.cgi?id=161697
Reviewed by Michael Catanzaro.
Get the list of system includes from GCC and add it to the CMake
list of implicit includes. This way, CMake will filter any of this
directories from the list of includes when calling the compiler.
This avoids an issue with GCC 6 that causes build failures when
including the default include path as a system include (-isystem).
- Source/cmake/OptionsCommon.cmake:
- 12:40 AM Changeset in webkit [205954] by
-
- 5 edits in trunk
[css-grid] Too many gaps with trailing collapsing tracks
https://bugs.webkit.org/show_bug.cgi?id=161905
Reviewed by Darin Adler.
Source/WebCore:
The total number and size of gaps were incorrectly computed whenever there were trailing
collapsed tracks (with collapsed gaps). The problem was that we were trying to optimize too
much the amount of hash table queries required to know the gaps between two lines. We were
considering that a gap always exist between 2 consecutive tracks if the first one is not
empty. That's generally true (for both NOTEMPTY|NOTEMPTY and NOTEMPTY|EMPTY+|NOTEMPTY
sequences) but not for all the cases (NOTEMPTY|EMPTY+).
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::guttersSize):
LayoutTests:
Added new test cases to check that trailing collapsed tracks do not add gutters at the end.
- fast/css-grid-layout/grid-auto-fit-columns-expected.txt:
- fast/css-grid-layout/grid-auto-fit-columns.html:
- 12:21 AM Changeset in webkit [205953] by
-
- 11 edits in trunk
callPromiseFunction should be made usable for custom binding code
https://bugs.webkit.org/show_bug.cgi?id=161961
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-15
Reviewed by Darin Adler.
Source/WebCore:
Covered by updated test.
- bindings/js/JSDOMBinding.h:
(WebCore::castThisValue): Utility function to cast this value to a specific type.
- bindings/js/JSDOMPromise.h:
(WebCore::callPromiseFunction): Updated to take real promise function as a template parameter
for improved efficiency. Added workerMode template parameter.
(WebCore::bindingPromiseFunctionAdapter): Function signature adaptor.
- bindings/js/JSMediaDevicesCustom.cpp:
(WebCore::JSMediaDevicesGetUserMediaPromiseFunction):
(WebCore::JSMediaDevices::getUserMedia): Making use of callPromiseFunction to properly handle exceptions.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Updated to use template parameter.
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunctionTestWorkerPromise):
(WebCore::jsTestNodePrototypeFunctionTestWorkerPromisePromise):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunction):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException):
- bindings/scripts/test/TestNode.idl: Adding Worker promise binding test.
LayoutTests:
- fast/mediastream/MediaDevices-getUserMedia-expected.txt:
- fast/mediastream/MediaDevices-getUserMedia.html: Updated to expect a rejected promise in lieu of an exception.
Sep 14, 2016:
- 11:57 PM Changeset in webkit [205952] by
-
- 14 edits3 adds in branches/safari-602-branch
Merge r205938. rdar://problem/28227805
- 11:57 PM Changeset in webkit [205951] by
-
- 5 edits in branches/safari-602-branch
Merge r205878. rdar://problem/28229827
- 11:57 PM Changeset in webkit [205950] by
-
- 11 edits1 copy3 adds in branches/safari-602-branch
Merge r205870. rdar://problem/28225774
- 11:56 PM Changeset in webkit [205949] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r205935. rdar://problem/26013388
- 11:56 PM Changeset in webkit [205948] by
-
- 6 edits in branches/safari-602-branch/Source/WebKit2
Merge r205934. rdar://problem/26013388
- 11:56 PM Changeset in webkit [205947] by
-
- 6 edits in branches/safari-602-branch/Source/WebKit2
Merge r205928. rdar://problem/26013388
- 9:54 PM Changeset in webkit [205946] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Call frame is sometimes not selected in Debugger sidebar on initial pause
https://bugs.webkit.org/show_bug.cgi?id=161835
<rdar://problem/28236680>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype._contentTreeOutlineTreeSelectionDidChange):
If a tree other than the newly selected element's tree has the selection,
deselect it to prevent multiple tree selections.
(WebInspector.NavigationSidebarPanel.prototype.show): Deleted.
Not needed since the selected tree is no longer tracked. Incidentally,
SidebarPanel.show was only called by SearchSidebarPanel, which doesn't need
to manage selection across multiple tree outlines.
- 9:32 PM Changeset in webkit [205945] by
-
- 4 edits in trunk/LayoutTests
Unreviewed, update ios-simulator-wk1 test expectations after migrating to iOS 10
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 6:14 PM Changeset in webkit [205944] by
-
- 5 edits in trunk
ASSERT_NOT_REACHED when using spread inside an array literal with Function.prototype.apply
https://bugs.webkit.org/show_bug.cgi?id=162003
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Saam Barati.
JSTests:
- stress/spread-calling.js:
- test262.yaml:
Source/JavaScriptCore:
- bytecompiler/NodesCodegen.cpp:
(JSC::ArrayNode::isSimpleArray):
Don't treat an Array that has a spread expression inside it as simple.
This avoids a fast path for f.apply(x, simpleArray) that was not handling
spread expressions within arrays, and instead taking a path that can
handle the spreading.
- 6:08 PM Changeset in webkit [205943] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 5:33 PM Changeset in webkit [205942] by
-
- 14 edits in trunk/Source
Unreviewed, rolling out r205933 and r205936.
https://bugs.webkit.org/show_bug.cgi?id=162002
broke the build (Requested by keith_miller on #webkit).
Reverted changesets:
"Pragma out undefined-var-template warnings in JSC for
JSObjects that are templatized"
https://bugs.webkit.org/show_bug.cgi?id=161985
http://trac.webkit.org/changeset/205933
"Unreviewed, fix the Windows build."
http://trac.webkit.org/changeset/205936
- 5:19 PM Changeset in webkit [205941] by
-
- 21 edits4 adds2 deletes in trunk
WebCrypto algorithms should be exposed via KeyAlgorithm dictionary
https://bugs.webkit.org/show_bug.cgi?id=128748
<rdar://problem/27359438>
Reviewed by Brent Fulgham and Chris Dumez.
Source/WebCore:
Replace custom CryptoAlgorithmBuilder/buildAlgorithmDescription with KeyAlgorithm dictionary which is
defined by the spec: https://www.w3.org/TR/WebCryptoAPI/#key-algorithm-dictionary. Moreover, mark
CryptoKey.usages as CachedAttribute.
Tests: crypto/subtle/crypto-key-algorithm-gc.html
crypto/subtle/crypto-key-usages-gc.html
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
Remove CryptoAlgorithmDescriptionBuilder.cpp.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCryptoAlgorithmBuilder.cpp:
(WebCore::JSCryptoAlgorithmBuilder::add):
(WebCore::JSCryptoAlgorithmBuilder::createEmptyClone): Deleted.
- bindings/js/JSCryptoAlgorithmBuilder.h:
- bindings/js/JSCryptoKeyCustom.cpp:
(WebCore::JSCryptoKey::algorithm):
Get rid of dependency on CryptoAlgorithmDescriptionBuilder.
- crypto/CryptoAlgorithmDescriptionBuilder.cpp: Removed.
- crypto/CryptoAlgorithmDescriptionBuilder.h: Removed.
Replace it with KeyAlgorithm.
- crypto/CryptoKey.cpp:
(WebCore::CryptoKey::CryptoKey):
(WebCore::CryptoKey::buildAlgorithmDescription): Deleted.
- crypto/CryptoKey.h:
(WebCore::KeyAlgorithm::KeyAlgorithm):
(WebCore::KeyAlgorithm::~KeyAlgorithm):
(WebCore::CryptoKey::algorithmIdentifier):
- crypto/CryptoKey.idl:
Add KeyAlgorithm dictionary which is returned via CryptoKey.buildAlgorithm() method,
and rename m_algorithm to m_algorithmIdentifier to distingush it with newly
added KeyAlgorithm dictionary.
- crypto/gnutls/CryptoKeyRSAGnuTLS.cpp:
(WebCore::buildAlgorithm):
(WebCore::CryptoKeyRSA::buildAlgorithmDescription): Deleted.
- crypto/keys/CryptoKeyAES.cpp:
(WebCore::CryptoKeyAES::buildAlgorithm):
(WebCore::CryptoKeyAES::buildAlgorithmDescription): Deleted.
- crypto/keys/CryptoKeyAES.h:
(WebCore::AesKeyAlgorithm::AesKeyAlgorithm):
(WebCore::AesKeyAlgorithm::~AesKeyAlgorithm):
- crypto/keys/CryptoKeyHMAC.cpp:
(WebCore::CryptoKeyHMAC::buildAlgorithm):
(WebCore::CryptoKeyHMAC::buildAlgorithmDescription): Deleted.
- crypto/keys/CryptoKeyHMAC.h:
(WebCore::HmacKeyAlgorithm::HmacKeyAlgorithm):
(WebCore::HmacKeyAlgorithm::~HmacKeyAlgorithm):
- crypto/keys/CryptoKeyRSA.h:
(WebCore::RsaKeyAlgorithm::RsaKeyAlgorithm):
(WebCore::RsaKeyAlgorithm::~RsaKeyAlgorithm):
(WebCore::RsaHashedKeyAlgorithm::RsaHashedKeyAlgorithm):
(WebCore::RsaHashedKeyAlgorithm::~RsaHashedKeyAlgorithm):
- crypto/mac/CryptoKeyRSAMac.cpp:
(WebCore::CryptoKeyRSA::buildAlgorithm):
(WebCore::CryptoKeyRSA::buildAlgorithmDescription): Deleted.
LayoutTests:
- crypto/subtle/crypto-key-algorithm-gc-expected.txt: Added.
- crypto/subtle/crypto-key-algorithm-gc.html: Added.
- crypto/subtle/crypto-key-usages-gc-expected.txt: Added.
- crypto/subtle/crypto-key-usages-gc.html: Added.
- crypto/subtle/hmac-generate-key-expected.txt:
- crypto/subtle/hmac-generate-key.html:
- 5:16 PM Changeset in webkit [205940] by
-
- 1 copy in tags/Safari-602.2.8
New tag.
- 5:03 PM Changeset in webkit [205939] by
-
- 10 edits in trunk
REGRESSION (r205670): ASSERTION FAILED: methodTable(vm)->toThis(this, exec, NotStrictMode) == this
https://bugs.webkit.org/show_bug.cgi?id=161982
Reviewed by Saam Barati.
Source/JavaScriptCore:
Update JSProxy::setPrototype() to return false unconditionally instead
of forwarding the call to its target. We used to forward to the target
and then the JSDOMWindow's SetPrototypeOf would return false.
However, the JSC tests use a different GlobalObject and forwarding
the setPrototypeOf() call to the GlobalObject lead to hitting an
assertion. This patch aligns the behavior of the GlobalObject used by
the JSC tests with JSDOMWindow.
- runtime/JSProxy.cpp:
(JSC::JSProxy::setPrototype):
Source/WebCore:
We no longer need a custom SetPrototypeOf anymore as JSProxy::setPrototypeOf()
no longer forwards the call to its target.
No new layout tests because the behavior only changes in the context of the JSC
tests (which were updated in this patch).
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setPrototype): Deleted.
- page/DOMWindow.idl:
LayoutTests:
Bring back JSC test coverage that got lost in r205670.
- js/object-literal-shorthand-construction-expected.txt:
- js/script-tests/object-literal-shorthand-construction.js:
- js/script-tests/sloppy-getter-setter-global-object.js:
- js/sloppy-getter-setter-global-object-expected.txt:
- 4:51 PM Changeset in webkit [205938] by
-
- 14 edits3 adds in trunk
Media controls behave strangely when changing media sources
https://bugs.webkit.org/show_bug.cgi?id=161914
<rdar://problem/28227805>
Reviewed by Tim Horton.
Source/WebCore:
Addresses media controls flickering while changing the source of a media element. To accomplish this, we make
the following changes to the media controls main content heuristic:
- Prevent elements that are not mostly within the mainframe rect (or elements with empty rects) from showing media controls. Many websites that rely on same document navigation will move videos offscreen when navigating to a section of their site that does not play media. Without this check, we would not know to hide a video element on certain popular websites that use this technique, since the video has been interacted with in the past.
- Rather than check whether a media element currently has video/audio sources, check whether it has ever had audio. Many websites will use the same media element across different videos and change only the source, and we should not prevent a media element from having media controls on grounds of having no audio or video in this case.
- Rather than add user gesture and playback behavior restrictions before dispatching an ended event, add only the gesture restriction immediately, and add the playback restriction after waiting for a grace period only if the user has not interacted with the video since ending, and the video is not currently playing or about to play. This gives the user a chance to interact with the controls when a video ends, but also allows the page to load or begin playing a new video with the same media element without thrashing media control state.
Adds 3 new API tests.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::mediaPlayerActiveSourceBuffersChanged):
(WebCore::HTMLMediaElement::seekWithTolerance):
(WebCore::HTMLMediaElement::beginScrubbing):
(WebCore::HTMLMediaElement::addBehaviorRestrictionsOnEndIfNecessary):
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
(WebCore::HTMLMediaElement::playbackControlsManagerBehaviorRestrictionsTimerFired):
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::hasEverHadAudio):
(WebCore::HTMLMediaElement::hasEverHadVideo):
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canShowControlsManager):
(WebCore::isElementRectMostlyInMainFrame):
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerActiveSourceBuffersChanged):
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::notifyActiveSourceBuffersChanged):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::notifyActiveSourceBuffersChanged):
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer):
(WebCore::MediaSourcePrivateAVFObjC::sourceBufferPrivateDidChangeActiveState):
Source/WebKit2:
Allows a web page to have an active video for a media control manager even if no audio or video is currently
being produced. This is because the media element may be in a state where it is changing its source and does not
currently have a video or audio track.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::hasActiveVideoForControlsManager):
Tools:
Adds three new unit tests verifying that media controls remain stable during common
srcchange scenarios. Also
tweaks an existing test to account for newendedbehavior.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(-[VideoControlsManagerTestWebView waitForMediaControlsToShow]):
(-[VideoControlsManagerTestWebView waitForMediaControlsToHide]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-click.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-end.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-offscreen.html: Added.
- 4:17 PM Changeset in webkit [205937] by
-
- 5 edits1 add in trunk
YARR doesn't check for invalid flags for literal regular expressions
https://bugs.webkit.org/show_bug.cgi?id=161995
Reviewed by Mark Lam.
JSTests:
New test.
- stress/regress-161995.js: Added.
(testStatic):
(catch):
Source/JavaScriptCore:
Added a new error and a check that the flags are valid when we create a
literal regular expression.
- runtime/RegExp.cpp:
(JSC::RegExp::finishCreation):
- yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPattern::errorMessage):
(JSC::Yarr::YarrPattern::compile):
- yarr/YarrPattern.h:
- 4:15 PM Changeset in webkit [205936] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix the Windows build.
- runtime/HashMapImpl.cpp:
- 4:11 PM Changeset in webkit [205935] by
-
- 2 edits in trunk/Source/WebKit2
Add needsPlainTextQuirk and send it to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=161996
-and corresponding-
rdar://problem/26013388
Rubber-stamped by Simon Fraser.
Quick clean-up.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::needsPlainTextQuirk):
- 4:00 PM Changeset in webkit [205934] by
-
- 6 edits in trunk/Source/WebKit2
Add needsPlainTextQuirk and send it to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=161996
-and corresponding-
rdar://problem/26013388
Reviewed by Anders Carlsson.
WebPageProxy should keep track of m_needsPlainTextQuirk.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setNeedsPlainTextQuirk):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::needsPlainTextQuirk):
(WebKit::WebPageProxy::needsHiddenContentEditableQuirk): Deleted.
- UIProcess/WebPageProxy.messages.in:
If m_needsPlainTextQuirk is true, set it back to false on page transition.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didStartPageTransition):
The sites that need this quirk.
(WebKit::needsPlainTextQuirk):
(WebKit::WebPage::didChangeSelection):
- WebProcess/WebPage/WebPage.h:
- 3:32 PM Changeset in webkit [205933] by
-
- 13 edits in trunk/Source
Pragma out undefined-var-template warnings in JSC for JSObjects that are templatized
https://bugs.webkit.org/show_bug.cgi?id=161985
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
I started a true fix for this in
https://bugs.webkit.org/show_bug.cgi?id=161979, however the fix
for this issue is not sustainable. Since the scope of this issue
is just limited to the static const ClassInfo member it is
simpler to just pragma out this warning. This works because
COMDAT will, AFAIK, pick the actual specialization. If, in the
future, we want to expose these classes to WebCore we will need to
do what we do for JSGenericTypedArrayViews and create a custom
info() function with a switch.
This patch also fixes a bunch of weak external symbols due to one of:
1) out of line template member definitions functions not being marked inline.
2) inline member functions definitions being marked as exported.
3) missing header file includes for forward function declarations.
- API/JSCallbackObject.h:
- b3/B3ValueInlines.h:
(JSC::B3::Value::as):
- runtime/HashMapImpl.h:
- runtime/JSCJSValue.h:
(JSC::toUInt32): Deleted.
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndexQuicklyToDouble):
- runtime/JSGenericTypedArrayViewConstructor.h:
- runtime/JSGenericTypedArrayViewPrototype.h:
- runtime/MathCommon.h:
(JSC::toUInt32):
- runtime/TypedArrayAdaptors.h:
- runtime/VM.h:
(JSC::VM::watchdog):
(JSC::VM::heapProfiler):
(JSC::VM::samplingProfiler):
Source/WTF:
Fix WTF_EXPORT_PRIVATE for an inline member function. This would
generate a weak export.
- wtf/MetaAllocator.h:
(WTF::MetaAllocator::getLock):
- 3:27 PM Changeset in webkit [205932] by
-
- 13 edits in trunk
test262: TypedArray constructors length should be 3 and configurable
https://bugs.webkit.org/show_bug.cgi?id=161955
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Mark Lam.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
https://tc39.github.io/ecma262/#sec-ecmascript-standard-built-in-objects
Unless otherwise specified, the length property of a built-in Function
object has the attributes:
{ Writable: false, Enumerable: false, Configurable: true }.
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::JSGenericTypedArrayViewConstructor<ViewClass>::finishCreation):
LayoutTests:
- js/script-tests/typedarray-constructors.js:
- js/typedarray-constructors-expected.txt:
- js/dom/constructor-length.html:
- platform/efl/js/dom/constructor-length-expected.txt:
- platform/gtk/js/dom/constructor-length-expected.txt:
- platform/ios-simulator/js/dom/constructor-length-expected.txt:
- platform/mac/js/dom/constructor-length-expected.txt:
- platform/win/js/dom/constructor-length-expected.txt:
- 2:24 PM Changeset in webkit [205931] by
-
- 12 edits4 adds in trunk
[JSC] Make the rounding-related nodes support any type
https://bugs.webkit.org/show_bug.cgi?id=161895
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-14
Reviewed by Geoffrey Garen.
JSTests:
- stress/arith-ceil-on-various-types.js: Added.
- stress/arith-floor-on-various-types.js: Added.
- stress/arith-round-on-various-types.js: Added.
- stress/arith-trunc-on-various-types.js: Added.
Source/JavaScriptCore:
This patch changes ArithRound, ArithFloor, ArithCeil and ArithTrunc
to support polymorphic input without exiting on entry.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
The 4 functions ignore any input past the first argument. It is okay
to use the nodes with the first argument and let the Phantoms keep
the remaining arguments live.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
Our fixup had the issue we have seen on previous nodes: unaryArithShouldSpeculateInt32()
prevents us from picking a good type if we do not see any double.
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
Prediction propagation of those nodes are fully determined
from their flags and results's prediction. They are moved
to the invariant processing.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithRounding):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithRound):
(JSC::FTL::DFG::LowerDFGToB3::compileArithFloor):
(JSC::FTL::DFG::LowerDFGToB3::compileArithCeil):
(JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc):
- 2:15 PM Changeset in webkit [205930] by
-
- 5 edits2 adds in trunk/Source/WebInspectorUI
Web Inspector: Call Stack tree in the Debugger sidebar should mark the active call frame
https://bugs.webkit.org/show_bug.cgi?id=161945
<rdar://problem/28293451>
Reviewed by Joseph Pecoraro.
Add an indicator for the active call frame tree element, patterned after
Xcode's call stack UI. The indicator should be positioned on the left,
with a fill color based on the tree element's selected/focused state.
- UserInterface/Images/ActiveCallFrame.svg: Added.
Image for "active call frame" tree element status.
- UserInterface/Main.html:
New file.
- UserInterface/Views/CallFrameTreeElement.css: Added.
(.tree-outline .item.call-frame .status):
(.tree-outline .item.call-frame .status > .status-image):
(.tree-outline .item.call-frame.selected .status > .status-image):
(.tree-outline:matches(:focus, .force-focus) .item.call-frame.selected .status > .status-image):
New tree element styles.
- UserInterface/Views/CallFrameTreeElement.js:
(WebInspector.CallFrameTreeElement):
(WebInspector.CallFrameTreeElement.prototype.get callFrame):
(WebInspector.CallFrameTreeElement.prototype.get isActiveCallFrame):
(WebInspector.CallFrameTreeElement.prototype.set isActiveCallFrame):
Add property for toggling active call frame indicator.
(WebInspector.CallFrameTreeElement.prototype.onattach):
(WebInspector.CallFrameTreeElement.prototype._updateStatus):
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerCallFramesDidChange):
(WebInspector.DebuggerSidebarPanel.prototype._debuggerActiveCallFrameDidChange):
- UserInterface/Views/Variables.css:
(:root):
New global for dark border color.
- 1:57 PM Changeset in webkit [205929] by
-
- 19 edits3 moves6 deletes in trunk/Source
[MediaStream] Minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=161976
Reviewed by Youenn Fablet and Dean Jackson.
Source/WebCore:
No new tests, no behavior change.
- CMakeLists.txt:
- DerivedSources.make:
- Modules/mediastream/CaptureDeviceInfo.h: Removed.
- Modules/mediastream/CaptureDeviceManager.cpp: Removed.
- Modules/mediastream/CaptureDeviceManager.h: Removed.
- Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::didCompletePermissionCheck):
(WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest): Deleted.
(WebCore::MediaDevicesRequest::requestOrigin): Deleted.
- Modules/mediastream/MediaDevicesRequest.h:
- Modules/mediastream/MediaStreamTrackSourcesCallback.h: Removed.
- Modules/mediastream/MediaStreamTrackSourcesCallback.idl: Removed.
- Modules/mediastream/SourceInfo.cpp: Removed.
- Modules/mediastream/SourceInfo.h: Removed.
- Modules/mediastream/SourceInfo.idl: Removed.
- WebCore.xcodeproj/project.pbxproj:
- platform/mediastream/CaptureDevice.h: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h.
(WebCore::CaptureDevice::CaptureDevice):
(WebCore::CaptureDevice::persistentId):
(WebCore::CaptureDevice::label):
(WebCore::CaptureDevice::groupId):
(WebCore::CaptureDevice::kind):
(WebCore::CaptureSessionInfo::~CaptureSessionInfo): Deleted.
(WebCore::CaptureSessionInfo::supportsVideoSize): Deleted.
(WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions): Deleted.
- platform/mediastream/CaptureDeviceManager.cpp: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp.
(CaptureDeviceManager::getSourcesInfo):
- platform/mediastream/CaptureDeviceManager.h: Copied from Source/WebCore/Modules/mediastream/CaptureDeviceManager.h.
(WebCore::CaptureSessionInfo::~CaptureSessionInfo):
(WebCore::CaptureSessionInfo::supportsVideoSize):
(WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions):
- platform/mediastream/MediaStreamTrackSourcesRequestClient.h: Removed.
- platform/mediastream/RealtimeMediaSourceCenter.h:
- platform/mediastream/mac/AVCaptureDeviceManager.h:
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::getSourcesInfo):
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::getMediaStreamDevices):
(WebCore::RealtimeMediaSourceCenterMac::getMediaStreamTrackSources): Deleted.
(WebCore::RealtimeMediaSourceCenterMac::sourceWithUID): Deleted.
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:
- platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:
(WebCore::RealtimeMediaSourceCenterOwr::getMediaStreamDevices):
(WebCore::RealtimeMediaSourceCenterOwr::getMediaStreamTrackSources): Deleted.
(WebCore::RealtimeMediaSourceCenterOwr::sourceWithUID): Deleted.
- platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:
- platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::audioDeviceInfo):
(WebCore::MockRealtimeMediaSource::videoDeviceInfo):
(WebCore::MockRealtimeMediaSource::trackSourceWithUID): Deleted.
- platform/mock/MockRealtimeMediaSource.h:
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::MockRealtimeMediaSourceCenter::getMediaStreamDevices):
(WebCore::MockRealtimeMediaSourceCenter::getMediaStreamTrackSources): Deleted.
(WebCore::MockRealtimeMediaSourceCenter::sourceWithUID): Deleted.
- platform/mock/MockRealtimeMediaSourceCenter.h:
Source/WebKit2:
- UIProcess/UserMediaPermissionRequestProxy.cpp:
- 1:56 PM Changeset in webkit [205928] by
-
- 6 edits in trunk/Source/WebKit2
Add needsHiddenContentEditableQuirk and send it to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=161984
-and corresponding-
rdar://problem/26013388
Reviewed by Anders Carlsson.
Keep track of m_needsHiddenContentEditableQuirk in WebPageProxy.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setNeedsHiddenContentEditableQuirk):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::needsHiddenContentEditableQuirk):
(WebKit::WebPageProxy::hasHadSelectionChangesFromUserInteraction): Deleted.
- UIProcess/WebPageProxy.messages.in:
If m_needsHiddenContentEditableQuirk is true, set it back to false on page
transition.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didStartPageTransition):
Google Docs and iCloud Pages are the sites that need this quirk.
(WebKit::needsHiddenContentEditableQuirk):
(WebKit::WebPage::didChangeSelection):
- WebProcess/WebPage/WebPage.h:
- 1:51 PM Changeset in webkit [205927] by
-
- 9 edits in trunk/Source/WebCore
Move more code out from RenderObject
https://bugs.webkit.org/show_bug.cgi?id=161980
Reviewed by Zalan Bujtas.
Move some functions that are only needed for RenderElement there.
Move collapsing anonymous table rows to RenderTableRow.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::hasOutlineAnnotation):
(WebCore::RenderElement::hasSelfPaintingLayer):
(WebCore::RenderElement::checkForRepaintDuringLayout):
- rendering/RenderElement.h:
(WebCore::RenderElement::hasOutline):
(WebCore::RenderElement::hasHiddenBackface): Deleted.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::rootOrBodyStyleChanged):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
(WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
(WebCore::RenderObject::hasSelfPaintingLayer): Deleted.
(WebCore::RenderObject::checkForRepaintDuringLayout): Deleted.
(WebCore::RenderObject::hasOutlineAnnotation): Deleted.
(WebCore::RenderObject::hasEntirelyFixedBackground): Deleted.
(WebCore::collapseAnonymousTableRowsIfNeeded): Deleted.
- rendering/RenderObject.h:
(WebCore::RenderObject::hasLayer):
(WebCore::RenderObject::canBeSelectionLeaf):
(WebCore::RenderObject::hasOutline): Deleted.
(WebCore::RenderObject::hasSelectedChildren): Deleted.
- rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::destroyAndCollapseAnonymousSiblingRows):
- rendering/RenderTableRow.h:
- rendering/RenderView.cpp:
(WebCore::RenderView::rootBackgroundIsEntirelyFixed):
- 1:46 PM Changeset in webkit [205926] by
-
- 4 edits in trunk/Source/WebCore
Switch CSSParser to use CSSParserFastPaths::isKeywordPropertyID()
https://bugs.webkit.org/show_bug.cgi?id=161983
Reviewed by David Hyatt.
Towards switching to the new CSS parser keyword properties validation logic,
switch over the old CSS parser logic for determining a keyword property to
use the analogous logic in the new CSS parser.
A side benefit of this change is that it is a step towards unifying CSS- and
SVG CSS- keyword properties. The new CSS parser does not make a distinction
between these kinds of properties and will allow us to have a shared code path
for validating a keyword property.
No functionality was changed. So, no new tests.
- css/parser/CSSParser.cpp: Include header CSSParserFastPaths.h.
(WebCore::isValidKeywordPropertyAndValue): Validate SVG CSS keyword properties. This
logic was moved from CSSParser::parseSVGValue(). In subsequent patches we will switch
the old CSS parser from this function to CSSParserFastPaths::isValidKeywordPropertyAndValue().
(WebCore::parseKeywordValue): Modified to call CSSParserFastPaths::isKeywordPropertyID().
(WebCore::CSSParser::parseValue): Ditto.
(WebCore::isKeywordPropertyID): Deleted. Incorporated its functionality into
CSSParserFastPaths::isKeywordPropertyID().
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isKeywordPropertyID): Incorporates the functionality
of WebCore::isKeywordPropertyID().
- css/parser/SVGCSSParser.cpp:
(WebCore::CSSParser::parseSVGValue): Move properties that can be processed as
keyword properties from here to WebCore::isValidKeywordPropertyAndValue().
- 1:41 PM Changeset in webkit [205925] by
-
- 5 edits in trunk/Source/JavaScriptCore
Remove Heap::setMarked()
Rubber stamped by Keith Miller.
Nobody uses this function.
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::setMarked): Deleted.
- heap/LargeAllocation.h:
(JSC::LargeAllocation::testAndSetMarked):
(JSC::LargeAllocation::setMarked): Deleted.
- heap/MarkedBlock.h:
- 1:12 PM Changeset in webkit [205924] by
-
- 3 edits in trunk/Source/WebCore
Rename parseColorParameters and clean up conditional
https://bugs.webkit.org/show_bug.cgi?id=161941
<rdar://problem/28292750>
Reviewed by Dan Bates.
In preparation for adding color() support, rename the existing
parseColorParameters to parseRGBParameters.
Also clean up the logic in the parseColorFromValue function.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseRGBParameters):
(WebCore::CSSParser::parseColorFromValue):
(WebCore::CSSParser::parseColorParameters): Deleted.
- css/parser/CSSParser.h:
- 12:56 PM Changeset in webkit [205923] by
-
- 4 edits in trunk
Add support hr.color IDL attribute
https://bugs.webkit.org/show_bug.cgi?id=161977
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/reflection-grouping-expected.txt:
Source/WebCore:
Add support hr.color IDL attribute as per:
Even though this is a legacy attribute, it is still part of the HTML specification
and it is still supported by Firefox and Chrome.
Also note that even though WebKit does not currently support the 'color' IDL
attribute on <hr>, it does support the 'color' content attribute on <hr>.
Therefore, we only need to reflect the 'color' content attribute.
No new tests, rebaselined existing test.
- html/HTMLHRElement.idl:
- 12:34 PM Changeset in webkit [205922] by
-
- 3 edits in trunk/Source/WebCore
URLParser: Add fast path for hosts containing no non-ASCII or percent characters
https://bugs.webkit.org/show_bug.cgi?id=161970
Reviewed by Daniel Bates.
Covered by existing tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::parseHost):
- platform/URLParser.h:
When parsing the host of a URL, if it contains non-ASCII characters or percent-encoded values,
we need to do additional encoding. Many URLs, including all already-parsed URLs, do not have
such characters in their host, and therefore do not need the additional encoding. Skipping
the additional encoding significantly speeds up my URL parsing benchmark.
- 11:51 AM Changeset in webkit [205921] by
-
- 2 edits in trunk/Source/WTF
Atomics on ARM don't require full-system fencing, and other minutiae
https://bugs.webkit.org/show_bug.cgi?id=161928
Reviewed by Geoffrey Garen.
Add cmpxchg versions with both success and failure memory
ordering. In some interesting cases we can craft code which needs
barriers which aren't as strong.
weakCompareAndSwap is super dubious, its 3 uses seem
questionable... but for now I'm just adding debug asserts.
Rename armv7_dmb* functions to arm_dmb* because they apply to v7
and v8 (or more precisely; to ARMv7's ARM and Thumb2, as well as
ARMv8's aarch32 A32/T32 and aarch64).
Use inner-shareability domain for ARM barriers instead of
full-system. This is what C++ uses.
The default case for barriers simply used a compiler barrier. This
is generally wrong, e.g. for MIPS.
- wtf/Atomics.h:
(WTF::Atomic::compareExchangeWeak): offer two-order version
(WTF::Atomic::compareExchangeStrong): offer two-order version
(WTF::weakCompareAndSwap): a few assertions
(WTF::arm_dmb): rename since it applies to ARMv7 and v8; make it innser-shareable
(WTF::arm_dmb_st): rename since it applies to ARMv7 and v8; make it innser-shareable
(WTF::loadLoadFence): incorrect generally
(WTF::loadStoreFence): incorrect generally
(WTF::storeLoadFence): incorrect generally
(WTF::storeStoreFence): incorrect generally
(WTF::memoryBarrierAfterLock): incorrect generally
(WTF::memoryBarrierBeforeUnlock): incorrect generally
(WTF::armV7_dmb): Deleted.
(WTF::armV7_dmb_st): Deleted.
- 11:46 AM Changeset in webkit [205920] by
-
- 2 edits in trunk/Source/WebCore
ShowRenderTree should take position offset into account when printing inflow positioned renderers.
https://bugs.webkit.org/show_bug.cgi?id=161978
Reviewed by Simon Fraser.
Adjust (x, y) with the inflow positioned renderer's offset.
Not testable.
- rendering/RenderObject.cpp:
(WebCore::RenderObject::showRenderObject):
- 11:26 AM Changeset in webkit [205919] by
-
- 2 edits in branches/safari-602-branch/Source/JavaScriptCore
Merge r205882. rdar://problem/28233331
- 11:16 AM Changeset in webkit [205918] by
-
- 2 edits in trunk/Source/WebCore
URLParser: Add fast path for utf8 encoding queries
https://bugs.webkit.org/show_bug.cgi?id=161968
Reviewed by Daniel Bates.
No change in behavior. Covered by existing tests.
- platform/URLParser.cpp:
(WebCore::utf8PercentEncodeQuery):
(WebCore::URLParser::parse):
If the text encoding is UTF-8 (which is quite common), then we can encode the query
as we iterate its code points. This reduces memory allocation and significantly speeds
up my URL parsing benchmark.
- 10:55 AM Changeset in webkit [205917] by
-
- 4 edits in trunk/Source/JavaScriptCore
Use Options::validateExceptionChecks() instead of VM::m_verifyExceptionEvents.
https://bugs.webkit.org/show_bug.cgi?id=161975
Reviewed by Keith Miller.
This makes it less burdensome (no longer needs a rebuild to enable checks) to do
incremental work towards enabling checks all the time.
- runtime/Options.h:
- runtime/VM.cpp:
(JSC::VM::verifyExceptionCheckNeedIsSatisfied):
- runtime/VM.h:
- 10:48 AM Changeset in webkit [205916] by
-
- 5 edits in trunk
TaggedTemplateString function calls should emit tail position calls
https://bugs.webkit.org/show_bug.cgi?id=161948
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Yusuke Suzuki.
JSTests:
- stress/tail-call-recognize.js:
(runTests):
Ensure a tagged template string function call is tail call.
- test262.yaml:
These now pass.
Source/JavaScriptCore:
- bytecompiler/NodesCodegen.cpp:
(JSC::TaggedTemplateNode::emitBytecode):
The tagged template string function call can be a tail call:
https://tc39.github.io/ecma262/#sec-tagged-templates-runtime-semantics-evaluation
- 10:44 AM Changeset in webkit [205915] by
-
- 3 edits in trunk/Source/WebKit2
Long tap menu on an image link no longer includes "Save Image" button
https://bugs.webkit.org/show_bug.cgi?id=161761
<rdar://27202717>
Patch by Megan Gardner <Megan Gardner> on 2016-09-14
Reviewed by Beth Dakin.
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant defaultActionsForImageSheet:]):
Added share to image sheet as to not regress current functionality
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):
Gather information for images as well as links, and they can be both
- 10:11 AM Changeset in webkit [205914] by
-
- 2 edits in trunk/Source/WTF
Alwasys inline atomic operations
https://bugs.webkit.org/show_bug.cgi?id=155371
Reviewed by Geoffrey Garen.
Fixes "build fails with memory model cannot be stronger than
success memory model for ‘atomic_compare_exchange’".
Pre-5 revisions of GCC at Os only generated an error message
related to invalid failure memory ordering. The reason is that
libstdc++ tries to be clever about enforcing the C++ standard's
clause [atomics.types.operations.req] ¶21 which states:
Requires: The failure argument shall not be
memory_order_releasenormemory_order_acq_rel. The failure
argument shall be no stronger than the success argument.
It fails at doing this because its inlining heuristics are
modified by Os, and they're not quite as dumb as O0 but not smart
enough to get to the good code at O1. Adding ALWAYS_INLINE fixes
the silliness at Os, leaves O1 great, and makes O0 slightly less
bad but still pretty bad.
The other good news is that I'm going to get this particular
problem fixed in the version of C++ which will come after C++17:
https://github.com/jfbastien/papers/blob/master/source/P0418r1.bs
While we're at it we should always inline all of these wrapped
functions because the generated code is horrendous if the memory
order isn't known at compile time.
- wtf/Atomics.h:
(WTF::Atomic::load):
(WTF::Atomic::store):
(WTF::Atomic::compareExchangeWeak):
(WTF::Atomic::compareExchangeStrong):
(WTF::Atomic::exchangeAndAdd):
(WTF::Atomic::exchange):
- 9:56 AM Changeset in webkit [205913] by
-
- 2 edits in trunk/Source/WebCore
Regression(r152725): generate-bindings.pl --write-dependencies does not work
https://bugs.webkit.org/show_bug.cgi?id=161897
Reviewed by Darin Adler.
r152725 inadvertently dropped the code generating the JS*.dep files when
--write-dependencies is passed to the bindings generator. As a result,
our dependency tracking was broken. This patch restores the code that
was dropped in r152725.
- bindings/scripts/CodeGeneratorJS.pm:
(new):
(GenerateHeader):
- 9:56 AM Changeset in webkit [205912] by
-
- 16 edits4 adds in trunk
input.type cannot be set to "file" after being set to another type
https://bugs.webkit.org/show_bug.cgi?id=161943
Reviewed by Daniel Bates.
LayoutTests/imported/w3c:
Rebaseline a couple of W3C tests now that more checks are passing.
- web-platform-tests/html/dom/reflection-forms-expected.txt:
- web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
Source/WebCore:
input.type cannot be set to "file" after being set to another type.
This behavior does not match the HTML specification or the behavior
of Firefox and Chrome. This patch drops this restriction and aligns
our behavior with other browsers.
Test: fast/dom/HTMLInputElement/input-type-change-to-file.html
- html/FileInputType.cpp:
(WebCore::FileInputType::canChangeFromAnotherType): Deleted.
- html/FileInputType.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
- html/InputType.cpp:
(WebCore::InputType::canChangeFromAnotherType): Deleted.
- html/InputType.h:
LayoutTests:
- fast/dom/HTMLInputElement/input-type-change-to-file-expected.txt: Added.
- fast/dom/HTMLInputElement/input-type-change-to-file.html: Added.
- fast/dom/HTMLInputElement/input-type-file-security-expected.txt: Added
- fast/dom/HTMLInputElement/input-type-file-security.html: Added
Add layout test coverage. I have verified that these tests are passing in both
Firefox and Chrome.
- fast/forms/input-type-change3-expected.txt:
- fast/forms/input-type-change3.html:
- fast/forms/input-valueasnumber-unsupported-expected.txt:
- fast/forms/input-valueasnumber-unsupported.html:
Update existing tests to reflect behavior change.
- 9:55 AM Changeset in webkit [205911] by
-
- 1 edit5 adds in trunk/LayoutTests
Rebaseline tests added with r205905 for ios-simulator.
Unreviewed test gardening.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt: Added.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt: Added.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt: Added.
- platform/ios-simulator/fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt: Added.
- 9:47 AM Changeset in webkit [205910] by
-
- 4 edits in trunk
test262: Array.prototype.slice should always set length
https://bugs.webkit.org/show_bug.cgi?id=161953
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-14
Reviewed by Mark Lam.
JSTests:
- test262.yaml:
Source/JavaScriptCore:
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSplice):
- 9:45 AM Changeset in webkit [205909] by
-
- 26 edits4 adds in trunk/Source
[GTK][Wayland] Implement clipboard support
https://bugs.webkit.org/show_bug.cgi?id=146574
Patch by Carlos Garnacho <carlosg@gnome.org> on 2016-09-14
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Implement PlatformPasteboard in the GTK+ platform, and move Pasteboard
to using PasteboardStrategy so clipboard management is left to the
UIProcess.
DataObjectGtk is still used in the Pasteboard GTK implementation, it's
now just never backed by a GtkClipboard, this object is instead
serialized through PasteboardStrategy, so the UIProcess side can mirror
the content in a GtkClipboard-backed DataObjectGtk, which is then
exposed to the windowing through PlatformPasteboard/PasteboardHelper.
When requesting clipboard content, it works similarly, the UIProcess
side first updates its DataObjectGtk, which is then mirrored by the
WebProcess through the PasteboardStrategy requests.
- PlatformGTK.cmake: Added PlatformPasteboardGtk.cpp
- editing/gtk/EditorGtk.cpp:
(WebCore::Editor::writeSelectionToPasteboard): Eliminate usage of
PasteboardWebContent callback argument. This is done differently as
we have to signal back the WebProcess.
- platform/Pasteboard.h: Cleaned up of direct GTK+ dependency.
- platform/PasteboardStrategy.h: Added plumbing towards the pasteboard
proxy.
- platform/PlatformPasteboard.h:
- platform/gtk/DataObjectGtk.cpp:
(WebCore::DataObjectGtk::clearAllExceptFilenames): Clear the "smart
paste" flag if set, now that this is DataObjectGtk data.
- platform/gtk/DataObjectGtk.h:
(WebCore::DataObjectGtk::canSmartReplace):
(WebCore::DataObjectGtk::setCanSmartReplace): Added functions, in order
to flag whether a DataObjectGtk has the "smart paste" feature enabled
or not.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createForGlobalSelection):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::writeToClipboard):
(WebCore::Pasteboard::readFromClipboard):
(WebCore::Pasteboard::writePlainText):
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::writePasteboard):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::canSmartReplace):
(WebCore::Pasteboard::read):
(WebCore::Pasteboard::hasData):
(WebCore::Pasteboard::types):
(WebCore::Pasteboard::readString):
(WebCore::Pasteboard::readFilenames): Made to use the
PasteboardStrategy instead of PasteboardHelper/GTK+ API.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::~PasteboardHelper):
(WebCore::ClipboardSetData::ClipboardSetData):
(WebCore::clearClipboardContentsCallback):
(WebCore::PasteboardHelper::writeClipboardContents): Remove the GClosure
to notify whether the global selection has been replaced. Use std:function
instead. Remove SmartPasteInclusion argument, now figured out through
DataObjectGtk canSmartPaste() member.
- platform/gtk/PasteboardHelper.h:
- platform/gtk/PlatformPasteboardGtk.cpp: Added.
(WebCore::PlatformPasteboard::PlatformPasteboard):
(WebCore::PlatformPasteboard::writeToClipboard):
(WebCore::PlatformPasteboard::readFromClipboard): Implemented
PlatformPasteboard using PasteboardHelper/GTK+ API.
Source/WebKit2:
Add the necessary plumbing for the GTK+ backend to use the
PlatformPasteboard in WebCore. All selection data is transmitted
at once through the serialization of PasteboardContentGtk/DataObjectGtk.
- PlatformGTK.cmake: Add PasteboardContentGtk.cpp and
WebPasteboardProxyGtk.cpp
- Shared/gtk/ArgumentCodersGtk.cpp:
(IPC::encode):
(IPC::decode): Renamed from encodeDataObject/decodeDataObject
and made public.
(IPC::ArgumentCoder<DragData>::encode):
(IPC::ArgumentCoder<DragData>::decode): Update DataObjectGtk
encode/decode callers. Encode the extra canSmartReplace field.
- Shared/gtk/ArgumentCodersGtk.h: Expose encode/decode methods for
DataObjectGtk.
- Shared/gtk/PasteboardContent.cpp: Added. Wraps a DataObjectGtk
so it can be serialized on WebProcess/UIProcess messaging.
(WebKit::PasteboardContent::PasteboardContent):
(WebKit::PasteboardContent::encode):
(WebKit::PasteboardContent::decode): Methods to encode/decode a
PasteboardContent.
- Shared/gtk/PasteboardContent.h: Added.
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::collapseSelection): Added plumbing to allow
collapsing the global selection from the UI process side.
- UIProcess/WebFrameProxy.h:
- UIProcess/WebPasteboardProxy.h:
- UIProcess/WebPasteboardProxy.messages.in: Added plumbing for the
GTK+ pasteboard proxy functions.
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::editorStateChanged):
- UIProcess/gtk/WebPasteboardProxyGtk.cpp: Added.
(WebKit::WebPasteboardProxy::writeToClipboard):
(WebKit::WebPasteboardProxy::readFromClipboard): Implemented functions
hooking into the PlatformPasteboard. Per-selection (ie.
primary/clipboard) PlatformPasteboards are kept at this level, so those
are independently set and dealt with.
(WebKit::WebPasteboardProxy::setPrimarySelectionOwner):
(WebKit::WebPasteboardProxy::didDestroyFrame): Implemented functions
to manage the frame currently being currently interacted, so we can
signal back when the global selection has been replaced.
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::writeToClipboard):
(WebKit::WebPlatformStrategies::readFromClipboard): Added methods to
send the WebProcess->UIProcess messages.
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::updateGlobalSelection): Remove GClosure to
get notifications about changes in global selection ownership. This
is done through a WebPage message now, as the UI process manages the
clipboard.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::collapseSelectionInFrame): Added methods to send
the UIProcess->WebProcess notification that the global selection has
been replaced.
- 9:40 AM Changeset in webkit [205908] by
-
- 4 edits in trunk/LayoutTests
LayoutTest http/tests/security/cross-origin-cached-scripts-parallel.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=161912
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-14
Reviewed by Alexey Proskuryakov.
- TestExpectations: Removing flaky expectation.
- http/tests/security/cross-origin-cached-scripts-parallel-expected.txt:
- http/tests/security/cross-origin-cached-scripts-parallel.html: Increase timeout to ensure load is made in parallel.
Fixed flakiness by doing parallel loads in two shots of two, in lieu of 1 shot of 4.
- 9:23 AM Changeset in webkit [205907] by
-
- 3 edits in trunk/LayoutTests
Marking inspector/console/messagesCleared.html as flaky on mac-debug.
https://bugs.webkit.org/show_bug.cgi?id=152025
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 9:22 AM Changeset in webkit [205906] by
-
- 2 edits in trunk/LayoutTests
Marking fast/scrolling/arrow-key-scroll-in-rtl-document.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161549
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 8:54 AM Changeset in webkit [205905] by
-
- 18 edits10 adds2 deletes in trunk
[CSS Parser] Enable the new sizes parser by default
https://bugs.webkit.org/show_bug.cgi?id=161931
Reviewed by Zalan Bujtas.
Source/WebCore:
Added new tests in fast/dom/HTMLImageElement/sizes.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSGrammar.y.in:
Remove the old code that parsed source size lists.
- css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
- css/MediaQueryEvaluator.h:
Change to take a const Document&, since the Document is not modified.
- css/SourceSizeList.cpp: Removed.
- css/SourceSizeList.h: Removed.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseSizesAttribute): Deleted.
(WebCore::CSSParser::SourceSize::SourceSize): Deleted.
(WebCore::CSSParser::sourceSize): Deleted.
- css/parser/CSSParser.h:
Remove the old sizes processing code.
- css/parser/MediaQueryParser.cpp:
(WebCore::MediaQueryParser::skipUntilComma):
(WebCore::MediaQueryParser::parseInternal):
Fix a bug I introduced when modifying this code from Blink. The Nones should have been Nots.
- css/parser/SizesAttributeParser.cpp:
(WebCore::SizesAttributeParser::computeLength):
(WebCore::SizesAttributeParser::SizesAttributeParser):
(WebCore::SizesAttributeParser::calculateLengthInPixels):
(WebCore::SizesAttributeParser::mediaConditionMatches):
(WebCore::SizesAttributeParser::effectiveSizeDefaultValue):
- css/parser/SizesAttributeParser.h:
- css/parser/SizesCalcParser.cpp:
(WebCore::SizesCalcParser::SizesCalcParser):
(WebCore::SizesCalcParser::appendLength):
- css/parser/SizesCalcParser.h:
Make the sizes parsers take a Document, since having separate style and view arguments made
no sense, given that the style used is always the view's.
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
(WebCore::HTMLImageElement::selectImageSource):
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
Switch image elements and the preload scanner over to the new code.
LayoutTests:
- fast/dom/HTMLImageElement/resources/green-16x16.png: Added.
- fast/dom/HTMLImageElement/resources/green-1x1.png: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt:
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html:
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-1.html: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-2.html: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-3.html: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4-expected.txt: Added.
- fast/dom/HTMLImageElement/sizes/image-sizes-w3c-4.html: Added.
- 8:16 AM Changeset in webkit [205904] by
-
- 2 edits in trunk/Tools
Fix mastercfg_unittest
https://bugs.webkit.org/show_bug.cgi?id=161816
Reviewed by Daniel Bates.
(RunWebKitTests.start):
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Fixed broken unit tests.
Sep 13, 2016:
- 11:24 PM Changeset in webkit [205903] by
-
- 5 edits in branches/safari-602-branch/Source
Merge r205895. rdar://problem/28287070
- 11:22 PM Changeset in webkit [205902] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 11:06 PM Changeset in webkit [205901] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/XMLHttpRequest/response-method.htm as failing on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=161949
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 11:02 PM Changeset in webkit [205900] by
-
- 2 edits in trunk/LayoutTests
Rebaseline imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type.htm for ios-simulator.
Unreviewed test gardening.
- platform/ios-simulator/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:
- 10:58 PM Changeset in webkit [205899] by
-
- 2 edits in trunk/LayoutTests
More unreviewed test gardening for iOS 10.
- platform/ios-simulator/TestExpectations:
- 10:26 PM Changeset in webkit [205898] by
-
- 5 edits in trunk/LayoutTests
Unreviewed test gardening for iOS 10.
- platform/ios-simulator/TestExpectations:
- platform/ios-simulator/editing/deleting/delete-emoji-expected.txt:
- platform/ios-simulator/fast/text/font-weights-expected.txt:
- platform/ios-simulator/fast/text/system-font-weight-expected.txt:
- 9:56 PM Changeset in webkit [205897] by
-
- 9 edits1 delete in trunk/Source/WebCore
Unreviewed, rolling out r205887.
Broke the Windows build
Reverted changeset:
"Merge Element::ScrollToOptions and
DOMWindow::ScrollToOptions"
https://bugs.webkit.org/show_bug.cgi?id=161932
http://trac.webkit.org/changeset/205887
- 9:11 PM Changeset in webkit [205896] by
-
- 2 edits in trunk/LayoutTests
Rebaseline js/dom/global-constructors-attributes.html for Yosemite.
Unreviewed test gardening.
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- 7:29 PM Changeset in webkit [205895] by
-
- 5 edits in trunk/Source
Promises aren't resolved properly when making a ObjC API callback
https://bugs.webkit.org/show_bug.cgi?id=161929
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
When we go to call out to an Objective C function registered via the API,
we first drop all JSC locks to make the call. As part of dropping the locks,
we drain the microtask queue that is used among other things for handling deferred
promise resolution. The DropAllLocks scope class that drops the locks while in
scope, resets the current thread's AtomicStringTable to the default table. This
is wrong for two reasons, first it happens before we drain the microtask queue and
second it isn't needed as JSLock::willReleaseLock() restores the current thread's
AtomicStringTable to the table before the lock was acquired.
In fact, the manipulation of the current thread's AtomicStringTable is already
properly handled as a stack in JSLock::didAcquireLock() and willReleaseLock().
Therefore the manipulation of the AtomicStringTable in DropAllLocks constructor
and destructor should be removed.
- API/tests/testapi.mm:
(testObjectiveCAPIMain): Added a new test.
- runtime/JSLock.cpp:
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):
Source/WTF:
Removed resetCurrentAtomicStringTable() which is no longer referenced.
- wtf/WTFThreadData.h:
(WTF::WTFThreadData::resetCurrentAtomicStringTable): Deleted.
- 7:22 PM Changeset in webkit [205894] by
-
- 1 edit1 delete in trunk/Source/WebCore
Remove a .rej file.
- animation/DocumentTimeline.h.rej: Removed.
- 6:34 PM Changeset in webkit [205893] by
-
- 32 edits5 adds in trunk
Implement URLSearchParams
https://bugs.webkit.org/show_bug.cgi?id=161920
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/XMLHttpRequest/send-usp-expected.txt:
- web-platform-tests/fetch/api/request/request-init-002-expected.txt:
- web-platform-tests/fetch/api/response/response-init-002-expected.txt:
- web-platform-tests/url/interfaces-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
- web-platform-tests/url/urlsearchparams-append-expected.txt:
- web-platform-tests/url/urlsearchparams-constructor-expected.txt:
- web-platform-tests/url/urlsearchparams-delete-expected.txt:
- web-platform-tests/url/urlsearchparams-get-expected.txt:
- web-platform-tests/url/urlsearchparams-getall-expected.txt:
- web-platform-tests/url/urlsearchparams-has-expected.txt:
- web-platform-tests/url/urlsearchparams-set-expected.txt:
- web-platform-tests/url/urlsearchparams-stringifier-expected.txt:
Source/WebCore:
Covered by newly passing web platform tests.
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- html/DOMURL.cpp:
(WebCore::DOMURL::setQuery):
(WebCore::DOMURL::searchParams):
- html/DOMURL.h:
- html/URLSearchParams.cpp: Added.
(WebCore::URLSearchParams::URLSearchParams):
(WebCore::URLSearchParams::get):
(WebCore::URLSearchParams::has):
(WebCore::URLSearchParams::set):
(WebCore::URLSearchParams::append):
(WebCore::URLSearchParams::getAll):
(WebCore::URLSearchParams::remove):
(WebCore::URLSearchParams::toString):
(WebCore::URLSearchParams::updateURL):
(WebCore::URLSearchParams::Iterator::Iterator):
- html/URLSearchParams.h: Added.
(WebCore::URLSearchParams::create):
(WebCore::URLSearchParams::createIterator):
- html/URLSearchParams.idl: Added.
- html/URLUtils.idl:
- platform/URLParser.cpp:
(WebCore::percentDecode):
(WebCore::URLParser::parseHost):
(WebCore::formURLDecode):
(WebCore::serializeURLEncodedForm):
(WebCore::URLParser::serialize):
- platform/URLParser.h:
Source/WTF:
- wtf/text/StringView.h:
(WTF::StringView::split): Added.
LayoutTests:
- js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:
- 5:38 PM Changeset in webkit [205892] by
-
- 20 edits in trunk/Source
Replace RGBA32 with Color in member variables
https://bugs.webkit.org/show_bug.cgi?id=161856
<rdar://problem/28254324>
Reviewed by Simon Fraser.
In preparation for the Color class to become more than
just a 4-byte RGBA value, I went through a few places
that were using the RGBA32 type directly, and replaced
them with Color. This will make some objects a little
bigger e.g. BorderValue and its friends.
I mostly looked at the places that were using RGBA32 as
a member variable. There is still a lot of RGBA32 use
around the project, in particular the CSS parser.
There should be no behaviour change.
Source/WebCore:
- html/canvas/CanvasRenderingContext2D.cpp: Shadows now use Color.
(WebCore::CanvasRenderingContext2D::setShadow):
(WebCore::CanvasRenderingContext2D::shouldDrawShadows):
(WebCore::CanvasRenderingContext2D::didDraw):
- html/canvas/CanvasRenderingContext2D.h:
- html/canvas/CanvasStyle.cpp: Canvas style uses Color for fills and strokes.
(WebCore::CanvasStyle::CanvasStyle):
(WebCore::CanvasStyle::isEquivalentColor):
(WebCore::CanvasStyle::isEquivalentRGBA):
(WebCore::CanvasStyle::applyStrokeColor):
(WebCore::CanvasStyle::applyFillColor):
- html/canvas/CanvasStyle.h:
(WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
(WebCore::CanvasStyle::color):
- html/track/TextTrackCueGeneric.h: Foreground, background and
highlight colors.
- platform/graphics/InbandTextTrackPrivateClient.h:
(WebCore::GenericCueData::setForegroundColor):
(WebCore::GenericCueData::setBackgroundColor):
(WebCore::GenericCueData::setHighlightColor):
- page/PageOverlay.cpp: Background color.
(WebCore::PageOverlay::setBackgroundColor):
- page/PageOverlay.h:
- platform/graphics/mac/ColorMac.h: Random function that returned RGBA32.
- platform/graphics/mac/ColorMac.mm:
(WebCore::oldAquaFocusRingColor):
- rendering/RenderTableCell.cpp: Update the size of CollapsedBorderValue.
- rendering/RenderTheme.h: Use a NeverDestroyed Color rather than a static RGBA32.
- rendering/style/BorderValue.h: Use a Color.
(WebCore::BorderValue::BorderValue):
(WebCore::BorderValue::isTransparent):
(WebCore::BorderValue::operator==):
(WebCore::BorderValue::setColor):
(WebCore::BorderValue::color):
- rendering/style/CollapsedBorderValue.h:
(WebCore::CollapsedBorderValue::CollapsedBorderValue):
(WebCore::CollapsedBorderValue::color):
- rendering/style/OutlineValue.h:
(WebCore::OutlineValue::operator==):
- rendering/style/RenderStyle.cpp: Update to match new BorderValue.
Source/WebKit/mac:
- Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]): Explicitly
call a Color constructor, rather than passing an RGBA32.
- 5:36 PM Changeset in webkit [205891] by
-
- 1 copy in tags/Safari-602.2.7
New tag.
- 5:11 PM Changeset in webkit [205890] by
-
- 4 edits1 add in trunk
[media-source] MediaSource.addSourceBuffer(null) should throw an exception
https://bugs.webkit.org/show_bug.cgi?id=161884
Reviewed by Eric Carlson.
Source/WebCore:
Fixes test: imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer.html
- Modules/mediasource/MediaSource.idl: The addSourceBuffer() parameter is not optional
and not nullable.
LayoutTests:
- platform/mac/TestExpectations:
- platform/mac/imported/w3c/web-platform-tests/media-source/mediasource-addsourcebuffer-expected.txt: Added.
- 5:10 PM Changeset in webkit [205889] by
-
- 2 edits in trunk/Source/WebCore
Remove Chrome app-specific CSS property -webkit-app-region
https://bugs.webkit.org/show_bug.cgi?id=161935
Reviewed by Simon Fraser.
- css/parser/CSSParserFastPaths.cpp:
- 5:10 PM Changeset in webkit [205888] by
-
- 2 edits in trunk/Source/WebCore
Treat some CSS properties as keyword properties
https://bugs.webkit.org/show_bug.cgi?id=161934
Reviewed by Simon Fraser.
Move validation of the following CSS keyword properties from CSSParser::parseValue() to
WebCore::isValidKeywordPropertyAndValue():
CSSPropertyColumnProgression
CSSPropertyFontStretch
CSSPropertyTextAlign
CSSPropertyUnicodeBidi
CSSPropertyWebkitColumnAxis
CSSPropertyWebkitCursorVisibility
CSSPropertyWebkitTextDecorationStyle
CSSPropertyWebkitTextOrientation
CSSPropertyWebkitTextZoom
CSSPropertyWebkitTouchCallout
Among other benefits, this will make it more straightforward to migrate from CSSParser::is{KeywordPropertyID, ValidKeywordPropertyAndValue}()
to CSSParserFastPaths::is{KeywordPropertyID, ValidKeywordPropertyAndValue}(), respectively.
- css/parser/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
- 4:27 PM Changeset in webkit [205887] by
-
- 9 edits1 add in trunk/Source/WebCore
Merge Element::ScrollToOptions and DOMWindow::ScrollToOptions
https://bugs.webkit.org/show_bug.cgi?id=161932
Reviewed by Simon Fraser.
Merge Element::ScrollToOptions and DOMWindow::ScrollToOptions.
Ideally we would merge them on IDL side as well but this is for
another patch.
- WebCore.xcodeproj/project.pbxproj:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::convertDictionary<AlternateDictionaryName>):
- dom/Element.h:
- dom/Element.idl:
- dom/ScrollToOptions.h: Added.
- html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::scrollTo):
- page/DOMWindow.h:
- page/DOMWindow.idl:
- 4:19 PM Changeset in webkit [205886] by
-
- 3 edits in trunk/Source/JavaScriptCore
Remove Heap::isLive()
https://bugs.webkit.org/show_bug.cgi?id=161933
Reviewed by Mark Lam.
Before I put any more effort into maintaining this weird function, I decided to check how it
was used. It turns out it's not.
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::isLive): Deleted.
- 4:13 PM Changeset in webkit [205885] by
-
- 6 edits in trunk/Tools
Landing optimized .png files, forgot to do it initially.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10@2x.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice@2x.png:
- 4:08 PM Changeset in webkit [205884] by
-
- 14 edits6 adds in trunk/Tools
Switch build.webkit.org to iOS 10
https://bugs.webkit.org/show_bug.cgi?id=161930
Reviewed by Daniel Bates.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests.start):
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS10Simulator@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSDevice@2x.png:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSSimulator.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOSSimulator@2x.png: Added.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
- BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
- BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
- Scripts/webkitpy/port/ios.py:
- TestResultServer/static-dashboards/builders.jsonp:
- 3:38 PM Changeset in webkit [205883] by
-
- 79 edits4 copies in trunk
[Cocoa] Unify font's ascent, descent, and x-height between macOS and iOS
https://bugs.webkit.org/show_bug.cgi?id=161877
Reviewed by Simon Fraser.
Source/WebCore:
macOS and iOS have slightly different handling of ascent, descent, and x-height.
This patch migrates them to have the same handling of them.
There are slight behavior changes here because our previous code converted between
floats and doubles in unnecessary places, and does not handle rounding in
consistent ways. The differences are all miniscule, but nevertheless lead to test
results needing to be updated.
Coincidentally, by performing this unification, there are no longer any places
on macOS Sierra which are using the CGFontRef member of PlatformFontData. This
patch removes the member on that operating system for memory savings as well as
clarity.
Covered by existing tests.
- platform/graphics/FontPlatformData.cpp:
- platform/graphics/FontPlatformData.h:
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit):
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::platformIsEqual):
(WebCore::FontPlatformData::ctFont):
LayoutTests:
Updating expected results.
- imported/blink/svg/text/obb-paintserver-expected.html: Covered tiny unrelated 1px difference.
- imported/blink/svg/text/obb-paintserver.html: Ditto.
- platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
- platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
- platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
- platform/ios-simulator/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
- platform/ios-simulator/fast/text/whitespace/pre-wrap-spaces-after-newline-expected.txt:
- platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
- platform/ios-simulator/svg/custom/glyph-transformation-with-hkern-expected.txt: Copied from LayoutTests/svg/custom/glyph-transformation-with-hkern-expected.txt.
- platform/ios-simulator/svg/custom/repaint-shadow-expected.txt: Copied from LayoutTests/svg/custom/repaint-shadow-expected.txt.
- platform/ios-simulator/svg/text/text-hkern-on-vertical-text-expected.txt: Copied from LayoutTests/svg/text/text-hkern-on-vertical-text-expected.txt.
- platform/ios-simulator/svg/text/text-vkern-on-horizontal-text-expected.txt: Copied from LayoutTests/svg/text/text-vkern-on-horizontal-text-expected.txt.
- platform/ios-simulator/tables/mozilla/bugs/bug55527-expected.txt:
- platform/mac-yosemite/fast/text/emoji-expected.txt:
- platform/mac-yosemite/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
- platform/mac/css2.1/t1202-counter-04-b-expected.txt:
- platform/mac/css2.1/t1202-counters-04-b-expected.txt:
- platform/mac/fast/text/emoji-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/text-align-08-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/text-fonts-03-t-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/text-text-04-t-expected.txt:
- platform/mac/svg/batik/text/xmlSpace-expected.txt:
- platform/mac/svg/custom/glyph-selection-bidi-mirror-expected.txt:
- platform/mac/svg/custom/glyph-setting-d-attribute-expected.txt:
- platform/mac/svg/foreignObject/text-tref-02-b-expected.txt:
- platform/mac/svg/text/kerning-expected.txt:
- platform/mac/svg/text/multichar-glyph-expected.txt:
- svg/custom/glyph-transformation-with-hkern-expected.txt:
- svg/custom/repaint-shadow-expected.txt:
- svg/text/text-hkern-on-vertical-text-expected.txt:
- svg/text/text-vkern-on-horizontal-text-expected.txt:
- 3:16 PM Changeset in webkit [205882] by
-
- 2 edits in trunk/Source/JavaScriptCore
DFG NewArrayBuffer node should watch for "have a bad time" state change.
https://bugs.webkit.org/show_bug.cgi?id=161927
<rdar://problem/27995222>
Reviewed by Geoffrey Garen.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- 2:56 PM Changeset in webkit [205881] by
-
- 9 edits in trunk/Source/WebCore
[Win] Unreviewed build fix.
Based on a suggestion by Simon Fraser, I have corrected the
headers to avoid including <d2d1.h> directly, relying instead
on forward declarations.
- platform/graphics/FloatPoint.h:
- platform/graphics/FloatRect.h:
- platform/graphics/FloatSize.h:
- platform/graphics/IntPoint.h:
- platform/graphics/IntRect.h:
- platform/graphics/IntSize.h:
- platform/graphics/transforms/AffineTransform.h:
- platform/graphics/transforms/TransformationMatrix.h:
- 2:53 PM Changeset in webkit [205880] by
-
- 6 edits1 add in trunk
Support jsc shell builtin
read
https://bugs.webkit.org/show_bug.cgi?id=161662
Reviewed by Keith Miller.
JSTests:
- stress/jsc-read.js: Added.
(test): test
readandreadFileshell builtins, in string and binary mode.
Source/JavaScriptCore:
The jsc shell currently supports a
readFilemethod which returns
a string. SpiderMonkey's js shell and V8's d8 shell both support
similar file-to-string functions, as well as a
binary-file-to-Uint8Array function. jsc should support a similar
binary file method to simplify testing, including testing of
WebAssembly blobs.
Emscripten's shell.js (which is also used for some WebAssembly
things) has a polyfill [1] for a builtin calledread. jsc should
therefore have a builtin with the same name if we want things to
"Just Work".
[1]: https://github.com/kripken/emscripten/blob/5f0918409a1407dd168f57cfa34b109cd1770a8a/src/shell.js#L138
- jsc.cpp:
(GlobalObject::finishCreation): add
read, makereadFiletake up to 2 arguments.
(functionReadFile): support binary files, as per SpiderMonkey.
- runtime/Error.h:
(JSC::throwVMError): convenience function, I'll add more uses in a follow-up
- runtime/JSTypedArrays.cpp:
(JSC::createUint8TypedArray): JS private export of JSUint8Array::create.
- runtime/JSTypedArrays.h: expose private export.
- 2:25 PM Changeset in webkit [205879] by
-
- 1 copy in tags/Safari-602.1.50.0.10
New tag.
- 2:09 PM Changeset in webkit [205878] by
-
- 5 edits in trunk
Provide a mechanism to specify the maximum size of WKThumbnailView snapshots
https://bugs.webkit.org/show_bug.cgi?id=161896
<rdar://problem/28229827>
Reviewed by Simon Fraser.
Some clients know that their thumbnail views will only be displayed up to
a specific size that is significantly smaller than the WKView size. Allow
them to avoid wasting lots of memory on unnecessarily large snapshots.
- UIProcess/API/Cocoa/_WKThumbnailView.h:
- UIProcess/API/Cocoa/_WKThumbnailView.mm:
(-[_WKThumbnailView requestSnapshot]):
(-[_WKThumbnailView _requestSnapshotIfNeeded]):
(-[_WKThumbnailView setMaximumSnapshotSize:]):
Add a maximumSnapshotSize property which can be changed dynamically.
- TestWebKitAPI/Tests/WebKit2/WKThumbnailView.mm:
(TestWebKitAPI::TEST):
Add a test for the new property.
Also fix the old new test to run on arbitrary scale displays without failing.
- 1:56 PM Changeset in webkit [205877] by
-
- 10 edits in trunk/Source/WebCore
Get rid of the m_premultiplyAlpha flag of the ImageFrame class
https://bugs.webkit.org/show_bug.cgi?id=159721
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-09-13
Reviewed by Simon Fraser.
This flag was only needed when calling ImageBackingStore::create() in
ImageFrame::setSize(). Instead we can pass ImageDecoder::m_premultiplyAlpha
to ImageFrame::setSize(), which is renamed ImageFrame::initializeBackingStore().
The passed premultiplyAlpha can then be passed to ImageBackingStore::create().
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageFrame::ImageFrame):
(WebCore::ImageFrame::operator=):
(WebCore::ImageFrame::initializeBackingStore):
(WebCore::ImageFrame::copyBitmapData): Deleted.
(WebCore::ImageFrame::setSize): Deleted.
- platform/image-decoders/ImageDecoder.h:
(WebCore::ImageFrame::disposalMethod):
(WebCore::ImageFrame::setDisposalMethod):
(WebCore::ImageDecoder::premultiplyAlpha):
(WebCore::ImageFrame::premultiplyAlpha): Deleted.
(WebCore::ImageFrame::setPremultiplyAlpha): Deleted.
- platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::frameBufferAtIndex):
- platform/image-decoders/bmp/BMPImageReader.cpp:
(WebCore::BMPImageReader::decodeBMP):
- platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::initFrameBuffer):
- platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::frameCount):
- platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::frameBufferAtIndex):
(WebCore::JPEGImageDecoder::outputScanlines):
- platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::PNGImageDecoder::readChunks):
(WebCore::PNGImageDecoder::initFrameBuffer):
(WebCore::setPixelRGB): Deleted.
(WebCore::setPixelRGBA): Deleted.
(WebCore::setPixelPremultipliedRGBA): Deleted.
- platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::frameBufferAtIndex):
(WebCore::WEBPImageDecoder::decode):
- 1:47 PM Changeset in webkit [205876] by
-
- 5 edits in branches/safari-602.1.50.0-branch/Source
Versioning.
- 1:43 PM Changeset in webkit [205875] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r205873. rdar://problem/28208208
- 1:38 PM Changeset in webkit [205874] by
-
- 2 edits in branches/safari-602.1.50.0-branch/Source/WebKit2
Merge r205873. rdar://problem/28208208
- 1:14 PM Changeset in webkit [205873] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r196321): Amazon Videos are all black in Fullscreen
https://bugs.webkit.org/show_bug.cgi?id=161924
rdar://problem/28208208
Reviewed by Dan Bernstein.
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(main):
Set AppleMagnifiedMode to true.
- 1:12 PM Changeset in webkit [205872] by
-
- 11 edits in trunk
Web Inspector: Use Array.shallowEqual instead of Object.shallowEqual in more places
https://bugs.webkit.org/show_bug.cgi?id=161867
<rdar://problem/28261328>
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
- UserInterface/Base/Utilities.js:
(value):
Array.shallowEqual should return false if passed a non-array.
- UserInterface/Models/CSSRule.js:
(WebInspector.CSSRule.prototype.update):
- UserInterface/Models/Color.js:
(WebInspector.Color.prototype.isKeyword):
- UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
(WebInspector.DOMNodeStyles.prototype.refresh):
- UserInterface/Models/Geometry.js:
(WebInspector.CubicBezier.prototype.toString):
- UserInterface/Views/GeneralTreeElement.js:
(WebInspector.GeneralTreeElement.prototype.set classNames):
- UserInterface/Views/NewTabContentView.js:
(WebInspector.NewTabContentView.prototype._updateShownTabs):
Prefer Array.shallowEqual over Obejct.shallowEqual if the arguments
will always be arrays.
LayoutTests:
- inspector/unit-tests/array-utilities-expected.txt:
- inspector/unit-tests/array-utilities.html:
Add test coverage for Array.shallowEqual.
Use Array.shallowEqual instead of JSON.stringify in tests.
Use expectFalse and expectEqual in tests where appropriate.
- 12:54 PM Changeset in webkit [205871] by
-
- 19 edits11 adds in trunk
[Win][Direct2D] Provide Direct2D-based geometry and transform cast operations
https://bugs.webkit.org/show_bug.cgi?id=161818
Reviewed by Dean Jackson.
Source/WebCore:
Tested by new TestWebKitAPI tests.
Add new casting operators to and from various Direct2D data types.
- PlatformWin.cmake:
- platform/graphics/FloatPoint.h:
(WebCore::FloatPoint::FloatPoint):
- platform/graphics/FloatRect.h:
- platform/graphics/FloatSize.h:
(WebCore::FloatSize::FloatSize):
- platform/graphics/IntPoint.h:
- platform/graphics/IntRect.h:
- platform/graphics/IntSize.h:
- platform/graphics/transforms/AffineTransform.h:
- platform/graphics/transforms/TransformationMatrix.h:
- platform/graphics/win/FloatPointDirect2D.cpp:
- platform/graphics/win/FloatRectDirect2D.cpp:
- platform/graphics/win/FloatSizeDirect2D.cpp:
- platform/graphics/win/IntPointWin.cpp:
(WebCore::IntPoint::IntPoint):
(WebCore::IntPoint::operator D2D1_POINT_2F):
(WebCore::IntPoint::operator D2D1_POINT_2U):
- platform/graphics/win/IntRectWin.cpp:
(WebCore::IntRect::IntRect):
(WebCore::IntRect::operator D2D1_RECT_F):
(WebCore::IntRect::operator D2D1_RECT_U):
- platform/graphics/win/IntSizeWin.cpp:
(WebCore::IntSize::IntSize):
(WebCore::IntSize::operator D2D1_SIZE_U):
(WebCore::IntSize::operator D2D1_SIZE_F):
- platform/graphics/win/TransformationMatrixDirect2D.cpp: Added.
(WebCore::TransformationMatrix::TransformationMatrix):
(WebCore::TransformationMatrix::operator D2D1_MATRIX_3X2_F):
(WebCore::AffineTransform::AffineTransform):
(WebCore::AffineTransform::operator D2D1_MATRIX_3X2_F):
Source/WebKit:
- PlatformWin.cmake: Link to Direct2D on Windows.
Tools:
Add several new test suites for the various geometric primitives in WebCore.
- TestWebKitAPI/PlatformWin.cmake: Add new files for test cases.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto.
- TestWebKitAPI/Tests/WebCore/AffineTransform.cpp: Added.
- TestWebKitAPI/Tests/WebCore/FloatPoint.cpp: Added.
- TestWebKitAPI/Tests/WebCore/FloatRect.cpp: Added.
- TestWebKitAPI/Tests/WebCore/FloatSize.cpp: Added.
- TestWebKitAPI/Tests/WebCore/IntPoint.cpp: Added.
- TestWebKitAPI/Tests/WebCore/IntRect.cpp: Added.
- TestWebKitAPI/Tests/WebCore/IntSize.cpp: Added.
- TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp: Add some new
Windows-focused test cases.
- 12:44 PM Changeset in webkit [205870] by
-
- 11 edits4 adds in trunk
Undoing a candidate insertion results in the replaced text being selected
https://bugs.webkit.org/show_bug.cgi?id=161894
<rdar://problem/28225774>
Reviewed by Simon Fraser.
Test: editing/mac/spelling/accept-candidate-undo-does-not-select.html
- WebCore.xcodeproj/project.pbxproj:
- editing/ReplaceRangeWithTextCommand.cpp: Added.
(WebCore::ReplaceRangeWithTextCommand::ReplaceRangeWithTextCommand):
(WebCore::ReplaceRangeWithTextCommand::doApply):
- editing/ReplaceRangeWithTextCommand.h: Added.
(WebCore::ReplaceRangeWithTextCommand::create):
Add a editor command that replaces a range with the given text.
- editing/Editor.cpp:
(WebCore::Editor::rangeForTextCheckingResult):
(WebCore::Editor::handleAcceptedCandidate):
(WebCore::Editor::selectTextCheckingResult): Deleted.
- editing/Editor.h:
Make use of the new editor command to do candidate insertion as a single
composite operation, so that it is undone as a unit. Otherwise, undo ends up
undoing the insertion, but not the selection, and we are left with the old
text, selected, which is undesirable.
- editing/mac/spelling/accept-candidate-allows-autocorrect-on-next-word-expected.txt:
- editing/mac/spelling/accept-candidate-replacing-multiple-words-expected.txt:
- editing/mac/spelling/accept-candidate-undo-does-not-select-expected.txt: Copied from LayoutTests/editing/mac/spelling/accept-candidate-replacing-multiple-words-expected.txt.
- editing/mac/spelling/accept-candidate-undo-does-not-select.html: Added.
- editing/mac/spelling/accept-candidate-without-adding-space-expected.txt:
- editing/mac/spelling/accept-candidate-without-crossing-editing-boundary-expected.txt:
Adjust some test results, and add a new test that ensures that undoing
a candidate insertion does not select the replaced text.
- 12:08 PM Changeset in webkit [205869] by
-
- 13 edits10 adds in trunk/Source/WebCore
[CSS Parser] Add CSS Variable Parsing support
https://bugs.webkit.org/show_bug.cgi?id=161916
Reviewed by Dean Jackson.
This patch not only adds the parser for CSS variables (from Blink), but it also brings in
all of the data structures used to store variables and custom property declarations. We
will be abandoning our old data structures eventually in favor of these new ones. They
are not significantly different other than operating on the CSSParserTokenRanges rather
than the soon-to-be-removed parser value lists.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSCustomIdentValue.cpp: Added.
(WebCore::CSSCustomIdentValue::CSSCustomIdentValue):
(WebCore::CSSCustomIdentValue::customCSSText):
- css/CSSCustomIdentValue.h: Added.
(WebCore::CSSCustomIdentValue::create):
(WebCore::CSSCustomIdentValue::value):
(WebCore::CSSCustomIdentValue::isKnownPropertyID):
(WebCore::CSSCustomIdentValue::valueAsPropertyID):
(WebCore::CSSCustomIdentValue::equals):
- css/CSSCustomPropertyDeclaration.cpp: Added.
(WebCore::CSSCustomPropertyDeclaration::customCSSText):
- css/CSSCustomPropertyDeclaration.h: Added.
(WebCore::CSSCustomPropertyDeclaration::create):
(WebCore::CSSCustomPropertyDeclaration::name):
(WebCore::CSSCustomPropertyDeclaration::value):
(WebCore::CSSCustomPropertyDeclaration::id):
(WebCore::CSSCustomPropertyDeclaration::equals):
(WebCore::CSSCustomPropertyDeclaration::CSSCustomPropertyDeclaration):
- css/CSSCustomPropertyValue.h:
- css/CSSValue.cpp:
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
- css/CSSValue.h:
(WebCore::CSSValue::isCustomPropertyDeclaration):
(WebCore::CSSValue::isCustomIdentValue):
(WebCore::CSSValue::isVariableReferenceValue):
- css/CSSValueKeywords.in:
- css/CSSVariableData.cpp: Added.
(WebCore::CSSVariableData::updateTokens):
(WebCore::CSSVariableData::operator==):
(WebCore::CSSVariableData::consumeAndUpdateTokens):
(WebCore::CSSVariableData::CSSVariableData):
- css/CSSVariableData.h: Added.
(WebCore::CSSVariableData::create):
(WebCore::CSSVariableData::createResolved):
(WebCore::CSSVariableData::tokenRange):
(WebCore::CSSVariableData::tokens):
(WebCore::CSSVariableData::needsVariableResolution):
(WebCore::CSSVariableData::CSSVariableData):
- css/CSSVariableDependentValue.h:
- css/CSSVariableReferenceValue.cpp: Added.
(WebCore::CSSVariableReferenceValue::customCSSText):
- css/CSSVariableReferenceValue.h: Added.
(WebCore::CSSVariableReferenceValue::create):
(WebCore::CSSVariableReferenceValue::variableDataValue):
(WebCore::CSSVariableReferenceValue::equals):
(WebCore::CSSVariableReferenceValue::CSSVariableReferenceValue):
- css/CSSVariableValue.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::filterProperties):
(WebCore::CSSParserImpl::consumeDeclaration):
(WebCore::CSSParserImpl::consumeVariableValue):
- css/parser/CSSVariableParser.cpp: Added.
(WebCore::CSSVariableParser::isValidVariableName):
(WebCore::classifyBlock):
(WebCore::isValidVariableReference):
(WebCore::classifyVariableRange):
(WebCore::CSSVariableParser::containsValidVariableReferences):
(WebCore::CSSVariableParser::parseDeclarationValue):
- css/parser/CSSVariableParser.h: Added.
- 12:01 PM Changeset in webkit [205868] by
-
- 2 edits in trunk/Source/WebCore
Remove CSS keyword properties from CSSParser::parseValue(CSSPropertyID, bool)
https://bugs.webkit.org/show_bug.cgi?id=161918
Reviewed by Simon Fraser.
CSSParser::parseValue(CSSPropertyID, bool) calls ASSERT_NOT_REACHED() when processing a CSS property
that is known to accept only keyword values as a means to guide a person to add such a CSS property
to the switch block in WebCore::isValidKeywordPropertyAndValue(). In theory this sounds good, but
in practice it does not work out and the list of such properties is stale. We should remove the
case statements for such properties and the maintenance burden they required, which was manual and
error prone. We should think about a better way to enforce that all CSS properties are parsed/validated.
The approach of calling ASSERT_NOT_REACHED is not beneficial to catching coding mistakes because
CSSParser::parseValue() has a default case statement to parse/validate SVG CSS properties and hence
does not allow the C++ compiler to validate that the switch block covers all CSSPropertyIDs.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
- 12:01 PM Changeset in webkit [205867] by
-
- 2 edits in trunk/Source/WebCore
Organize CSS keyword properties in WebCore::isKeywordPropertyID()
https://bugs.webkit.org/show_bug.cgi?id=161917
Reviewed by Simon Fraser.
Group and sort compile-time feature keywords and move them to the end of the switch block
to avoid the distraction of preprocessor statements scattered throughout the list. Sort
all the other keyword properties to make it straightforward to find a property by name.
- css/parser/CSSParser.cpp:
(WebCore::isKeywordPropertyID):
- 11:37 AM Changeset in webkit [205866] by
-
- 14 edits2 adds in trunk
Web Inspector: Should be able to pretty print module code (import / export statements)
https://bugs.webkit.org/show_bug.cgi?id=161891
<rdar://problem/28272784>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-13
Reviewed by Yusuke Suzuki.
Source/WebInspectorUI:
- Tools/Formatting/EsprimaFormatterDebug.js:
- Tools/Formatting/index.html:
Update the formatting tool to toggle between source type modes.
- UserInterface/Proxies/FormatterWorkerProxy.js:
- UserInterface/Workers/Formatter/FormatterWorker.js:
(FormatterWorker.prototype.formatJavaScript):
Provide a flag to parse the input as a module instead of a script/program.
- UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype._startWorkerPrettyPrint):
Using the formatter here, we may have module scripts in the future.
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
Using the formatter for a function is not module source.
- UserInterface/Workers/Formatter/ESTreeWalker.js:
(ESTreeWalker.prototype._walkChildren):
Visit children of Export/Import nodes.
- UserInterface/Workers/Formatter/EsprimaFormatter.js:
(EsprimaFormatter.prototype._handleTokenAtNode):
Output tokens with appropriate whitespace.
LayoutTests:
- inspector/formatting/formatting-javascript-expected.txt:
- inspector/formatting/formatting-javascript.html:
- inspector/formatting/resources/javascript-tests/modules-expected.js: Added.
- inspector/formatting/resources/javascript-tests/modules.js: Added.
Include a new test for modules.
- inspector/formatting/formatting-json.html:
All of these are non-module source code.
- inspector/formatting/resources/utilities.js:
Determine if module or not based on the test name.
- 11:20 AM Changeset in webkit [205865] by
-
- 2 edits in trunk/Source/WebCore
AX: Crash at AccessibilityRenderObject::computeAccessibilityIsIgnored const + 552
https://bugs.webkit.org/show_bug.cgi?id=161276
Reviewed by Chris Fleizach.
Sometimes when calling JavaScript removeChild or setAttribute on a node, it seems like
the renderer is deallocated during the process of computeAccessibilityIsIgnored. It's
causing a crash when we are accessing the renderer after that. Since RenderObject is not ref
counted and we cannot hold onto it for the duration of the function, fixed it by adding
more nil checks.
Despite my best efforts, I couldn't make a layout test that destroys the renderer within
the computeAccessibilityIsIgnored function.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
- 10:53 AM Changeset in webkit [205864] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/security/cross-origin-cached-scripts-parallel.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=161912
Unreviewed test gardening.
- 10:43 AM Changeset in webkit [205863] by
-
- 4 edits2 adds in trunk
Media-source backed elements block load event; cause web-platform-test flakiness
https://bugs.webkit.org/show_bug.cgi?id=161881
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-delaying-load-event.html
The MSE specification has added an explicit step to their "attaching to media element"
algorithm which tells the media element to stop delaying the load event. And indeed,
the HTMLMediaElement blocks the load event when a MediaSource is attached but its data
is never loaded.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setPrivateAndOpen):
- html/HTMLMediaElement.h:
LayoutTests:
- media/media-source/media-source-delaying-load-event-expected.txt: Added.
- media/media-source/media-source-delaying-load-event.html: Added.
- 10:33 AM Changeset in webkit [205862] by
-
- 2 edits in trunk/LayoutTests
Unreviewed gardening; removed duplicate entry for mediasource-config-change-mp4-v-bitrate.html.
- platform/mac/TestExpectations:
- 10:05 AM Changeset in webkit [205861] by
-
- 3 edits2 adds in trunk
Input type object and the associated render can go out of sync.
https://bugs.webkit.org/show_bug.cgi?id=161871
<rdar://problem/28178094>
Reviewed by Antti Koivisto.
Source/WebCore:
Bail out when we've got a mismatched renderer.
Test: fast/forms/assert-on-input-type-change.html
- html/ImageInputType.cpp:
(WebCore::ImageInputType::altAttributeChanged):
LayoutTests:
- fast/forms/assert-on-input-type-change-expected.txt: Added.
- fast/forms/assert-on-input-type-change.html: Added.
- 9:13 AM Changeset in webkit [205860] by
-
- 12 edits in trunk/Source
[GTK] Get rid of DataObjectGtk::forClipboard and cleanup pasteboard code
https://bugs.webkit.org/show_bug.cgi?id=161907
Reviewed by Michael Catanzaro.
Source/WebCore:
We don't really need to keep a DataObjectGtk for every clipboard, we could simply pass the DataObjectGtk to read
and write methods of PasteboardHelper.
- editing/gtk/EditorGtk.cpp:
(WebCore::createFragmentFromPasteboardData): Update for DataObjectGtk API changes.
- platform/Pasteboard.h:
- platform/gtk/DataObjectGtk.cpp: Remove forClipboard() static method.
- platform/gtk/DataObjectGtk.h: Ditto.
- platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::Pasteboard): Always create a new DataObjectGtk.
(WebCore::Pasteboard::dataObject): Return a const reference instead of a pointer.
(WebCore::Pasteboard::writePlainText): Pass the DataObjectGtk to PasteboardHelper.
(WebCore::Pasteboard::write): Ditto.
(WebCore::Pasteboard::writePasteboard): Ditto.
(WebCore::Pasteboard::clear): Ditto.
(WebCore::Pasteboard::read): Ditto.
(WebCore::Pasteboard::hasData): Ditto.
(WebCore::Pasteboard::types): Ditto.
(WebCore::Pasteboard::readString): Ditto.
(WebCore::Pasteboard::readFilenames): Ditto.
- platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::getClipboardContents): Update the given DataObjectGtk.
(WebCore::PasteboardHelper::fillSelectionData): Use a const reference to DataObjectGtk instead of a pointer.
(WebCore::PasteboardHelper::targetListForDataObject): Ditto.
(WebCore::PasteboardHelper::fillDataObjectFromDropData): Use a reference to DataObjectGtk instead of a pointer.
(WebCore::ClipboardSetData::ClipboardSetData): Helper struct to pass DataObjectGtk and callback to clipboard callbacks.
(WebCore::ClipboardSetData::~ClipboardSetData):
(WebCore::getClipboardContentsCallback): Get the DataObjectGtk from ClipboardSetData struct passed as user data.
(WebCore::clearClipboardContentsCallback): Get the DataObjectGtk and callback from ClipboardSetData struct
passed as user data.
(WebCore::PasteboardHelper::writeClipboardContents): Write the given DataObjectGtk.
- platform/gtk/PasteboardHelper.h:
Source/WebKit2:
Update to DataObjectGtk and PasteboardHelper API changes.
- UIProcess/gtk/DragAndDropHandler.cpp:
(WebKit::DragAndDropHandler::startDrag):
(WebKit::DragAndDropHandler::fillDragData):
(WebKit::DragAndDropHandler::dataObjectForDropData):
- WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag):
- WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::collapseSelection):
(WebKit::WebEditorClient::updateGlobalSelection): Remove wrong X11 guards, since that code is not X11 specific.
- 8:59 AM Changeset in webkit [205859] by
-
- 2 edits in trunk/Source/WTF
ParkingLot is going to have a bad time with threads dying
https://bugs.webkit.org/show_bug.cgi?id=161893
Reviewed by Michael Saboff.
If a thread dies right as it falls out of parkConditionally, then unparkOne() and friends
might die because they will dereference a deallocated ThreadData.
The solution is to ref-count ThreadData's. When unparkOne() and friends want to hold onto a
ThreadData past the queue lock, they can use RefPtr<>.
- wtf/ParkingLot.cpp:
(WTF::ParkingLot::unparkOne):
(WTF::ParkingLot::unparkOneImpl):
(WTF::ParkingLot::unparkAll):
- 8:02 AM Changeset in webkit [205858] by
-
- 29 edits3 adds56 deletes in trunk
Drop support for <isindex>
https://bugs.webkit.org/show_bug.cgi?id=7139
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Import layout test coverage from W3C web-platform-tests. We used to fail
the last check but we now pass it. Chrome also passes this last check.
- web-platform-tests/html/semantics/forms/historical-expected.txt: Added.
- web-platform-tests/html/semantics/forms/historical.html: Added.
- web-platform-tests/html/semantics/forms/w3c-import.log: Added.
Source/WebCore:
Drop support for <isindex> and <input name=isindex>. Those are no longer
in the HTML specification and Chrome / Edge have already dropped their
support. Firefox is also planning on dropping this.
Test: imported/w3c/web-platform-tests/html/semantics/forms/historical.html
- css/StyleResolver.cpp:
(WebCore::elementTypeHasAppearanceFromUAStyle):
- css/html.css:
(input, textarea, keygen, select, button, meter, progress):
(input, textarea, keygen, select, button):
(#if defined(WTF_PLATFORM_IOS) && WTF_PLATFORM_IOS):
(input::placeholder):
(input:focus, textarea:focus, keygen:focus, select:focus):
- dom/Element.cpp:
(WebCore::Element::ieForbidsInsertHTML):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
- html/HTMLTagNames.in:
- html/parser/HTMLStackItem.h:
(WebCore::isSpecialNode):
- html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): Deleted.
(WebCore::createCaseMap): Deleted.
- html/parser/HTMLTreeBuilder.h:
- platform/network/FormData.cpp:
(WebCore::FormData::appendKeyValuePairItems):
Source/WebInspectorUI:
Drop references to isindex.
- UserInterface/Views/DOMTreeElement.js:
Source/WebKit/mac:
Drop references to isindex.
- WebCoreSupport/WebEditorClient.mm:
(attributesForAttributedStringConversion):
- WebView/WebHTMLView.mm:
(+[WebHTMLView _excludedElementsForAttributedStringConversion]):
LayoutTests:
Drop outdated tests / checks.
- dom/html/level2/html/HTMLIsIndexElement01-expected.txt: Removed.
- dom/html/level2/html/HTMLIsIndexElement01.html: Removed.
- dom/html/level2/html/HTMLIsIndexElement01.js: Removed.
- dom/html/level2/html/HTMLIsIndexElement02-expected.txt: Removed.
- dom/html/level2/html/HTMLIsIndexElement02.html: Removed.
- dom/html/level2/html/HTMLIsIndexElement02.js: Removed.
- dom/html/level2/html/HTMLIsIndexElement03-expected.txt: Removed.
- dom/html/level2/html/HTMLIsIndexElement03.html: Removed.
- dom/html/level2/html/HTMLIsIndexElement03.js: Removed.
- fast/dom/HTMLIsIndexElement/prototype-chain-expected.txt: Removed.
- fast/dom/HTMLIsIndexElement/prototype-chain.html: Removed.
- fast/dom/HTMLIsIndexElement/script-tests/prototype-chain.js: Removed.
- fast/dom/isindex-001.html: Removed.
- fast/dom/isindex-002.html: Removed.
- fast/events/resources/tabindex-focus-blur-all-frame1.html:
- fast/events/resources/tabindex-focus-blur-all-frame2.html:
- fast/events/resources/tabindex-focus-blur-all-iframe1.html:
- fast/events/resources/tabindex-focus-blur-all-iframe2.html:
- fast/forms/isindex-name-expected.txt: Removed.
- fast/forms/isindex-name.html: Removed.
- fast/forms/isindex-placeholder-expected.html: Removed.
- fast/forms/isindex-placeholder.html: Removed.
- fast/forms/text-style-color.html: Removed.
- fast/parser/fragment-parser-expected.txt:
- fast/parser/script-tests/fragment-parser.js:
- fast/replaced/table-percent-height-text-controls-expected.txt:
- fast/replaced/table-percent-height-text-controls.html:
- html5lib/generated/run-isindex-data-expected.txt: Removed.
- html5lib/generated/run-isindex-data.html: Removed.
- html5lib/generated/run-isindex-write-expected.txt: Removed.
- html5lib/generated/run-isindex-write.html: Removed.
- html5lib/resources/isindex.dat:
- html5lib/resources/tests19.dat:
- html5lib/resources/tests2.dat:
- html5lib/resources/webkit02.dat:
- http/tests/misc/isindex-formdata-expected.txt: Removed.
- http/tests/misc/isindex-formdata.html: Removed.
- http/tests/misc/isindex-with-no-form-base-href-expected.txt: Removed.
- http/tests/misc/isindex-with-no-form-base-href.html: Removed.
- http/tests/misc/isindex-with-no-form-expected.txt: Removed.
- http/tests/misc/isindex-with-no-form.html: Removed.
- http/tests/misc/resources/isindex-with-no-form-base-href-submit.html: Removed.
- http/tests/misc/resources/isindex-with-no-form-base-href.html: Removed.
- platform/efl/fast/dom/isindex-001-expected.png: Removed.
- platform/efl/fast/dom/isindex-001-expected.txt: Removed.
- platform/efl/fast/dom/isindex-002-expected.png: Removed.
- platform/efl/fast/dom/isindex-002-expected.txt: Removed.
- platform/efl/fast/forms/text-style-color-expected.png: Removed.
- platform/efl/fast/forms/text-style-color-expected.txt: Removed.
- platform/gtk/fast/dom/isindex-001-expected.png: Removed.
- platform/gtk/fast/dom/isindex-001-expected.txt: Removed.
- platform/gtk/fast/dom/isindex-002-expected.png: Removed.
- platform/gtk/fast/dom/isindex-002-expected.txt: Removed.
- platform/gtk/fast/forms/text-style-color-expected.png: Removed.
- platform/gtk/fast/forms/text-style-color-expected.txt: Removed.
- platform/ios-simulator/fast/dom/isindex-001-expected.txt: Removed.
- platform/ios-simulator/fast/dom/isindex-002-expected.txt: Removed.
- platform/ios-simulator/fast/forms/text-style-color-expected.txt: Removed.
- platform/mac-elcapitan/fast/dom/isindex-001-expected.txt: Removed.
- platform/mac-elcapitan/fast/dom/isindex-002-expected.txt: Removed.
- platform/mac-elcapitan/fast/forms/text-style-color-expected.txt: Removed.
- platform/mac/fast/dom/isindex-001-expected.png: Removed.
- platform/mac/fast/dom/isindex-001-expected.txt: Removed.
- platform/mac/fast/dom/isindex-002-expected.png: Removed.
- platform/mac/fast/dom/isindex-002-expected.txt: Removed.
- platform/mac/fast/forms/text-style-color-expected.png: Removed.
- platform/mac/fast/forms/text-style-color-expected.txt: Removed.
- platform/win/fast/dom/isindex-001-expected.txt: Removed.
- platform/win/fast/dom/isindex-002-expected.txt: Removed.
- platform/win/fast/forms/text-style-color-expected.txt: Removed.
- 4:52 AM Changeset in webkit [205857] by
-
- 2 edits in trunk/LayoutTests
Skip media source tests since the feature is not enabled on Windows.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 1:17 AM Changeset in webkit [205856] by
-
- 18 edits1 copy1 move4 adds2 deletes in trunk
ES6: Classes: Should be allowed to create a static method with name "arguments"
https://bugs.webkit.org/show_bug.cgi?id=152985
Reviewed by Keith Miller.
Source/JavaScriptCore:
Current patch covered 16.2 Forbidden Extensions - first topic
(https://tc39.github.io/ecma262/#sec-forbidden-extensions) ECMAScript Functions
should not have own properties named "caller" or "arguments".
Also added possibility to declare static methods and getters with
name 'arguments' and 'caller' for classes. i.e.:
class A { static arguments() { return 'value'; } }
A.arguments() === 'value';
To implement this patch 'caller' and 'arguments' were put to the FunctionPrototype
object. Also was changed approach to init throwTypeErrorArgumentsCalleeAndCallerGetterSetter
property from Lazy to common because it necessary to use execState during init of the accessors
properties.
- runtime/Executable.h:
- runtime/FunctionPrototype.cpp:
(JSC::FunctionPrototype::initRestrictedProperties):
(JSC::FunctionPrototype::addFunctionProperties): Deleted.
- runtime/FunctionPrototype.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::deleteProperty):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::throwTypeErrorArgumentsCalleeAndCallerGetterSetter):
JSTests:
- test262.yaml:
LayoutTests:
- js/Object-getOwnPropertyNames-expected.txt:
- js/basic-strict-mode-expected.txt:
- js/class-method-and-constructor-properties-expected.txt: Removed.
- js/class-syntax-method-names-expected.txt:
- js/es6-function-properties-expected.txt: Added.
- js/es6-function-properties.html: Copied from LayoutTests/js/class-method-and-constructor-properties.html.
- js/kde/script-tests/function_arguments.js:
(f):
- js/non-strict-function-properties-expected.txt: Added.
- js/non-strict-function-properties.html: Renamed from LayoutTests/js/class-method-and-constructor-properties.html.
- js/script-tests/Object-getOwnPropertyNames.js:
- js/script-tests/basic-strict-mode.js:
- js/script-tests/class-method-and-constructor-properties.js: Removed.
(shouldThrow): Deleted.
(shouldBe): Deleted.
(A): Deleted.
(B): Deleted.
(C): Deleted.
(D): Deleted.
(E.prototype.getItem): Deleted.
(E): Deleted.
(F.prototype.getElement): Deleted.
(F): Deleted.
(G.prototype.get item): Deleted.
(G): Deleted.
(H.prototype.caller): Deleted.
(H.prototype.arguments): Deleted.
(H): Deleted.
- js/script-tests/class-syntax-method-names.js:
- js/script-tests/es6-function-properties.js: Added.
(shouldThrow):
(shouldBe):
(A):
(B):
(C):
(D):
(E.prototype.getItem):
(E):
(F.prototype.getElement):
(F):
(G.prototype.get item):
(G):
(check):
(arr):
(H.prototype.caller):
(H.prototype.arguments):
(H):
(J.prototype.gen):
(J.gen):
(J):
- js/script-tests/non-strict-function-properties.js: Added.
(foo):
(boo):
(f):
(g):
(doSetCaller):
(doSetArguments):
- js/script-tests/strict-throw-type-error.js:
Sep 12, 2016:
- 11:52 PM Changeset in webkit [205855] by
-
- 3 edits1 delete in trunk/Source/WebCore
[Win] Warning fix.
https://bugs.webkit.org/show_bug.cgi?id=161858
Reviewed by Brent Fulgham.
Use exported constants from CoreText.dll, instead of creating copies.
- PlatformAppleWin.cmake:
- platform/spi/win/CoreTextSPIWin.cpp: Removed.
- platform/spi/win/CoreTextSPIWin.h:
- 11:46 PM Changeset in webkit [205854] by
-
- 14 edits1 copy4 moves10 adds1 delete in trunk
ScriptElement should use FetchOptions::mode according its crossOrigin attribute
https://bugs.webkit.org/show_bug.cgi?id=161686
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-12
Reviewed by Darin Adler.
Source/WebCore:
Setting ScriptElement fetch mode according its crossOrigin attribute.
Removing LoadableClassicScriptchecking of CORS since this is now done at ResourceLoader/CachedResource level.
Updating CachedResourceLoader to ensure that a resource that matches an on-going resource load but with different fetch mode/origin,
always gets its loading started if the resource state is not Cached.
Tests: fast/dom/script-crossorigin-loads-fail-origin.html
http/tests/security/cross-origin-cached-images-parallel.html
http/tests/security/cross-origin-cached-images.html
http/tests/security/cross-origin-cached-scripts-parallel.html
http/tests/security/cross-origin-cached-scripts.html
http/tests/security/script-crossorigin-loads-correctly-credentials.html
http/tests/security/script-with-dataurl.html
- dom/LoadableClassicScript.cpp:
(WebCore::LoadableClassicScript::create):
(WebCore::LoadableClassicScript::notifyFinished): Checking CORS failures using the resource state.
(WebCore::LoadableClassicScript::~LoadableClassicScript): Deleted.
(WebCore::LoadableClassicScript::isLoaded): Deleted.
- dom/LoadableClassicScript.h:
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestClassicScript):
(WebCore::ScriptElement::requestScriptWithCache): Using CachedResourceRequest::setAsPotentiallyCrossOrigin to set fetch mode according crossOrigin attribute.
- dom/ScriptElement.h:
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::setBodyDataFrom):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest): Adding support for script resources.
(WebCore::CachedResourceLoader::requestResource): Ensuring that 'updated' resources gets actually loaded.
- loader/cache/CachedScript.cpp:
(WebCore::CachedScript::setBodyDataFrom): Implementing specific data copy from another CachedScript.
- loader/cache/CachedScript.h:
LayoutTests:
Added new tests.
Updated cookie test for robustness as the order of the cookie items when more than one may not be preserved.
Moved one of the blink test to http/tests as it requires HTTP to run properly.
Updated blink test expectation as it is run from file, while it should be run from http.
Copied a similar test to http/tests/local to ensure that script load fails when served from the filesystem , CORS check failing.
The test was previously passing in WebKit as the test file was served from filesystem and was granted universal access.
The CORS checks were done through SecurityOrigin::canRequest which was testing that first.
With the patch, CORS checks are done at a lower level and do not take in to account universal access.
This aligns with Chrome and Firefox behavior.
- http/tests/local/script-crossorigin-loads-fail-origin-expected.txt: Added.
- http/tests/local/script-crossorigin-loads-fail-origin.html: Copied from LayoutTests/imported/blink/http/tests/security/script-crossorigin-loads-correctly-credentials.html.
- http/tests/cookies/resources/third-party-cookie-relaxing-iframe.html: Sorting the cookie to make the test more resistant.
- http/tests/security/cross-origin-cached-images-expected.txt: Added.
- http/tests/security/cross-origin-cached-images-parallel-expected.txt: Added.
- http/tests/security/cross-origin-cached-images-parallel.html: Renamed from LayoutTests/http/tests/security/cross-origin-cached-resource-parallel.html.
- http/tests/security/cross-origin-cached-images.html: Renamed from LayoutTests/http/tests/security/cross-origin-cached-resource.html.
- http/tests/security/cross-origin-cached-resource-parallel-expected.txt: Removed.
- http/tests/security/cross-origin-cached-scripts-expected.txt: Added.
- http/tests/security/cross-origin-cached-scripts-parallel-expected.txt: Added.
- http/tests/security/cross-origin-cached-scripts-parallel.html: Added.
- http/tests/security/cross-origin-cached-scripts.html: Added.
- http/tests/security/resources/cors-script.php: Updated according chromium script to activate CORS credentials header if requested.
- http/tests/security/resources/cross-origin-cached-resource-iframe.html:
- http/tests/security/resources/notify-loaded.js: Added.
- http/tests/security/script-crossorigin-loads-correctly-credentials-expected.txt: Renamed from LayoutTests/imported/blink/http/tests/security/script-crossorigin-loads-correctly-credentials-expected.txt.
- http/tests/security/script-crossorigin-loads-correctly-credentials.html: Renamed from LayoutTests/imported/blink/http/tests/security/script-crossorigin-loads-correctly-credentials.html.
- http/tests/security/script-with-dataurl-expected.txt: Added.
- http/tests/security/script-with-dataurl.html: Added.
- http/tests/security/script-with-failed-cors-check-fails-to-load-expected.txt:
- 11:15 PM Changeset in webkit [205853] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Scrollbar too large
https://bugs.webkit.org/show_bug.cgi?id=161735
Reviewed by Michael Catanzaro.
We were not calculating the total scrollbar size correctly when the theme defines a minimum width/height. In
that case we need to take the extra size into account (border, margin, padding), but not adding the minimum
size. We were also adjusting the thumb position when rendering in indicator mode, but we really need to adjust
the whole rectangle. This worked in Adwaita because it uses a transparent track when in indicator mode. We are
also now taking into account the text direction when doing this adjustment for the indicator mode.
- platform/gtk/ScrollbarThemeGtk.cpp:
(WebCore::ScrollbarThemeGtk::paint):
(WebCore::ScrollbarThemeGtk::scrollbarThickness):
- 11:12 PM Changeset in webkit [205852] by
-
- 5 edits in trunk/Source/WebCore
[GTK] Crash of WebProcess on the last WebView disconnect (take two)
https://bugs.webkit.org/show_bug.cgi?id=161842
Reviewed by Michael Catanzaro.
The problem is that when PlatformDisplayX11 is destroyed, the sharing GL context is deleted and its destructor
makes a downcast of PlatformDisplay to get the native X11 display. We could simply keep a pointer to the native
X11 display in GLContextGLX, got at construction time from the PlatformDisplay, and ensure the sharing GL
context is deleted before the native X11 display is closed.
- platform/graphics/PlatformDisplay.h: Make m_sharingGLContext protected.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::GLContextGLX): Initialize m_x11Display.
(WebCore::GLContextGLX::~GLContextGLX): Use m_x11Display and remove confusing comment about possible crash with
nviedia closed drivers.
(WebCore::GLContextGLX::defaultFrameBufferSize): Use m_x11Display.
(WebCore::GLContextGLX::makeContextCurrent): Ditto.
(WebCore::GLContextGLX::swapBuffers): Ditto.
(WebCore::GLContextGLX::swapInterval): Ditto.
(WebCore::GLContextGLX::cairoDevice): Ditto.
- platform/graphics/glx/GLContextGLX.h:
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::~PlatformDisplayX11): Delete the sharing GL context before closing the display.
- 10:48 PM Changeset in webkit [205851] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 9:33 PM Changeset in webkit [205850] by
-
- 14 edits in trunk/Source/JavaScriptCore
MarkedBlock should be able to use flipIfNecessary() as the "I'm not empty" trigger
https://bugs.webkit.org/show_bug.cgi?id=161869
Reviewed by Saam Barati.
In bug 161581, I'm going to use flipIfNecessary() during marking to trigger the "I'm not
empty" hook, which will set a bit in the markingNotEmpty bitvector.
For this to work, we need to ensure that nobody else uses flipIfNecessary() during marking.
If anyone else does it but they aren't marking new objects, then this prevents
flipIfNecessary() from triggering when the first object is marked, which means we won't
always detect when a block became non-empty.
I addressed this by adding a isMarking flag, and asserting in flipIfNecessary() that the flag
isn't set. flipIfNecessaryDuringMarking() is used only on the marking path, so that code
knows that it can trigger something like noteMarked(). The only places that were using
flipIfNecessary() should have been using needsFlip() anyway.
- heap/CellContainer.h:
- heap/CellContainerInlines.h:
(JSC::CellContainer::needsFlip):
- heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::beginMarking):
(JSC::Heap::endMarking):
(JSC::Heap::clearLivenessData): Deleted.
(JSC::Heap::converge): Deleted.
(JSC::Heap::resetVisitors): Deleted.
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::testAndSetMarked):
- heap/LargeAllocation.h:
(JSC::LargeAllocation::flipIfNecessaryDuringMarking):
(JSC::LargeAllocation::flipIfNecessaryConcurrently): Deleted.
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::flipIfNecessarySlow):
(JSC::MarkedBlock::flipIfNecessaryDuringMarkingSlow):
(JSC::MarkedBlock::flipIfNecessaryConcurrentlySlow): Deleted.
- heap/MarkedBlock.h:
(JSC::MarkedBlock::flipIfNecessaryDuringMarking):
(JSC::MarkedBlock::Handle::flipIfNecessaryDuringMarking):
(JSC::MarkedBlock::flipIfNecessaryConcurrently): Deleted.
(JSC::MarkedBlock::Handle::flipIfNecessaryConcurrently): Deleted.
- heap/MarkedSpace.h:
(JSC::MarkedSpace::isMarking):
(JSC::MarkedSpace::setIsMarking):
(JSC::MarkedSpace::largeAllocationsForThisCollectionSize): Deleted.
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::setMarkedAndAppendToMarkStack):
- heap/WeakBlock.cpp:
(JSC::WeakBlock::visit):
- 9:32 PM Changeset in webkit [205849] by
-
- 2 edits in trunk/LayoutTests
[GTK] Fix lint warnings of LayoutTests/platform/gtk/TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=161890
Unreviewed test gardening.
Patch by Fujii Hironori <Fujii Hironori> on 2016-09-12
- platform/gtk/TestExpectations: Removed deleted test cases
js/regress/nested-function-parsing.html, js/regress/new-array-buffer-dead.html
and js/regress/method-on-number.html.
Skip imported/w3c/web-platform-tests/media-source/
- 7:57 PM Changeset in webkit [205848] by
-
- 7 edits2 adds in trunk
Speed up Function.prototype.bind a bit by making it a builtin
https://bugs.webkit.org/show_bug.cgi?id=161879
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/function-bind-inlining.js: Added.
(assert):
(test):
(test2):
(foo):
- microbenchmarks/function-bind-no-inlining.js: Added.
(assert):
(test):
(test2):
(foo):
LayoutTests:
- js/dom/function-bind-expected.txt:
- 7:12 PM Changeset in webkit [205847] by
-
- 10 edits in trunk
Fix post-landing review comments after r205787
https://bugs.webkit.org/show_bug.cgi?id=161885
Reviewed by Darin Adler.
Source/WebCore:
Leverage new StringBuilder::append(CFStringRef) overload.
- html/parser/HTMLParserIdioms.cpp:
(WebCore::parseHTTPRefreshInternal):
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):
(WebCore::buildDisplayStringForTrackBase):
- platform/network/mac/CookieJarMac.mm:
(WebCore::cookiesForSession):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::mediaControlsStyleSheet):
(WebCore::RenderThemeIOS::mediaControlsScript):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsStyleSheet):
(WebCore::RenderThemeMac::mediaControlsScript):
Source/WTF:
Add new StringBuilder::append(CFStringRef) / append(NSString*)
overloads to avoid an extra string copy when possible.
- wtf/text/StringBuilder.cpp:
(WTF::StringBuilder::append):
- wtf/text/StringBuilder.h:
(WTF::StringBuilder::append):
Tools:
Leverage new StringBuilder::append(CFStringRef) overload.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
- 6:25 PM Changeset in webkit [205846] by
-
- 4 edits in trunk
URLParser: Correctly ignore spaces before relative URLs with no scheme
https://bugs.webkit.org/show_bug.cgi?id=161889
Reviewed by Daniel Bates.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 5:58 PM Changeset in webkit [205845] by
-
- 3 edits2 adds in trunk
AX: Crash at WebCore::Range::compareBoundaryPoints(WebCore::Range::CompareHow, WebCore::Range const&, int&) const + 23
https://bugs.webkit.org/show_bug.cgi?id=161878
Reviewed by Chris Fleizach.
Source/WebCore:
In function characterOffsetsInOrder(const CharacterOffset&, const CharacterOffset&), we are creating two
ranges based on the nodes that are associated to the passed in CharacterOffsets. When the first node is a doctype
node, the first range will be a nullptr, and dereferencing it leads to a crash. Fixed this by adding a
NULL check.
Test: accessibility/mac/doctype-node-in-text-marker-crash.html
- accessibility/AXObjectCache.cpp:
(WebCore::characterOffsetsInOrder):
(WebCore::resetNodeAndOffsetForReplacedNode):
LayoutTests:
- accessibility/mac/doctype-node-in-text-marker-crash-expected.txt: Added.
- accessibility/mac/doctype-node-in-text-marker-crash.html: Added.
- 5:29 PM Changeset in webkit [205844] by
-
- 5 edits in tags/Safari-603.1.5.1/Source
Versioning.
- 5:25 PM Changeset in webkit [205843] by
-
- 1 copy in tags/Safari-603.1.5.1
New tag.
- 5:14 PM Changeset in webkit [205842] by
-
- 3 edits4 adds in trunk
HashMapImpl should take into account m_deleteCount in its load factor and it should be able to rehash the table to be smaller
https://bugs.webkit.org/show_bug.cgi?id=161640
Reviewed by Geoffrey Garen.
JSTests:
- microbenchmarks/map-rehash.js: Added.
- stress/map-delete.js: Added.
(assert):
- stress/map-rehash-2.js: Added.
(assert):
- stress/map-rehash.js: Added.
(assert):
Source/JavaScriptCore:
HashMapImpl now takes into account m_deleteCount in its load factor.
It now knows how to rehash to either decrease its capacity, stay at
the same capacity, or increase its capacity. The reason we can sometimes
stay at the same capacity is that we can reduce the load factor enough
by rehashing that growing isn't warranted. The reason for this is that
anytime we rehash, we remove all deleted sentinels from the buffer.
Therefore, staying at the same same capacity, when there are deleted entries,
can still reduce the load factor because it removes all deleted sentinels.
- runtime/HashMapImpl.h:
(JSC::HashMapBuffer::create):
(JSC::HashMapBuffer::reset):
(JSC::HashMapImpl::HashMapImpl):
(JSC::HashMapImpl::add):
(JSC::HashMapImpl::remove):
(JSC::HashMapImpl::size):
(JSC::HashMapImpl::clear):
(JSC::HashMapImpl::approximateSize):
(JSC::HashMapImpl::shouldRehashAfterAdd):
(JSC::HashMapImpl::shouldShrink):
(JSC::HashMapImpl::rehash):
(JSC::HashMapImpl::checkConsistency):
(JSC::HashMapImpl::makeAndSetNewBuffer):
(JSC::HashMapImpl::assertBufferIsEmpty):
- 4:51 PM Changeset in webkit [205841] by
-
- 22 edits1 move1 add in trunk/Source/WebCore
Move the pixel data of ImageFrame to a separate class named ImageBackingStore
https://bugs.webkit.org/show_bug.cgi?id=159679
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-09-12
Reviewed by Simon Fraser.
Move the pixel data manipulation part in ImageFrame into a separate class
and allocate it on demand.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformWinCairo.cmake:
- WebCore.xcodeproj/project.pbxproj:
Add ImageBackingStoreCairo.cpp and remove ImageDecoderCairo.cpp from the
WebKit projects.
- platform/graphics/Color.cpp:
(WebCore::premultipliedChannel): channel = channel * alpha / 255.
(WebCore::unpremultipliedChannel): channel = channel * 255 / alpha.
(WebCore::makePremultipliedRGBA): Un-premultiplied channels to premultiplied RGBA32.
(WebCore::makeUnPremultipliedRGBA): Premultiplied channels to un-premultiplied RGBA32.
(WebCore::colorFromPremultipliedARGB): Use makeUnPremultipliedRGBA.
(WebCore::premultipliedARGBFromColor): Use makePremultipliedRGBA.
- platform/graphics/Color.h:
(WebCore::fastMultiplyBy255): x * 255 = x * 256 - x = x << 8 - x.
- platform/graphics/ImageBackingStore.h: Added.
(WebCore::ImageBackingStore::create): Creates a new ImageBackingStore.
(WebCore::ImageBackingStore::setSize): Changes the pixels size.
(WebCore::ImageBackingStore::setFrameRect): This will always just be the entire buffer except for GIF and PNG frames.
(WebCore::ImageBackingStore::size): Returns the pixels size.
(WebCore::ImageBackingStore::frameRect): Returns the pixels frame rectangle.
(WebCore::ImageBackingStore::clear): Clears the entire image.
(WebCore::ImageBackingStore::clearRect): Clears a rectangle in the image.
(WebCore::ImageBackingStore::repeatFirstRow): Repeats the first row in a rectangle in the image.
(WebCore::ImageBackingStore::pixelAt): Returns a pointer to a pixel data.
(WebCore::ImageBackingStore::setPixel): Sets the color of a pixel in the image.
(WebCore::ImageBackingStore::blendPixel): Blend a color with a pixel in the image.
(WebCore::ImageBackingStore::inBounds): Checks if a rectangle is in the bounds of the image.
(WebCore::ImageBackingStore::isOverSize): Checks whether a size could not be allocated for an image.
(WebCore::ImageBackingStore::ImageBackingStore):
- platform/graphics/cg/NativeImageCG.cpp:
(WebCore::nativeImageHasAlpha): Implement this function. See comments in https://bugs.webkit.org/show_bug.cgi?id=158684.
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageFrame::operator=): copyBitmapData() now copies the frameRect of the ImageBackingStore.
(WebCore::ImageFrame::clearPixelData): The pixels data and the pointer to these pixels are now included in the ImageBackingStore.
(WebCore::ImageFrame::zeroFillPixelData): Clearing the image pixels are now in ImageBackingStore::clear().
(WebCore::ImageFrame::zeroFillFrameRect): Clearing the image pixels are now in ImageBackingStore::clearRect().
(WebCore::ImageFrame::copyBitmapData): We either need to create a new ImageBackingStore or nullify the current one.
(WebCore::ImageFrame::setSize): ImageFrame::setSize() is supposed to be called once and to create the ImageBackingStore.
(WebCore::ImageFrame::setOriginalFrameRect): Delegate this call to ImageBackingStore::setFrameRect().
(WebCore::ImageDecoder::frameBytesAtIndex): ImageFrame::PixelData can be replaced by RGBA32.
- platform/image-decoders/ImageDecoder.h:
(WebCore::ImageFrame::copyRowNTimes): The implementation was moved to ImageBackingStore::repeatFirstRow().
(WebCore::ImageFrame::size): Gets the size of an image from its ImageBackingStore.
(WebCore::ImageFrame::asNewNativeImage): Gets a NtaiveImagePtr from the ImageBackingStore.
(WebCore::ImageFrame::backingStore): Returns a raw pointer to the ImageBackingStore.
(WebCore::ImageFrame::hasBackingStore): Returns whether the ImageFrame has an ImageBackingStore.
(WebCore::ImageFrame::originalFrameRect): Returns the frameRect of the image from its ImageBackingStore.
(WebCore::ImageFrame::pixelAt): Delegates the call to the ImageBackingStore.
(WebCore::ImageFrame::setPixel): Delegates the call to the ImageBackingStore.
(WebCore::ImageFrame::blendPixel): Delegates the call to the ImageBackingStore.
(WebCore::ImageDecoder::setSize): setSize() now takes an IntSize.
(WebCore::ImageFrame::setOriginalFrameRect): Deleted. Moved to ImageDecoder.cpp.
(WebCore::ImageFrame::setRGBA): Deleted. Renamed to ImageFrame::setPixel().
(WebCore::ImageFrame::getAddr): Deleted. Renamed to ImageFrame::pixelAt().
(WebCore::ImageFrame::hasPixelData): Deleted. Renamed to ImageFrame::hasBackingStore().
(WebCore::ImageFrame::fixPointUnsignedMultiply): Deleted.
(WebCore::ImageFrame::divide255): Deleted. Replaced by fastDivideBy255() from Color.h.
(WebCore::ImageFrame::overRGBA): Deleted. Renamed to ImageFrame::blendPixel().
(WebCore::ImageFrame::width): Deleted.
(WebCore::ImageFrame::height): Deleted.
(WebCore::ImageDecoder::isOverSize): Deleted. Moved to ImageBackingStore::isOverSize().
- platform/image-decoders/bmp/BMPImageReader.cpp:
(WebCore::BMPImageReader::decodeBMP):
(WebCore::BMPImageReader::processInfoHeader):
(WebCore::BMPImageReader::processNonRLEData):
- platform/image-decoders/bmp/BMPImageReader.h:
(WebCore::BMPImageReader::setI):
(WebCore::BMPImageReader::setPixel):
(WebCore::BMPImageReader::fillRGBA):
(WebCore::BMPImageReader::setRGBA): Deleted.
- platform/image-decoders/cairo/ImageBackingStoreCairo.cpp: Added.
(WebCore::ImageBackingStore::image):
- platform/image-decoders/cairo/ImageDecoderCairo.cpp: Removed.
- platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::setSize):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::initFrameBuffer):
- platform/image-decoders/gif/GIFImageDecoder.h:
- platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::parse):
- platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::setSize):
(WebCore::ICOImageDecoder::processDirectoryEntries):
- platform/image-decoders/ico/ICOImageDecoder.h:
- platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):
(WebCore::JPEGImageDecoder::setSize):
(WebCore::setPixel):
(WebCore::JPEGImageDecoder::outputScanlines):
- platform/image-decoders/jpeg/JPEGImageDecoder.h:
- platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::setSize):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::setPixelRGB):
(WebCore::setPixelRGBA):
(WebCore::setPixelPremultipliedRGBA):
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::PNGImageDecoder::initFrameBuffer):
(WebCore::PNGImageDecoder::frameComplete):
- platform/image-decoders/png/PNGImageDecoder.h:
- platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::decode):
- Send an IntSize to ImageFrame::setSize() and ImageDecoder::setSize().
- Replace ImageFrame::PixelData by RGBA32.
- No need to call ImageFrame::setOriginalFrameRect() if this sets the frameRect to the entire image rectangle since this is done by default in ImageBackingStore::setSize().
- ImageBackingStore::image() now replaces ImageFrame::asNewNativeImage().
- ImageFrame::setPixel() now replaces ImageFrame::setRGBA().
- ImageFrame::blendPixel() now replaces ImageFrame::overRGBA().
- ImageFrame::pixelAt() now replaces ImageFrame::getAddr().
- 4:34 PM Changeset in webkit [205840] by
-
- 1 copy in tags/Safari-602.2.6
New tag.
- 4:33 PM Changeset in webkit [205839] by
-
- 3 edits2 adds in trunk
HTMLButtonElement.prototype.click should be HTMLElement.prototype.click
https://bugs.webkit.org/show_bug.cgi?id=161874
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-12
Reviewed by Chris Dumez.
Source/WebCore:
Test: fast/dom/HTMLButtonElement/click.html
- html/HTMLButtonElement.idl:
Remove the unnecessary 'click' definition. It already exists in HTMLElement.
If this was needed for ObjC code generation on DOMHTMLButtonElement, then
the extra definition is no longer needed now that ObjC bindings have moved.
LayoutTests:
- fast/dom/HTMLButtonElement/click-expected.txt: Added.
- fast/dom/HTMLButtonElement/click.html: Added.
- 4:14 PM Changeset in webkit [205838] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/dom/nodes/ProcessingInstruction-escapes-1.xhtml as flaky on mac.
https://bugs.webkit.org/show_bug.cgi?id=161883
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 4:11 PM Changeset in webkit [205837] by
-
- 2 edits in trunk/JSTests
Unreviewed, fix tests for different libm environments
https://bugs.webkit.org/show_bug.cgi?id=161857
- stress/ftl-arithtan.js:
- 4:08 PM Changeset in webkit [205836] by
-
- 3 edits in trunk/Source/WTF
[WTF] HashTable's rehash is not compatible to Ref<T> and ASan
https://bugs.webkit.org/show_bug.cgi?id=161763
Reviewed by Darin Adler.
Destructors of HashTable's empty values need to be called while ones of deleted values don't.
- wtf/HashTable.h:
(WTF::KeyTraits>::deallocateTable):
- wtf/Ref.h:
- 4:03 PM Changeset in webkit [205835] by
-
- 4 edits in trunk
URLParser: Fix relative URLs containing only fragments
https://bugs.webkit.org/show_bug.cgi?id=161882
Reviewed by Brady Eidson.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 3:36 PM Changeset in webkit [205834] by
-
- 3 edits2 adds in trunk
Source/WebInspectorUI:
Web Inspector: Improve clarity of inspector tests by adding TestHarness.expect* functions similar to XCTest
https://bugs.webkit.org/show_bug.cgi?id=161278
<rdar://problem/28039741>
Reviewed by Joseph Pecoraro.
Under the hood they all call TestHarness.expectThat.
- UserInterface/Test/TestHarness.js:
(TestHarness.prototype.expectFalse):
(TestHarness.prototype.expectNull):
(TestHarness.prototype.expectNotNull):
(TestHarness.prototype.expectEqual):
(TestHarness.prototype.expectNotEqual):
(TestHarness.prototype.expectShallowEqual):
(TestHarness.prototype.expectNotShallowEqual):
(TestHarness.prototype.expectEqualWithAccuracy):
(TestHarness.prototype.expectLessThan):
(TestHarness.prototype.expectLessThanOrEqual):
(TestHarness.prototype.expectGreaterThan):
(TestHarness.prototype.expectGreaterThanOrEqual):
LayoutTests:
Web Inspector: Add TestHarness assertions/expectations to provide additional semantics similar to XCTest
https://bugs.webkit.org/show_bug.cgi?id=161278
<rdar://problem/28039741>
Reviewed by Joseph Pecoraro.
Add test to verify that the TestHarness.expect* family of functions
trivially work. Since it isn't possible to verify the TestPage results
directly without introducing additional complexity, simply log baseline
"PASS" and "FAIL" results for each function.
- inspector/unit-tests/test-harness-expect-functions-expected.txt: Added.
- inspector/unit-tests/test-harness-expect-functions.html: Added.
- 3:36 PM Changeset in webkit [205833] by
-
- 4 edits in trunk
URLParser: Correctly handle relative URLs that are just a scheme and a colon
https://bugs.webkit.org/show_bug.cgi?id=161876
Reviewed by Brady Eidson.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 3:35 PM Changeset in webkit [205832] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION (r205223): Web Inspector: Debugger popover title and code aren't horizontally aligned
https://bugs.webkit.org/show_bug.cgi?id=161848
<rdar://problem/28250703>
Reviewed by Matt Baker.
- UserInterface/Views/SourceCodeTextEditor.css:
(.popover .debugger-popover-content > .title):
(.popover .debugger-popover-content.function > .body):
Make left and right padding the same.
(.popover .debugger-popover-content.function > .body .CodeMirror pre):
Override left padding defined in CodeMirrorOverrides.css by.CodeMirror prerule.
- 3:16 PM Changeset in webkit [205831] by
-
- 2 edits in trunk/Source/WebCore
Remove OptionalColor
https://bugs.webkit.org/show_bug.cgi?id=161853
<rdar://problem/28252385>
Reviewed by Alex Christensen.
OptionalColor isn't used. The concept will be implemented
in a different manner.
- platform/graphics/Color.h:
- 3:13 PM Changeset in webkit [205830] by
-
- 9 edits1 add in trunk
[JSC] Use GetArrayLength for JSArray.length even when the array type is undecided
https://bugs.webkit.org/show_bug.cgi?id=161671
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-12
Reviewed by Geoffrey Garen.
JSTests:
- stress/get-array-length-on-undecided.js: Added.
Source/JavaScriptCore:
UndecidedShape is a type with storage. When we allocate an uninitialized JSArray,
it gets a butterfly with its length.
When we were querying that length, we were generating a generic GetById with inline cache.
This patch adds the missing bits to treat Undecided like the other types with storage.
- dfg/DFGArrayMode.cpp:
(JSC::DFG::canBecomeGetArrayLength):
(JSC::DFG::ArrayMode::refine):
- dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::usesButterfly):
(JSC::DFG::ArrayMode::lengthNeedsStorage):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::checkArray):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetArrayLength):
- 3:05 PM Changeset in webkit [205829] by
-
- 2 edits in trunk/Source/WebCore
Add Intersection Observer to the features.json file.
- features.json:
- 3:01 PM Changeset in webkit [205828] by
-
- 22 edits3 adds in trunk
[DFG][FTL] Add ArithTan
https://bugs.webkit.org/show_bug.cgi?id=161857
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/tan.js: Added.
- stress/arith-tan-on-various-types.js: Added.
(let.validInputTypedTestCases.validInputTestCases.map):
(isIdentical):
(opaqueTanNoArgument):
(testNoArgument):
(opaqueAllTypesTan):
(testAllTypesCall):
(testTangleTypeCall):
(testConstant):
(opaqueTanForSideEffects):
(testSideEffect.let.testObject.valueOf):
(testSideEffect):
(opaqueTanForCSE):
(testCSE.let.testObject.valueOf):
(testCSE):
(opaqueTanForDCE):
(testDCE.let.testObject.valueOf):
(testDCE):
(testException.opaqueTanWithException):
(testException):
- stress/ftl-arithtan.js: Added.
(foo):
Source/JavaScriptCore:
While ArithSin and ArithCos are supported, ArithTan is not supported yet.
And we also find that Math.tan is included in MotionMark's Multiply benchmark.
This patch adds ArithTan support in DFG and FTL. And it also cleans up the
existing ArithSin, ArithCos, and ArithLog compilations by unifying them.
The microbenchmark shows the 9% perf improvement.
tan 322.4819+-0.3766 295.8700+-0.3094 definitely 1.0899x faster
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp):
(JSC::DFG::SpeculativeJIT::compileArithCos):
(JSC::DFG::SpeculativeJIT::compileArithTan):
(JSC::DFG::SpeculativeJIT::compileArithSin):
(JSC::DFG::SpeculativeJIT::compileArithLog):
- 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::compileArithTan):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::doubleTan):
- ftl/FTLOutput.h:
- runtime/Intrinsic.h:
- runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
- 2:46 PM Changeset in webkit [205827] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Hide PrivateSymbol.concatSlowPath and other PrivateSymbols from memory edges
https://bugs.webkit.org/show_bug.cgi?id=156763
Patch by Devin Rousso <Devin Rousso> on 2016-09-12
Reviewed by Joseph Pecoraro.
- UserInterface/Proxies/HeapSnapshotEdgeProxy.js:
(WebInspector.HeapSnapshotEdgeProxy.prototype.isPrivateSymbol):
Checks that the edge data does not begin with "PrivateSymbol".
- UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
(WebInspector.HeapSnapshotInstanceDataGridNode.prototype._populate):
Only add child nodes if they are not PrivateSymbol nodes.
- 2:44 PM Changeset in webkit [205826] by
-
- 6 edits in trunk/Source
[Cocoa] Reduce uses of CGFonts in favor of CTFonts
https://bugs.webkit.org/show_bug.cgi?id=161809
Reviewed by Daniel Bates.
Source/WebCore:
Eventually, we want to remove the cgFont() member of PlatformFontData for both memory
savings and conceptual clarity. Because there is no performance loss from moving from
CGFontGetGlyphsForUnichars() to CTFontGetGlyphsForCharacters(), making this switch
gets us closer to reducing the uses of cgFont().
No new tests because there is no behavior change.
- platform/graphics/Font.cpp:
(WebCore::createAndFillGlyphPage):
- platform/graphics/GlyphPage.h:
(WebCore::GlyphData::GlyphData):
- platform/graphics/mac/GlyphPageMac.cpp:
(WebCore::shouldFillWithVerticalGlyphs):
(WebCore::GlyphPage::fill):
(WebCore::shouldUseCoreText): Deleted.
Source/WTF:
- wtf/unicode/CharacterNames.h:
- 2:42 PM Changeset in webkit [205825] by
-
- 5 edits in trunk
AX: WKWebView for macOS does not allow configuration of tabsToLinks
https://bugs.webkit.org/show_bug.cgi?id=161394
Patch by DAN SAUNDERS <dasau@microsoft.com> on 2016-09-12
Reviewed by Anders Carlsson.
Source/WebKit2:
- UIProcess/API/Cocoa/WKPreferences.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences encodeWithCoder:]):
(-[WKPreferences initWithCoder:]):
(-[WKPreferences tabFocusesLinks]):
(-[WKPreferences setTabFocusesLinks:]):
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/Coding.mm:
(TEST):
- 2:30 PM Changeset in webkit [205824] by
-
- 4 edits in trunk
Remove trailing control characters and spaces before parsing a URL
https://bugs.webkit.org/show_bug.cgi?id=161870
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::bufferView):
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 2:23 PM Changeset in webkit [205823] by
-
- 3 edits2 adds in trunk
window.performance object resets script-applied properties
https://bugs.webkit.org/show_bug.cgi?id=137407
Reviewed by Darin Adler.
Source/WebCore:
Make sure the window.performance wrapper stays alive for as long as the
associated frame, similarly to what we do for window.screen.
Test: fast/performance/performance-object-gc.html
- page/Performance.idl:
LayoutTests:
Add layout test coverage.
- fast/performance/performance-object-gc-expected.txt: Added.
- fast/performance/performance-object-gc.html: Added.
- 2:13 PM Changeset in webkit [205822] by
-
- 10 edits1 add in trunk/Source
Add WebKit support for an option in Safari's debug menu similar to "Get Bytecode Profile" but for the Sampling Profiler's data
https://bugs.webkit.org/show_bug.cgi?id=161785
Reviewed by Tim Horton.
Source/WebCore:
- ForwardingHeaders/runtime/SamplingProfiler.h: Added.
Source/WebKit2:
This patch follows in the steps of how we dump output for the
internal JSC bytecode profiler tool, but now also for the internal
JSC sampling profiler tool. This can be used when doing performance
analysis work analyzing the JS execution of a page.
- UIProcess/API/C/WKPage.cpp:
(WKPageGetSamplingProfilerOutput):
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getSamplingProfilerOutput):
(WebKit::WebPageProxy::invalidateStringCallback):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getSamplingProfilerOutput):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 2:12 PM Changeset in webkit [205821] by
-
- 3 edits4 adds in trunk/Source/WebCore
[CSS Parser] Add support for the parsing of the HTML sizes attribute
https://bugs.webkit.org/show_bug.cgi?id=161868
Reviewed by Dean Jackson.
This patch adds the parsers for the sizes attribute. This code is heavily modified
from Blink, and it really only makes use of the tokenization/parsing code. What is done
with the results involves the same original code that we used over in SourceSizeList.cpp.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/parser/SizesAttributeParser.cpp: Added.
(WebCore::SizesAttributeParser::computeLength):
(WebCore::SizesAttributeParser::SizesAttributeParser):
(WebCore::SizesAttributeParser::length):
(WebCore::SizesAttributeParser::calculateLengthInPixels):
(WebCore::SizesAttributeParser::mediaConditionMatches):
(WebCore::SizesAttributeParser::parse):
(WebCore::SizesAttributeParser::effectiveSize):
(WebCore::SizesAttributeParser::effectiveSizeDefaultValue):
- css/parser/SizesAttributeParser.h: Added.
- css/parser/SizesCalcParser.cpp: Added.
(WebCore::SizesCalcParser::SizesCalcParser):
(WebCore::SizesCalcParser::result):
(WebCore::operatorPriority):
(WebCore::SizesCalcParser::handleOperator):
(WebCore::SizesCalcParser::appendNumber):
(WebCore::SizesCalcParser::appendLength):
(WebCore::SizesCalcParser::appendOperator):
(WebCore::SizesCalcParser::calcToReversePolishNotation):
(WebCore::operateOnStack):
(WebCore::SizesCalcParser::calculate):
- css/parser/SizesCalcParser.h: Added.
(WebCore::SizesCalcValue::SizesCalcValue):
(WebCore::SizesCalcParser::isValid):
- 2:09 PM Changeset in webkit [205820] by
-
- 10 edits in trunk
Fix failing mediasource-play.html and mediasource-config-change-mp4-v-bitrate.html tests
https://bugs.webkit.org/show_bug.cgi?id=161819
Reviewed by Eric Carlson.
Source/WebCore:
Fixes tests: imported/w3c/web-platform-tests/media-source/mediasource-play.html
imported/w3c/web-platform-tests/media-source/mediasource-sourcebuffer-mode.html
The newest revision of the web-platform-test suite for Media Source tests new behavior
added to the MSE specification. Specifically, setting a MediaSource's duration will no
longer implicitly truncate the source's active SourceBuffer objects.
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setDuration): Return exception if issued by setDurationInternal.
(WebCore::MediaSource::setDurationInternal): Bring "duration change" algorithm up to spec.
- Modules/mediasource/MediaSource.h:
- Modules/mediasource/SampleMap.h:
(WebCore::PresentationOrderSampleMap::begin): Add const accessor.
(WebCore::PresentationOrderSampleMap::end): Ditto.
(WebCore::PresentationOrderSampleMap::rbegin): Ditto.
(WebCore::PresentationOrderSampleMap::rend): DItto.
(WebCore::DecodeOrderSampleMap::begin): Ditto.
(WebCore::DecodeOrderSampleMap::end): Ditto.
(WebCore::DecodeOrderSampleMap::rbegin): Ditto.
(WebCore::DecodeOrderSampleMap::rend): Ditto.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::highestPresentationTimestamp): Added convenience method.
(WebCore::SourceBuffer::removeCodedFrames): Drive-by fix; use .values() rather than
pulling the value out of each HashMap iterator.
- Modules/mediasource/SourceBuffer.h:
LayoutTests:
- media/media-source/media-source-end-of-stream-readyState.html:
- media/media-source/media-source-end-of-stream-readyState-expected.txt:
- platform/mac/TestExpectations:
- 2:04 PM Changeset in webkit [205819] by
-
- 7 edits1 add in trunk
MapHash should do constant folding when it has a constant argument and its legal to hash that value
https://bugs.webkit.org/show_bug.cgi?id=161639
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/map-constant-key.js: Added.
(assert):
(test):
(foo):
Source/JavaScriptCore:
We now constant fold the MapHash node. We're careful to not resolve
ropes from the compiler thread, and to only hash strings if they're
not too large. The microbenchmark I added runs about 12% faster with
this patch.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- runtime/HashMapImpl.h:
(JSC::wangsInt64Hash):
(JSC::jsMapHash):
(JSC::concurrentJSMapHash):
Source/WTF:
This patch adds a concurrentHash method to StringImpl. It's
probably safe to get the actual hash while being racy, however,
it's simpler and more future proof to not have to worry about
that and to just compute it on demand. Users of this API should
be aware that it's doing non-trivial work. Currently, the only
user is JSC's JIT compilers, and they only ask for hashes for small-ish
strings.
- wtf/text/StringImpl.h:
- wtf/text/StringStatics.cpp:
(WTF::StringImpl::concurrentHash):
- 12:50 PM Changeset in webkit [205818] by
-
- 23 edits in trunk/Source
Switch remaining users of Document::inPageCache() to pageCacheState()
https://bugs.webkit.org/show_bug.cgi?id=161865
Reviewed by Darin Adler.
Switch remaining users of Document::inPageCache() to pageCacheState() as
the former one is confusing (given that it returns true while the
pagehide event is being fired).
Source/WebCore:
- dom/Document.cpp:
(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::fontsNeedUpdate):
(WebCore::Document::removeFocusedNodeOfSubtree):
(WebCore::Document::setFocusedElement):
(WebCore::Document::takeDOMWindowFrom):
(WebCore::Document::topDocument):
(WebCore::Document::webkitWillEnterFullScreenForElement):
(WebCore::Document::webkitDidEnterFullScreenForElement):
(WebCore::Document::webkitWillExitFullScreenForElement):
(WebCore::Document::webkitDidExitFullScreenForElement):
- dom/Document.h:
(WebCore::Document::needsStyleRecalc):
(WebCore::Document::inPageCache): Deleted.
- history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame):
(WebCore::CachedFrame::clear):
(WebCore::CachedFrame::destroy):
- html/HTMLMediaElement.cpp:
(WebCore::mediaElementIsAllowedToAutoplay):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::createElementRenderer):
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::addSubresourceLoader):
- loader/HistoryController.cpp:
(WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::decrementScrollEventListenersCount):
- page/FrameView.cpp:
(WebCore::FrameView::layout):
- page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::setNeedsStyleRecalc):
- page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::updateAnimations):
(WebCore::AnimationControllerPrivate::addElementChangeToDispatch):
(WebCore::AnimationController::cancelAnimations):
(WebCore::AnimationController::updateAnimations):
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::sendTransitionEvent):
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::sendAnimationEvent):
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
- rendering/RenderElement.cpp:
(WebCore::shouldRepaintForImageAnimation):
(WebCore::RenderElement::newImageAnimationFrameAvailable):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::willRemoveScrollingLayerWithBacking):
(WebCore::RenderLayerCompositor::didAddScrollingLayer):
- rendering/RenderObject.cpp:
(WebCore::printRenderTreeForLiveDocuments):
(WebCore::printLayerTreeForLiveDocuments):
- rendering/RenderView.cpp:
(WebCore::RenderView::lazyRepaintTimerFired):
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlowsForCurrentPage):
Source/WebKit/mac:
- WebView/WebHTMLView.mm:
(-[WebHTMLView layoutToMinimumPageWidth:height:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustingViewSize:]):
(-[WebHTMLView setNeedsLayout:]):
(-[WebHTMLView setNeedsToApplyStyles:]):
- 11:59 AM Changeset in webkit [205817] by
-
- 7 edits in trunk/Source
Enhance Network logging
https://bugs.webkit.org/show_bug.cgi?id=161771
Reviewed by Antti Koivisto.
Modify current logging statements to follow a consistent pattern in
order to enhance readability and parsing.
Source/WebCore:
No new tests -- there are no tests for logging.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
Source/WebKit2:
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::didReceiveResponse):
(WebKit::Download::didReceiveData):
(WebKit::Download::didFinish):
(WebKit::Download::didFail):
(WebKit::Download::didCancel):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFailLoading):
(WebKit::NetworkResourceLoader::continueWillSendRequest):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::didFailResourceLoad):
(WebKit::WebResourceLoader::didReceiveResource):
- 11:45 AM Changeset in webkit [205816] by
-
- 2 edits in trunk/JSTests
JSC test timeout: ChakraCore.yaml/ChakraCore/test/Bugs/bug56026_trycatch.js.default
https://bugs.webkit.org/show_bug.cgi?id=161863
Reviewed by Saam Barati.
- ChakraCore.yaml:
Disabled Bugs/bug56026_trycatch.js.
- 11:35 AM Changeset in webkit [205815] by
-
- 3 edits2 adds in trunk
Web Inspector: Object.shallowEqual() should return false if object prototype chains differ
https://bugs.webkit.org/show_bug.cgi?id=161852
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
Improve Object.shallowEqual so it won't produce false positives.
- UserInterface/Base/Utilities.js:
(value):
Object.shallowEqual should return false for non-array arguments.
Since typeof null === "object", useinstanceofinstead to avoid separate
null checks. Also use Array.shallowEqual fast path when both arguments are arrays.
LayoutTests:
- inspector/unit-tests/object-utilities-expected.txt: Added.
- inspector/unit-tests/object-utilities.html: Added.
Add test coverage for Object.shallowEqual.
- 11:18 AM Changeset in webkit [205814] by
-
- 2 edits in trunk/Source/WebCore
Crash in com.apple.WebCore: WebCore::NavigatorGamepad::gamepadFromPlatformGamepad.
<rdar://problem/28018073> and https://bugs.webkit.org/show_bug.cgi?id=161694
Reviewed by Alex Christensen.
No new tests (Caught by existing tests in some configurations).
- Modules/gamepad/GamepadManager.cpp:
(WebCore::GamepadManager::platformGamepadInputActivity): Null check.
- 11:10 AM Changeset in webkit [205813] by
-
- 4 edits in trunk
Fix more URLParser quirks
https://bugs.webkit.org/show_bug.cgi?id=161834
Reviewed by Brady Eidson.
Source/WebCore:
Added new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Skip some tabs and newlines. The spec says to remove them before processing the String,
but to reduce allocations I am skipping them whenever we increment an iterator.
Fix a few other quirks to be more web platform conformant.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:06 AM Changeset in webkit [205812] by
-
- 4 edits in trunk
Optimize URLParser performance
https://bugs.webkit.org/show_bug.cgi?id=161837
Reviewed by Brady Eidson.
Source/WebCore:
No change in behavior. Existing behavior covered by API tests and added a new API test.
- platform/URLParser.cpp:
(WebCore::isDefaultPort):
Use switch statements instead of HashMap lookups.
(WebCore::isSpecialScheme):
Use switch statements instead of repeated String comparisons.
(WebCore::URLParser::parsePort):
Reduce String allocation.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
Added a test to verify the case insensitivity of the default port checks.
- 9:52 AM Changeset in webkit [205811] by
-
- 2 edits in trunk/LayoutTests
Marking accessibility/mac/value-change/value-change-user-info-contenteditable.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=160042
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 9:08 AM Changeset in webkit [205810] by
-
- 4 edits in trunk/Source
DFG::forAllKilledOperands() could use a faster bitvector scan in the same-inline-stack fast path
https://bugs.webkit.org/show_bug.cgi?id=161849
Reviewed by Saam Barati.
Source/JavaScriptCore:
This is a fairly obvious change. This turns a loop that would query each bit individually
into a loop that will process a word at a time. I would expect a very tiny progression in
DFG compile times.
This also gave me an opportunity to test and fix the new FastBitVector functionality.
- dfg/DFGForAllKills.h:
(JSC::DFG::forAllKilledOperands):
Source/WTF:
It turns out that templates make private fields weird. FastBitVectorImpl can't necessarily
touch privates in instances of different template specializations of itself. So, I added a
public method called wordView() that exposes the necessary private field.
- wtf/FastBitVector.h:
(WTF::FastBitVectorImpl::operator&):
(WTF::FastBitVectorImpl::operator|):
(WTF::FastBitVectorImpl::operator~):
(WTF::FastBitVectorImpl::forEachSetBit):
(WTF::FastBitVectorImpl::wordView):
- 8:50 AM Changeset in webkit [205809] by
-
- 21 edits2 adds in trunk
Make -webkit-transition-* and -webkit-animation-* properties be pure aliases of the unprefixed ones
https://bugs.webkit.org/show_bug.cgi?id=160478
Reviewed by Dean Jackson.
Source/WebCore:
Remove the custom -webkit prefixed transition and animation properties, and just make
them aliases of the unprefixed ones, as we do for transforms.
-webkit-animation-trigger remains as the only prefixed-only animation property.
This is mostly code deletion.
Test: fast/css/longhand-overrides-shorthand-prefixing.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSProperty.h:
(WebCore::prefixingVariantForPropertyId): Deleted.
- css/CSSPropertyNames.in:
- css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapAnimationDelay):
(WebCore::CSSToStyleMap::mapAnimationDirection):
(WebCore::CSSToStyleMap::mapAnimationDuration):
(WebCore::CSSToStyleMap::mapAnimationFillMode):
(WebCore::CSSToStyleMap::mapAnimationIterationCount):
(WebCore::CSSToStyleMap::mapAnimationName):
(WebCore::CSSToStyleMap::mapAnimationPlayState):
(WebCore::CSSToStyleMap::mapAnimationProperty):
(WebCore::CSSToStyleMap::mapAnimationTimingFunction):
- css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
(WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue):
(WebCore::MutableStyleProperties::removeShorthandProperty):
(WebCore::StyleProperties::asText):
- css/StylePropertyShorthand.cpp:
(WebCore::animationShorthandForParsing):
- css/StylePropertyShorthand.h:
- css/StyleResolver.cpp:
(WebCore::StyleResolver::styleForKeyframe):
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::parseTransitionShorthand):
(WebCore::CSSParser::parseAnimationProperty):
(WebCore::CSSParser::addPropertyWithPrefixingVariant): Deleted.
- css/parser/CSSParser.h:
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::makeOpaque):
(WebCore::MediaControlPanelElement::makeTransparent):
LayoutTests:
Updated results, and a new test to ensure that longhand properties override
shorthand ones, with various combinations of prefixing.
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- fast/css/longhand-overrides-shorthand-prefixing-expected.txt: Added.
- fast/css/longhand-overrides-shorthand-prefixing.html: Added.
- fast/css/prefixed-unprefixed-variant-style-declaration-expected.txt:
- fast/css/prefixed-unprefixed-variant-style-declaration.html:
- transitions/svg-transitions-expected.txt:
- transitions/transitions-parsing-expected.txt:
- transitions/transitions-parsing.html:
- 5:31 AM Changeset in webkit [205808] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r205090.
- platform/cf/MediaAccessibilitySoftLink.cpp:
- 4:46 AM Changeset in webkit [205807] by
-
- 8 edits2 adds in trunk
[css-align] Initial values are parsed as invalid for some Alignment properties
https://bugs.webkit.org/show_bug.cgi?id=161303
Reviewed by Darin Adler.
Source/WebCore:
Due to the implementation of the new CSS Box Alignment specification,
some properties have now new values allowed, which are not valid
according to the Flexible Box Layout specification.
In r205102 we have get back the keywordID parsing, originally implemented for
the Flexbible Box Layout specification. Even though the new valued would be
parsed as invalid when they are set, the 'initial' values will be assigned
in any case.
This patch verifies that the 'initial' values depend on whether the Grid
Layout is enabled or not and verifying such values are parsed as valid.
Additionally, it gets back as well they keywordID parsing for the Content
Alignment properties (align-content and justify-content). This required to
touch a bit the StyleBuilderConverter logic, since we will have to deal with
either the complex CSSContentDistributionValue complex or the simpler
CSSPrimitiveValue.
Test: fast/css/ensure-flexbox-compatibility-with-initial-values.html
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertContentAlignmentData): Handling a primitive value if Grid Layout is not enabled.
- css/parser/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue): Simpler parsing of alignment properties if Grid Layout is not enabled.
(WebCore::isKeywordPropertyID): Alignment properties are defined as keyword if Grid Layout is no enabled.
(WebCore::CSSParser::parseValue): Assert Grid Layout is enabled when using the complex parsing.
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::isCSSGridLayoutEnabled): Checking out the Grid Layout runtime flags.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::initialDefaultAlignment): Initial value will depend on whether Grid Layout is enabled or not.
(WebCore::RenderStyle::initialContentAlignment): Initial value will depend on whether Grid Layout is enabled or not.
LayoutTests:
Test to verify the "initial" values of the CSS Box Alignment properties
are parsed as valid independently of whether Grid Layout is enabled or not.
- fast/css/ensure-flexbox-compatibility-with-initial-values-expected.txt: Added.
- fast/css/ensure-flexbox-compatibility-with-initial-values.html: Added.
- fast/css/resources/alignment-parsing-utils.js:
(checkSupportedValues):
- 2:28 AM Changeset in webkit [205806] by
-
- 3 edits in trunk/Source/WebCore
ol.start may return incorrect value for reversed lists when not explicitly set
https://bugs.webkit.org/show_bug.cgi?id=161713
Reviewed by Ryosuke Niwa.
Fix style nit after r205689.
- html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::itemCount):
(WebCore::HTMLOListElement::itemCountAfterLayout):
- html/HTMLOListElement.h:
- 2:26 AM Changeset in webkit [205805] by
-
- 5 edits in trunk/Source/WebCore
Start using Document::pageCacheState() instead of Document::inPageCache()
https://bugs.webkit.org/show_bug.cgi?id=161851
Reviewed by Ryosuke Niwa.
Start using Document::pageCacheState() instead of Document::inPageCache()
as the latter one is confusing (given that it is true when firing the
pagehide event, when the document is about to enter page cache).
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::closeURL):
(WebCore::FrameLoader::clear):
(WebCore::FrameLoader::dispatchUnloadEvents):
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load):
- page/Page.cpp:
(WebCore::incrementFrame): Deleted.
- page/Page.h:
- 1:09 AM Changeset in webkit [205804] by
-
- 1 copy in tags/Safari-602.1.50.0.9
New tag.
- 12:54 AM Changeset in webkit [205803] by
-
- 9 edits2 copies2 adds in branches/safari-602-branch
Merge r205788. rdar://problem/28245097
- 12:54 AM Changeset in webkit [205802] by
-
- 8 edits in branches/safari-602-branch
Merge r205154. rdar://problem/28233330
- 12:54 AM Changeset in webkit [205801] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r204943. rdar://problem/28233330
- 12:54 AM Changeset in webkit [205800] by
-
- 4 edits2 adds in branches/safari-602-branch
Merge r204923. rdar://problem/28233330
- 12:53 AM Changeset in webkit [205799] by
-
- 7 edits1 add in branches/safari-602-branch
Merge r205784. rdar://problem/28230123
- 12:53 AM Changeset in webkit [205798] by
-
- 5 edits1 add in branches/safari-602-branch
Merge r205783. rdar://problem/28229756
- 12:53 AM Changeset in webkit [205797] by
-
- 13 edits1 copy1 add in branches/safari-602-branch
Merge r205765. rdar://problem/28033492
- 12:21 AM Changeset in webkit [205796] by
-
- 5 edits in branches/safari-602.1.50.0-branch/Source
Versioning.
Sep 11, 2016:
- 11:54 PM Changeset in webkit [205795] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 9:03 PM Changeset in webkit [205794] by
-
- 17 edits1 delete in trunk/Source
FastBitVector should have efficient and easy-to-use vector-vector operations
https://bugs.webkit.org/show_bug.cgi?id=161847
Reviewed by Saam Barati.
Source/JavaScriptCore:
Adapt existing users of FastBitVector to the new API.
- bytecode/BytecodeLivenessAnalysis.cpp:
(JSC::BytecodeLivenessAnalysis::computeKills):
(JSC::BytecodeLivenessAnalysis::dumpResults):
- bytecode/BytecodeLivenessAnalysisInlines.h:
(JSC::operandThatIsNotAlwaysLiveIsLive):
(JSC::BytecodeLivenessPropagation<DerivedAnalysis>::stepOverInstruction):
(JSC::BytecodeLivenessPropagation<DerivedAnalysis>::runLivenessFixpoint):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::validate):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::flushForTerminal):
- dfg/DFGForAllKills.h:
(JSC::DFG::forAllKilledOperands):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::forAllLocalsLiveInBytecode):
- dfg/DFGLiveCatchVariablePreservationPhase.cpp:
(JSC::DFG::LiveCatchVariablePreservationPhase::willCatchException):
(JSC::DFG::LiveCatchVariablePreservationPhase::handleBlock):
- dfg/DFGNaturalLoops.cpp:
(JSC::DFG::NaturalLoops::NaturalLoops):
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::cleanMustHandleValuesIfNecessary):
Source/WTF:
FastBitVector is a bitvector representation that supports manual dynamic resizing and is
optimized for speed, not space. (BitVector supports automatic dynamic resizing and is
optimized for space, while Bitmap is sized statically and is optimized for both speed and
space.) This change greatly increases the power of FastBitVector. We will use these new
powers for changing the JSC GC to use FastBitVectors to track sets of MarkedBlocks (bug
161581) instead of using a combination of Vectors and doubly-linked lists.
This change splits FastBitVector into two parts:
- A thing that manages the storage of a bitvector: a uint32_t array and a size_t numBits. We call this the word view.
- A thing that takes some kind of abstract array of uint32_t's and does bitvector operations to it. We call this the FastBitVectorImpl.
FastBitVectorImpl and word views are immutable. The FastBitVector class is a subclass of
FastBitVectorImpl specialized on a word view that owns its words and has additional
support for mutable operations.
Doing this allows us to efficiently support things like this without any unnecessary
memory allocation or copying:
FastBitVector a, b, c; Assume that there is code to initialize these.
a &= b | ~c;
Previously, this kind of operation would not be efficient, because "~c" would have to
create a whole new FastBitVector. But now, it just returns a FastBitVectorImpl whose
underlying word view bitnots (~) its words on the fly. Using template magic, this can get
pretty complex. For example "b | ~c" returns a FastBitVectorImpl that wraps a word view
whose implementation of WordView::word(size_t index) is something like:
uint32_t word(size_t index) { return b.m_words.word(index) | ~c.m_words.word(index); }
FastBitVectorImpl supports all of the fast bulk bitvector operations, like
forEachSetBit(), bitCount(), etc. So, when you say "a &= b | ~c", the actual
implementation is going to run these bit operations on word granularity directly over the
storage inside a, b, c.
The use of operator overloading is worth explaining a bit. Previously, FastBitVector
avoided operator overloading. For example, the &= operation was called filter(). I think
that this was a pretty good approach at the time. I tried using non-operator methods in
this FastBitVector rewrite, but I found it very odd to say things like:
a.filter(b.bitOr(c.bitNot()));
I think that it's harder to see what is going on here, then using operators, because infix
notation is always better.
- WTF.xcodeproj/project.pbxproj:
- wtf/BitVector.h:
(WTF::BitVector::findBitInWord): Deleted.
- wtf/CMakeLists.txt:
- wtf/Dominators.h:
(WTF::Dominators::NaiveDominators::NaiveDominators):
(WTF::Dominators::NaiveDominators::dominates):
(WTF::Dominators::NaiveDominators::pruneDominators):
- wtf/FastBitVector.cpp: Removed.
- wtf/FastBitVector.h:
(WTF::fastBitVectorArrayLength):
(WTF::FastBitVectorWordView::FastBitVectorWordView):
(WTF::FastBitVectorWordView::numBits):
(WTF::FastBitVectorWordView::word):
(WTF::FastBitVectorWordOwner::FastBitVectorWordOwner):
(WTF::FastBitVectorWordOwner::~FastBitVectorWordOwner):
(WTF::FastBitVectorWordOwner::view):
(WTF::FastBitVectorWordOwner::operator=):
(WTF::FastBitVectorWordOwner::setAll):
(WTF::FastBitVectorWordOwner::clearAll):
(WTF::FastBitVectorWordOwner::set):
(WTF::FastBitVectorWordOwner::numBits):
(WTF::FastBitVectorWordOwner::arrayLength):
(WTF::FastBitVectorWordOwner::resize):
(WTF::FastBitVectorWordOwner::word):
(WTF::FastBitVectorWordOwner::words):
(WTF::FastBitVectorAndWords::FastBitVectorAndWords):
(WTF::FastBitVectorAndWords::view):
(WTF::FastBitVectorAndWords::numBits):
(WTF::FastBitVectorAndWords::word):
(WTF::FastBitVectorOrWords::FastBitVectorOrWords):
(WTF::FastBitVectorOrWords::view):
(WTF::FastBitVectorOrWords::numBits):
(WTF::FastBitVectorOrWords::word):
(WTF::FastBitVectorNotWords::FastBitVectorNotWords):
(WTF::FastBitVectorNotWords::view):
(WTF::FastBitVectorNotWords::numBits):
(WTF::FastBitVectorNotWords::word):
(WTF::FastBitVectorImpl::FastBitVectorImpl):
(WTF::FastBitVectorImpl::numBits):
(WTF::FastBitVectorImpl::size):
(WTF::FastBitVectorImpl::arrayLength):
(WTF::FastBitVectorImpl::operator==):
(WTF::FastBitVectorImpl::operator!=):
(WTF::FastBitVectorImpl::at):
(WTF::FastBitVectorImpl::operator[]):
(WTF::FastBitVectorImpl::bitCount):
(WTF::FastBitVectorImpl::operator&):
(WTF::FastBitVectorImpl::operator|):
(WTF::FastBitVectorImpl::operator~):
(WTF::FastBitVectorImpl::forEachSetBit):
(WTF::FastBitVectorImpl::forEachClearBit):
(WTF::FastBitVectorImpl::forEachBit):
(WTF::FastBitVectorImpl::findBit):
(WTF::FastBitVectorImpl::findSetBit):
(WTF::FastBitVectorImpl::findClearBit):
(WTF::FastBitVectorImpl::dump):
(WTF::FastBitVectorImpl::atImpl):
(WTF::FastBitVector::FastBitVector):
(WTF::FastBitVector::operator=):
(WTF::FastBitVector::resize):
(WTF::FastBitVector::setAll):
(WTF::FastBitVector::clearAll):
(WTF::FastBitVector::setAndCheck):
(WTF::FastBitVector::operator|=):
(WTF::FastBitVector::operator&=):
(WTF::FastBitVector::at):
(WTF::FastBitVector::operator[]):
(WTF::FastBitVector::BitReference::BitReference):
(WTF::FastBitVector::BitReference::operator bool):
(WTF::FastBitVector::BitReference::operator=):
(WTF::FastBitVector::~FastBitVector): Deleted.
(WTF::FastBitVector::numBits): Deleted.
(WTF::FastBitVector::set): Deleted.
(WTF::FastBitVector::equals): Deleted.
(WTF::FastBitVector::merge): Deleted.
(WTF::FastBitVector::filter): Deleted.
(WTF::FastBitVector::exclude): Deleted.
(WTF::FastBitVector::clear): Deleted.
(WTF::FastBitVector::get): Deleted.
(WTF::FastBitVector::bitCount): Deleted.
(WTF::FastBitVector::forEachSetBit): Deleted.
(WTF::FastBitVector::arrayLength): Deleted.
- wtf/StdLibExtras.h:
(WTF::findBitInWord):
- 8:29 PM Changeset in webkit [205793] by
-
- 2 edits4 adds14 deletes in trunk/Source/WebInspectorUI
Web Inspector: Combine similar SVG files for Styles sidebar
https://bugs.webkit.org/show_bug.cgi?id=161071
Patch by Devin Rousso <Devin Rousso> on 2016-09-11
Reviewed by Joseph Pecoraro.
- UserInterface/Images/StyleRule.svg: Added.
- UserInterface/Images/StyleRulePseudoElement.svg: Added.
Replaced <defs> with <symbol> give CSS some access to the referenced DOM inside <symbol>.
Since <symbol> uses Shadow DOM, applying CSS variables to the :target element and using
them inside <symbol> allows for variable styling of the content. Using a more basic
#foo .barselector would not be valid since Shadow DOM separates the stylesheet selectors.
- UserInterface/Images/gtk/StyleRule.svg: Added.
- UserInterface/Images/gtk/StyleRulePseudoElement.svg: Added.
- UserInterface/Images/StyleRuleAuthor.svg: Removed.
- UserInterface/Images/StyleRuleInherited.svg: Removed.
- UserInterface/Images/StyleRuleInspector.svg: Removed.
- UserInterface/Images/StyleRuleUser.svg: Removed.
- UserInterface/Images/StyleRuleUserAgent.svg: Removed.
- UserInterface/Images/gtk/StyleRuleAuthor.svg: Removed.
- UserInterface/Images/gtk/StyleRuleInherited.svg: Removed.
- UserInterface/Images/gtk/StyleRuleInspector.svg: Removed.
- UserInterface/Images/gtk/StyleRuleUser.svg: Removed.
- UserInterface/Images/gtk/StyleRuleUserAgent.svg: Removed.
Merged into StyleRule.svg by using IDs in the URL.
- UserInterface/Images/StyleRuleAuthorPseudo.svg: Removed.
- UserInterface/Images/StyleRuleInspectorPseudo.svg: Removed.
- UserInterface/Images/StyleRuleUserAgentPseudo.svg: Removed.
- UserInterface/Images/StyleRuleUserPseudo.svg: Removed.
Merged into StyleRulePseudoElement.svg by using IDs in the URL.
- UserInterface/Views/StyleRuleIcons.css:
(.author-style-rule-icon .icon):
(.author-style-rule-icon.pseudo-element-selector .icon):
(.user-style-rule-icon .icon):
(.user-style-rule-icon.pseudo-element-selector .icon):
(.user-agent-style-rule-icon .icon):
(.user-agent-style-rule-icon.pseudo-element-selector .icon):
(.inspector-style-rule-icon .icon):
(.inspector-style-rule-icon.pseudo-element-selector .icon):
(.inherited-style-rule-icon .icon):
- 5:03 PM Changeset in webkit [205792] by
-
- 3 edits in trunk/Source/WebInspectorUI
REGRESSION (r205754): Web Inspector: Cannot click on links to stylesheets in Rules sidebar
https://bugs.webkit.org/show_bug.cgi?id=161838
Patch by Devin Rousso <Devin Rousso> on 2016-09-11
Reviewed by Brian Burg.
- UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section > .header > textarea):
(.style-declaration-section > .header > .origin):
Added z-index to the non-selector elements of the header. Also limited the size of the
selector textarea to just the size of the displayed selector text.
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor):
Fixed invalid enum value for propertyVisibilityMode.
- 3:30 PM Changeset in webkit [205791] by
-
- 11 edits in trunk
HTMLTrackElement.kind's invalid value default should be the metadata state
https://bugs.webkit.org/show_bug.cgi?id=161840
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Rebaseline existing tests now that more checks are passing.
- web-platform-tests/html/dom/reflection-embedded-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/kind-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/kind-expected.txt:
Source/WebCore:
HTMLTrackElement.kind's invalid value default should be the metadata state,
not the subtitles state:
Chrome agrees with the specification.
No new tests, rebaselined existing tests.
- html/track/TextTrack.cpp:
(WebCore::TextTrack::setKindKeywordIgnoringASCIICase):
LayoutTests:
- media/track/track-kind-expected.txt:
- media/track/track-kind.html:
Update existing test to reflect behavior change.
- media/track/w3c/interfaces/TextTrack/kind.html:
Re-sync test from W3C as it was outdated.
- 11:11 AM Changeset in webkit [205790] by
-
- 11 edits4 adds in trunk/Source/WebCore
[CSS Parser] Add the main parser implementation
https://bugs.webkit.org/show_bug.cgi?id=161813
Reviewed by Dean Jackson.
This patch adds the main CSSParserImpl that handles stylesheet and rule parsing. All parsing starts with this
class (it will eventually be invoked from the CSSParser). This patch also adds @supports parsing.
- WebCore.xcodeproj/project.pbxproj:
- css/CSSKeyframeRule.cpp:
(WebCore::StyleKeyframe::StyleKeyframe):
- css/CSSKeyframeRule.h:
- css/StyleRule.cpp:
(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy):
(WebCore::StyleRuleBase::createCSSOMWrapper):
(WebCore::StyleRuleCharset::StyleRuleCharset):
(WebCore::StyleRuleCharset::~StyleRuleCharset):
(WebCore::StyleRuleNamespace::StyleRuleNamespace):
(WebCore::StyleRuleNamespace::~StyleRuleNamespace):
- css/StyleRule.h:
(WebCore::StyleRuleBase::isNamespaceRule):
(isType):
(WebCore::StyleRuleBase::isKeyframesRule): Deleted.
- css/StyleSheetContents.cpp:
(WebCore::traverseSubresourcesInRules):
- css/parser/CSSParserImpl.cpp: Added.
(WebCore::CSSParserImpl::CSSParserImpl):
(WebCore::CSSParserImpl::parseValue):
(WebCore::CSSParserImpl::parseVariableValue):
(WebCore::filterProperties):
(WebCore::createStyleProperties):
(WebCore::CSSParserImpl::parseInlineStyleDeclaration):
(WebCore::CSSParserImpl::parseDeclarationList):
(WebCore::CSSParserImpl::parseRule):
(WebCore::CSSParserImpl::parseStyleSheet):
(WebCore::CSSParserImpl::parsePageSelector):
(WebCore::CSSParserImpl::parseCustomPropertySet):
(WebCore::CSSParserImpl::parseKeyframeKeyList):
(WebCore::CSSParserImpl::supportsDeclaration):
(WebCore::CSSParserImpl::parseDeclarationListForInspector):
(WebCore::CSSParserImpl::parseStyleSheetForInspector):
(WebCore::computeNewAllowedRules):
(WebCore::CSSParserImpl::consumeRuleList):
(WebCore::CSSParserImpl::consumeAtRule):
(WebCore::CSSParserImpl::consumeQualifiedRule):
(WebCore::consumeStringOrURI):
(WebCore::CSSParserImpl::consumeCharsetRule):
(WebCore::CSSParserImpl::consumeImportRule):
(WebCore::CSSParserImpl::consumeNamespaceRule):
(WebCore::CSSParserImpl::consumeMediaRule):
(WebCore::CSSParserImpl::consumeSupportsRule):
(WebCore::CSSParserImpl::consumeViewportRule):
(WebCore::CSSParserImpl::consumeFontFaceRule):
(WebCore::CSSParserImpl::consumeKeyframesRule):
(WebCore::CSSParserImpl::consumePageRule):
(WebCore::CSSParserImpl::consumeKeyframeStyleRule):
(WebCore::observeSelectors):
(WebCore::CSSParserImpl::consumeStyleRule):
(WebCore::CSSParserImpl::consumeDeclarationList):
(WebCore::CSSParserImpl::consumeDeclaration):
(WebCore::CSSParserImpl::consumeVariableValue):
(WebCore::CSSParserImpl::consumeDeclarationValue):
(WebCore::CSSParserImpl::consumeKeyframeKeyList):
- css/parser/CSSParserImpl.h: Added.
- css/parser/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePagePseudoSelector):
- css/parser/CSSParserValues.h:
- css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseValue):
- css/parser/CSSSupportsParser.cpp: Added.
(WebCore::CSSSupportsParser::supportsCondition):
(WebCore::CSSSupportsParser::consumeCondition):
(WebCore::CSSSupportsParser::consumeNegation):
(WebCore::CSSSupportsParser::consumeConditionInParenthesis):
- css/parser/CSSSupportsParser.h: Added.
(WebCore::CSSSupportsParser::CSSSupportsParser):
- 7:10 AM Changeset in webkit [205789] by
-
- 2 edits in trunk/LayoutTests
[EFL] Skip to test some w3c/web-platform-tests
Unreviewed EFL gardening.
Some tests of w3c/web-platform-tests have been flaky since r205777.
- platform/efl/TestExpectations
- 12:24 AM Changeset in webkit [205788] by
-
- 9 edits4 adds in trunk
Candidates that don't end in spaces shouldn't have spaces arbitrarily appended to them
https://bugs.webkit.org/show_bug.cgi?id=161846
<rdar://problem/28245097>
Reviewed by Beth Dakin.
Tests: editing/mac/spelling/accept-candidate-without-adding-space.html,
editing/mac/spelling/accept-candidate-allows-autocorrect-on-next-word.html
- editing/Editor.cpp:
(WebCore::Editor::handleAcceptedCandidate):
Stop appending a space just because the candidate doesn't end in a space.
There are languages where that doesn't make sense, and the platform
guarantees that candidates will always have spaces if they need them.
Also, adjust the way we compute the AcceptedCandidate document marker range.
There were two problems with the existing code: it expanded outward from
the post-insertion cursor in *both* directions, instead of just backwards,
and it used the length of the replaced text, not the length of the newly
inserted text (more of the confusion mentioned in r205765).
- editing/mac/spelling/accept-candidate-replacing-multiple-words-expected.txt:
- editing/mac/spelling/accept-candidate-replacing-multiple-words.html:
- editing/mac/spelling/accept-candidate-without-crossing-editing-boundary-expected.txt:
- editing/mac/spelling/accept-candidate-without-crossing-editing-boundary.html:
Update existing tests to put spaces at the end of accepted candidates to make them
more similar to what the OS will return to us.
- editing/mac/spelling/accept-candidate-without-adding-space-expected.txt: Added.
- editing/mac/spelling/accept-candidate-without-adding-space.html: Added.
Add a test where the accepted candidate does *not* have a space at the end,
testing that we don't add one where the candidate didn't contain one.
- editing/mac/spelling/accept-candidate-allows-autocorrect-on-next-word-expected.txt: Added.
- editing/mac/spelling/accept-candidate-allows-autocorrect-on-next-word.html: Added.
Add a test ensuring that the document marker added by accepting a candidate
doesn't overlap the next word and prevent autocorrect from working on it.
Sep 10, 2016:
- 11:08 AM Changeset in webkit [205787] by
-
- 18 edits in trunk
parseHTMLInteger() should take a StringView in parameter
https://bugs.webkit.org/show_bug.cgi?id=161669
Reviewed by Ryosuke Niwa.
Source/JavaScriptCore:
- runtime/DateConversion.cpp:
(JSC::formatDateTime):
Explicitly construct a String from the const WCHAR* on Windows because
it is ambiguous otherwise now that there is a StringBuilder::append()
overload taking an AtomicString in.
Source/WebCore:
parseHTMLInteger() should take a StringView in parameter instead of a
const String&.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseFontFaceSrcLocal):
- css/parser/CSSParserValues.h:
(WebCore::CSSParserString::toStringView):
Add toStringView() to avoid unnecessarily constructing a String for
calling StringBuilder::append().
- html/parser/HTMLParserIdioms.cpp:
(WebCore::parseHTMLInteger):
(WebCore::parseHTMLNonNegativeInteger):
(WebCore::parseHTTPRefreshInternal):
- html/parser/HTMLParserIdioms.h:
(WebCore::limitToOnlyHTMLNonNegativeNumbersGreaterThanZero):
(WebCore::limitToOnlyHTMLNonNegative):
Take a StringView in parameter instead of a const String&.
- platform/sql/SQLiteStatement.cpp:
(WebCore::SQLiteStatement::isColumnDeclaredAsBlob):
Avoid unnecessarily constructing a String to call equalLettersIgnoringASCIICase()
by leveraging the StringView constructor taking a 'const char*' in parameter.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
- rendering/RenderBlock.h:
Add constructTextRun() overload taking an AtomicString. It was otherwise ambiguous
because both a String or a StringView could be constructed from an AtomicString.
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::captionsDefaultFontCSS):
(WebCore::buildDisplayStringForTrackBase):
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsStyleSheet):
(WebCore::RenderThemeMac::mediaControlsScript):
Explicitly construct a String from NSString / CFStringRef types as such calls are
now ambiguous.
Source/WTF:
- wtf/text/StringBuilder.h:
(WTF::StringBuilder::append):
Add StringBuilder::append() overload taking an AtomicString in parameter.
It used to call StringBuilder::append(const String&) implicitly when
passing an AtomicString. However, it is now ambiguous because there
is an overload taking a StringView, and it is now possible to construct
a StringView from an AtomicString.
- wtf/text/StringView.h:
(WTF::StringView::StringView):
- Add StringView constructor taking an AtomicString in parameter for convenience. This avoids having to call AtomicString::string() explicitly at call sites.
- Add StringView constructor taking a 'const char*' in parameter for performance. There are several call sites that were passing a const char* and implicitly constructing an unnecessary String to construct a StringView. This became more obvious because the constructor taking an AtomicString in parameter made such calls ambiguous.
Tools:
Explicitly construct a String from the CFStringRef in order to call
StringBuilder::append(). This is needed now that there is an append()
overload taking an AtomicString in parameter.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
- 9:06 AM Changeset in webkit [205786] by
-
- 9 edits2 adds in trunk
It is possible for Document::m_frame pointer to become stale
https://bugs.webkit.org/show_bug.cgi?id=161812
<rdar://problem/27745023>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Document::m_frame is supposed to get cleared by Document::prepareForDestruction().
The Frame destructor calls Frame::setView(nullptr) which is supposed to call the
prepareForDestruction() on the Frame's associated document. However,
Frame::setView(nullptr) was calling prepareForDestruction() only if
Document::inPageCache() returned true. This is because, we allow Documents to
stay alive in the PageCache even though they don't have a frame.
The issue is that Document::m_inPageCache flag was set to true right before
firing the pagehide event, so technically before really entering PageCache.
Therefore, we can run into problems if a Frame gets destroyed by a pagehide
EventHandler because ~Frame() will not call Document::prepareForDestruction()
due to Document::m_inPageCache being true. After the frame is destroyed,
Document::m_frame becomes stale and any action on the document will likely
lead to crashes (such as the one in the layout test and the radar which
happens when trying to unregister event listeners from the document).
The solution adopted in this patch is to replace the m_inPageCache boolean
with a m_pageCacheState enumeration that has 3 states:
- NotInPageCache
- AboutToEnterPageCache
- InPageCache
Frame::setView() / Frame::setDocument() were then updated to call
Document::prepareForDestruction() on the associated document whenever
the document's pageCacheState is not InPageCache. This means that we
will now call Document::prepareForDestruction() when the document is
being detached from its frame while firing the pagehide event.
Note that I tried to keep this patch minimal. Therefore, I kept
the Document::inPageCache() getter for now. I plan to switch all its
calls sites to the new Document::pageCacheState() getter in a follow-up
patch so that we can finally drop the confusing Document::inPageCache().
Test: fast/history/pagehide-remove-iframe-crash.html
- dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::createRenderTree):
(WebCore::Document::destroyRenderTree):
(WebCore::Document::setFocusedElement):
(WebCore::Document::setPageCacheState):
(WebCore::Document::topDocument):
- dom/Document.h:
(WebCore::Document::pageCacheState):
(WebCore::Document::inPageCache):
- history/CachedFrame.cpp:
(WebCore::CachedFrame::destroy):
- history/PageCache.cpp:
(WebCore::setPageCacheState):
(WebCore::PageCache::addIfCacheable):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::open):
- loader/HistoryController.cpp:
(WebCore::HistoryController::invalidateCurrentItemCachedPage):
- page/Frame.cpp:
(WebCore::Frame::setView):
LayoutTests:
Add layout test that crashes on both Mac and iOS due to using a stale
Document::m_frame pointer.
- fast/history/pagehide-remove-iframe-crash-expected.txt: Added.
- fast/history/pagehide-remove-iframe-crash.html: Added.
- 8:06 AM Changeset in webkit [205785] by
-
- 2 edits in trunk/LayoutTests
[EFL] Mark new media source tests to failure
Unreviewed EFL gardening.
- platform/efl/TestExpectations: New added media source tests are failing.
- 4:42 AM WebKitGTK/2.14.x edited by
- (diff)
- 1:19 AM Changeset in webkit [205784] by
-
- 7 edits1 add in trunk
Apple.com keynote does not display media controls
https://bugs.webkit.org/show_bug.cgi?id=161833
<rdar://problem/28230123>
Reviewed by Tim Horton.
Source/WebCore:
Tweaks the main content check so that we can distinguish between main content for the purposes of determining
autoplay policy vs. main content for the purposes of showing media controls. Namely, we make the latter less
restrictive than the former in terms of the maximum aspect ratio a video can have to be considered the right
size for main content.
New unit test in TestWebKitAPI.
- html/HTMLMediaElement.cpp:
(WebCore::mediaElementSessionInfoForSession):
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canShowControlsManager):
(WebCore::MediaElementSession::isLargeEnoughForMainContent):
(WebCore::MediaElementSession::wantsToObserveViewportVisibilityForMediaControls):
(WebCore::isMainContentForPurposesOfAutoplay):
(WebCore::isElementLargeEnoughForMainContent):
(WebCore::MediaElementSession::updateIsMainContent):
(WebCore::isMainContent): Deleted.
- html/MediaElementSession.h:
Tools:
New unit test verifying that wide videos (~2 aspect ratio) still get media controls.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/wide-autoplaying-video-with-audio.html: Added.
Sep 9, 2016:
- 7:20 PM Changeset in webkit [205783] by
-
- 5 edits1 add in trunk
WKThumbnailView should expose a mode where it can be reparented without resnapshotting
https://bugs.webkit.org/show_bug.cgi?id=161828
<rdar://problem/28229756>
Reviewed by Alex Christensen.
- UIProcess/API/Cocoa/_WKThumbnailView.h:
- UIProcess/API/Cocoa/_WKThumbnailView.mm:
(-[_WKThumbnailView initWithFrame:fromWKView:]):
(-[_WKThumbnailView _viewWasUnparented]):
Add such a mode. Bail from snapshot teardown when unparented if it is on.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/WKThumbnailView.mm: Added.
(-[SnapshotSizeObserver observeValueForKeyPath:ofObject:change:context:]):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::TEST):
Add a test ensuring that this behaves correctly.
- 7:06 PM Changeset in webkit [205782] by
-
- 6 edits in trunk
URLParser: Keep track of cannot-be-a-base-url according to spec
https://bugs.webkit.org/show_bug.cgi?id=161830
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests.
- platform/URL.cpp:
(WebCore::URL::invalidate):
- platform/URL.h:
Add a boolean required by the spec.
This will not add to sizeof(URL) because we already have some bit fields.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::allValuesEqual):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 6:08 PM Changeset in webkit [205781] by
-
- 2 edits in trunk/Tools
Fix API tests after r205774.
https://bugs.webkit.org/show_bug.cgi?id=161820
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
I had committed the wrong expected path in one case. The functionality is correct.
- 5:59 PM Changeset in webkit [205780] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
[ANGLE] instantiation of variable 'gl::GLTypeToGLenum<float>::value' required here, but no definition is available
https://bugs.webkit.org/show_bug.cgi?id=161829
<rdar://problem/28051244>
Reviewed by Alex Christensen.
Newer versions of clang require explicit definition of some template types
if they are in another translation unit.
- src/libANGLE/Program.cpp: Add definitions for GLTypeToGLenum.
- 5:55 PM Changeset in webkit [205779] by
-
- 1 copy in tags/Safari-602.2.5
New tag.
- 5:49 PM Changeset in webkit [205778] by
-
- 3 edits1 move in trunk
Unreviewed, rolling r205759 back in with a fix.
An expectation file, JSTests/ChakraCore/test/Lib/tostring.baseline-jsc,
should be named "toString.baseline-jsc". For systems with case-insensitive
filesystems, the wrong name isn't an issue. That rename is part of this
fix.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests):
- 5:47 PM Changeset in webkit [205777] by
-
- 5 edits105 moves64 adds8 deletes in trunk/LayoutTests
[Media Source] Import updated w3c/web-platform-tests and rebaseline
https://bugs.webkit.org/show_bug.cgi?id=161723
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/media-source/OWNERS: Added.
- web-platform-tests/media-source/SourceBuffer-abort-expected.txt: Added.
- web-platform-tests/media-source/SourceBuffer-abort-readyState-expected.txt: Added.
- web-platform-tests/media-source/SourceBuffer-abort-readyState.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort-readyState.html.
- web-platform-tests/media-source/SourceBuffer-abort-removed-expected.txt: Added.
- web-platform-tests/media-source/SourceBuffer-abort-removed.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort-removed.html.
- web-platform-tests/media-source/SourceBuffer-abort-updating-expected.txt: Added.
- web-platform-tests/media-source/SourceBuffer-abort-updating.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort-updating.html.
- web-platform-tests/media-source/SourceBuffer-abort.html: Renamed from LayoutTests/http/tests/media/media-source/SourceBuffer-abort.html.
- web-platform-tests/media-source/URL-createObjectURL-expected.txt: Added.
- web-platform-tests/media-source/URL-createObjectURL-null-expected.txt: Added.
- web-platform-tests/media-source/URL-createObjectURL-null.html: Added.
- web-platform-tests/media-source/URL-createObjectURL-revoke-expected.txt: Added.
- web-platform-tests/media-source/URL-createObjectURL-revoke.html: Added.
- web-platform-tests/media-source/URL-createObjectURL.html: Added.
- web-platform-tests/media-source/import_tests.sh: Added.
- web-platform-tests/media-source/interfaces-expected.txt: Added.
- web-platform-tests/media-source/interfaces.html: Added.
- web-platform-tests/media-source/manifest.txt: Added.
- web-platform-tests/media-source/mediasource-activesourcebuffers-expected.txt: Added.
- web-platform-tests/media-source/mediasource-activesourcebuffers.html: Added.
- web-platform-tests/media-source/mediasource-addsourcebuffer-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-addsourcebuffer-expected.txt.
- web-platform-tests/media-source/mediasource-addsourcebuffer-mode-expected.txt: Added.
- web-platform-tests/media-source/mediasource-addsourcebuffer-mode.html: Added.
- web-platform-tests/media-source/mediasource-addsourcebuffer.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-addsourcebuffer.html.
- web-platform-tests/media-source/mediasource-append-buffer-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-append-buffer-expected.txt.
- web-platform-tests/media-source/mediasource-append-buffer.html: Added.
- web-platform-tests/media-source/mediasource-appendbuffer-quota-exceeded-expected.txt: Added.
- web-platform-tests/media-source/mediasource-appendbuffer-quota-exceeded.html: Added.
- web-platform-tests/media-source/mediasource-appendwindow-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-appendwindow-expected.txt.
- web-platform-tests/media-source/mediasource-appendwindow.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-appendwindow.html.
- web-platform-tests/media-source/mediasource-avtracks-expected.txt: Added.
- web-platform-tests/media-source/mediasource-avtracks.html: Added.
- web-platform-tests/media-source/mediasource-buffered-expected.txt: Added.
- web-platform-tests/media-source/mediasource-buffered.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-buffered.html.
- web-platform-tests/media-source/mediasource-closed-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-closed-expected.txt.
- web-platform-tests/media-source/mediasource-closed.html: Added.
- web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate.html.
- web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html.
- web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-framesize-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html.
- web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html.
- web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html.
- web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framerate-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html.
- web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framesize-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html.
- web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-a-bitrate-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-a-bitrate.html.
- web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate.html.
- web-platform-tests/media-source/mediasource-config-change-webm-av-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-framesize-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-webm-av-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-framesize.html.
- web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate.html.
- web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-bitrate-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-bitrate.html.
- web-platform-tests/media-source/mediasource-config-change-webm-v-framerate-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framerate-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-webm-v-framerate.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framerate.html.
- web-platform-tests/media-source/mediasource-config-change-webm-v-framesize-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framesize-expected.txt.
- web-platform-tests/media-source/mediasource-config-change-webm-v-framesize.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-change-webm-v-framesize.html.
- web-platform-tests/media-source/mediasource-config-changes.js: Renamed from LayoutTests/http/tests/media/media-source/mediasource-config-changes.js.
(resolutionFromFilename):
(appendBuffer):
(mediaSourceConfigChangeTest):
- web-platform-tests/media-source/mediasource-detach-expected.txt: Added.
- web-platform-tests/media-source/mediasource-detach.html: Added.
- web-platform-tests/media-source/mediasource-duration-boundaryconditions-expected.txt: Added.
- web-platform-tests/media-source/mediasource-duration-boundaryconditions.html: Added.
- web-platform-tests/media-source/mediasource-duration-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-duration-expected.txt.
- web-platform-tests/media-source/mediasource-duration.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-duration.html.
- web-platform-tests/media-source/mediasource-endofstream-expected.txt: Added.
- web-platform-tests/media-source/mediasource-endofstream-invaliderror-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt.
- web-platform-tests/media-source/mediasource-endofstream-invaliderror.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-endofstream-invaliderror.html.
- web-platform-tests/media-source/mediasource-endofstream.html: Added.
- web-platform-tests/media-source/mediasource-errors-expected.txt: Added.
- web-platform-tests/media-source/mediasource-errors.html: Added.
- web-platform-tests/media-source/mediasource-getvideoplaybackquality-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-getvideoplaybackquality-expected.txt.
- web-platform-tests/media-source/mediasource-getvideoplaybackquality.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-getvideoplaybackquality.html.
- web-platform-tests/media-source/mediasource-is-type-supported-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-is-type-supported-expected.txt.
- web-platform-tests/media-source/mediasource-is-type-supported.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-is-type-supported.html.
- web-platform-tests/media-source/mediasource-liveseekable-expected.txt: Added.
- web-platform-tests/media-source/mediasource-liveseekable.html: Added.
- web-platform-tests/media-source/mediasource-multiple-attach-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-multiple-attach-expected.txt.
- web-platform-tests/media-source/mediasource-multiple-attach.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-multiple-attach.html.
- web-platform-tests/media-source/mediasource-play-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play-expected.txt.
- web-platform-tests/media-source/mediasource-play-then-seek-back-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play-then-seek-back-expected.txt.
- web-platform-tests/media-source/mediasource-play-then-seek-back.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play-then-seek-back.html.
- web-platform-tests/media-source/mediasource-play.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-play.html.
- web-platform-tests/media-source/mediasource-preload-expected.txt: Added.
- web-platform-tests/media-source/mediasource-preload.html: Added.
- web-platform-tests/media-source/mediasource-redundant-seek-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-redundant-seek-expected.txt.
- web-platform-tests/media-source/mediasource-redundant-seek.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-redundant-seek.html.
- web-platform-tests/media-source/mediasource-remove-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-remove-expected.txt.
- web-platform-tests/media-source/mediasource-remove.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-remove.html.
- web-platform-tests/media-source/mediasource-removesourcebuffer-expected.txt: Added.
- web-platform-tests/media-source/mediasource-removesourcebuffer.html: Added.
- web-platform-tests/media-source/mediasource-seek-beyond-duration-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-beyond-duration-expected.txt.
- web-platform-tests/media-source/mediasource-seek-beyond-duration.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-beyond-duration.html.
- web-platform-tests/media-source/mediasource-seek-during-pending-seek-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-during-pending-seek-expected.txt.
- web-platform-tests/media-source/mediasource-seek-during-pending-seek.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-seek-during-pending-seek.html.
- web-platform-tests/media-source/mediasource-seekable-expected.txt: Added.
- web-platform-tests/media-source/mediasource-seekable.html: Added.
- web-platform-tests/media-source/mediasource-sequencemode-append-buffer-expected.txt: Added.
- web-platform-tests/media-source/mediasource-sequencemode-append-buffer.html: Added.
- web-platform-tests/media-source/mediasource-sourcebuffer-mode-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt.
- web-platform-tests/media-source/mediasource-sourcebuffer-mode.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebuffer-mode.html.
- web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults-expected.txt: Added.
- web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults.html: Added.
- web-platform-tests/media-source/mediasource-sourcebufferlist-expected.txt: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist-expected.txt.
- web-platform-tests/media-source/mediasource-sourcebufferlist.html: Renamed from LayoutTests/http/tests/media/media-source/mediasource-sourcebufferlist.html.
- web-platform-tests/media-source/mediasource-timestamp-offset-expected.txt: Added.
- web-platform-tests/media-source/mediasource-timestamp-offset.html: Added.
- web-platform-tests/media-source/mediasource-trackdefault-expected.txt: Added.
- web-platform-tests/media-source/mediasource-trackdefault.html: Added.
- web-platform-tests/media-source/mediasource-trackdefaultlist-expected.txt: Added.
- web-platform-tests/media-source/mediasource-trackdefaultlist.html: Added.
- web-platform-tests/media-source/mediasource-util.js: Renamed from LayoutTests/http/tests/media/media-source/mediasource-util.js.
(EventExpectationsManager):
(EventExpectationsManager.prototype.expectEvent):
(EventExpectationsManager.prototype.waitForExpectedEvents):
(EventExpectationsManager.prototype.expectingEvents):
(EventExpectationsManager.prototype.handleWaitCallback_):
(EventExpectationsManager.prototype.getExpectations_):
(loadData_):
(onSourceOpen):
(openMediaSource_):
(MediaSourceUtil.loadTextData):
(MediaSourceUtil.loadBinaryData):
(MediaSourceUtil.fetchManifestAndData):
(MediaSourceUtil.extractSegmentData):
(MediaSourceUtil.getMediaDataForPlaybackTime):
(getFirstSupportedType):
(getSegmentInfo):
(MediaSourceUtil.getSubType):
(MediaSourceUtil.append):
(onEvent):
(onAppendDone):
(MediaSourceUtil.appendUntilEventFires):
(addExtraTestMethods.test.expectEvent):
(addExtraTestMethods.test.waitForExpectedEvents):
(addExtraTestMethods.test.waitForCurrentTimeChange):
(addExtraTestMethods.test.done):
(addExtraTestMethods):
(window.string_appeared_here):
- web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json.
- web-platform-tests/media-source/mp4/test-a-128k-44100Hz-1ch.mp4: Added.
- web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json.
- web-platform-tests/media-source/mp4/test-a-192k-44100Hz-1ch.mp4: Added.
- web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4.
- web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4.
- web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4.
- web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4.
- web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json.
- web-platform-tests/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4.
- web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4.
- web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4.
- web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4.
- web-platform-tests/media-source/mp4/test.mp4: Renamed from LayoutTests/http/tests/media/media-source/mp4/test.mp4.
- web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json.
- web-platform-tests/media-source/webm/test-a-128k-44100Hz-1ch.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch.webm.
- web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json.
- web-platform-tests/media-source/webm/test-a-192k-44100Hz-1ch.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch.webm.
- web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm.
- web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm.
- web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm.
- web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm.
- web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json.
- web-platform-tests/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm.
- web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm.
- web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm.
- web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json.
- web-platform-tests/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm.
- web-platform-tests/media-source/webm/test-vp8-vorbis-webvtt.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test-vp8-vorbis-webvtt.webm.
- web-platform-tests/media-source/webm/test.webm: Renamed from LayoutTests/http/tests/media/media-source/webm/test.webm.
LayoutTests:
- http/tests/media/media-source/mediasource-append-buffer.html: Removed.
- http/tests/media/media-source/mediasource-buffered-expected.txt: Removed.
- http/tests/media/media-source/mediasource-closed.html: Removed.
- http/tests/media/media-source/mediasource-config-changes.js:
(resolutionFromFilename): Deleted.
(appendBuffer): Deleted.
(mediaSourceConfigChangeTest): Deleted.
- http/tests/media/media-source/mediasource-util.js:
(EventExpectationsManager): Deleted.
(EventExpectationsManager.prototype.expectEvent): Deleted.
(EventExpectationsManager.prototype.waitForExpectedEvents): Deleted.
(EventExpectationsManager.prototype.expectingEvents): Deleted.
(EventExpectationsManager.prototype.handleWaitCallback_): Deleted.
(EventExpectationsManager.prototype.getExpectations_): Deleted.
(loadData_): Deleted.
(onSourceOpen): Deleted.
(openMediaSource_): Deleted.
(MediaSourceUtil.loadTextData): Deleted.
(MediaSourceUtil.loadBinaryData): Deleted.
(MediaSourceUtil.fetchManifestAndData): Deleted.
(MediaSourceUtil.extractSegmentData): Deleted.
(MediaSourceUtil.getMediaDataForPlaybackTime): Deleted.
(getFirstSupportedType): Deleted.
(getSegmentInfo): Deleted.
(MediaSourceUtil.getSubType): Deleted.
(addExtraTestMethods.test.failOnEvent): Deleted.
(addExtraTestMethods.test.endOnEvent): Deleted.
(addExtraTestMethods.test.expectEvent): Deleted.
(addExtraTestMethods.test.waitForExpectedEvents): Deleted.
(addExtraTestMethods.test.waitForCurrentTimeChange): Deleted.
(addExtraTestMethods.test.done): Deleted.
(addExtraTestMethods): Deleted.
(window.string_appeared_here): Deleted.
- http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch.mp4: Removed.
- http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch.mp4: Removed.
- http/tests/media/media-source/webm/segment-info.js: Removed.
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-readyState-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-removed-expected.txt: Added.
- platform/mac/imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-updating-expected.txt: Added.
- 5:34 PM Changeset in webkit [205776] by
-
- 2 edits in trunk/Tools
Unreviewed. Added myself to the list of committers.
- Scripts/webkitpy/common/config/contributors.json:
- 5:06 PM Changeset in webkit [205775] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, rolling out r205771.
https://bugs.webkit.org/show_bug.cgi?id=161823
Broke Windows build (Requested by litherum on #webkit).
Reverted changeset:
"Remove unused member of GlyphBuffer"
https://bugs.webkit.org/show_bug.cgi?id=161814
http://trac.webkit.org/changeset/205771
- 4:39 PM Changeset in webkit [205774] by
-
- 4 edits in trunk
URLParser should convert ASCII hosts to lowercase
https://bugs.webkit.org/show_bug.cgi?id=161820
Reviewed by Geoffrey Garen.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::domainToASCII):
The fast path for domains that are already ASCII and do not need punycode encoding
should convert the domain to lowercase.
This matches behavior in URL::parse if isCanonicalHostnameLowercaseForScheme is true,
and RFC 5890.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 3:44 PM Changeset in webkit [205773] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r205759.
This change broke all JSC tests
Reverted changeset:
"Add ChakraCore tests to run-javascriptcore-tests"
https://bugs.webkit.org/show_bug.cgi?id=161808
http://trac.webkit.org/changeset/205759
- 3:14 PM Changeset in webkit [205772] by
-
- 2 edits in trunk/Tools
Revert r205770 because Ricky is already a committer.
Unreviewed.
- Scripts/webkitpy/common/config/contributors.json:
- 2:54 PM Changeset in webkit [205771] by
-
- 4 edits in trunk/Source/WebCore
Remove unused member of GlyphBuffer
https://bugs.webkit.org/show_bug.cgi?id=161814
Reviewed by Simon Fraser.
This m_offsets member never actually affected anything. It just made
FontCascade::drawGlyphBuffer() slower.
No new tests because there is no behavior change.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::drawGlyphBuffer):
- platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBuffer::clear):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::add):
(WebCore::GlyphBuffer::shrink):
(WebCore::GlyphBuffer::swap):
(WebCore::GlyphBuffer::offsetAt): Deleted.
- platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::shapeAndPlaceItem):
- 2:44 PM Changeset in webkit [205770] by
-
- 2 edits in trunk/Tools
Unreviewed. Added myself to the list of committers.
- Scripts/webkitpy/common/config/contributors.json:
- 2:30 PM Changeset in webkit [205769] by
-
- 6 edits in trunk/Source/JavaScriptCore
WASM should support if-then-else
https://bugs.webkit.org/show_bug.cgi?id=161778
Reviewed by Michael Saboff.
This patch makes some major changes to the way that the WASM
function parser works. First, the control stack has been moved
from the parser's context to the parser itself. This simplifies
the way that the parser works and allows us to make the decoder
iterative rather than recursive. Since the control stack has been
moved to the parser, any context operation that refers to some
block now receives that block by reference.
For any if block, regardless of whether or not it is an
if-then-else or not, we will allocate both the entire control flow
diamond. This is not a major issue in the if-then case since B3
will immediately cleanup these blocks. In order to support if-then
and if-then-else we needed to be able to distinguish what the type
of the top block on the control stack is. This will be necessary
when validating the else opcode in the future. In the B3 IR
generator we decide to the type of the block strictly by the
shape.
Currently, if blocks don't handle passed and returned stack values
correctly. I plan to fix this when I add support for the block
signatures. See: https://github.com/WebAssembly/design/pull/765
- testWASM.cpp:
(runWASMTests):
- wasm/WASMB3IRGenerator.cpp:
(dumpProcedure):
(JSC::WASM::parseAndCompile):
- wasm/WASMB3IRGenerator.h:
- wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser<Context>::parseBlock):
(JSC::WASM::FunctionParser<Context>::parseExpression):
(JSC::WASM::FunctionParser<Context>::parseUnreachableExpression):
- wasm/WASMOps.h:
- 2:29 PM Changeset in webkit [205768] by
-
- 4 edits in trunk
Source/WebCore:
Text replacement candidates don't always overwrite the entire original string
https://bugs.webkit.org/show_bug.cgi?id=161779
<rdar://problem/28033492>
Patch by Tim Horton <timothy_horton@apple.com> on 2016-09-09
Reviewed by Simon Fraser.
New test: editing/mac/spelling/accept-candidate-replacing-multiple-words.html.
- editing/Editor.cpp:
(WebCore::Editor::contextRangeForCandidateRequest):
Factor contextRangeForCandidateRequest out of the WebKits, into Editor.
This just expands to paragraph boundaries from the cursor.
(WebCore::Editor::selectTextCheckingResult):
Add selectTextCheckingResult, which, given a TextCheckingResult,
selects the range represented by the result's location and length, which
indicate the portion of the context string that the result refers to.
In the case of accepting a candidate, we want to select that range
so that our insertion will overwrite it.
(WebCore::Editor::handleAcceptedCandidate):
Make use of selectTextCheckingResult instead of just assuming that we want
to replace the word to the left of the insertion point.
(WebCore::Editor::stringForCandidateRequest): Deleted.
- editing/Editor.h:
- testing/Internals.cpp:
(WebCore::Internals::handleAcceptedCandidate):
- testing/Internals.h:
- testing/Internals.idl:
Internals' handleAcceptedCandidate assumed (wrongly) that the length
of a TextCheckerResult was the length of the candidate, when really it is
the length of the text that the candidate would replace. Adjust this,
and expose the replacement range to JavaScript, so we can test this.
Tools:
URLParser: Fix and optimize parsing file URLs ending with a host but no slash
https://bugs.webkit.org/show_bug.cgi?id=161815
Reviewed by Geoffrey Garen.
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 2:20 PM Changeset in webkit [205767] by
-
- 2 edits in trunk/Source/JavaScriptCore
jsc.cpp should call initializeMainThread() to make sure that GC thread assertions work
https://bugs.webkit.org/show_bug.cgi?id=161801
Reviewed by Keith Miller.
The GC has debug assertions that certain things don't happen on GC threads. Those assertions
are no-ops unless initializeGCThreads() is called, and I think the most canonical way to do
that is to call initializeMainThread().
- jsc.cpp:
(jscmain):
- 1:57 PM Changeset in webkit [205766] by
-
- 9 edits8 adds in trunk
Expose Apple Pencil data to Touch events
https://bugs.webkit.org/show_bug.cgi?id=161783
<rdar://problem/28218898>
Reviewed by Beth Dakin.
Source/WebKit2:
- Platform/spi/ios/UIKitSPI.h: Expose the new SPI. Since this is only used
on public builds, guard it against everything that is <= iOS 10.0.
- Shared/WebEvent.h: New properties.
(WebKit::WebPlatformTouchPoint::setAltitudeAngle):
(WebKit::WebPlatformTouchPoint::altitudeAngle):
(WebKit::WebPlatformTouchPoint::setAzimuthAngle):
(WebKit::WebPlatformTouchPoint::azimuthAngle):
(WebKit::WebPlatformTouchPoint::setTouchType):
(WebKit::WebPlatformTouchPoint::touchType):
(WebKit::WebPlatformTouchPoint::force): Deleted.
- Shared/WebEventConversion.cpp:
(WebKit::webPlatformTouchTypeToPlatform):
(WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint): More
parameters sent to parent constructor.
- Shared/ios/NativeWebTouchEventIOS.mm:
(WebKit::convertTouchType):
(WebKit::NativeWebTouchEvent::extractWebTouchPoint):
- Shared/ios/WebPlatformTouchPointIOS.cpp:
(WebKit::WebPlatformTouchPoint::encode):
(WebKit::WebPlatformTouchPoint::decode):
Tools:
The values that IOHID expects are different from their
documentation, and from what UITouch interprets. Tweak
incoming data so it will produce the output we expect.
- WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator stylusDownAtPoint:azimuthAngle:altitudeAngle:pressure:]):
(-[HIDEventGenerator stylusMoveToPoint:azimuthAngle:altitudeAngle:pressure:]):
LayoutTests:
Four new tests that check data coming out of an Apple Pencil.
- fast/events/touch/ios/pencil-data-change-does-not-give-touchmove-expected.txt: Added.
- fast/events/touch/ios/pencil-data-change-does-not-give-touchmove.html: Added.
- fast/events/touch/ios/pencil-data-change-gives-touchforcechange-expected.txt: Added.
- fast/events/touch/ios/pencil-data-change-gives-touchforcechange.html: Added.
- fast/events/touch/ios/pencil-move-provides-stylus-data-expected.txt: Added.
- fast/events/touch/ios/pencil-move-provides-stylus-data.html: Added.
- fast/events/touch/ios/pencil-touch-registered-as-pencil-expected.txt: Added.
- fast/events/touch/ios/pencil-touch-registered-as-pencil.html: Added.
- 1:46 PM Changeset in webkit [205765] by
-
- 13 edits1 copy1 add in trunk
Text replacement candidates don't always overwrite the entire original string
https://bugs.webkit.org/show_bug.cgi?id=161779
<rdar://problem/28033492>
Reviewed by Simon Fraser.
Source/WebCore:
New test: editing/mac/spelling/accept-candidate-replacing-multiple-words.html.
- editing/Editor.cpp:
(WebCore::Editor::contextRangeForCandidateRequest):
Factor contextRangeForCandidateRequest out of the WebKits, into Editor.
This just expands to paragraph boundaries from the cursor.
(WebCore::Editor::selectTextCheckingResult):
Add selectTextCheckingResult, which, given a TextCheckingResult,
selects the range represented by the result's location and length, which
indicate the portion of the context string that the result refers to.
In the case of accepting a candidate, we want to select that range
so that our insertion will overwrite it.
(WebCore::Editor::handleAcceptedCandidate):
Make use of selectTextCheckingResult instead of just assuming that we want
to replace the word to the left of the insertion point.
(WebCore::Editor::stringForCandidateRequest): Deleted.
- editing/Editor.h:
- testing/Internals.cpp:
(WebCore::Internals::handleAcceptedCandidate):
- testing/Internals.h:
- testing/Internals.idl:
Internals' handleAcceptedCandidate assumed (wrongly) that the length
of a TextCheckerResult was the length of the candidate, when really it is
the length of the text that the candidate would replace. Adjust this,
and expose the replacement range to JavaScript, so we can test this.
Source/WebKit/mac:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCandidatesForSelection):
Make use of the shared implementation of contextRangeForCandidateRequest.
Source/WebKit2:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::platformEditorState):
Make use of the shared implementation of contextRangeForCandidateRequest.
LayoutTests:
- editing/mac/spelling/accept-candidate-without-crossing-editing-boundary.html:
- editing/mac/spelling/accept-misspelled-candidate.html:
Adjust tests to send the correct replacement range.
- editing/mac/spelling/accept-candidate-replacing-multiple-words.html:
Add a test that ensures that we will replace the entire string for a
candidate that replaces multiple words.
- 1:27 PM Changeset in webkit [205764] by
-
- 2 edits in trunk/Tools
Unreviewed. Added myself to the list of committers.
- Scripts/webkitpy/common/config/contributors.json:
- 12:57 PM Changeset in webkit [205763] by
-
- 2 edits in trunk/LayoutTests
Rebaseline js/dom/global-constructors-attributes.html for mac-wk1 after r205755.
Unreviewed test gardening.
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- 12:28 PM Changeset in webkit [205762] by
-
- 4 edits in tags/Safari-603.1.5.0.1/Source/WebCore
Merged r205756. rdar://problem/28219953
- 12:27 PM Changeset in webkit [205761] by
-
- 5 edits in tags/Safari-603.1.5.0.1/Source
Versioning.
- 12:23 PM Changeset in webkit [205760] by
-
- 1 copy in tags/Safari-603.1.5.0.1
New tag.
- 12:15 PM Changeset in webkit [205759] by
-
- 2 edits in trunk/Tools
Add ChakraCore tests to run-javascriptcore-tests
https://bugs.webkit.org/show_bug.cgi?id=161808
Reviewed by Saam Barati.
Added ChakraCore tests to the default list of tests to run.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests):
- 12:02 PM Changeset in webkit [205758] by
-
- 2 edits in trunk/LayoutTests
Marking tiled-drawing/scrolling/fixed/four-bars-zoomed.html as flaky on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=161547
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:49 AM Changeset in webkit [205757] by
-
- 2 edits in trunk/JSTests
Disable three flakey Chakra Tests
https://bugs.webkit.org/show_bug.cgi?id=161807
Reviewed by Saam Barati.
- ChakraCore.yaml: Disabled the flakey tests
ChakraCore/test/Array/protoLookup_native.js
ChakraCore/test/LetConst/delete.js
ChakraCore/test/fieldopts/fieldhoist_sideeffect.js
- 11:44 AM Changeset in webkit [205756] by
-
- 4 edits in trunk/Source/WebCore
Soft-link GameController.framework.
<rdar://problem/28219953> and https://bugs.webkit.org/show_bug.cgi?id=161802
Reviewed by Brian Burg.
No new tests (No change in behavior).
- Configurations/WebCore.xcconfig:
- WebCore.xcodeproj/project.pbxproj:
- platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
(WebCore::GameControllerGamepadProvider::startMonitoringGamepads):
- 11:38 AM Changeset in webkit [205755] by
-
- 20 edits in trunk
Rename Key to CryptoKey
https://bugs.webkit.org/show_bug.cgi?id=161665
<rdar://problem/28083391>
Reviewed by Brent Fulgham.
LayoutTests/imported/w3c:
- WebCryptoAPI/idlharness-expected.txt:
Source/WebCore:
A link to the spec: https://www.w3.org/TR/WebCryptoAPI/#cryptokey-interface
- crypto/CryptoKey.idl:
Remove some unnecessary IDL attributes and reorder KeyType enum to match the spec.
- crypto/CryptoKeyType.h:
LayoutTests:
- crypto/subtle/aes-cbc-unwrap-rsa-expected.txt:
- crypto/subtle/aes-cbc-unwrap-rsa.html:
- crypto/subtle/aes-kw-key-manipulation-expected.txt:
- crypto/subtle/aes-kw-key-manipulation.html:
- crypto/subtle/aes-kw-wrap-unwrap-aes-expected.txt:
- crypto/subtle/aes-kw-wrap-unwrap-aes.html:
- crypto/subtle/rsa-oaep-wrap-unwrap-aes-expected.txt:
- crypto/subtle/rsa-oaep-wrap-unwrap-aes.html:
- crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes-expected.txt:
- crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html:
- crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-expected.txt:
- crypto/subtle/rsassa-pkcs1-v1_5-import-jwk.html:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- 11:25 AM Changeset in webkit [205754] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: Command-Z doesn't work when editing CSS selectors in Styles sidebar
https://bugs.webkit.org/show_bug.cgi?id=159734
Patch by Devin Rousso <Devin Rousso> on 2016-09-09
Reviewed by Brian Burg.
Replace the current usage of -webkit-user-select with a textarea sized exactly the same as
the selector text which holds the current value of the selector.
- UserInterface/Test.html: Add WrappedPromise.
- UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
(WebInspector.DOMNodeStyles.prototype.refresh.fetchedInlineStyles):
(WebInspector.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
(WebInspector.DOMNodeStyles.prototype.refresh):
(WebInspector.DOMNodeStyles.prototype.changeRuleSelector.ruleSelectorChanged):
(WebInspector.DOMNodeStyles.prototype.changeRuleSelector):
Ensure that the promise returned by changeRuleSelector is only resolved once the initiated
refresh has completed, ensuring that all matched selectors are parsed and available.
- UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section > .header):
(.style-declaration-section.locked > .header::before):
(.style-declaration-section.rule-disabled > .header > .icon):
(.style-declaration-section > .header > textarea):
(.style-declaration-section > .header > textarea:focus):
(.style-declaration-section > .header > textarea:focus + .selector):
(.style-declaration-section > .header > .selector):
(.style-declaration-section > .header > .selector:empty):
(.style-declaration-section > .header > .selector .matched):
(.style-declaration-section:not(.invalid-selector).rule-disabled > .header > .icon): Deleted.
(.style-declaration-section > .header > .selector:empty::before): Deleted.
(.style-declaration-section > .header > .selector:focus): Deleted.
(.style-declaration-section:matches(.locked, .selector-locked) > .header > .selector): Deleted.
(.style-declaration-section > .header > .selector > .matched): Deleted.
(.style-declaration-section.invalid-selector > .header > .icon): Deleted.
(.style-declaration-section.invalid-selector > .header > .selector): Deleted.
Added styling to make textarea invisible when not focused.
Also removed the .invalid-selector styles as the section now refreshed on all changes.
- UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelectorTextKnownToMatch):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
(WebInspector.CSSStyleDeclarationSection.prototype.focusRuleSelector):
(WebInspector.CSSStyleDeclarationSection.prototype.get selectorEditable):
(WebInspector.CSSStyleDeclarationSection.prototype.get _currentSelectorText):
(WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste.parseTextForRule):
(WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
(WebInspector.CSSStyleDeclarationSection.prototype.get selectorLocked): Deleted.
Added a hidden textarea for modifying the selector of the represented style.
- UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorPreviousRule):
Now use new getters on CSSSTyleDeclarationSection for determining if a selector is editable.
- UserInterface/Views/Variables.css:
(:root):
Added --style-declaration-section-header-padding CSS variable.
- 11:04 AM Changeset in webkit [205753] by
-
- 3 edits in trunk/Source/JavaScriptCore
Make hasOwnProperty ALWAYS_INLINE
https://bugs.webkit.org/show_bug.cgi?id=161775
Reviewed by Ryosuke Niwa.
Speedometer spends around 2.5% of its time in hasOwnProperty.
Let's reduce the overhead of calling that function by marking
it as inline. Also, it's likely that the function will call into
JSObject::getOwnPropertySlot. I added a check to see if that's
the function we're calling, if it is, we do a direct call instead
of an indirect call.
- runtime/JSObject.cpp:
(JSC::JSObject::hasOwnProperty): Deleted.
- runtime/JSObjectInlines.h:
(JSC::JSObject::hasOwnProperty):
- 10:56 AM Changeset in webkit [205752] by
-
- 4 edits in trunk
URLParser: Handle \ in path according to spec
https://bugs.webkit.org/show_bug.cgi?id=161805
Reviewed by Andy Estes.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 10:46 AM Changeset in webkit [205751] by
-
- 2 edits in trunk/PerformanceTests
Perf test Animation/css-accelerated-animation.html failing
https://bugs.webkit.org/show_bug.cgi?id=161795
Skip Animation/css-accelerated-animation.html since this only works as a MobileSafari
perf test.
- Skipped:
- 10:24 AM Changeset in webkit [205750] by
-
- 17 edits in trunk
TextTrackLoader should use FetchOptions::mode according its crossOrigin attribute
https://bugs.webkit.org/show_bug.cgi?id=161792
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-09
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/addCue-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/endTime-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/id-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/pauseOnExit-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/startTime-expected.txt:
- web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/track-expected.txt:
Source/WebCore:
Covered by existing and updated tests.
Updating text track loader to use fetch mode according crossOrigin value.
Removed the check done in the case the crossOrigin value is not set.
Previously cross-origin loads were forbidden, now this is authorized.
This change allows aligning with the spec.
Also, this check could be bypassed in the case of a same-origin URL redirecting to a cross-origin one.
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::notifyFinished): Checking resource error in lieu of doing CORS checks on its own.
(WebCore::TextTrackLoader::load): Using CachedResourceRequest::setAsPotentiallyCrossOrigin
- loader/TextTrackLoader.h:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::loadFrom): Setting loading and status values as would be done when load is finished.
(WebCore::CachedResource::setBodyDataFrom): Default implementation is to copy the shared buffer.
- loader/cache/CachedResource.h:
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest): Enabling resource update when mode or origin is different for TextTrack resources.
LayoutTests:
- http/tests/security/text-track-crossorigin-expected.txt:
- http/tests/security/text-track-crossorigin.html: Updating test to be more robust against timeout.
Updated test to succeed doing no-cors loading of cross-origin resources.
- 10:06 AM Changeset in webkit [205749] by
-
- 4 edits in trunk
URLParser should parse URLs with non-special schemes
https://bugs.webkit.org/show_bug.cgi?id=161786
Reviewed by Andy Estes.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
There's no reason for a SchemeEndCheckForSlashes state now that we can copy iterators.
It's not in the spec and not needed.
Also, move things around a little so parsing special or non-special schemes
followed by one or two slashes works correctly.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 9:57 AM Changeset in webkit [205748] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/IndexedDB/keyorder.htm as flaky on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=161742
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 9:51 AM Changeset in webkit [205747] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/debugger/breakpoint-columns.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161774
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 9:50 AM Changeset in webkit [205746] by
-
- 3 edits in trunk/Source/JavaScriptCore
HashMapImpl needs to m_buffer.clear() in its constructor
https://bugs.webkit.org/show_bug.cgi?id=161796
Reviewed by Keith Miller.
This is the second time that I'm fixing a bug because AuxiliaryBarrier does not initialize
itself. That seemed like a good idea because maybe sometimes the user knows better how to
initialize it. But, it's not worth it if it's a constant source of bugs.
So, I'm fixing it for good by making AuxiliaryBarrier::AuxiliaryBarrier() initialize its
m_value.
- runtime/AuxiliaryBarrier.h:
(JSC::AuxiliaryBarrier::AuxiliaryBarrier):
- runtime/DirectArguments.cpp:
(JSC::DirectArguments::DirectArguments):
- 9:29 AM Changeset in webkit [205745] by
-
- 2 edits in trunk/LayoutTests
Marking fast/text/emoji-num-glyphs.html as a flaky timeout.
https://bugs.webkit.org/show_bug.cgi?id=161799
Unreviewed test gardening.
- 9:17 AM Changeset in webkit [205744] by
-
- 10 edits2 adds in trunk
Regression(r186020): Null dereference in getStartDate()
https://bugs.webkit.org/show_bug.cgi?id=161733
Reviewed by Eric Carlson.
Source/WebCore:
Update HTMLMediaElement::getStartDate() to return NaN if m_player is null,
instead of crashing.
Test: fast/media/getStartDate-NaN.html
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::toJS):
Add a FIXME comment as this code is using jsDateOrNull() but should
probably be using jsDate() as per:
- bindings/js/JSDOMBinding.cpp:
(WebCore::jsDate):
(WebCore::jsDateOrNull):
- bindings/js/JSDOMBinding.h:
- Rename jsDateOrNaN() to jsDate() as this is the default behavior. Also, return new Date(NaN) instead of NaN if the implementation returns NaN. The IDL says we should return a Date, not a number.
- Update jsDateOrNull() to only return jsNull() if the native value is NaN, instead of doing so for every value that is not finite. Our convention is to use NaN as special value to represent null in JS.
- bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue):
When converting a native value (double) into a Date, rely on the fact
that the type is nullable when deciding if we should call jsDate() or
jsDateOrNull() to convert. This way, we no longe need a WebKit specific
[TreatReturnedDateAs=Null|NaN] IDL extended attribute.
- bindings/scripts/IDLAttributes.txt:
- html/HTMLInputElement.idl:
Mark valueAsDate attribute as nullable, as per the specification:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::getStartDate):
Return NaN if m_player is null instead of crashing. The reason I decided
to return NaN is because the specification [1] says to return a new Date
object representing the current timeline offset. The spec of timeline
offset [2] says that the initial timeline offset value is NaN.
[1] https://html.spec.whatwg.org/#dom-media-getstartdate
[2] https://html.spec.whatwg.org/#timeline-offset
- bindings/scripts/IDLAttributes.txt:
- html/HTMLMediaElement.idl:
Drop [TreatReturnedDateAs] attribute as it is no longer supported.
LayoutTests:
Add layout test coverage.
- fast/media/getStartDate-NaN-expected.txt: Added.
- fast/media/getStartDate-NaN.html: Added.
- 8:42 AM Changeset in webkit [205743] by
-
- 188 edits6 copies20 moves8 adds18 deletes in trunk/LayoutTests
Sync web-platform-tests up to revision 6d9c836
https://bugs.webkit.org/show_bug.cgi?id=161738
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-09
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- resources/ImportExpectations:
- resources/TestRepositories:
- resources/resource-files.json:
- resources/web-platform-tests-modules.json:
- web-platform-tests/2dcontext/transformations/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/w3c-import.log.
- web-platform-tests/IndexedDB/idbindex-multientry-big-expected.txt:
- web-platform-tests/WebIDL/ecmascript-binding/es-exceptions/w3c-import.log: Added.
- web-platform-tests/WebIDL/ecmascript-binding/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/w3c-import.log.
- web-platform-tests/WebIDL/readme.txt: Added.
- web-platform-tests/WebIDL/testable_assertions.txt: Added.
- web-platform-tests/WebIDL/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/template/appending-to-a-template/w3c-import.log.
- web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
- web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
- web-platform-tests/XMLHttpRequest/send-non-same-origin.sub-expected.txt:
- web-platform-tests/XMLHttpRequest/send-non-same-origin.sub.htm:
- web-platform-tests/XMLHttpRequest/w3c-import.log:
- web-platform-tests/common/canvas-tests.js:
(addCrossOriginYellowImage):
- web-platform-tests/common/get-host-info.sub.js:
(get_host_info):
- web-platform-tests/config.json: Added.
- web-platform-tests/dom/historical-expected.txt:
- web-platform-tests/dom/historical.html:
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/dom/interfaces.html:
- web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:
- web-platform-tests/dom/nodes/DOMImplementation-createDocument.html:
- web-platform-tests/dom/nodes/DOMImplementation-hasFeature-expected.txt:
- web-platform-tests/dom/nodes/DOMImplementation-hasFeature.html:
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/w3c-import.log:
- web-platform-tests/dom/nodes/Document-createElementNS-expected.txt:
- web-platform-tests/dom/nodes/Document-createElementNS.html:
- web-platform-tests/dom/nodes/Document-createElementNS.js:
- web-platform-tests/domparsing/w3c-import.log:
- web-platform-tests/fetch/api/basic/mode-same-origin.html:
- web-platform-tests/fetch/api/basic/mode-same-origin.js:
- web-platform-tests/fetch/api/basic/referrer.html:
- web-platform-tests/fetch/api/basic/referrer.js:
(runTest):
- web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
- web-platform-tests/fetch/api/basic/request-headers.js:
(requestHeaders):
- web-platform-tests/fetch/api/basic/scheme-blob-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-blob-worker-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-blob-worker.html:
- web-platform-tests/fetch/api/basic/scheme-blob.html:
- web-platform-tests/fetch/api/basic/scheme-blob.js:
(invalidRequestMethods.forEach):
- web-platform-tests/fetch/api/basic/w3c-import.log:
- web-platform-tests/fetch/api/cors/cors-basic.html:
- web-platform-tests/fetch/api/cors/cors-basic.js:
- web-platform-tests/fetch/api/cors/cors-cookies.html:
- web-platform-tests/fetch/api/cors/cors-cookies.js:
- web-platform-tests/fetch/api/cors/cors-no-preflight.html:
- web-platform-tests/fetch/api/cors/cors-no-preflight.js:
- web-platform-tests/fetch/api/cors/cors-origin.html:
- web-platform-tests/fetch/api/cors/cors-origin.js:
- web-platform-tests/fetch/api/cors/cors-preflight-redirect.html:
- web-platform-tests/fetch/api/cors/cors-preflight-redirect.js:
- web-platform-tests/fetch/api/cors/cors-preflight-referrer.html:
- web-platform-tests/fetch/api/cors/cors-preflight-referrer.js:
- web-platform-tests/fetch/api/cors/cors-preflight-status.html:
- web-platform-tests/fetch/api/cors/cors-preflight-status.js:
- web-platform-tests/fetch/api/cors/cors-preflight.html:
- web-platform-tests/fetch/api/cors/cors-preflight.js:
- web-platform-tests/fetch/api/cors/cors-redirect-credentials.html:
- web-platform-tests/fetch/api/cors/cors-redirect-credentials.js:
- web-platform-tests/fetch/api/cors/cors-redirect-preflight.html:
- web-platform-tests/fetch/api/cors/cors-redirect-preflight.js:
- web-platform-tests/fetch/api/cors/cors-redirect.html:
- web-platform-tests/fetch/api/cors/cors-redirect.js:
- web-platform-tests/fetch/api/cors/w3c-import.log:
- web-platform-tests/fetch/api/headers/headers-combine-expected.txt:
- web-platform-tests/fetch/api/headers/headers-combine.html:
- web-platform-tests/fetch/api/redirect/redirect-mode.html:
- web-platform-tests/fetch/api/redirect/redirect-mode.js:
- web-platform-tests/fetch/api/redirect/redirect-origin.html:
- web-platform-tests/fetch/api/redirect/redirect-origin.js:
- web-platform-tests/fetch/api/redirect/w3c-import.log:
- web-platform-tests/fetch/api/request/request-cache-expected.txt:
- web-platform-tests/fetch/api/request/request-cache.html:
- web-platform-tests/fetch/api/request/request-disturbed.html:
- web-platform-tests/fetch/api/resources/get-host-info.sub.js: Removed.
- web-platform-tests/fetch/api/resources/w3c-import.log:
- web-platform-tests/fetch/api/response/response-init-001.html:
- web-platform-tests/html/browsers/browsing-the-web/history-traversal/w3c-import.log:
- web-platform-tests/html/browsers/history/the-history-interface/w3c-import.log:
- web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window-expected.txt: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html: Added.
- web-platform-tests/html/browsers/origin/cross-origin-objects/frame.html:
- web-platform-tests/html/browsers/origin/cross-origin-objects/w3c-import.log:
- web-platform-tests/html/browsers/origin/cross-origin-objects/win-documentdomain.sub.html:
- web-platform-tests/html/browsers/the-window-object/security-window/window-security.sub.html:
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub-expected.txt:
- web-platform-tests/html/browsers/windows/w3c-import.log:
- web-platform-tests/html/dom/dynamic-markup-insertion/opening-the-input-stream/010-expected.txt:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-EN-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-EN-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-N-EN-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-N-EN-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-N-EN-ref-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-N-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-N-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-bdi-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-bdi-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-dir-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-dir-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-dir_auto-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-dir_auto-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-script-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-script-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-style-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-style-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-contained-textarea-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-EN-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-EN-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-N-EN-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-N-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-N-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-script-EN-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-script-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-script-N-EN-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-script-N-L-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-script-N-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-input-script-R-expected.html:
- web-platform-tests/html/dom/elements/global-attributes/dir_auto-isolate-expected.html:
- web-platform-tests/html/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces.html:
- web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context-expected.txt:
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing-expected.txt:
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/refresh.sub.html: Removed.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/w3c-import.log: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/w3c-import.log.
- web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape.html:
- web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.sub-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.sub.html.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.sub-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.sub.html.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.sub-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.sub.html.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.sub-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.sub.html.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.sub-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.sub.html.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.sub-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.sub.html.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.sub-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.sub.html.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.sub-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.sub.html.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.sub-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.sub.html.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.sub-expected.txt.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.sub.html.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
- web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001-expected.html:
- web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001-ref-expected.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-001-ref.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-li-element/grouping-li-reftest-002-expected.html:
- web-platform-tests/html/semantics/grouping-content/the-li-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-expected.txt:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-rev-reftest-001-expected.html:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-rev-reftest-001-ref-expected.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-rev-reftest-001-ref.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-001-expected.html:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-001-ref-expected.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-001-ref.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-002-expected.html:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-002-ref-expected.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-start-reftest-002-ref.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001-expected.html:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001-ref-expected.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-001-ref.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-002-expected.html:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-002-ref-expected.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-002-ref.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-003-expected.html:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-003-ref-expected.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-type-reftest-003-ref.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol.html:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/w3c-import.log:
- web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001-expected.html:
- web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001-ref-expected.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001-ref.html: Removed.
- web-platform-tests/html/semantics/grouping-content/the-pre-element/w3c-import.log:
- web-platform-tests/html/semantics/links/linktypes/alternate-css-expected.html:
- web-platform-tests/html/semantics/tabular-data/the-table-element/tFoot.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-a-foster-parent-element.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting/template-is-not-a-foster-parent-element.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-foster-parenting/w3c-import.log:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/generating-of-implied-end-tags.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-body-token.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-frameset-token.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-head-token.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/ignore-html-token.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-body.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/start-tag-html.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/template-end-tag-without-start-one.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-body-insertion-mode/w3c-import.log:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/end-tag-frameset.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-frameset-insertion-mode/w3c-import.log:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-head-insertion-mode/w3c-import.log:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/end-tag-table.html:
- web-platform-tests/html/syntax/parsing/template/additions-to-the-in-table-insertion-mode/w3c-import.log:
- web-platform-tests/html/syntax/parsing/template/appending-to-a-template/template-child-nodes.html:
- web-platform-tests/html/syntax/parsing/template/appending-to-a-template/w3c-import.log:
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context.html:
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-context.html:
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-row-context.html:
- web-platform-tests/html/syntax/parsing/template/clearing-the-stack-back-to-a-given-context/w3c-import.log:
- web-platform-tests/html/syntax/parsing/template/creating-an-element-for-the-token/template-owner-document.html:
- web-platform-tests/html/syntax/parsing/template/creating-an-element-for-the-token/w3c-import.log:
- web-platform-tests/lint.whitelist:
- web-platform-tests/resource-timing/SyntheticResponse.py:
(main):
- web-platform-tests/resource-timing/resource-timing-expected.txt:
- web-platform-tests/resource-timing/resource-timing.html:
- web-platform-tests/resource-timing/resource-timing.js:
(logResourceEntry): Deleted.
(window.onload): Deleted.
- web-platform-tests/resource-timing/resources/resource_timing_test0.xml:
- web-platform-tests/resource-timing/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/w3c-import.log.
- web-platform-tests/resource-timing/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/w3c-import.log.
- web-platform-tests/url/interfaces-expected.txt:
LayoutTests:
- platform/wk2/TestExpectations:
- platform/wk2/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle-expected.txt:
- 8:29 AM Changeset in webkit [205742] by
-
- 3 edits1 add in branches/safari-602-branch
Merge r204403. rdar://problem/27991568
- 8:17 AM Changeset in webkit [205741] by
-
- 7 edits1 add in branches/safari-602-branch/Source/JavaScriptCore
Merge r204485. rdar://problem/27991572
- 6:33 AM WebKitGTK/2.14.x edited by
- (diff)
- 6:31 AM WebKitGTK/2.14.x edited by
- (diff)
- 5:54 AM Changeset in webkit [205740] by
-
- 2 edits in trunk/Source/WTF
Gardening: fixing a few JSC test failures.
https://bugs.webkit.org/show_bug.cgi?id=161760
Not reviewed.
Without this fix, the following tests will crash on a null dereference of isGCThread.
stress/slow-path-generator-updating-current-node-dfg.js.misc-ftl-no-cjit
stress/unshift-array-storage.js.misc-ftl-no-cjit
- wtf/MainThread.cpp:
(WTF::mayBeGCThread):
- 5:06 AM Changeset in webkit [205739] by
-
- 1 copy in releases/WebKitGTK/webkit-2.13.91
WebKitGTK+ 2.13.91
- 5:04 AM Changeset in webkit [205738] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.13.91 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.13.91.
- 4:11 AM WebKitGTK/2.14.x edited by
- (diff)
- 3:56 AM Changeset in webkit [205737] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205561 - [GTK] Make inspection of Inspector conditional on DEVELOPER_MODE
https://bugs.webkit.org/show_bug.cgi?id=161702
Reviewed by Michael Catanzaro.
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
- 3:55 AM Changeset in webkit [205736] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205547 - [GTK] Clarify frame callbacks behaviour in Wayland compositor
https://bugs.webkit.org/show_bug.cgi?id=161683
Patch by Emanuele Aina <Emanuele Aina> on 2016-09-07
Reviewed by Carlos Garcia Campos.
The way we fire frame callbacks in the nested Wayland compositor can
be puzzling to developers expecting Wayland semantics, but since we
have our own mechanism to handle synchronization we don't care much
about them. Add a comment to avoid surprised Wayland developers.
- UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::Surface::commit):
- 3:54 AM Changeset in webkit [205735] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore/platform/gtk/po
Merge r205546 - [l10n] Updated Polish translation of WebKitGTK+ for 2.14
https://bugs.webkit.org/show_bug.cgi?id=161319
Patch by Piotr Drąg <piotrdrag@gmail.com> on 2016-09-07
Rubber-stamped by Michael Catanzaro.
- pl.po:
- 3:53 AM Changeset in webkit [205734] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
[GTK] Crash of WebProcess on the last WebView disconnect
https://bugs.webkit.org/show_bug.cgi?id=161605
Reviewed by Michael Catanzaro.
The crash happens because GLX contexts are cleaned up in an exit handler to prevent X server crashes caused by
buggy drivers when process finishes with active GLX contexts. The cleanup is assuming that all contexts not
released when the exit handler is called are leaked, and then it manually deletes them. This assumption is no
longer true because PlatformDisplay owns the sharing GLContext now, and it's freed after the exit
handlers. Instead of deleting the GLContext objects, we could clear the internal GLXContext without breaking the
pointer ownership. Since this is specific to GLX, I've moed the code from GLContext to GLContextGLX and
simplified it.
- platform/graphics/GLContext.cpp:
(WebCore::GLContext::GLContext):
(WebCore::GLContext::~GLContext):
(WebCore::activeContextList): Deleted.
(WebCore::GLContext::addActiveContext): Deleted.
(WebCore::GLContext::removeActiveContext): Deleted.
(WebCore::GLContext::cleanupActiveContextsAtExit): Deleted.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::activeContexts):
(WebCore::GLContextGLX::GLContextGLX):
(WebCore::GLContextGLX::~GLContextGLX):
(WebCore::GLContextGLX::clear):
- platform/graphics/glx/GLContextGLX.h:
- 3:48 AM Changeset in webkit [205733] by
-
- 5 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205537 - [GTK][Threaded Compositor] Several flaky tests
https://bugs.webkit.org/show_bug.cgi?id=161242
Reviewed by Michael Catanzaro.
Source/WebKit2:
Reset the viewport attributes on SimpleViewportController when viewport attributes change and fixed layout is
not used. We were only updating the viewport attributes when fixed layout was used, but not resetting them again
when it's no longer used. That caused that reference tests run after fast/fixed-layout/fixed-layout.html or
compositing/fixed-with-fixed-layout.html in the same worker thread were incorrectly rendered.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): Remove ifdefs and call
WebPage::viewportPropertiesDidChange() unconditionally.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSize): Pass current page viewport arguments to sendViewportAttributesChanged().
(WebKit::WebPage::sendViewportAttributesChanged): It now receives the viewport arguments.
(WebKit::WebPage::viewportPropertiesDidChange): Move the iOS implementation from WebPageIOS.mm and for
coordinated graphics call sendViewportAttributesChanged() when fixed layout is used or reset the viewport
attributes when not used in case of threaded compositor.
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::viewportPropertiesDidChange): Moved out of iOS ifdef.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::viewportPropertiesDidChange): Deleted.
- 3:35 AM Changeset in webkit [205732] by
-
- 6 edits2 adds in releases/WebKitGTK/webkit-2.14
Merge r205535 - ProxyObject's structure should not have ObjectPrototype as its prototype and it should not have special behavior for intercepting "proto"
https://bugs.webkit.org/show_bug.cgi?id=161558
Reviewed by Benjamin Poulain.
JSTests:
- stress/proxy-get-prototype-of.js:
- stress/proxy-set-prototype-of.js:
(let.handler.setPrototypeOf): Deleted.
- stress/proxy-underscore-proto.js: Added.
(assert):
Source/JavaScriptCore:
ProxyObject had ObjectPrototype as its direct prototype.
This could lead to infinite loops when doing a getDirectPrototype()
loop.
Fixing this bug revealed another bug, which I made when implementing Proxy.
We should not special case "proto" in get and set for Proxy Object's
hooks. "proto" should just go through the normal set and get path.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/ProxyObject.cpp:
(JSC::performProxyGet):
(JSC::ProxyObject::put):
- 3:15 AM Changeset in webkit [205731] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205522 - Member call on NULL pointer in JavaScriptCore/dfg/DFGAbstractInterpretterInlines.h
https://bugs.webkit.org/show_bug.cgi?id=160870
Reviewed by Darin Adler.
Credit goes to Jonathan Bedard for finding this bug using the undefined
behavior sanitizer.
The rule for MaterializeNewObject inside AI was assuming that the graph
is in SSA form. This used to be true when MaterializeNewObject was only
inserted by the allocation sinking phase. However, Filip added more uses
of MaterializeNewObject in his RegExp constant folding patch. This fixes
the bug by using the structure set inside the Node's OpInfo rather than
generating it from m_phiChildren inside AI.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- 3:15 AM Changeset in webkit [205730] by
-
- 65 edits1 copy14 adds in releases/WebKitGTK/webkit-2.14
Merge r205520 - Make JSMap and JSSet faster
https://bugs.webkit.org/show_bug.cgi?id=160989
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/dense-set.js: Added.
(bench):
- microbenchmarks/large-map-iteration-with-additions.js: Added.
(bar):
(foo):
- microbenchmarks/large-map-iteration-with-mutation.js: Added.
(bar):
(foo):
- microbenchmarks/large-map-iteration.js: Added.
(bar):
(foo):
- microbenchmarks/map-get-get-cse.js: Added.
(bar):
(foo):
- microbenchmarks/map-has-get-cse-opportunity.js: Added.
(bar):
(foo):
- microbenchmarks/sparse-set.js: Added.
(bench):
- stress/map-cse-correctness.js: Added.
(assert):
(testHas):
(testGet):
(foo):
- stress/map-iteration.js: Added.
(assert):
(test1):
(test2):
(test3):
(test4):
(test5):
(test6):
(test7):
(test8):
(test9):
(test10):
(test11):
(test12):
(test13):
(test14):
(test15):
(test16):
(test17):
(test18):
Source/JavaScriptCore:
This patch revamps how we implement Map and Set. It uses
a new hash map implementation. The hash map uses linear
probing and it uses Wang's 64 bit hash function for JSValues
that aren't strings. Strings use StringImpl's hash function.
The reason I wanted to roll our own HashTable is twofold:
I didn't want to inline WTF::HashMap's implementation into our
JIT, since that seems error prone and unmaintainable. Also, I wanted
a different structure for hash map buckets where buckets also exist in
a linked list.
The reason for making buckets part of a linked list is that iteration
is now simple. Iteration works by just traversing a linked list.
This design also allows for a simple implementation when doing iteration
while the hash table is mutating. Whenever we remove a bucket from
the hash table, it is removed from the list, meaning items in the
list don't point to it. However, the removed bucket will still point
to things that are either in the list, or have also been removed.
e.g, from a removed bucket, you can always follow pointers until you
either find an item in the list, or you find the tail of the list.
This is a really nice property because it means that a Map or Set
does not need to reason about the all the iterators that point
into its list. Also, whenever we add items to the Map or Set, we
hijack the tail as the new item, and make the new item point to a newly
created tail. This means that any iterator that pointed to the "tail" now
points to non-tail items. This makes the implementation of adding things
to the Map/Set while iterating easy.
I also made Map.prototype.get, Map.prototype.has, and Set.prototype.has
into intrinsics in the DFG. The IR can now reason about hash map
operations and can even do CSE over Wang's hash function, hash map
bucket lookups, hash map bucket loads, and testing if a key is in
the hash table. This makes code patterns for Map like so, super fast
in the FTL, since we will only be doing a single hash and hash bucket lookup:
`
function getKeyIfPresent(map, key) {
if (map.has(key))
return map.get(key);
}
`
This patch is roughly an 8% speedup on ES6SampleBench.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::not64):
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromClassInfo):
- bytecode/SpeculatedType.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::execute):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGEdge.h:
(JSC::DFG::Edge::shift):
(JSC::DFG::Edge::makeWord):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateMapObject):
(JSC::DFG::SpeculativeJIT::speculateSetObject):
(JSC::DFG::SpeculativeJIT::speculate):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGUseKind.cpp:
(WTF::printInternal):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileMapHash):
(JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::compileLoadFromJSMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::compileIsNonEmptyMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::lowMapObject):
(JSC::FTL::DFG::LowerDFGToB3::lowSetObject):
(JSC::FTL::DFG::LowerDFGToB3::lowMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateMapObject):
(JSC::FTL::DFG::LowerDFGToB3::speculateSetObject):
(JSC::FTL::DFG::LowerDFGToB3::setMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::lowRegExpObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::lowStorage): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::speculateRegExpObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::setStorage): Deleted.
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::wangsInt64Hash):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateDestructibleObject): Deleted.
- jit/JITOperations.h:
- parser/ModuleAnalyzer.cpp:
(JSC::ModuleAnalyzer::ModuleAnalyzer):
- runtime/HashMapImpl.cpp: Added.
(JSC::HashMapBucket<Data>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::copyBackingStore):
- runtime/HashMapImpl.h: Added.
(JSC::HashMapBucket::selectStructure):
(JSC::HashMapBucket::createStructure):
(JSC::HashMapBucket::create):
(JSC::HashMapBucket::HashMapBucket):
(JSC::HashMapBucket::setNext):
(JSC::HashMapBucket::setPrev):
(JSC::HashMapBucket::setKey):
(JSC::HashMapBucket::setValue):
(JSC::HashMapBucket::key):
(JSC::HashMapBucket::value):
(JSC::HashMapBucket::next):
(JSC::HashMapBucket::prev):
(JSC::HashMapBucket::deleted):
(JSC::HashMapBucket::setDeleted):
(JSC::HashMapBucket::offsetOfKey):
(JSC::HashMapBucket::offsetOfValue):
(JSC::HashMapBuffer::allocationSize):
(JSC::HashMapBuffer::buffer):
(JSC::HashMapBuffer::create):
(JSC::areKeysEqual):
(JSC::normalizeMapKey):
(JSC::jsMapHash):
(JSC::HashMapImpl::selectStructure):
(JSC::HashMapImpl::createStructure):
(JSC::HashMapImpl::create):
(JSC::HashMapImpl::HashMapImpl):
(JSC::HashMapImpl::buffer):
(JSC::HashMapImpl::finishCreation):
(JSC::HashMapImpl::emptyValue):
(JSC::HashMapImpl::isEmpty):
(JSC::HashMapImpl::deletedValue):
(JSC::HashMapImpl::isDeleted):
(JSC::HashMapImpl::findBucket):
(JSC::HashMapImpl::get):
(JSC::HashMapImpl::has):
(JSC::HashMapImpl::add):
(JSC::HashMapImpl::remove):
(JSC::HashMapImpl::size):
(JSC::HashMapImpl::clear):
(JSC::HashMapImpl::bufferSizeInBytes):
(JSC::HashMapImpl::offsetOfBuffer):
(JSC::HashMapImpl::offsetOfCapacity):
(JSC::HashMapImpl::head):
(JSC::HashMapImpl::tail):
(JSC::HashMapImpl::approximateSize):
(JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized):
(JSC::HashMapImpl::rehash):
(JSC::HashMapImpl::makeAndSetNewBuffer):
- runtime/Intrinsic.h:
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::sameValue):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSMap.cpp:
(JSC::JSMap::destroy): Deleted.
(JSC::JSMap::estimatedSize): Deleted.
(JSC::JSMap::visitChildren): Deleted.
(JSC::JSMap::copyBackingStore): Deleted.
(JSC::JSMap::has): Deleted.
(JSC::JSMap::size): Deleted.
(JSC::JSMap::get): Deleted.
(JSC::JSMap::set): Deleted.
(JSC::JSMap::clear): Deleted.
(JSC::JSMap::remove): Deleted.
- runtime/JSMap.h:
(JSC::JSMap::createStructure):
(JSC::JSMap::create):
(JSC::JSMap::get):
(JSC::JSMap::set):
(JSC::JSMap::JSMap):
(JSC::JSMap::Entry::key): Deleted.
(JSC::JSMap::Entry::value): Deleted.
(JSC::JSMap::Entry::visitChildren): Deleted.
(JSC::JSMap::Entry::setKey): Deleted.
(JSC::JSMap::Entry::setKeyWithoutWriteBarrier): Deleted.
(JSC::JSMap::Entry::setValue): Deleted.
(JSC::JSMap::Entry::clear): Deleted.
- runtime/JSMapIterator.cpp:
(JSC::JSMapIterator::finishCreation):
(JSC::JSMapIterator::visitChildren):
(JSC::JSMapIterator::clone):
- runtime/JSMapIterator.h:
(JSC::JSMapIterator::advanceIter):
(JSC::JSMapIterator::next):
(JSC::JSMapIterator::nextKeyValue):
(JSC::JSMapIterator::JSMapIterator):
(JSC::JSMapIterator::setIterator):
(JSC::JSMapIterator::finish): Deleted.
(JSC::JSMapIterator::iteratorData): Deleted.
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::finishCreation):
- runtime/JSModuleLoader.h:
(JSC::JSModuleLoader::create):
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::finishCreation):
- runtime/JSModuleRecord.h:
(JSC::JSModuleRecord::create):
- runtime/JSSet.cpp:
(JSC::JSSet::destroy): Deleted.
(JSC::JSSet::estimatedSize): Deleted.
(JSC::JSSet::visitChildren): Deleted.
(JSC::JSSet::copyBackingStore): Deleted.
(JSC::JSSet::has): Deleted.
(JSC::JSSet::size): Deleted.
(JSC::JSSet::add): Deleted.
(JSC::JSSet::clear): Deleted.
(JSC::JSSet::remove): Deleted.
- runtime/JSSet.h:
(JSC::JSSet::createStructure):
(JSC::JSSet::create):
(JSC::JSSet::add):
(JSC::JSSet::JSSet):
(JSC::JSSet::Entry::key): Deleted.
(JSC::JSSet::Entry::value): Deleted.
(JSC::JSSet::Entry::visitChildren): Deleted.
(JSC::JSSet::Entry::setKey): Deleted.
(JSC::JSSet::Entry::setKeyWithoutWriteBarrier): Deleted.
(JSC::JSSet::Entry::setValue): Deleted.
(JSC::JSSet::Entry::clear): Deleted.
- runtime/JSSetIterator.cpp:
(JSC::JSSetIterator::finishCreation):
(JSC::JSSetIterator::visitChildren):
(JSC::JSSetIterator::clone):
- runtime/JSSetIterator.h:
(JSC::JSSetIterator::advanceIter):
(JSC::JSSetIterator::next):
(JSC::JSSetIterator::JSSetIterator):
(JSC::JSSetIterator::setIterator):
(JSC::JSSetIterator::finish): Deleted.
(JSC::JSSetIterator::iteratorData): Deleted.
- runtime/JSType.h:
- runtime/MapBase.cpp: Added.
(JSC::MapBase<HashMapBucketType>::visitChildren):
(JSC::MapBase<HashMapBucketType>::estimatedSize):
- runtime/MapBase.h: Added.
(JSC::MapBase::size):
(JSC::MapBase::has):
(JSC::MapBase::clear):
(JSC::MapBase::remove):
(JSC::MapBase::findBucket):
(JSC::MapBase::offsetOfHashMapImpl):
(JSC::MapBase::impl):
(JSC::MapBase::finishCreation):
(JSC::MapBase::MapBase):
- runtime/MapConstructor.cpp:
(JSC::constructMap):
- runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototypeFuncNext):
- runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
(JSC::getMap):
(JSC::privateFuncIsMap):
(JSC::privateFuncMapIteratorNext):
- runtime/PropertyDescriptor.cpp:
(JSC::sameValue): Deleted.
- runtime/PropertyDescriptor.h:
- runtime/SetConstructor.cpp:
(JSC::constructSet):
- runtime/SetIteratorPrototype.cpp:
(JSC::SetIteratorPrototypeFuncNext):
- runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
(JSC::getSet):
(JSC::privateFuncSetIteratorNext):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
Source/WebCore:
- ForwardingHeaders/runtime/HashMapImpl.h: Added.
- ForwardingHeaders/runtime/MapBase.h: Added.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::deserialize):
Source/WTF:
I made s_flagCount public in StringImpl since JSC's JITs now use this field.
- wtf/text/StringImpl.h:
- 2:47 AM Changeset in webkit [205729] by
-
- 8 edits3 adds in trunk
ASSERTION FAILED: promise.inherits(JSPromise::info())
https://bugs.webkit.org/show_bug.cgi?id=161632
<rdar://problem/28184743>
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-09
Reviewed by Mark Lam.
Source/JavaScriptCore:
- runtime/JSPromiseDeferred.cpp:
(JSC::JSPromiseDeferred::create): Returning null if promise object is not created.
Source/WebCore:
Test: fetch/fetch-worker-crash.html
- bindings/js/JSDOMPromise.h:
(WebCore::callPromiseFunction): Returning early if created promise is null.
Passing directly a DeferredWrapper to the generated code.
- bindings/scripts/CodeGeneratorJS.pm: Updated to take a DeferredWrapper.
(GenerateImplementation):
(GenerateReturnParameters):
- bindings/scripts/test/JS/JSTestObj.cpp: Rebasing expectations.
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionPromise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionPromise):
LayoutTests:
- TestExpectations: Reenabling skipped tests.
- fetch/fetch-worker-crash-expected.txt: Added.
- fetch/fetch-worker-crash.html: Added.
- fetch/fetch-worker-crash.js: Added.
- 2:42 AM Changeset in webkit [205728] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.14
Merge r205519 - Strikethrough positions are erroneously snapped twice
https://bugs.webkit.org/show_bug.cgi?id=161647
<rdar://problem/11542470>
Reviewed by Zalan Bujtas.
Source/WebCore:
Because we're using an int for the position of the baseline, the math to calculate the
strikethrough position is snapped. Then, we snap it again inside GraphicsContext.
Test: fast/text/strikethrough-int.html
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
- rendering/TextDecorationPainter.h:
(WebCore::TextDecorationPainter::setBaseline):
LayoutTests:
- fast/css3-text/css3-text-decoration/text-decoration-line-through-mispositioned-expected.html: Updated.
- fast/text/strikethrough-int-expected-mismatch.html: Added.
- fast/text/strikethrough-int.html: Added.
- 2:38 AM Changeset in webkit [205727] by
-
- 11 edits1 add in releases/WebKitGTK/webkit-2.14
Merge r205511 - [JSC] Make ArithClz32 work with Cell arguments
https://bugs.webkit.org/show_bug.cgi?id=161369
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-06
Reviewed by Geoffrey Garen.
JSTests:
- stress/arith-clz32-on-various-types.js: Added.
Source/JavaScriptCore:
ArithClz32 was already working with all primitive types
thanks to the magic of ValueToInt32.
This patch adds support for cell arguments through a function
call.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithClz32):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithClz32):
- 2:33 AM Changeset in webkit [205726] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.14
Merge r205510 - ASSERTION FAILED: !paintInfo.overlapTestRequests->contains(this) in WebCore::RenderWidget::paintContents
https://bugs.webkit.org/show_bug.cgi?id=135602
<rdar://problem/27701733>
Reviewed by Simon Fraser.
Source/WebCore:
ASSERT is updated to support multiple fragments painting. We just have to ensure that the FrameView's rect
has not changed between the 2 paintContents calls.
Test: fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html
- rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paintContents):
LayoutTests:
- fast/layers/assert-on-overlap-testing-with-frames-inside-columns-expected.txt: Added.
- fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html: Added.
- 2:29 AM Changeset in webkit [205725] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205498 - Use TemporaryChange<> to maintain m_userIsInteracting
https://bugs.webkit.org/show_bug.cgi?id=161497
Reviewed by Tim Horton.
Replace some error-prone manual set/clear of m_userIsInteracting with
TemporaryChange<>.
No behavior change.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::keyEvent):
(WebKit::WebPage::dispatchTouchEvent):
- 2:27 AM Changeset in webkit [205724] by
-
- 8 edits2 adds in releases/WebKitGTK/webkit-2.14
Merge r205489 - <table> inside <div align="right"> with large content inside = no scrollbar
https://bugs.webkit.org/show_bug.cgi?id=3352
Reviewed by Brent Fulgham.
Source/WebCore:
Respect "right" text-alignment only if the width of the child does not overflow the
width of its containing block. This makes our margin computation more closely conform
to section "Block-level, non-replaced elements in normal flow" of the CSS 2.1
spec., <http://www.w3.org/TR/CSS21/>, and to the behavior observed in Firefox, Chrome,
IE version 9 or later and Microsoft Edge.
Test: fast/block/align-overflow-child.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeInlineDirectionMargins):
LayoutTests:
Add a new test that is derived from the test LayoutTests/fast/block/align-bigger-child.html included
in <https://src.chromium.org/viewvc/blink?revision=187157&view=revision>.
Also update expected results of existing tests.
- fast/block/align-overflow-child-expected.txt: Added.
- fast/block/align-overflow-child.html: Added.
- platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
- platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
- platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
- platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
- platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
- 2:26 AM Changeset in webkit [205723] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205485 - [GTK][Wayland] evince-browser-plugin prevents viewing PDFs
https://bugs.webkit.org/show_bug.cgi?id=158697
Reviewed by Michael Catanzaro.
Use a different cache file for plugins depending on the current platform display. Plugins can claim to work on
X11 but not on Wayland, for example, if they need XEmebed to work. That's the case of the evince browser plugin.
- UIProcess/Plugins/gtk/PluginInfoCache.cpp:
(WebKit::cacheFilenameForCurrentDisplay):
(WebKit::PluginInfoCache::PluginInfoCache):
- 2:24 AM Changeset in webkit [205722] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205484 - [Threaded Compositor] Update timer should have lower priority than tasks scheduled in compositing thread
https://bugs.webkit.org/show_bug.cgi?id=161625
Reviewed by Sergio Villar Senin.
This way, if a resize is scheduled, for example, and there are pending updates, the resize will happen first,
and then the updates will happen at the right size.
- Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
(WebKit::CompositingRunLoop::CompositingRunLoop): Use G_PRIORITY_HIGH_IDLE as update timer priority. The actual
priority doesn't really matter as long as it's lower than G_PRIORITY_DEFAULT, because there are only two
possible sources in the compositing run loop, one for the tasks scheduled, and another one for the update timer.
- 2:21 AM Changeset in webkit [205721] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.14
Merge r205479 - ASSERTION FAILED: !currBox->needsLayout() in WebCore::RenderBlock::checkPositionedObjectsNeedLayout
https://bugs.webkit.org/show_bug.cgi?id=120291
<rdar://problem/27683456>
Reviewed by David Hyatt.
Source/WebCore:
This patch ensures that we always set the 'positioned child needs layout' bit on the containing block
when a new positioned descendant gets inserted. It fixes cases for simplified layout when
we ended up not laying out the descendant element.
Test: fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::insertPositionedObject):
LayoutTests:
- fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out-expected.txt: Added.
- fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out.html: Added.
- 2:19 AM Changeset in webkit [205720] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205475 - [GTK] glImageTargetTexture2D() is a GL function, rename accordingly
https://bugs.webkit.org/show_bug.cgi?id=161622
Patch by Emanuele Aina <Emanuele Aina> on 2016-09-06
Reviewed by Carlos Garcia Campos.
glImageTargetTexture2D() is a GL function, not EGL, using the 'egl'
prefix is misleading.
- UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::Surface::prepareTextureForPainting):
(WebKit::WaylandCompositor::initializeEGL):
- 2:18 AM Changeset in webkit [205719] by
-
- 5 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205474 - [GTK][EFL] Make *_PROCESS_CMD_PREFIX conditional on DEVELOPER_MODE
https://bugs.webkit.org/show_bug.cgi?id=161621
Patch by Emanuele Aina <Emanuele Aina> on 2016-09-06
Reviewed by Carlos Garcia Campos.
Instead of enabling support for the *_PROCESS_CMD_PREFIX set of
environment valiables (eg. WEB_PROCESS_CMD_PREFIX) on debug builds
only, enable it when DEVELOPER_MODE is enabled as it already guards
similar features (eg. WEBKIT_EXEC_PATH).
- UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::getLaunchOptions):
- UIProcess/Launcher/ProcessLauncher.h:
- UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
- 2:15 AM Changeset in webkit [205718] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205466 - Heap::isMarked() should use concurrent lazy flipping
https://bugs.webkit.org/show_bug.cgi?id=161613
Reviewed by Michael Catanzaro.
I found out about this race condition via
https://bugs.webkit.org/show_bug.cgi?id=160125#c233.
The problem is that we use isMarked, and maybe even isLive, inside the concurrent mark
phase. So, they need to lazy-flip in a non-racy way.
- heap/HeapInlines.h:
(JSC::Heap::isLive):
(JSC::Heap::isMarked):
- 1:55 AM Changeset in webkit [205717] by
-
- 291 edits9 copies14 adds1 delete in releases/WebKitGTK/webkit-2.14
Merge r205462 - Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
https://bugs.webkit.org/show_bug.cgi?id=160125
Reviewed by Geoffrey Garen and Keith Miller.
JSTests:
Most of the things I did properly covered by existing tests, but I found some simple cases of
unshifting that had sketchy coverage.
- stress/array-storage-array-unshift.js: Added.
- stress/contiguous-array-unshift.js: Added.
- stress/double-array-unshift.js: Added.
- stress/int32-array-unshift.js: Added.
Source/bmalloc:
I needed to tryMemalign, so I added such a thing.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::allocate):
(bmalloc::Allocator::tryAllocate):
(bmalloc::Allocator::allocateImpl):
- bmalloc/Allocator.h:
- bmalloc/Cache.h:
(bmalloc::Cache::tryAllocate):
- bmalloc/bmalloc.h:
(bmalloc::api::tryMemalign):
Source/JavaScriptCore:
In order to make the GC concurrent (bug 149432), we would either need to enable concurrent
copying or we would need to not copy. Concurrent copying carries a 1-2% throughput overhead
from the barriers alone. Considering that MarkedSpace does a decent job of avoiding
fragmentation, it's unlikely that it's worth paying 1-2% throughput for copying. So, we want
to get rid of copied space. This change moves copied space's biggest client over to marked
space.
Moving butterflies to marked space means having them use the new Auxiliary HeapCell
allocation path. This is a fairly mechanical change, but it caused performance regressions
everywhere, so this change also fixes MarkedSpace's performance issues.
At a high level the mechanical changes are:
- We use AuxiliaryBarrier instead of CopyBarrier.
- We use tryAllocateAuxiliary instead of tryAllocateStorage. I got rid of the silly CheckedBoolean stuff, since it's so much more trouble than it's worth.
- The JITs have to emit inlined marked space allocations instead of inline copy space allocations.
- Everyone has to get used to zeroing their butterflies after allocation instead of relying on them being pre-zeroed by the GC. Copied space would zero things for you, while marked space doesn't.
That's about 1/3 of this change. But this led to performance problems, which I fixed with
optimizations that amounted to a major MarkedSpace rewrite:
- MarkedSpace always causes internal fragmentation for array allocations because the vector length we choose when we resize usually leads to a cell size that doesn't correspond to any size class. I got around this by making array allocations usually round up vectorLength to the maximum allowed by the size class that we would have allocated in. Also, ensureLengthSlow() and friends first make sure that the requested length can't just be fulfilled with the current allocation size. This safeguard means that not every array allocation has to do size class queries. For example, the fast path of new Array(length) never does any size class queries, under the assumption that (1) the speed gained from avoiding an ensureLengthSlow() call, which then just changes the vectorLength by doing the size class query, is too small to offset the speed lost by doing the query on every allocation and (2) new Array(length) is a pretty good hint that resizing is not very likely.
- Size classes in MarkedSpace were way too precise, which led to external fragmentation. This changes MarkedSpace size classes to use a linear progression for very small sizes followed by a geometric progression that naturally transitions to a hyperbolic progression. We want hyperbolic sizes when we get close to blockSize: for example the largest size we want is payloadSize / 2 rounded down, to ensure we get exactly two cells with minimal slop. The next size down should be payloadSize / 3 rounded down, and so on. After the last precise size (80 bytes), we proceed using a geometric progression, but round up each size to minimize slop at the end of the block. This naturally causes the geometric progression to turn hyperbolic for large sizes. The size class configuration happens at VM start-up, so it can be controlled with runtime options. I found that a base of 1.4 works pretty well.
- Large allocations caused massive internal fragmentation, since the smallest large allocation had to use exactly blockSize, and the largest small allocation used blockSize / 2. The next size up - the first large allocation size to require two blocks - also had 50% internal fragmentation. This is because we required large allocations to be blockSize aligned, so that MarkedBlock::blockFor() would work. I decided to rewrite all of that. Cells no longer have to be owned by a MarkedBlock. They can now alternatively be owned by a LargeAllocation. These two things are abstracted as CellContainer. You know that a cell is owned by a LargeAllocation if the MarkedBlock::atomSize / 2 bit is set. Basically, large allocations are deliberately misaligned by 8 bytes. This actually works out great since (1) typed arrays won't use large allocations anyway since they have their own malloc fallback and (2) large array butterflies already have a 8 byte header, which means that the 8 byte base misalignment aligns the large array payload on a 16 byte boundary. I took extreme care to make sure that the isLargeAllocation bit checks are as rare as possible; for example, ExecState::vm() skips the check because we know that callees must be small allocations. It's also possible to use template tricks to do one check for cell container kind, and then invoke a function specialized for MarkedBlock or a function specialized for LargeAllocation. LargeAllocation includes stubs for all MarkedBlock methods that get used from functions that are template-specialized like this. That's mostly to speed up the GC marking code. Most other code can use CellContainer API or HeapCell API directly. That's another thing: HeapCell, the common base of JSCell and auxiliary allocations, is now smart enough to do a lot of things for you, like HeapCell::vm(), HeapCell::heap(), HeapCell::isLargeAllocation(), and HeapCell::cellContainer(). The size cutoff for large allocations is runtime-configurable, so long as you don't choose something so small that callees end up large. I found that 400 bytes is roughly optimal. This means that the MarkedBlock size classes end up being:
16, 32, 48, 64, 80, 112, 160, 224, 320
The next size class would have been 432, but that's above the 400 byte cutoff. All of this
is configurable with --sizeClassProgression and --largeAllocationCutoff. You can see what
size classes you end up with by doing --dumpSizeClasses=true.
- Copied space uses 64KB blocks, while marked space used to use 16KB blocks. Allocating a lot of stuff in 16KB blocks was slower than allocating it in 64KB blocks because the GC had a lot of per-block overhead. I removed this overhead: It's now 2x faster to scan all MarkedBlocks because the list that contains the interesting meta-data is allocated on the side, for better locality during a sequential walk. It's no longer necessary to scan MarkedBlocks to find WeakSets, since the sets of WeakSets for eden scan and full scan are maintained on-the-fly. It's no longer necessary to scan all MarkedBlocks to clear mark bits because we now use versioned mark bits: to clear then, just increment the 64-bit heap version. It's no longer necessary to scan retired MarkedBlocks while allocating because marking retires them on-the-fly. It's no longer necessary to sort all blocks in the IncrementalSweeper's snapshot because blocks now know if they are in the snapshot. Put together, these optimizations allowed me to reduce block size to 16KB without losing much performance. There is some small perf loss on JetStream/splay, but not enough to hurt JetStream overall. I tried reducing block sizes further, to 4KB, since that is a progression on membuster. That's not possible yet, since there is still enough per-block overhead yet that such a reduction hurts JetStream too much. I filed a bug about improving this further: https://bugs.webkit.org/show_bug.cgi?id=161581.
- Even after all of that, copying butterflies was still faster because it allowed us to skip sweeping dead space. A good GC allocates over dead bytes without explicitly freeing them, so the GC pause is O(size of live), not O(size of live + dead). O(dead) is usually much larger than O(live), especially in an eden collection. Copying satisfies this premise while mark+sweep does not. So, I invented a new kind of allocator: bump'n'pop. Previously, our MarkedSpace allocator was a freelist pop. That's simple and easy to inline but requires that we walk the block to build a free list. This means walking dead space. The new allocator allows totally free MarkedBlocks to simply set up a bump-pointer arena instead. The allocator is a hybrid of bump-pointer and freelist pop. It tries bump first. The bump pointer always bumps by cellSize, so the result of filling a block with bumping looks as if we had used freelist popping to fill it. Additionally, each MarkedBlock now has a bit to quickly tell if the block is entirely free. This makes sweeping O(1) whenever a MarkedBlock is completely empty, which is the common case because of the generational hypothesis: the number of objects that survive an eden collection is a tiny fraction of the number of objects that had been allocated, and this fraction is so small that there are typically fewer than one survivors per MarkedBlock. This change was enough to make this change a net win over tip-of-tree.
- FTL now shares the same allocation fast paths as everything else, which is great, because bump'n'pop has gnarly control flow. We don't really want B3 to have to think about that control flow, since it won't be able to improve the machine code we write ourselves. GC fast paths are best written in assembly. So, I've empowered B3 to have even better support for Patchpoint terminals. It's now totally fine for a Patchpoint terminal to be non-Void. So, the new FTL allocation fast paths are just Patchpoint terminals that call through to AssemblyHelpers::emitAllocate(). B3 still reasons about things like constant-folding the size class calculation and constant-hoisting the allocator. Also, I gave the FTL the ability to constant-fold some allocator logic (in case we first assume that we're doing a variable-length allocation but then realize that the length is known). I think it makes sense to have constant folding rules in FTL::Output, or whatever the B3 IR builder is, since this makes lowering easier (you can constant fold during lowering more easily) and it reduces the amount of malloc traffic. In the future, we could teach B3 how to better constant-fold this code. That would require allowing loads to be constant-folded, which is doable but hella tricky.
- It used to be that if a logical object allocation required two physical allocations (first the butterfly and then the cell), then the JIT would emit the code in such a way that a failure in the second fast path would cause us to forget the successful first physical allocation. This was pointlessly wasteful. It turns out that it's very cheap to devote a register to storing either the butterfly or null, because the butterfly register is anyway going to be free inside the first allocation. The only overhead here is zeroing the butterfly register. With that in place, we can just pass the butterfly-or-null to the slow path, which can then either allocate a butterfly or not. So now we never waste a successful allocation. This patch implements such a solution both in DFG (where it's easy to do this since we control registers already) and in FTL (where it's annoying, because mutable "butterfly-or-null" variables are hard to say in SSA; also I realized that we had code duplicated the JSArray allocation utility, so I deduplicated it). This came up because in one version of this patch, this wastage would resonate with some Kraken benchmark: the benchmark would always allocate N small things followed by one bigger thing. The problem was I accidentally adjusted the various fixed overheads in MarkedBlock in such a way that the JSObject size class, which both the small and big thing shared for their cell, could hold exactly N cells per MarkedBlock. Then the benchmark would always call slow path when it allocated the big thing. So, it would end up having to allocate the big thing's large butterfly twice, every single time! Ouch!
- It used to be that we zeroed CopiedBlocks using memset, and so array allocations enjoyed amortization of the cost of zeroing. This doesn't work anymore - it's now up to the client of the allocator to initialize the object to whatever state they need. It used to be that we would just use a dumb loop. I initially changed this so that we would end up in memset for large allocations, but this didn't actually help performance that much. I got a much better result by playing with different memsets written in assembly. First I wrote one using non-temporal stores. That was a small speed-up over memset. Then I tried the classic "rep stos" approach, and holy cow that version was fast. It's a ~20% speed-up on array allocation microbenchmarks. So, this patch adds code paths to do "rep stos" on x86_64, or memset, or use a loop, as appropriate, for both "contiguous" arrays (holes are zero) and double arrays (holes are PNaN). Note that the JIT always emits either a loop or a flat slab of stores (if the size is known), but those paths in the JIT won't trigger for NewArrayWithSize() if the size is large, since that takes us to the operationNewArrayWithSize() slow path, which calls into JSArray::create(). That's why the optimizations here are all in JSArray::create() - that's the hot place for large arrays that need to be filled with holes.
All of this put together gives us neutral perf on JetStream, membuster, and PLT3, a ~1%
regression on Speedometer, and up to a 4% regression Kraken. The Kraken regression is
because Kraken was allocating exactly 1024 element arrays at a rate of 400MB/sec. This is a
best-case scenario for bump allocation. I think that we should fix bmalloc to make up the
difference, but take the hit for now because it's a crazy corner case. By comparison, the
alternative approach of using a copy barrier would have cost us 1-2%. That's the real
apples-to-apples comparison if your premise is that we should have a concurrent GC. After we
finish removing copied space, we will be barrier-ready for concurrent GC: we already have a
marking barrier and we simply won't need a copying barrier. This change gets us there for
the purposes of our benchmarks, since the remaining clients of copied space are not very
important. On the other hand, if we keep copying, then getting barrier-ready would mean
adding back the copy barrier, which costs more perf.
We might get bigger speed-ups once we remove CopiedSpace altogether. That requires moving
typed arrays and a few other weird things over to Aux MarkedSpace.
This also includes some header sanitization. The introduction of AuxiliaryBarrier, HeapCell,
and CellContainer meant that I had to include those files from everywhere. Fortunately,
just including JSCInlines.h (instead of manually including the files that includes) is
usually enough. So, I made most of JSC's cpp files include JSCInlines.h, which is something
that we were already basically doing. In places where JSCInlines.h would be too much, I just
included HeapInlines.h. This got weird, because we previously included HeapInlines.h from
JSObject.h. That's bad because it led to some circular dependencies, so I fixed it - but that
meant having to manually include HeapInlines.h from the places that previously got it
implicitly via JSObject.h. But that led to more problems for some reason: I started getting
build errors because non-JSC files were having trouble including Opcode.h. That's just silly,
since Opcode.h is meant to be an internal JSC header. So, I made it an internal header and
made it impossible to include it from outside JSC. This was a lot of work, but it was
necessary to get the patch to build on all ports. It's also a net win. There were many places
in WebCore that were transitively including a *ton* of JSC headers just because of the
JSObject.h->HeapInlines.h edge and a bunch of dependency edges that arose from some public
(for WebCore) JSC headers needing Interpreter.h or Opcode.h for bad reasons.
- API/JSManagedValue.mm:
(-[JSManagedValue initWithValue:]):
- API/JSTypedArray.cpp:
- API/ObjCCallbackFunction.mm:
- API/tests/testapi.mm:
(testObjectiveCAPI):
(testWeakValue): Deleted.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/builtins/builtins_generate_combined_implementation.py:
(BuiltinsCombinedImplementationGenerator.generate_secondary_header_includes):
- Scripts/builtins/builtins_generate_internals_wrapper_implementation.py:
(BuiltinsInternalsWrapperImplementationGenerator.generate_secondary_header_includes):
- Scripts/builtins/builtins_generate_separate_implementation.py:
(BuiltinsSeparateImplementationGenerator.generate_secondary_header_includes):
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::JumpList::link):
(JSC::AbstractMacroAssembler::JumpList::linkTo):
- assembler/MacroAssembler.h:
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::add32):
- assembler/MacroAssemblerCodeRef.cpp: Added.
(JSC::MacroAssemblerCodePtr::createLLIntCodePtr):
(JSC::MacroAssemblerCodePtr::dumpWithName):
(JSC::MacroAssemblerCodePtr::dump):
(JSC::MacroAssemblerCodeRef::createLLIntCodeRef):
(JSC::MacroAssemblerCodeRef::dump):
- assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodePtr::createLLIntCodePtr): Deleted.
(JSC::MacroAssemblerCodePtr::dumpWithName): Deleted.
(JSC::MacroAssemblerCodePtr::dump): Deleted.
(JSC::MacroAssemblerCodeRef::createLLIntCodeRef): Deleted.
(JSC::MacroAssemblerCodeRef::dump): Deleted.
- b3/B3BasicBlock.cpp:
(JSC::B3::BasicBlock::appendBoolConstant):
- b3/B3BasicBlock.h:
- b3/B3DuplicateTails.cpp:
- b3/B3StackmapGenerationParams.h:
- b3/testb3.cpp:
(JSC::B3::testPatchpointTerminalReturnValue):
(JSC::B3::run):
- bindings/ScriptValue.cpp:
- bytecode/AdaptiveInferredPropertyValueWatchpointBase.cpp:
- bytecode/BytecodeBasicBlock.cpp:
- bytecode/BytecodeLivenessAnalysis.cpp:
- bytecode/BytecodeUseDef.h:
- bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::callTypeFor):
- bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::callTypeFor): Deleted.
- bytecode/CallLinkStatus.cpp:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::clearLLIntGetByIdCache):
(JSC::CodeBlock::predictedMachineCodeSize):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::jitCodeMap): Deleted.
(JSC::clearLLIntGetByIdCache): Deleted.
- bytecode/ExecutionCounter.h:
- bytecode/Instruction.h:
- bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp:
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::fireInternal):
- bytecode/ObjectAllocationProfile.h:
(JSC::ObjectAllocationProfile::isNull):
(JSC::ObjectAllocationProfile::initialize):
- bytecode/Opcode.h:
(JSC::padOpcodeName):
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generateImpl):
(JSC::PolymorphicAccess::regenerate):
- bytecode/PolymorphicAccess.h:
- bytecode/PreciseJumpTargets.cpp:
- bytecode/StructureStubInfo.cpp:
- bytecode/StructureStubInfo.h:
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::vm): Deleted.
- bytecode/UnlinkedCodeBlock.h:
- bytecode/UnlinkedInstructionStream.cpp:
- bytecode/UnlinkedInstructionStream.h:
- dfg/DFGOperations.cpp:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateRawObject):
(JSC::DFG::SpeculativeJIT::compileMakeRope):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::emitAllocateJSCell):
(JSC::DFG::SpeculativeJIT::emitAllocateJSObject):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLCompile.cpp:
- ftl/FTLJITFinalizer.cpp:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateRest):
(JSC::FTL::DFG::LowerDFGToB3::allocateArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
(JSC::FTL::DFG::LowerDFGToB3::initializeArrayElements):
(JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl):
(JSC::FTL::DFG::LowerDFGToB3::allocateHeapCell):
(JSC::FTL::DFG::LowerDFGToB3::allocateCell):
(JSC::FTL::DFG::LowerDFGToB3::allocateObject):
(JSC::FTL::DFG::LowerDFGToB3::allocatorForSize):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedObject):
(JSC::FTL::DFG::LowerDFGToB3::allocateJSArray):
(JSC::FTL::DFG::LowerDFGToB3::compileAllocateArrayWithSize): Deleted.
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::constBool):
(JSC::FTL::Output::add):
(JSC::FTL::Output::shl):
(JSC::FTL::Output::aShr):
(JSC::FTL::Output::lShr):
(JSC::FTL::Output::zeroExt):
(JSC::FTL::Output::equal):
(JSC::FTL::Output::notEqual):
(JSC::FTL::Output::above):
(JSC::FTL::Output::aboveOrEqual):
(JSC::FTL::Output::below):
(JSC::FTL::Output::belowOrEqual):
(JSC::FTL::Output::greaterThan):
(JSC::FTL::Output::greaterThanOrEqual):
(JSC::FTL::Output::lessThan):
(JSC::FTL::Output::lessThanOrEqual):
(JSC::FTL::Output::select):
(JSC::FTL::Output::appendSuccessor):
(JSC::FTL::Output::addIncomingToPhi):
- ftl/FTLOutput.h:
- ftl/FTLValueFromBlock.h:
(JSC::FTL::ValueFromBlock::operator bool):
(JSC::FTL::ValueFromBlock::ValueFromBlock): Deleted.
- ftl/FTLWeightedTarget.h:
(JSC::FTL::WeightedTarget::frequentedBlock):
- heap/CellContainer.h: Added.
(JSC::CellContainer::CellContainer):
(JSC::CellContainer::operator bool):
(JSC::CellContainer::isMarkedBlock):
(JSC::CellContainer::isLargeAllocation):
(JSC::CellContainer::markedBlock):
(JSC::CellContainer::largeAllocation):
- heap/CellContainerInlines.h: Added.
(JSC::CellContainer::isMarked):
(JSC::CellContainer::isMarkedOrNewlyAllocated):
(JSC::CellContainer::noteMarked):
(JSC::CellContainer::cellSize):
(JSC::CellContainer::weakSet):
(JSC::CellContainer::flipIfNecessary):
- heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::ConservativeRoots):
(JSC::ConservativeRoots::~ConservativeRoots):
(JSC::ConservativeRoots::grow):
(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::genericAddSpan):
- heap/ConservativeRoots.h:
(JSC::ConservativeRoots::roots):
- heap/CopyToken.h:
- heap/FreeList.cpp: Added.
(JSC::FreeList::dump):
- heap/FreeList.h: Added.
(JSC::FreeList::FreeList):
(JSC::FreeList::list):
(JSC::FreeList::bump):
(JSC::FreeList::operator==):
(JSC::FreeList::operator!=):
(JSC::FreeList::operator bool):
(JSC::FreeList::allocationWillFail):
(JSC::FreeList::allocationWillSucceed):
- heap/GCTypeMap.h: Added.
(JSC::GCTypeMap::operator[]):
- heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::finalizeUnconditionalFinalizers):
(JSC::Heap::markRoots):
(JSC::Heap::copyBackingStores):
(JSC::Heap::gatherStackRoots):
(JSC::Heap::gatherJSStackRoots):
(JSC::Heap::gatherScratchBufferRoots):
(JSC::Heap::clearLivenessData):
(JSC::Heap::visitSmallStrings):
(JSC::Heap::visitConservativeRoots):
(JSC::Heap::removeDeadCompilerWorklistEntries):
(JSC::Heap::gatherExtraHeapSnapshotData):
(JSC::Heap::removeDeadHeapSnapshotNodes):
(JSC::Heap::visitProtectedObjects):
(JSC::Heap::visitArgumentBuffers):
(JSC::Heap::visitException):
(JSC::Heap::visitStrongHandles):
(JSC::Heap::visitHandleStack):
(JSC::Heap::visitSamplingProfiler):
(JSC::Heap::traceCodeBlocksAndJITStubRoutines):
(JSC::Heap::converge):
(JSC::Heap::visitWeakHandles):
(JSC::Heap::updateObjectCounts):
(JSC::Heap::clearUnmarkedExecutables):
(JSC::Heap::deleteUnmarkedCompiledCode):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collect):
(JSC::Heap::collectWithoutAnySweep):
(JSC::Heap::collectImpl):
(JSC::Heap::suspendCompilerThreads):
(JSC::Heap::willStartCollection):
(JSC::Heap::flushOldStructureIDTables):
(JSC::Heap::flushWriteBarrierBuffer):
(JSC::Heap::stopAllocation):
(JSC::Heap::prepareForMarking):
(JSC::Heap::reapWeakHandles):
(JSC::Heap::pruneStaleEntriesFromWeakGCMaps):
(JSC::Heap::sweepArrayBuffers):
(JSC::MarkedBlockSnapshotFunctor::MarkedBlockSnapshotFunctor):
(JSC::MarkedBlockSnapshotFunctor::operator()):
(JSC::Heap::snapshotMarkedSpace):
(JSC::Heap::deleteSourceProviderCaches):
(JSC::Heap::notifyIncrementalSweeper):
(JSC::Heap::writeBarrierCurrentlyExecutingCodeBlocks):
(JSC::Heap::resetAllocators):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didFinishCollection):
(JSC::Heap::resumeCompilerThreads):
(JSC::Zombify::visit):
(JSC::Heap::forEachCodeBlockImpl):
- heap/Heap.h:
(JSC::Heap::allocatorForObjectWithoutDestructor):
(JSC::Heap::allocatorForObjectWithDestructor):
(JSC::Heap::allocatorForAuxiliaryData):
(JSC::Heap::jitStubRoutines):
(JSC::Heap::codeBlockSet):
(JSC::Heap::storageAllocator): Deleted.
- heap/HeapCell.h:
(JSC::HeapCell::isZapped): Deleted.
- heap/HeapCellInlines.h: Added.
(JSC::HeapCell::isLargeAllocation):
(JSC::HeapCell::cellContainer):
(JSC::HeapCell::markedBlock):
(JSC::HeapCell::largeAllocation):
(JSC::HeapCell::heap):
(JSC::HeapCell::vm):
(JSC::HeapCell::cellSize):
(JSC::HeapCell::allocatorAttributes):
(JSC::HeapCell::destructionMode):
(JSC::HeapCell::cellKind):
- heap/HeapInlines.h:
(JSC::Heap::heap):
(JSC::Heap::isLive):
(JSC::Heap::isMarked):
(JSC::Heap::testAndSetMarked):
(JSC::Heap::setMarked):
(JSC::Heap::cellSize):
(JSC::Heap::forEachCodeBlock):
(JSC::Heap::allocateObjectOfType):
(JSC::Heap::subspaceForObjectOfType):
(JSC::Heap::allocatorForObjectOfType):
(JSC::Heap::allocateAuxiliary):
(JSC::Heap::tryAllocateAuxiliary):
(JSC::Heap::tryReallocateAuxiliary):
(JSC::Heap::isPointerGCObject): Deleted.
(JSC::Heap::isValueGCObject): Deleted.
- heap/HeapOperation.cpp: Added.
(WTF::printInternal):
- heap/HeapOperation.h:
- heap/HeapUtil.h: Added.
(JSC::HeapUtil::findGCObjectPointersForMarking):
(JSC::HeapUtil::isPointerGCObjectJSCell):
(JSC::HeapUtil::isValueGCObject):
- heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::sweepNextBlock):
- heap/IncrementalSweeper.h:
- heap/LargeAllocation.cpp: Added.
(JSC::LargeAllocation::tryCreate):
(JSC::LargeAllocation::LargeAllocation):
(JSC::LargeAllocation::lastChanceToFinalize):
(JSC::LargeAllocation::shrink):
(JSC::LargeAllocation::visitWeakSet):
(JSC::LargeAllocation::reapWeakSet):
(JSC::LargeAllocation::flip):
(JSC::LargeAllocation::isEmpty):
(JSC::LargeAllocation::sweep):
(JSC::LargeAllocation::destroy):
(JSC::LargeAllocation::dump):
- heap/LargeAllocation.h: Added.
(JSC::LargeAllocation::fromCell):
(JSC::LargeAllocation::cell):
(JSC::LargeAllocation::isLargeAllocation):
(JSC::LargeAllocation::heap):
(JSC::LargeAllocation::vm):
(JSC::LargeAllocation::weakSet):
(JSC::LargeAllocation::clearNewlyAllocated):
(JSC::LargeAllocation::isNewlyAllocated):
(JSC::LargeAllocation::isMarked):
(JSC::LargeAllocation::isMarkedOrNewlyAllocated):
(JSC::LargeAllocation::isLive):
(JSC::LargeAllocation::hasValidCell):
(JSC::LargeAllocation::cellSize):
(JSC::LargeAllocation::aboveLowerBound):
(JSC::LargeAllocation::belowUpperBound):
(JSC::LargeAllocation::contains):
(JSC::LargeAllocation::attributes):
(JSC::LargeAllocation::flipIfNecessary):
(JSC::LargeAllocation::flipIfNecessaryConcurrently):
(JSC::LargeAllocation::testAndSetMarked):
(JSC::LargeAllocation::setMarked):
(JSC::LargeAllocation::clearMarked):
(JSC::LargeAllocation::noteMarked):
(JSC::LargeAllocation::headerSize):
- heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::isPagedOut):
(JSC::MarkedAllocator::retire):
(JSC::MarkedAllocator::filterNextBlock):
(JSC::MarkedAllocator::setNextBlockToSweep):
(JSC::MarkedAllocator::tryAllocateWithoutCollectingImpl):
(JSC::MarkedAllocator::tryAllocateWithoutCollecting):
(JSC::MarkedAllocator::allocateSlowCase):
(JSC::MarkedAllocator::tryAllocateSlowCase):
(JSC::MarkedAllocator::allocateSlowCaseImpl):
(JSC::blockHeaderSize):
(JSC::MarkedAllocator::blockSizeForBytes):
(JSC::MarkedAllocator::tryAllocateBlock):
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
(JSC::MarkedAllocator::stopAllocating):
(JSC::MarkedAllocator::reset):
(JSC::MarkedAllocator::lastChanceToFinalize):
(JSC::MarkedAllocator::setFreeList):
(JSC::isListPagedOut): Deleted.
(JSC::MarkedAllocator::tryAllocateHelper): Deleted.
(JSC::MarkedAllocator::tryPopFreeList): Deleted.
(JSC::MarkedAllocator::tryAllocate): Deleted.
(JSC::MarkedAllocator::allocateBlock): Deleted.
- heap/MarkedAllocator.h:
(JSC::MarkedAllocator::takeLastActiveBlock):
(JSC::MarkedAllocator::offsetOfFreeList):
(JSC::MarkedAllocator::offsetOfCellSize):
(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::allocate):
(JSC::MarkedAllocator::forEachBlock):
(JSC::MarkedAllocator::offsetOfFreeListHead): Deleted.
(JSC::MarkedAllocator::MarkedAllocator): Deleted.
(JSC::MarkedAllocator::init): Deleted.
(JSC::MarkedAllocator::stopAllocating): Deleted.
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::tryCreate):
(JSC::MarkedBlock::Handle::Handle):
(JSC::MarkedBlock::Handle::~Handle):
(JSC::MarkedBlock::MarkedBlock):
(JSC::MarkedBlock::Handle::specializedSweep):
(JSC::MarkedBlock::Handle::sweep):
(JSC::MarkedBlock::Handle::sweepHelperSelectScribbleMode):
(JSC::MarkedBlock::Handle::sweepHelperSelectStateAndSweepMode):
(JSC::MarkedBlock::Handle::unsweepWithNoNewlyAllocated):
(JSC::SetNewlyAllocatedFunctor::SetNewlyAllocatedFunctor):
(JSC::SetNewlyAllocatedFunctor::operator()):
(JSC::MarkedBlock::Handle::stopAllocating):
(JSC::MarkedBlock::Handle::lastChanceToFinalize):
(JSC::MarkedBlock::Handle::resumeAllocating):
(JSC::MarkedBlock::Handle::zap):
(JSC::MarkedBlock::Handle::forEachFreeCell):
(JSC::MarkedBlock::flipIfNecessary):
(JSC::MarkedBlock::Handle::flipIfNecessary):
(JSC::MarkedBlock::flipIfNecessarySlow):
(JSC::MarkedBlock::flipIfNecessaryConcurrentlySlow):
(JSC::MarkedBlock::clearMarks):
(JSC::MarkedBlock::assertFlipped):
(JSC::MarkedBlock::needsFlip):
(JSC::MarkedBlock::Handle::needsFlip):
(JSC::MarkedBlock::Handle::willRemoveBlock):
(JSC::MarkedBlock::Handle::didConsumeFreeList):
(JSC::MarkedBlock::markCount):
(JSC::MarkedBlock::Handle::isEmpty):
(JSC::MarkedBlock::clearHasAnyMarked):
(JSC::MarkedBlock::noteMarkedSlow):
(WTF::printInternal):
(JSC::MarkedBlock::create): Deleted.
(JSC::MarkedBlock::destroy): Deleted.
(JSC::MarkedBlock::callDestructor): Deleted.
(JSC::MarkedBlock::specializedSweep): Deleted.
(JSC::MarkedBlock::sweep): Deleted.
(JSC::MarkedBlock::sweepHelper): Deleted.
(JSC::MarkedBlock::stopAllocating): Deleted.
(JSC::MarkedBlock::clearMarksWithCollectionType): Deleted.
(JSC::MarkedBlock::lastChanceToFinalize): Deleted.
(JSC::MarkedBlock::resumeAllocating): Deleted.
(JSC::MarkedBlock::didRetireBlock): Deleted.
- heap/MarkedBlock.h:
(JSC::MarkedBlock::VoidFunctor::returnValue):
(JSC::MarkedBlock::CountFunctor::CountFunctor):
(JSC::MarkedBlock::CountFunctor::count):
(JSC::MarkedBlock::CountFunctor::returnValue):
(JSC::MarkedBlock::Handle::hasAnyNewlyAllocated):
(JSC::MarkedBlock::Handle::isOnBlocksToSweep):
(JSC::MarkedBlock::Handle::setIsOnBlocksToSweep):
(JSC::MarkedBlock::Handle::state):
(JSC::MarkedBlock::needsDestruction):
(JSC::MarkedBlock::handle):
(JSC::MarkedBlock::Handle::block):
(JSC::MarkedBlock::firstAtom):
(JSC::MarkedBlock::atoms):
(JSC::MarkedBlock::isAtomAligned):
(JSC::MarkedBlock::Handle::cellAlign):
(JSC::MarkedBlock::blockFor):
(JSC::MarkedBlock::Handle::allocator):
(JSC::MarkedBlock::Handle::heap):
(JSC::MarkedBlock::Handle::vm):
(JSC::MarkedBlock::vm):
(JSC::MarkedBlock::Handle::weakSet):
(JSC::MarkedBlock::weakSet):
(JSC::MarkedBlock::Handle::shrink):
(JSC::MarkedBlock::Handle::visitWeakSet):
(JSC::MarkedBlock::Handle::reapWeakSet):
(JSC::MarkedBlock::Handle::cellSize):
(JSC::MarkedBlock::cellSize):
(JSC::MarkedBlock::Handle::attributes):
(JSC::MarkedBlock::attributes):
(JSC::MarkedBlock::Handle::needsDestruction):
(JSC::MarkedBlock::Handle::destruction):
(JSC::MarkedBlock::Handle::cellKind):
(JSC::MarkedBlock::Handle::markCount):
(JSC::MarkedBlock::Handle::size):
(JSC::MarkedBlock::atomNumber):
(JSC::MarkedBlock::flipIfNecessary):
(JSC::MarkedBlock::flipIfNecessaryConcurrently):
(JSC::MarkedBlock::Handle::flipIfNecessary):
(JSC::MarkedBlock::Handle::flipIfNecessaryConcurrently):
(JSC::MarkedBlock::Handle::flipForEdenCollection):
(JSC::MarkedBlock::assertFlipped):
(JSC::MarkedBlock::Handle::assertFlipped):
(JSC::MarkedBlock::isMarked):
(JSC::MarkedBlock::testAndSetMarked):
(JSC::MarkedBlock::Handle::isNewlyAllocated):
(JSC::MarkedBlock::Handle::setNewlyAllocated):
(JSC::MarkedBlock::Handle::clearNewlyAllocated):
(JSC::MarkedBlock::Handle::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::Handle::isLive):
(JSC::MarkedBlock::isAtom):
(JSC::MarkedBlock::Handle::isLiveCell):
(JSC::MarkedBlock::Handle::forEachCell):
(JSC::MarkedBlock::Handle::forEachLiveCell):
(JSC::MarkedBlock::Handle::forEachDeadCell):
(JSC::MarkedBlock::Handle::needsSweeping):
(JSC::MarkedBlock::Handle::isAllocated):
(JSC::MarkedBlock::Handle::isMarked):
(JSC::MarkedBlock::Handle::isFreeListed):
(JSC::MarkedBlock::hasAnyMarked):
(JSC::MarkedBlock::noteMarked):
(WTF::MarkedBlockHash::hash):
(JSC::MarkedBlock::FreeList::FreeList): Deleted.
(JSC::MarkedBlock::allocator): Deleted.
(JSC::MarkedBlock::heap): Deleted.
(JSC::MarkedBlock::shrink): Deleted.
(JSC::MarkedBlock::visitWeakSet): Deleted.
(JSC::MarkedBlock::reapWeakSet): Deleted.
(JSC::MarkedBlock::willRemoveBlock): Deleted.
(JSC::MarkedBlock::didConsumeFreeList): Deleted.
(JSC::MarkedBlock::markCount): Deleted.
(JSC::MarkedBlock::isEmpty): Deleted.
(JSC::MarkedBlock::destruction): Deleted.
(JSC::MarkedBlock::cellKind): Deleted.
(JSC::MarkedBlock::size): Deleted.
(JSC::MarkedBlock::capacity): Deleted.
(JSC::MarkedBlock::setMarked): Deleted.
(JSC::MarkedBlock::clearMarked): Deleted.
(JSC::MarkedBlock::isNewlyAllocated): Deleted.
(JSC::MarkedBlock::setNewlyAllocated): Deleted.
(JSC::MarkedBlock::clearNewlyAllocated): Deleted.
(JSC::MarkedBlock::isLive): Deleted.
(JSC::MarkedBlock::isLiveCell): Deleted.
(JSC::MarkedBlock::forEachCell): Deleted.
(JSC::MarkedBlock::forEachLiveCell): Deleted.
(JSC::MarkedBlock::forEachDeadCell): Deleted.
(JSC::MarkedBlock::needsSweeping): Deleted.
(JSC::MarkedBlock::isAllocated): Deleted.
(JSC::MarkedBlock::isMarkedOrRetired): Deleted.
- heap/MarkedSpace.cpp:
(JSC::MarkedSpace::initializeSizeClassForStepSize):
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::~MarkedSpace):
(JSC::MarkedSpace::lastChanceToFinalize):
(JSC::MarkedSpace::allocate):
(JSC::MarkedSpace::tryAllocate):
(JSC::MarkedSpace::allocateLarge):
(JSC::MarkedSpace::tryAllocateLarge):
(JSC::MarkedSpace::sweep):
(JSC::MarkedSpace::sweepLargeAllocations):
(JSC::MarkedSpace::zombifySweep):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::visitWeakSets):
(JSC::MarkedSpace::reapWeakSets):
(JSC::MarkedSpace::stopAllocating):
(JSC::MarkedSpace::prepareForMarking):
(JSC::MarkedSpace::resumeAllocating):
(JSC::MarkedSpace::isPagedOut):
(JSC::MarkedSpace::freeBlock):
(JSC::MarkedSpace::freeOrShrinkBlock):
(JSC::MarkedSpace::shrink):
(JSC::MarkedSpace::clearNewlyAllocated):
(JSC::VerifyMarked::operator()):
(JSC::MarkedSpace::flip):
(JSC::MarkedSpace::objectCount):
(JSC::MarkedSpace::size):
(JSC::MarkedSpace::capacity):
(JSC::MarkedSpace::addActiveWeakSet):
(JSC::MarkedSpace::didAddBlock):
(JSC::MarkedSpace::didAllocateInBlock):
(JSC::MarkedSpace::forEachAllocator): Deleted.
(JSC::VerifyMarkedOrRetired::operator()): Deleted.
(JSC::MarkedSpace::clearMarks): Deleted.
- heap/MarkedSpace.h:
(JSC::MarkedSpace::sizeClassToIndex):
(JSC::MarkedSpace::indexToSizeClass):
(JSC::MarkedSpace::version):
(JSC::MarkedSpace::blocksWithNewObjects):
(JSC::MarkedSpace::largeAllocations):
(JSC::MarkedSpace::largeAllocationsNurseryOffset):
(JSC::MarkedSpace::largeAllocationsOffsetForThisCollection):
(JSC::MarkedSpace::largeAllocationsForThisCollectionBegin):
(JSC::MarkedSpace::largeAllocationsForThisCollectionEnd):
(JSC::MarkedSpace::largeAllocationsForThisCollectionSize):
(JSC::MarkedSpace::forEachLiveCell):
(JSC::MarkedSpace::forEachDeadCell):
(JSC::MarkedSpace::allocatorFor):
(JSC::MarkedSpace::destructorAllocatorFor):
(JSC::MarkedSpace::auxiliaryAllocatorFor):
(JSC::MarkedSpace::allocateWithoutDestructor):
(JSC::MarkedSpace::allocateWithDestructor):
(JSC::MarkedSpace::allocateAuxiliary):
(JSC::MarkedSpace::tryAllocateAuxiliary):
(JSC::MarkedSpace::forEachBlock):
(JSC::MarkedSpace::forEachAllocator):
(JSC::MarkedSpace::optimalSizeFor):
(JSC::MarkedSpace::didAddBlock): Deleted.
(JSC::MarkedSpace::didAllocateInBlock): Deleted.
(JSC::MarkedSpace::objectCount): Deleted.
(JSC::MarkedSpace::size): Deleted.
(JSC::MarkedSpace::capacity): Deleted.
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::SlotVisitor):
(JSC::SlotVisitor::didStartMarking):
(JSC::SlotVisitor::reset):
(JSC::SlotVisitor::append):
(JSC::SlotVisitor::appendJSCellOrAuxiliary):
(JSC::SlotVisitor::setMarkedAndAppendToMarkStack):
(JSC::SlotVisitor::appendToMarkStack):
(JSC::SlotVisitor::markAuxiliary):
(JSC::SlotVisitor::noteLiveAuxiliaryCell):
(JSC::SlotVisitor::visitChildren):
- heap/SlotVisitor.h:
- heap/WeakBlock.cpp:
(JSC::WeakBlock::create):
(JSC::WeakBlock::WeakBlock):
(JSC::WeakBlock::visit):
(JSC::WeakBlock::reap):
- heap/WeakBlock.h:
(JSC::WeakBlock::disconnectContainer):
(JSC::WeakBlock::disconnectMarkedBlock): Deleted.
- heap/WeakSet.cpp:
(JSC::WeakSet::~WeakSet):
(JSC::WeakSet::sweep):
(JSC::WeakSet::shrink):
(JSC::WeakSet::addAllocator):
- heap/WeakSet.h:
(JSC::WeakSet::container):
(JSC::WeakSet::setContainer):
(JSC::WeakSet::WeakSet):
(JSC::WeakSet::visit):
(JSC::WeakSet::shrink): Deleted.
- heap/WeakSetInlines.h:
(JSC::WeakSet::allocate):
- inspector/InjectedScriptManager.cpp:
- inspector/JSGlobalObjectInspectorController.cpp:
- inspector/JSJavaScriptCallFrame.cpp:
- inspector/ScriptDebugServer.cpp:
- inspector/agents/InspectorDebuggerAgent.cpp:
- interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
- interpreter/Interpreter.cpp:
(JSC::loadVarargs):
(JSC::StackFrame::sourceID): Deleted.
(JSC::StackFrame::sourceURL): Deleted.
(JSC::StackFrame::functionName): Deleted.
(JSC::StackFrame::computeLineAndColumn): Deleted.
(JSC::StackFrame::toString): Deleted.
- interpreter/Interpreter.h:
(JSC::StackFrame::isNative): Deleted.
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):
(JSC::AssemblyHelpers::emitAllocate):
(JSC::AssemblyHelpers::emitAllocateJSCell):
(JSC::AssemblyHelpers::emitAllocateJSObject):
(JSC::AssemblyHelpers::emitAllocateJSObjectWithKnownSize):
(JSC::AssemblyHelpers::emitAllocateVariableSized):
- jit/GCAwareJITStubRoutine.cpp:
(JSC::GCAwareJITStubRoutine::GCAwareJITStubRoutine):
- jit/JIT.cpp:
(JSC::JIT::compileCTINativeCall):
(JSC::JIT::link):
- jit/JIT.h:
(JSC::JIT::compileCTINativeCall): Deleted.
- jit/JITExceptions.cpp:
(JSC::genericUnwind):
- jit/JITExceptions.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitWriteBarrier):
- jit/JITThunks.cpp:
- jit/JITThunks.h:
- jsc.cpp:
(functionDescribeArray):
(main):
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- llint/LLIntExceptions.cpp:
- llint/LLIntThunks.cpp:
- llint/LLIntThunks.h:
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter.cpp:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- parser/ModuleAnalyzer.cpp:
- parser/NodeConstructors.h:
- parser/Nodes.h:
- profiler/ProfilerBytecode.cpp:
- profiler/ProfilerBytecode.h:
- profiler/ProfilerBytecodeSequence.cpp:
- runtime/ArrayConventions.h:
(JSC::indexingHeaderForArrayStorage):
(JSC::baseIndexingHeaderForArrayStorage):
(JSC::indexingHeaderForArray): Deleted.
(JSC::baseIndexingHeaderForArray): Deleted.
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSplice):
(JSC::concatAppendOne):
(JSC::arrayProtoPrivateFuncConcatMemcpy):
- runtime/ArrayStorage.h:
(JSC::ArrayStorage::vectorLength):
(JSC::ArrayStorage::totalSizeFor):
(JSC::ArrayStorage::totalSize):
(JSC::ArrayStorage::availableVectorLength):
(JSC::ArrayStorage::optimalVectorLength):
(JSC::ArrayStorage::sizeFor): Deleted.
- runtime/AuxiliaryBarrier.h: Added.
(JSC::AuxiliaryBarrier::AuxiliaryBarrier):
(JSC::AuxiliaryBarrier::clear):
(JSC::AuxiliaryBarrier::get):
(JSC::AuxiliaryBarrier::slot):
(JSC::AuxiliaryBarrier::operator bool):
(JSC::AuxiliaryBarrier::setWithoutBarrier):
- runtime/AuxiliaryBarrierInlines.h: Added.
(JSC::AuxiliaryBarrier<T>::AuxiliaryBarrier):
(JSC::AuxiliaryBarrier<T>::set):
- runtime/Butterfly.h:
- runtime/ButterflyInlines.h:
(JSC::Butterfly::availableContiguousVectorLength):
(JSC::Butterfly::optimalContiguousVectorLength):
(JSC::Butterfly::createUninitialized):
(JSC::Butterfly::growArrayRight):
- runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createEmpty):
- runtime/CommonSlowPathsExceptions.cpp:
- runtime/CommonSlowPathsExceptions.h:
- runtime/DataView.cpp:
- runtime/DirectArguments.h:
- runtime/ECMAScriptSpecInternalFunctions.cpp:
- runtime/Error.cpp:
- runtime/Error.h:
- runtime/ErrorInstance.cpp:
- runtime/ErrorInstance.h:
- runtime/Exception.cpp:
- runtime/Exception.h:
- runtime/GeneratorFrame.cpp:
- runtime/GeneratorPrototype.cpp:
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::InternalFunction):
- runtime/IntlCollator.cpp:
- runtime/IntlCollatorConstructor.cpp:
- runtime/IntlCollatorPrototype.cpp:
- runtime/IntlDateTimeFormat.cpp:
- runtime/IntlDateTimeFormatConstructor.cpp:
- runtime/IntlDateTimeFormatPrototype.cpp:
- runtime/IntlNumberFormat.cpp:
- runtime/IntlNumberFormatConstructor.cpp:
- runtime/IntlNumberFormatPrototype.cpp:
- runtime/IntlObject.cpp:
- runtime/IteratorPrototype.cpp:
- runtime/JSArray.cpp:
(JSC::JSArray::tryCreateUninitialized):
(JSC::JSArray::setLengthWritable):
(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::appendMemcpy):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::fastSlice):
(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithArrayStorage):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToArguments):
- runtime/JSArray.h:
(JSC::createContiguousArrayButterfly):
(JSC::createArrayButterfly):
(JSC::JSArray::create):
(JSC::JSArray::tryCreateUninitialized): Deleted.
- runtime/JSArrayBufferView.h:
- runtime/JSCInlines.h:
- runtime/JSCJSValue.cpp:
(JSC::JSValue::dumpInContextAssumingStructure):
- runtime/JSCallee.cpp:
(JSC::JSCallee::JSCallee):
- runtime/JSCell.cpp:
(JSC::JSCell::estimatedSize):
- runtime/JSCell.h:
(JSC::JSCell::cellStateOffset): Deleted.
- runtime/JSCellInlines.h:
(JSC::ExecState::vm):
(JSC::JSCell::classInfo):
(JSC::JSCell::callDestructor):
(JSC::JSCell::vm): Deleted.
- runtime/JSFunction.cpp:
(JSC::JSFunction::create):
(JSC::JSFunction::allocateAndInitializeRareData):
(JSC::JSFunction::initializeRareData):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::put):
(JSC::JSFunction::deleteProperty):
(JSC::JSFunction::defineOwnProperty):
(JSC::JSFunction::setFunctionName):
(JSC::JSFunction::reifyLength):
(JSC::JSFunction::reifyName):
(JSC::JSFunction::reifyLazyPropertyIfNeeded):
(JSC::JSFunction::reifyBoundNameIfNeeded):
- runtime/JSFunction.h:
- runtime/JSFunctionInlines.h:
(JSC::JSFunction::createWithInvalidatedReallocationWatchpoint):
(JSC::JSFunction::JSFunction):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):
- runtime/JSInternalPromise.cpp:
- runtime/JSInternalPromiseConstructor.cpp:
- runtime/JSInternalPromiseDeferred.cpp:
- runtime/JSInternalPromisePrototype.cpp:
- runtime/JSJob.cpp:
- runtime/JSMapIterator.cpp:
- runtime/JSModuleNamespaceObject.cpp:
- runtime/JSModuleRecord.cpp:
- runtime/JSObject.cpp:
(JSC::JSObject::visitButterfly):
(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::createInitialIndexedStorage):
(JSC::JSObject::createInitialUndecided):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::createInitialArrayStorage):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLength):
(JSC::JSObject::getNewVectorLength):
(JSC::JSObject::increaseVectorLength):
(JSC::JSObject::ensureLengthSlow):
(JSC::JSObject::growOutOfLineStorage):
(JSC::JSObject::copyButterfly): Deleted.
(JSC::JSObject::copyBackingStore): Deleted.
- runtime/JSObject.h:
(JSC::JSObject::globalObject):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::setStructureAndReallocateStorageIfNecessary): Deleted.
- runtime/JSObjectInlines.h:
- runtime/JSPromise.cpp:
- runtime/JSPromiseConstructor.cpp:
- runtime/JSPromiseDeferred.cpp:
- runtime/JSPromisePrototype.cpp:
- runtime/JSPropertyNameIterator.cpp:
- runtime/JSScope.cpp:
(JSC::JSScope::resolve):
- runtime/JSScope.h:
(JSC::JSScope::globalObject):
(JSC::JSScope::vm): Deleted.
- runtime/JSSetIterator.cpp:
- runtime/JSStringIterator.cpp:
- runtime/JSTemplateRegistryKey.cpp:
- runtime/JSTypedArrayViewConstructor.cpp:
- runtime/JSTypedArrayViewPrototype.cpp:
- runtime/JSWeakMap.cpp:
- runtime/JSWeakSet.cpp:
- runtime/MapConstructor.cpp:
- runtime/MapIteratorPrototype.cpp:
- runtime/MapPrototype.cpp:
- runtime/NativeErrorConstructor.cpp:
- runtime/NativeStdFunctionCell.cpp:
- runtime/Operations.h:
(JSC::scribbleFreeCells):
(JSC::scribble):
- runtime/Options.h:
- runtime/PropertyTable.cpp:
- runtime/ProxyConstructor.cpp:
- runtime/ProxyObject.cpp:
- runtime/ProxyRevoke.cpp:
- runtime/RegExp.cpp:
(JSC::RegExp::match):
(JSC::RegExp::matchConcurrently):
(JSC::RegExp::matchCompareWithInterpreter):
- runtime/RegExp.h:
- runtime/RegExpConstructor.h:
- runtime/RegExpInlines.h:
(JSC::RegExp::matchInline):
- runtime/RegExpMatchesArray.h:
(JSC::tryCreateUninitializedRegExpMatchesArray):
(JSC::createRegExpMatchesArray):
- runtime/RegExpPrototype.cpp:
(JSC::genericSplit):
- runtime/RuntimeType.cpp:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):
- runtime/SetConstructor.cpp:
- runtime/SetIteratorPrototype.cpp:
- runtime/SetPrototype.cpp:
- runtime/StackFrame.cpp: Added.
(JSC::StackFrame::sourceID):
(JSC::StackFrame::sourceURL):
(JSC::StackFrame::functionName):
(JSC::StackFrame::computeLineAndColumn):
(JSC::StackFrame::toString):
- runtime/StackFrame.h: Added.
(JSC::StackFrame::isNative):
- runtime/StringConstructor.cpp:
- runtime/StringIteratorPrototype.cpp:
- runtime/StructureInlines.h:
(JSC::Structure::propertyTable):
- runtime/TemplateRegistry.cpp:
- runtime/TestRunnerUtils.cpp:
(JSC::finalizeStatsAtEndOfTesting):
- runtime/TestRunnerUtils.h:
- runtime/TypeProfilerLog.cpp:
- runtime/TypeSet.cpp:
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::ensureStackCapacityForCLoop):
(JSC::VM::isSafeToRecurseSoftCLoop):
- runtime/VM.h:
- runtime/VMEntryScope.h:
- runtime/VMInlines.h:
(JSC::VM::ensureStackCapacityFor):
(JSC::VM::isSafeToRecurseSoft):
- runtime/WeakMapConstructor.cpp:
- runtime/WeakMapData.cpp:
- runtime/WeakMapPrototype.cpp:
- runtime/WeakSetConstructor.cpp:
- runtime/WeakSetPrototype.cpp:
- testRegExp.cpp:
(testOneRegExp):
- tools/JSDollarVM.cpp:
- tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::isInObjectSpace):
Source/WebCore:
No new tests because no new WebCore behavior.
Just rewiring #includes.
- ForwardingHeaders/heap/HeapInlines.h: Added.
- ForwardingHeaders/interpreter/Interpreter.h: Removed.
- ForwardingHeaders/runtime/AuxiliaryBarrierInlines.h: Added.
- Modules/indexeddb/IDBCursorWithValue.cpp:
- Modules/indexeddb/client/TransactionOperation.cpp:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
- bindings/js/JSApplePayPaymentAuthorizedEventCustom.cpp:
- bindings/js/JSApplePayPaymentMethodSelectedEventCustom.cpp:
- bindings/js/JSApplePayShippingContactSelectedEventCustom.cpp:
- bindings/js/JSApplePayShippingMethodSelectedEventCustom.cpp:
- bindings/js/JSClientRectCustom.cpp:
- bindings/js/JSDOMBinding.cpp:
- bindings/js/JSDOMBinding.h:
- bindings/js/JSDeviceMotionEventCustom.cpp:
- bindings/js/JSDeviceOrientationEventCustom.cpp:
- bindings/js/JSErrorEventCustom.cpp:
- bindings/js/JSIDBCursorWithValueCustom.cpp:
- bindings/js/JSIDBIndexCustom.cpp:
- bindings/js/JSPopStateEventCustom.cpp:
- bindings/js/JSWebGL2RenderingContextCustom.cpp:
- bindings/js/JSWorkerGlobalScopeCustom.cpp:
- bindings/js/WorkerScriptController.cpp:
- contentextensions/ContentExtensionParser.cpp:
- dom/ErrorEvent.cpp:
- html/HTMLCanvasElement.cpp:
- html/MediaDocument.cpp:
- inspector/CommandLineAPIModule.cpp:
- loader/EmptyClients.cpp:
- page/CaptionUserPreferences.cpp:
- page/Frame.cpp:
- page/PageGroup.cpp:
- page/UserContentController.cpp:
- platform/mock/mediasource/MockBox.cpp:
- testing/GCObservation.cpp:
Source/WebKit2:
Just rewiring some #includes.
- UIProcess/ViewGestureController.cpp:
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebProcessPool.cpp:
- UIProcess/WebProcessProxy.cpp:
- WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
- WebProcess/Plugins/Netscape/JSNPObject.cpp:
Source/WTF:
I needed tryFastAlignedMalloc() so I added it.
- wtf/FastMalloc.cpp:
(WTF::tryFastAlignedMalloc):
- wtf/FastMalloc.h:
- wtf/ParkingLot.cpp:
(WTF::ParkingLot::forEachImpl):
(WTF::ParkingLot::forEach): Deleted.
- wtf/ParkingLot.h:
(WTF::ParkingLot::parkConditionally):
(WTF::ParkingLot::unparkOne):
(WTF::ParkingLot::forEach):
- wtf/ScopedLambda.h:
(WTF::scopedLambdaRef):
- wtf/SentinelLinkedList.h:
(WTF::SentinelLinkedList::forEach):
(WTF::RawNode>::takeFrom):
- wtf/SimpleStats.h:
(WTF::SimpleStats::operator bool):
(WTF::SimpleStats::operator!): Deleted.
Tools:
- DumpRenderTree/TestRunner.cpp:
- DumpRenderTree/mac/DumpRenderTree.mm:
(DumpRenderTreeMain):
- Scripts/run-jsc-stress-tests:
- TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
- 1:42 AM Changeset in webkit [205716] by
-
- 12 edits in branches/safari-602-branch/Source
Merge r204456. rdar://problem/27860536
- 1:42 AM Changeset in webkit [205715] by
-
- 14 edits5 adds in branches/safari-602-branch/Source
Merge r203381. rdar://problem/27860536
- 1:42 AM Changeset in webkit [205714] by
-
- 5 edits1 add in branches/safari-602-branch
Merge r204107. rdar://problem/27860536
- 1:42 AM Changeset in webkit [205713] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit/win
Merge r205393. rdar://problem/27806012
- 1:42 AM Changeset in webkit [205712] by
-
- 2 edits1 copy2 adds in branches/safari-602-branch/LayoutTests
Merge r205388. rdar://problem/27806012
- 1:42 AM Changeset in webkit [205711] by
-
- 14 edits in branches/safari-602-branch
Merge r205381. rdar://problem/27806012
- 1:42 AM Changeset in webkit [205710] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r205371. rdar://problem/28020157
- 1:42 AM Changeset in webkit [205709] by
-
- 33 edits in branches/safari-602-branch/Source
Merge r205365. rdar://problem/28020157
- 1:42 AM Changeset in webkit [205708] by
-
- 3 edits4 adds in branches/safari-602-branch
Merge r205246. rdar://problem/28162589
- 1:41 AM Changeset in webkit [205707] by
-
- 5 edits in branches/safari-602-branch/Source
Merge r205192. rdar://problem/28097740
- 1:41 AM Changeset in webkit [205706] by
-
- 16 edits1 add in branches/safari-602-branch
Merge r205417. rdar://problem/28018438
- 1:41 AM Changeset in webkit [205705] by
-
- 26 edits6 adds in branches/safari-602-branch
Merge r205412. rdar://problem/28014919
- 1:41 AM Changeset in webkit [205704] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r204911. rdar://problem/28175524
- 1:33 AM Changeset in webkit [205703] by
-
- 8 edits in trunk/Source/WebCore
[Cocoa] Improve performance of glyph advance metrics gathering
https://bugs.webkit.org/show_bug.cgi?id=161119
Reviewed by Simon Fraser.
Most of the glyphs in a GlyphPage are never read from. Therefore, we can get a performance boost
by not populating as many items in the GlyphPage. Because of the performance characteristics of
CTFontGetGlyphsForCharacters(), a better size for a GlyphPage is 16 items. This, coupled with
using CTFontGetUnsummedAdvancesForGlyphsAndStyle(), causes between a 0.01%-0.5% speedup on PLT.
No new tests because there is no behavior change.
- platform/graphics/Font.cpp:
(WebCore::Font::initCharWidths):
(WebCore::Font::platformGlyphInit):
(WebCore::createAndFillGlyphPage):
- platform/graphics/Font.h:
(WebCore::Font::widthForGlyph):
- platform/graphics/GlyphMetricsMap.h:
- platform/graphics/GlyphPage.h:
- platform/graphics/cocoa/FontCocoa.mm:
- platform/spi/cocoa/CoreTextSPI.h:
(WebCore::Font::platformWidthForGlyph):
(WebCore::canUseFastGlyphAdvanceGetter): Deleted.
- 1:15 AM Changeset in webkit [205702] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205457 - [CMake] Duplicated IDL files in WebCore_IDL_FILES
https://bugs.webkit.org/show_bug.cgi?id=161592
Patch by Fujii Hironori <Fujii Hironori> on 2016-09-05
Reviewed by Darin Adler.
- CMakeLists.txt: Removed duplicated IDL files.
- DerivedSources.cpp: Added #if ENABLE(USER_MESSAGE_HANDLERS)
- 12:42 AM Changeset in webkit [205701] by
-
- 11 edits in trunk/Source/WebCore
v3: WebContent crash due to RELEASE_ASSERT in WebCore: WebCore::StyleResolver::styleForElement
https://bugs.webkit.org/show_bug.cgi?id=161689
Reviewed by Andreas Kling.
These crashes happen because synchronously triggered resource loads generate callbacks that may end up
deleting the resource loader.
Stop triggering resource loads from StyleResolver. Instead trigger them when applying style to render tree.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::~StyleResolver):
Replace the RELEASE_ASSERT against deletion during resource loads by a general isDeleted assert.
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::loadPendingResources): Deleted.
- css/StyleResolver.h:
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::resolveKeyframeStyles):
Ensure resource load for all animation frames.
- page/animation/KeyframeAnimation.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::createFor):
(WebCore::RenderElement::initializeStyle):
Load resources when renderer initializes a style.
(WebCore::RenderElement::setStyle):
(WebCore::RenderElement::getUncachedPseudoStyle):
Load resources for pseudo styles.
- rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::styleWillChange):
Shuffle image resource initialization out from constructor so initializeStyle gets called before.
- rendering/RenderImage.h:
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::StyleCachedImage):
Track pending status with a bit instead of implicitly by the existence of CachedResource.
This is useful for asserts.
(WebCore::StyleCachedImage::load):
(WebCore::StyleCachedImage::isPending):
(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):
(WebCore::StyleCachedImage::image):
- rendering/style/StyleCachedImage.h:
- 12:01 AM Changeset in webkit [205700] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205452 - [GTK] GL_PACK_ROW_LENGTH is not available in GLES2
https://bugs.webkit.org/show_bug.cgi?id=161484
Reviewed by Carlos Garcia Campos.
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::paint): when under GLES2 we cannot rely on
GL_PACK_ROW_LENGTH; use glReadPixel directly when stride matches width, read line
by line manually otherwise. Colour conversion is also required to get the data out
correctly.
- 12:01 AM Changeset in webkit [205699] by
-
- 11 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205431 - [GTK] SetNativeSurfaceHandleForCompositing should not be compiled in for wayland build
https://bugs.webkit.org/show_bug.cgi?id=161483
Reviewed by Žan Doberšek.
SetNativeSurfaceHandleForCompositing and DestroyNativeSurfaceHandleForCompositing messages should only be used
for GTK+ port when compiled with OpenGL and X11 enabled and redirected XComposite window disabled. So, we should
use USE(TEXTURE_MAPPER) && PLATFORM(GTK) && PLATFORM(X11) && !USE(REDIRECTED_XCOMPOSITE_WINDOW) consistently.
This fixes the build when building the GTK+ port with Wayland enabled and X11 disabled.
- UIProcess/AcceleratedDrawingAreaProxy.cpp:
(WebKit::AcceleratedDrawingAreaProxy::didUpdateBackingStoreState):
- UIProcess/AcceleratedDrawingAreaProxy.h:
- WebProcess/WebPage/AcceleratedDrawingArea.cpp:
(WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode):
- WebProcess/WebPage/AcceleratedDrawingArea.h:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
- WebProcess/WebPage/DrawingArea.h:
- WebProcess/WebPage/DrawingArea.messages.in:
- WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
- WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
Sep 8, 2016:
- 11:59 PM Changeset in webkit [205698] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205430 - MediaPlayerPrivateGStreamerBase: improve build guards in nativeImageForCurrentTime()
https://bugs.webkit.org/show_bug.cgi?id=161594
Reviewed by Philippe Normand.
Guard the uses of cairo-gl API in nativeImageForCurrentTime() with the
USE(CAIRO) && ENABLE(ACCELERATED_2D_CANVAS) pair of build guards. This
API is only made available when the ACCELERATED_2D_CANVAS option is
enabled. Placing the guards this way thus avoids compilation errors
when compiling USE_GSTREAMER_GL code without the accelerated 2D canvas
support enabled.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime):
- 11:48 PM Changeset in webkit [205697] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 11:26 PM Changeset in webkit [205696] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix GTK+ build after r205689.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp:
(webkit_dom_html_o_list_element_set_start):
- 10:20 PM Changeset in webkit [205695] by
-
- 7 edits5 adds in trunk
ScriptRunner should be driven by PendingScript rather than ScriptElement
https://bugs.webkit.org/show_bug.cgi?id=161726
Reviewed by Ryosuke Niwa.
Source/WebCore:
Tests: js/dom/document-write-in-error-event.html
js/dom/document-write-in-load-event.html
ScriptRunner is driven by ScriptElement::notifyFinished. While ScriptRunner is driven by this,
HTMLScriptRunner does not use it. Instead, HTMLScriptRunner uses PendingScriptClient. As a result,
ScriptElement::notifyFinished is used only when the script is annotated with "defer" or "async"
while all the external script will load the LoadableScript. It is confusing.
This patch removes ScriptElement::notifyFinished and use PendingScript's observability
in ScriptRunner instead.
This patch also fixes the behavior about ignore-destructive-writes counter[1]. When dispatching
the load and error events, this ignore-destructive-writes counter should not be incremeneted by
this execution. The added tests ensure this behavior.
[1]: https://html.spec.whatwg.org/multipage/scripting.html#execute-the-script-block
- dom/ScriptElement.cpp: Drop LoadableScriptClient interface.
(WebCore::ScriptElement::prepareScript): Do not use addClient. ScriptRunner use PendingScript::{setClient,clearClient} instead.
(WebCore::ScriptElement::executeScriptForScriptRunner): IgnoreDestructiveWriteCountIncrementer will be done in ScriptElement::executeScript.
So no need to do it here, that's duplicated.
(WebCore::ScriptElement::~ScriptElement): Deleted. ScriptElement does not use addClient/removeClient.
(WebCore::ScriptElement::stopLoadRequest): Deleted.
(WebCore::ScriptElement::executeScriptForHTMLScriptRunner): Deleted. executeScriptForHTMLScriptRunner and executeScriptForScriptRunner are
merged into executeScriptForRunner.
(WebCore::ScriptElement::notifyFinished): Deleted.
- dom/ScriptElement.h:
(WebCore::ScriptElement::~ScriptElement):
(WebCore::ScriptElement::willExecuteInOrder): Used in ScriptRunner to determine whether the script is async or defer.
(WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Deleted.
- dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::~ScriptRunner): HashSet's iterator will return
const PendingScript&.
Another option is using HashSet<RefPtr<PendingScript>>. Here, we use a little bit weired const_cast.
(WebCore::ScriptRunner::queueScriptForExecution): Use PendingScript::setClient to wait loading.
(WebCore::ScriptRunner::notifyFinished): Notify the script ready here.
(WebCore::ScriptRunner::timerFired): Use executeScriptForScriptRunner.
(WebCore::ScriptRunner::notifyScriptReady): Deleted.
- dom/ScriptRunner.h:
- html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Use executeScriptForScriptRunner.
LayoutTests:
- js/dom/document-write-in-error-event-expected.txt: Added.
- js/dom/document-write-in-error-event.html: Added.
- js/dom/document-write-in-load-event-expected.txt: Added.
- js/dom/document-write-in-load-event.html: Added.
- js/dom/script-tests/dummy.js: Added.
- 10:11 PM Changeset in webkit [205694] by
-
- 7 edits in trunk
[WTF] HashTable's rehash is not compatible to Ref<T> and ASan
https://bugs.webkit.org/show_bug.cgi?id=161763
Reviewed by Mark Lam.
Source/WebCore:
Include wtf/text/StringHash.h to avoid linking errors in EFL port.
- loader/ResourceLoadStatistics.h:
Source/WTF:
If we move an object, the location which the moved object used should not be touched anymore.
HashTable::rehash performs WTFMove for the object that resides in the old table.
However, after moving it, we accidentally touch this location by using!isEmptyOrDeletedBucket(table[i])
in HashTable::deallocateTable. And it causes ASan crashing if we use Ref<> for HashTable's key or value.
In this patch, we call the destructor right after moving the object. And HashTable::rehash just calls
fastFree since all the objects in the old table are already moved and destructed.
And we also change HashTable::deallocate to destruct only live objects. Calling destructors for empty objects
is meaningless. And according to the Ref<>'s comment, empty object is not designed to be destructed.
- wtf/HashTable.h:
(WTF::KeyTraits>::deallocateTable):
Tools:
Add tests that inserts many Ref<>s. It incurs HashTable::rehash, and we can ensure
that ASan crash does not occur with this patch.
- TestWebKitAPI/Tests/WTF/HashMap.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/HashSet.cpp:
(TestWebKitAPI::TEST):
- 10:07 PM Changeset in webkit [205693] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: make copy-user-interface-resources.pl easier to read
https://bugs.webkit.org/show_bug.cgi?id=161772
Reviewed by Joseph Pecoraro.
- Scripts/copy-user-interface-resources.pl:
Break long script invocations across multiple lines so that the
options and values are paired together.
- 9:33 PM Changeset in webkit [205692] by
-
- 4 edits2 deletes in trunk/Source/WebInspectorUI
Web Inspector: get rid of extra copies of jsmin.py and cssmin.py
https://bugs.webkit.org/show_bug.cgi?id=161770
<rdar://problem/28216813>
Reviewed by Joseph Pecoraro.
- Scripts/copy-user-interface-resources-dryrun.rb:
- Keep track of the original working directory.
- Stage scripts from PrivateHeaders into the temporary directory.
- Add a comment to clarify what this script is simulating.
- Use system instead of exec so we can print an error message.
- Scripts/copy-user-interface-resources.pl:
- Use jsmin.py and cssmin.py from JavaScriptCore instead of
WebInspectorUI. There are no differences between the two copies.
- Scripts/cssmin.py: Removed.
- Scripts/jsmin.py: Removed.
- WebInspectorUI.xcodeproj/project.pbxproj:
- Remove unused copies of jsmin.py and cssmin.py.
- 8:49 PM Changeset in webkit [205691] by
-
- 5 edits in trunk
HTMLObjectElement.hspace / vspace attributes should be unsigned
https://bugs.webkit.org/show_bug.cgi?id=161766
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/reflection-embedded-expected.txt:
Source/WebCore:
HTMLObjectElement.hspace / vspace attributes should be unsigned:
Firefox agrees with the specification but those were signed in WebKit.
No new tests, rebaselined existing test.
- html/HTMLObjectElement.idl:
- 8:31 PM Changeset in webkit [205690] by
-
- 8 edits in trunk
HTMLObjectElement.codebase attribute should reflect as a URL
https://bugs.webkit.org/show_bug.cgi?id=161768
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline existing test now that more checks are passing.
- web-platform-tests/html/dom/reflection-embedded-expected.txt:
Source/WebCore:
HTMLObjectElement.codebase attribute should reflect as a URL:
Chrome and Firefox agree with the specification.
No new test, rebaselined existing test.
- html/HTMLObjectElement.idl:
- 8:31 PM Changeset in webkit [205689] by
-
- 8 edits in trunk
ol.start may return incorrect value for reversed lists when not explicitly set
https://bugs.webkit.org/show_bug.cgi?id=161713
Reviewed by Zalan Bujtas.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-expected.txt:
- web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2-expected.txt:
Source/WebCore:
ol.start may return incorrect value for reversed lists when not explicitly set.
This is because we're supposed to return the number of rendered <li> child
elements, which relies on layout. However, we did not make sure the layout is
up-to-date before counting the number of li child elements. This patch fixes
the issue.
No new tests, rebaselined existing tests.
- html/HTMLOListElement.h:
- 7:50 PM Changeset in webkit [205688] by
-
- 2 edits in trunk/Source/WebKit2
Re-landing the fix for
[Mac] .tbd files for the shims end up installed when building with GENERATE_TEXT_BASED_STUBS=YES
https://bugs.webkit.org/show_bug.cgi?id=161722
without reintroducing https://webkit.org/b/161782
- Configurations/Shim.xcconfig: Don’t install the shims. The Copy Shims build phase in the WebKit target will copy them into place without bringing their .tbd files along. Keep the install path set, though, because it determines the dylibs’ install names.
- 7:25 PM Changeset in webkit [205687] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, rolling out r205576.
https://bugs.webkit.org/show_bug.cgi?id=161782
Introduced a crash at launch and broke all our Mac perf
testing (Requested by rniwa on #webkit).
Reverted changeset:
"[Mac] .tbd files for the shims end up installed when building
with GENERATE_TEXT_BASED_STUBS=YES"
https://bugs.webkit.org/show_bug.cgi?id=161722
http://trac.webkit.org/changeset/205576
- 6:53 PM Changeset in webkit [205686] by
-
- 6 edits2 adds in trunk
Add support for HTMLIframeElement.allowFullscreen attribute
https://bugs.webkit.org/show_bug.cgi?id=161757
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/reflection-embedded-expected.txt:
Source/WebCore:
Add support for HTMLIframeElement.allowFullscreen attribute:
Firefox and Chrome already support it, unprefixed.
Note that the HTMLIframeElement.allowFullscreen attribute reflects the
allowfullscreen content attribute which we already support.
Test: fullscreen/full-screen-iframe-allowFullscreen.html
- html/HTMLIFrameElement.idl:
LayoutTests:
Add layout test coverage.
- fullscreen/full-screen-iframe-allowFullscreen-expected.txt: Added.
- fullscreen/full-screen-iframe-allowFullscreen.html: Added.
- 6:43 PM Changeset in webkit [205685] by
-
- 8 edits in trunk
frame.longDesc / iframe.longDesc should reflect as a URL
https://bugs.webkit.org/show_bug.cgi?id=161764
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/html/dom/reflection-embedded-expected.txt:
- web-platform-tests/html/dom/reflection-obsolete-expected.txt:
Source/WebCore:
frame.longDesc / iframe.longDesc should reflect as a URL:
- https://html.spec.whatwg.org/#dom-iframe-longdesc
- https://html.spec.whatwg.org/#dom-frame-longdesc
They already do in Chrome and Firefox.
No new tests, rebaselined existing tests.
- html/HTMLFrameElement.idl:
- html/HTMLIFrameElement.idl:
- 6:32 PM Changeset in webkit [205684] by
-
- 5 edits in trunk
URLParser: Handle \ in paths of special URLs according to spec
https://bugs.webkit.org/show_bug.cgi?id=161781
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::bufferView):
(WebCore::URLParser::copyURLPartsUntil):
(WebCore::URLParser::parse):
- platform/URLParser.h:
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 6:22 PM Changeset in webkit [205683] by
-
- 13 edits in trunk/Source
Heap::isMarked() shouldn't pay the price of concurrent lazy flipping
https://bugs.webkit.org/show_bug.cgi?id=161760
Reviewed by Mark Lam.
Source/JavaScriptCore:
To fix a race condition in marking, I made Heap::isMarked() and Heap::isLive() atomic by
using flipIfNecessaryConcurrently() instead of flipIfNecessary().
This introduces three unnecessary overheads:
- isLive() is not called by marking, so that change was not necessary.
- isMarked() gets calls many times outside of marking, so it shouldn't always do the concurrent thing. This adds isMarkedConcurrently() for use in marking, and reverts isMarked().
- isMarked() and isMarkedConcurrently() don't actually have to do the lazy flip. They can return false if the flip is necessary.
I added a bunch of debug assertions to make sure that isLive() and isMarked() are not called
during marking.
If we needed to, we could remove most of the calls to isMarkedConcurrently(). As a kind of
optimization, CodeBlock does an initial fixpoint iteration during marking, and so all of the
code called from CodeBlock's fixpoint iterator needs to use isMarkedConcurrently(). But we
could probably arrange for CodeBlock only do fixpoint iterating during the weak reference
thing.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitWeakly):
(JSC::CodeBlock::shouldJettisonDueToOldAge):
(JSC::shouldMarkTransition):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::determineLiveness):
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::propagateTransitions):
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::isLive):
(JSC::Heap::isMarked):
(JSC::Heap::isMarkedConcurrently):
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::flipIfNecessarySlow):
(JSC::MarkedBlock::flipIfNecessaryConcurrentlySlow):
(JSC::MarkedBlock::needsFlip):
- heap/MarkedBlock.h:
(JSC::MarkedBlock::needsFlip):
(JSC::MarkedBlock::flipIfNecessary):
(JSC::MarkedBlock::flipIfNecessaryConcurrently):
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::appendToMarkStack):
(JSC::SlotVisitor::markAuxiliary):
(JSC::SlotVisitor::visitChildren):
- runtime/Structure.cpp:
(JSC::Structure::isCheapDuringGC):
(JSC::Structure::markIfCheap):
Source/WTF:
- wtf/MainThread.cpp:
(WTF::isMainThreadOrGCThread):
(WTF::mayBeGCThread):
- wtf/MainThread.h:
- 6:06 PM Changeset in webkit [205682] by
-
- 33 edits1 move2 adds2 deletes in trunk/Source
Move the BitmapImage platform dependent code to a new file named NativeImage[CG|Cairo].cpp
https://bugs.webkit.org/show_bug.cgi?id=158684
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-09-08
Reviewed by Simon Fraser.
Source/WebCore:
This is a refactoring patch. It moves the BitmapImage platform dependent
code from BitmapImage to NativeImage[CG|Cairo].cpp. The new APIs are
responsible of drawing a NativeImagePtr and answering some metadata queries.
No new tests -- Code refactoring, no behavior change.
- PlatformAppleWin.cmake:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- PlatformWinCairo.cmake:
- WebCore.xcodeproj/project.pbxproj:
- loader/cache/MemoryCache.h:
- loader/icon/IconDatabaseBase.h:
- page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):
(createContentCrossfadeAnimation):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
(WebCore::BitmapImage::dataChanged):
(WebCore::BitmapImage::ensureFrameAtIndexIsCached):
(WebCore::BitmapImage::frameImageAtIndex):
(WebCore::BitmapImage::nativeImage):
(WebCore::BitmapImage::nativeImageForCurrentFrame):
(WebCore::BitmapImage::nativeImageOfSize):
(WebCore::BitmapImage::framesNativeImages):
(WebCore::BitmapImage::frameIsCompleteAtIndex):
(WebCore::BitmapImage::frameDurationAtIndex):
(WebCore::BitmapImage::frameHasAlphaAtIndex):
(WebCore::BitmapImage::frameOrientationAtIndex):
(WebCore::BitmapImage::singlePixelSolidColor):
(WebCore::BitmapImage::draw):
(WebCore::BitmapImage::drawPattern):
(WebCore::BitmapImage::canAnimate):
(WebCore::BitmapImage::clearTimer):
(WebCore::BitmapImage::startTimer):
(WebCore::BitmapImage::stopAnimation):
(WebCore::BitmapImage::resetAnimation):
(WebCore::BitmapImage::hasSingleSecurityOrigin): Deleted.
(WebCore::BitmapImage::filenameExtension): Deleted.
(WebCore::BitmapImage::ensureFrameIsCached): Deleted.
- platform/graphics/BitmapImage.h:
(WebCore::FrameData::FrameData):
m_hasAlpha can be initialized with false because it is accessed only in
BitmapImage::frameHasAlphaAtIndex() and it is guarded by m_haveMetadata.
Both m_haveMetadata and m_hasAlpha are set in BitmapImage constructor
and in BitmapImage::cacheFrame().
(WebCore::FrameData::~FrameData):
(WebCore::FrameData::clear):
- platform/graphics/Icon.h:
- platform/graphics/Image.h:
(WebCore::Image::nativeImage):
(WebCore::Image::nativeImageOfSize):
(WebCore::Image::framesNativeImages):
(WebCore::Image::orientationForCurrentFrame): Deleted.
(WebCore::Image::getCGImageRef): Deleted.
(WebCore::Image::getFirstCGImageRefOfSize): Deleted.
(WebCore::Image::getCGImageArray): Deleted.
- platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::calculateMaximumSubsamplingLevel):
(WebCore::ImageSource::size):
(WebCore::ImageSource::sizeRespectingOrientation):
- platform/graphics/ImageSource.h:
- platform/graphics/MediaPlayer.h:
- platform/graphics/NativeImage.h: Added.
- platform/graphics/NativeImagePtr.h: Removed.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updatePausedImage):
- platform/graphics/cairo/BitmapImageCairo.cpp: Removed.
- platform/graphics/cairo/NativeImageCairo.cpp: Added.
(WebCore::nativeImageSize):
(WebCore::nativeImageHasAlpha):
(WebCore::nativeImageSinglePixelSolidColor):
(WebCore::subsamplingScale):
(WebCore::drawNativeImage):
(WebCore::clearNativeImageSubImages):
- platform/graphics/cg/BitmapImageCG.cpp: Removed.
- platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoder::size):
- platform/graphics/cg/ImageDecoderCG.h:
- platform/graphics/cg/NativeImageCG.cpp: Added.
(WebCore::nativeImageSize):
(WebCore::nativeImageHasAlpha):
(WebCore::nativeImageSinglePixelSolidColor):
(WebCore::subsamplingScale):
(WebCore::drawNativeImage):
(WebCore::clearNativeImageSubImages):
- platform/graphics/cg/PatternCG.cpp:
(WebCore::Pattern::createPlatformPattern):
- platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:
(TextTrackRepresentationCocoa::update):
- platform/graphics/mac/ImageMac.mm:
(WebCore::BitmapImage::getTIFFRepresentation):
- platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSourceMac::updatePlatformLayer):
(WebCore::MockRealtimeVideoSourceMac::updateSampleBuffer):
- platform/win/DragImageCGWin.cpp:
(WebCore::createDragImageFromImage):
Source/WebKit/mac:
- DOM/DOM.mm:
(-[DOMNode getPreviewSnapshotImage:andRects:]):
- Misc/WebCache.mm:
(+[WebCache imageForURL:]):
Replace BitmapImage::getCGImageRef() with BitmapImage::nativeImage().
Source/WebKit2:
- UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
(WKIconDatabaseTryGetCGImageForURL):
(WKIconDatabaseTryCopyCGImageArrayForURL):
It was the only place in the code which uses BitmapImage::getCGImageArray().
Call BitmapImage::framesNativeImages() instead and form the returned
Vector<NativeImagePtr> build the CFArrayRef.
- UIProcess/WebIconDatabase.h:
Include "NativeImage.h" instead of "NativeImagePtr.h".
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _presentationSnapshotForPreviewItemController:]):
- WebProcess/Plugins/PluginView.cpp:
(WebKit::isAlmostSolidColor):
Call BitmapImage::getCGImageRef() instead of calling BitmapImage::nativeImage().
- 5:55 PM Changeset in webkit [205681] by
-
- 2 edits in trunk/Tools
Update the content-animation.plan file to run css-accelerated-animation.html
and pull SVN revision r205680.
- Scripts/webkitpy/benchmark_runner/data/plans/content-animation.plan:
- 5:51 PM Changeset in webkit [205680] by
-
- 3 edits1 add in trunk
Add a content-animation test with accelerated CSS animations
https://bugs.webkit.org/show_bug.cgi?id=161776
Reviewed by Dean Jackson.
PerformanceTests:
Add a test that measures the frame rate of accelerated CSS animations.
This is like css-animation.html (which animates 'left' and 'top') but animates
transforms instead. In order to get animation in X and Y we make two nested elements
and set transformX() on one, and transformY() on the other.
- Animation/css-accelerated-animation.html: Added.
Tools:
- Scripts/webkitpy/benchmark_runner/data/patches/ContentAnimation.patch:
- 5:46 PM Changeset in webkit [205679] by
-
- 4 edits in trunk
URLParser: Parsing empty URLs with a base URL should return the base URL
https://bugs.webkit.org/show_bug.cgi?id=161777
Reviewed by Tim Horton.
Source/WebCore:
Covered by an API test and progress towards passing all web platform tests when using URLParser.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 5:43 PM Changeset in webkit [205678] by
-
- 5 edits in trunk
URLParser failures should preserve the original input string
https://bugs.webkit.org/show_bug.cgi?id=161769
Reviewed by Tim Horton.
Source/WebCore:
No new tests, but covered by updates to API tests.
This also represents many newly passing web platform tests when using URLParser.
- platform/URLParser.cpp:
(WebCore::URLParser::failure):
(WebCore::URLParser::parse):
- platform/URLParser.h:
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::shouldFail):
- 5:05 PM Changeset in webkit [205677] by
-
- 4 edits in trunk
URLParser should parse URLs with a user but no password
https://bugs.webkit.org/show_bug.cgi?id=161773
Reviewed by Brady Eidson.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parseAuthority):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 4:21 PM Changeset in webkit [205676] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: TimelineDataGridNode should refresh when graph column is resized
https://bugs.webkit.org/show_bug.cgi?id=161765
<rdar://problem/28215674>
Reviewed by Brian Burg.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.resizerDragging):
CallDataGridNode.didResizeColumnfor all visible nodes in the columns
to the left and right of the column resizer.
- UserInterface/Views/DataGridNode.js:
(WebInspector.DataGridNode.prototype.didResizeColumn):
Add protected base class method for subclasses to override.
- UserInterface/Views/TimelineDataGridNode.js:
(WebInspector.TimelineDataGridNode.prototype.didResizeColumn):
Refresh the node's graph when the "graph" column is resized.
Renamedleft/rightCellIndex->left/rightColumnIndex.
- 4:19 PM Changeset in webkit [205675] by
-
- 13 edits1 add in trunk
We should inline operationConvertJSValueToBoolean into JIT code
https://bugs.webkit.org/show_bug.cgi?id=161729
Reviewed by Filip Pizlo.
JSTests:
- stress/value-to-boolean.js: Added.
(assert):
(test1):
(test2):
(test3):
Source/JavaScriptCore:
This patch introduces an AssemblyHelpers emitter function
that replaces operationConvertJSValueToBoolean. This operation
was showing up when I was doing performance analysis for the
speedometer benchmark. I saw that it was spending about 1% of
its time in this function. Hopefully this patch can help us speedup
up speedometer by a little bit.
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitBranch):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitBranch):
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitConvertValueToBoolean):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateDestructibleObject): Deleted.
- jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_jfalse):
(JSC::JIT::emit_op_jtrue):
(JSC::JIT::emitSlow_op_jfalse): Deleted.
(JSC::JIT::emitSlow_op_jtrue): Deleted.
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_jfalse):
(JSC::JIT::emit_op_jtrue):
(JSC::JIT::emitSlow_op_jfalse): Deleted.
(JSC::JIT::emitSlow_op_jtrue): Deleted.
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- 4:13 PM Changeset in webkit [205674] by
-
- 8 edits in trunk/Source/WebInspectorUI
Web Inspector: Add a button to navigation bar to toggle Control Flow Profiler
https://bugs.webkit.org/show_bug.cgi?id=160973
<rdar://problem/27912606>
Reviewed by Brian Burg.
- Localizations/en.lproj/localizedStrings.js:
Add "Fade unexecuted code" and "Do not fade unexecuted code".
- UserInterface/Base/Main.js:
(WebInspector.loaded):
Add a setting to remember whether Code Coverage Profiler is on or off between Web Inspector reloads.
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.canShowCoverageHints):
(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.toggleUnexecutedCodeHighlights):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._proceedPopulateWithContent):
(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
(WebInspector.SourceCodeTextEditor.prototype.set _basicBlockAnnotatorEnabled):
(WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForControlFlowAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._disableScrollEventsForControlFlowAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._createTypeTokenScrollEventHandler):
(WebInspector.SourceCodeTextEditor.prototype._createControlFlowScrollEventHandler):
(WebInspector.SourceCodeTextEditor.prototype.canBeFormatted): Deleted.
(WebInspector.SourceCodeTextEditor.prototype.dialogWasDismissed): Deleted.
(WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._addBreakpointWithEditorLineInfo): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._removeBreakpointWithEditorLineInfo): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._dismissEditingController): Deleted.
(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing): Deleted.
(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._getAssociatedScript): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._createTypeTokenAnnotator): Deleted.
Make Code Coverage profiler independent from Type Profiler.
- UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView):
(WebInspector.TextContentView.prototype.get navigationItems):
(WebInspector.TextContentView.prototype.get textEditor): Deleted.
- UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.get hasModified):
(WebInspector.TextEditor.prototype.canShowCoverageHints):
- UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView):
(WebInspector.TextResourceContentView.prototype.get navigationItems):
(WebInspector.TextResourceContentView.prototype._contentDidPopulate):
(WebInspector.TextResourceContentView.prototype._toggleTypeAnnotations):
(WebInspector.TextResourceContentView.prototype._toggleUnexecutedCodeHighlights):
(WebInspector.TextResourceContentView.prototype._enableControlFlowProfilerSettingChanged):
(WebInspector.TextResourceContentView.prototype._contentWillPopulate): Deleted.
- UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView):
(WebInspector.ScriptContentView.prototype.get navigationItems):
(WebInspector.ScriptContentView.prototype._contentDidPopulate):
(WebInspector.ScriptContentView.prototype._toggleTypeAnnotations):
(WebInspector.ScriptContentView.prototype._toggleUnexecutedCodeHighlights):
(WebInspector.ScriptContentView.prototype._enableControlFlowProfilerSettingChanged):
(WebInspector.ScriptContentView.prototype._contentWillPopulate): Deleted.
Add the [C] icon right next to the [T] (Type Profiler) icon.
- 4:07 PM Changeset in webkit [205673] by
-
- 2 edits in trunk/LayoutTests
Remove pass expectation for fast/text/emoji-num-glyphs.html after r205657.
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:54 PM Changeset in webkit [205672] by
-
- 2 edits in trunk
[CMake] Build failure with GCC 6 (fatal error: stdlib.h: No such file or directory)
https://bugs.webkit.org/show_bug.cgi?id=161697
Reviewed by Michael Catanzaro.
Get the list of system includes from GCC and add it to the CMake
list of implicit includes. This way, CMake will filter any of this
directories from the list of includes when calling the compiler.
This avoids an issue with GCC 6 that causes build failures when
including the default include path as a system include (-isystem).
- Source/cmake/OptionsCommon.cmake:
- 3:33 PM Changeset in webkit [205671] by
-
- 2 edits in trunk/Source/WebCore
Fix URLs after r205669.
https://bugs.webkit.org/show_bug.cgi?id=161731
- platform/URLParser.cpp:
(WebCore::URLParser::enabled):
I accidentally committed enabling the URLParser by default. Not ready yet.
- 3:30 PM Changeset in webkit [205670] by
-
- 41 edits2 adds3 deletes in trunk
Align proto getter / setter behavior with other browsers
https://bugs.webkit.org/show_bug.cgi?id=161455
Reviewed by Saam Barati.
Source/JavaScriptCore:
Drop allowsAccessFrom from the methodTable and delegate cross-origin
checking to the DOM bindings for SetPrototypeOf / GetPrototypeOf.
This is more consistent with other operations (e.g. GetOwnProperty).
- jsc.cpp:
- runtime/JSGlobalObject.cpp:
- runtime/JSGlobalObject.h:
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
(JSC::globalFuncBuiltinLog): Deleted.
- runtime/JSGlobalObjectFunctions.h:
- runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeWithCycleCheck):
Remove check added in r197648. This check was added to match
the latest EcmaScript spec:
This check allowed for Prototype chain cycles if the prototype
chain includes objects that do not use the ordinary object definitions
for GetPrototypeOf and SetPrototypeOf.
The issue is that the rest of our code base does not properly handle
such cycles and we can end up in infinite loops. This became obvious
because this patch updates Window / Location so that they no longer
use the default GetPrototypeOf / SetPrototypeOf. If I do not
remove this check, I get an infinite loop in
Structure::anyObjectInChainMayInterceptIndexedAccesses(), which is
called from JSObject::setPrototypeDirect(), when running the following
layout test:
- html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub.html
I filed https://bugs.webkit.org/show_bug.cgi?id=161534 to track this
issue.
- runtime/JSObject.h:
(JSC::JSObject::getArrayLength): Deleted.
- runtime/JSProxy.cpp:
(JSC::JSProxy::setPrototype):
(JSC::JSProxy::getPrototype):
- runtime/JSProxy.h:
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorSetPrototypeOf):
(JSC::objectConstructorGetOwnPropertyDescriptor): Deleted.
(JSC::objectConstructorGetOwnPropertyDescriptors): Deleted.
- runtime/ObjectConstructor.h:
- runtime/ReflectObject.cpp:
(JSC::reflectObjectGetPrototypeOf):
(JSC::reflectObjectSetPrototypeOf):
Source/WebCore:
Align cross-origin proto getter / setter behavior with other
browsers and the specification:
SetPrototypeOf should throw a TypeError:
- https://html.spec.whatwg.org/#windowproxy-setprototypeof
- https://html.spec.whatwg.org/#location-setprototypeof
- https://tc39.github.io/ecma262/#sec-object.setprototypeof (step 5)
GetPrototypeOf should return null cross-origin:
- https://html.spec.whatwg.org/#windowproxy-getprototypeof
- https://html.spec.whatwg.org/#location-getprototypeof
Test: js/dom/setPrototypeOf-location-window.html
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase): Deleted.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setPrototype):
(WebCore::JSDOMWindow::getPrototype):
(WebCore::JSDOMWindow::preventExtensions):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::setPrototype):
(WebCore::JSLocation::getPrototype):
- bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::supportsRichSourceInfo): Deleted.
- bindings/js/JSWorkerGlobalScopeBase.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- bindings/scripts/IDLAttributes.txt:
- page/DOMWindow.idl:
- page/Location.idl:
LayoutTests:
Add layout test coverage and update a few existing test to reflect
behavior change.
- fast/dom/Window/script-tests/window-custom-prototype.js: Removed.
- fast/dom/Window/window-custom-prototype-crash-expected.txt:
- fast/dom/Window/window-custom-prototype-expected.txt: Removed.
- fast/dom/Window/window-custom-prototype.html: Removed.
- http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf.html:
- http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-setPrototypeOf.html:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto.html:
- http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-method-with-iframe-proto.html:
- http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto.html:
- http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto.html:
- js/dom/setPrototypeOf-location-window-expected.txt: Added.
- js/dom/setPrototypeOf-location-window.html: Added.
- 3:28 PM Changeset in webkit [205669] by
-
- 4 edits in trunk
URLParser should parse ports after IPv4 and IPv6 hosts
https://bugs.webkit.org/show_bug.cgi?id=161731
Reviewed by Brady Eidson.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHost):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 3:16 PM Changeset in webkit [205668] by
-
- 4 edits in trunk
URLParser should correctly handle \ in path
https://bugs.webkit.org/show_bug.cgi?id=161762
Reviewed by Brady Eidson.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::isSpecialScheme):
(WebCore::bufferView):
(WebCore::URLParser::parse):
Treat \ as / in the path of special URLs as described in the spec and tested in web platform tests.
Also a slight performance improvement using StringViews instead of copied Strings.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 3:15 PM Changeset in webkit [205667] by
-
- 4 edits in trunk
URLParser should handle URLs with empty authority
https://bugs.webkit.org/show_bug.cgi?id=161711
Reviewed by Brady Eidson.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::parseAuthority):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 3:12 PM Changeset in webkit [205666] by
-
- 36 edits13 deletes in trunk/Source/JavaScriptCore
Remove CopiedSpace and use MarkedSpace instead
https://bugs.webkit.org/show_bug.cgi?id=159658
Reviewed by Keith Miller.
This removes the final client of CopiedSpace, the overrides array of DirectArguments. That
is a simple change.
Then this stubs out some remaining internal debugging code that referenced CopiedSpace in
JSDollarVM and HeapVerifier. I filed FIXMEs to restore that debugging functionality.
The rest of this patch is deleting CopiedSpace.
- API/JSObjectRef.cpp:
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGOperations.cpp:
- heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddPointer):
- heap/CopiedAllocator.h: Removed.
- heap/CopiedBlock.cpp: Removed.
- heap/CopiedBlock.h: Removed.
- heap/CopiedBlockInlines.h: Removed.
- heap/CopiedSpace.cpp: Removed.
- heap/CopiedSpace.h: Removed.
- heap/CopiedSpaceInlines.h: Removed.
- heap/CopyBarrier.h: Removed.
- heap/CopyToken.h: Removed.
- heap/CopyVisitor.cpp: Removed.
- heap/CopyVisitor.h: Removed.
- heap/CopyVisitorInlines.h: Removed.
- heap/CopyWorkList.h: Removed.
- heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::isPagedOut):
(JSC::Heap::updateObjectCounts):
(JSC::Heap::size):
(JSC::Heap::capacity):
(JSC::Heap::collectImpl):
(JSC::Heap::stopAllocation):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::copyBackingStores): Deleted.
(JSC::Heap::threadBytesCopied): Deleted.
- heap/Heap.h:
(JSC::Heap::objectSpace):
(JSC::Heap::allocatorForAuxiliaryData):
(JSC::Heap::storageSpace): Deleted.
(JSC::Heap::storageAllocator): Deleted.
- heap/HeapCellInlines.h:
- heap/HeapInlines.h:
(JSC::Heap::tryAllocateStorage): Deleted.
(JSC::Heap::tryReallocateStorage): Deleted.
- heap/HeapVerifier.cpp:
(JSC::HeapVerifier::verifyButterflyIsInStorageSpace):
(JSC::HeapVerifier::reportObject):
(JSC::getButterflyDetails): Deleted.
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::copyLater): Deleted.
- heap/SlotVisitor.h:
- jit/AssemblyHelpers.h:
- jit/JITOpcodes.cpp:
- jsc.cpp:
- runtime/ArrayConstructor.cpp:
- runtime/ArrayPrototype.cpp:
- runtime/Butterfly.h:
- runtime/ButterflyInlines.h:
(JSC::Butterfly::createUninitializedDuringCollection): Deleted.
- runtime/ClassInfo.h:
- runtime/DirectArguments.cpp:
(JSC::DirectArguments::visitChildren):
(JSC::DirectArguments::overrideThings):
(JSC::DirectArguments::copyBackingStore): Deleted.
- runtime/DirectArguments.h:
- runtime/JSArray.cpp:
- runtime/JSCell.cpp:
(JSC::JSCell::copyBackingStore): Deleted.
- runtime/JSCell.h:
- runtime/JSLexicalEnvironment.h:
- runtime/JSObject.cpp:
- runtime/JSTypedArrays.cpp:
- runtime/LiteralParser.cpp:
- runtime/ObjectConstructor.cpp:
- runtime/RegExpObject.cpp:
- runtime/StringPrototype.cpp:
- runtime/WeakMapData.cpp:
- tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::isInStorageSpace):
- 3:02 PM Changeset in webkit [205665] by
-
- 5 edits in trunk
HTMLImageElement.hspace / vspace attributes should be unsigned
https://bugs.webkit.org/show_bug.cgi?id=161754
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/reflection-embedded-expected.txt:
Source/WebCore:
HTMLImageElement.hspace / vspace attributes should be unsigned:
Firefox agrees with the specification, however, those were signed in
webKit.
No new tests, rebaselined existing test.
- html/HTMLImageElement.idl:
- 3:00 PM Changeset in webkit [205664] by
-
- 2 edits in trunk/JSTests
REGRESSION (r205569?): 32-bit JSC test timeout: stress/rest-parameter-many-arguments.js.dfg-maximal-flush-validate-no-cjit
https://bugs.webkit.org/show_bug.cgi?id=161756
Reviewed by Saam Barati.
It looks like the 32-bit JSC bot is just too slow at running this test with the
dfg-maximal-flush-validate-no-cjit configuration. We'll try excluding that
configuration.
- stress/rest-parameter-many-arguments.js:
- 2:31 PM Changeset in webkit [205663] by
-
- 8 edits in trunk/Source/WebCore
Update parseHTMLNonNegativeInteger() to return an unsigned value
https://bugs.webkit.org/show_bug.cgi?id=161759
Reviewed by Alex Christensen.
Update parseHTMLNonNegativeInteger() to return an unsigned value instead
of a signed one as the value can never be negative.
- html/HTMLElement.cpp:
(WebCore::HTMLElement::parseBorderWidthAttribute):
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::maxLengthAttributeChanged):
(WebCore::HTMLInputElement::minLengthAttributeChanged):
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::maxLengthAttributeChanged):
(WebCore::HTMLTextAreaElement::minLengthAttributeChanged):
- html/ImageInputType.cpp:
(WebCore::ImageInputType::height):
(WebCore::ImageInputType::width):
- html/parser/HTMLParserIdioms.cpp:
(WebCore::parseHTMLNonNegativeInteger):
(WebCore::parseHTTPRefreshInternal):
- html/parser/HTMLParserIdioms.h:
- 2:30 PM Changeset in webkit [205662] by
-
- 1 edit12 deletes in trunk/JSTests
Delete older WebAssembly tests
https://bugs.webkit.org/show_bug.cgi?id=161758
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-08
Reviewed by Filip Pizlo.
They're not running, rely on the older polyfill prototype, and the older code was deleted in: https://trac.webkit.org/changeset/204180
- stress/wasm-arithmetic-float32.js: Removed.
- stress/wasm-arithmetic-float64.js: Removed.
- stress/wasm-arithmetic-int32.js: Removed.
- stress/wasm-calls.js: Removed.
- stress/wasm-comma.js: Removed.
- stress/wasm-control-flow.js: Removed.
- stress/wasm-globals.js: Removed.
- stress/wasm-linear-memory.js: Removed.
- stress/wasm-locals.js: Removed.
- stress/wasm-relational.js: Removed.
- stress/wasm-type-conversion.js: Removed.
- stress/wasm/arithmetic-float32.wasm: Removed.
- stress/wasm/arithmetic-float64.wasm: Removed.
- stress/wasm/arithmetic-int32.wasm: Removed.
- stress/wasm/calls.wasm: Removed.
- stress/wasm/comma.wasm: Removed.
- stress/wasm/control-flow.wasm: Removed.
- stress/wasm/globals.wasm: Removed.
- stress/wasm/linear-memory.wasm: Removed.
- stress/wasm/locals.wasm: Removed.
- stress/wasm/relational.wasm: Removed.
- stress/wasm/type-conversion.wasm: Removed.
- 2:16 PM Changeset in webkit [205661] by
-
- 6 edits in trunk/Source/WebCore
Get rid of the color profile from ImageFrame and ImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=159699
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-09-08
Reviewed by Simon Fraser.
The color profile is set but it is never used.
- platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageFrame::setColorProfile): Deleted.
- platform/image-decoders/ImageDecoder.h:
- platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):
(WebCore::JPEGImageDecoder::outputScanlines):
(WebCore::readColorProfile): Deleted.
- platform/image-decoders/jpeg/JPEGImageDecoder.h:
- platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::readColorProfile): Deleted.
- 2:09 PM Changeset in webkit [205660] by
-
- 33 edits2 adds in trunk/Source/WebCore
[CSS Parser] Add support for new CSS selector parsing
https://bugs.webkit.org/show_bug.cgi?id=161749
Reviewed by Dean Jackson.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::isValidSelector):
- css/CSSDefaultStyleSheets.cpp:
(WebCore::parseUASheet):
- css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::matchingFaces):
- css/CSSGrammar.y.in:
- css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
- css/CSSSelector.h:
- css/DOMCSSNamespace.cpp:
(WebCore::DOMCSSNamespace::supports):
- css/FontFace.cpp:
(WebCore::FontFace::parseString):
(WebCore::FontFace::setVariant):
- css/MediaList.cpp:
(WebCore::MediaQuerySet::internalParse):
(WebCore::MediaQuerySet::parse):
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively):
- css/SelectorFilter.cpp:
(WebCore::SelectorFilter::collectIdentifierHashes):
- css/SelectorPseudoClassAndCompatibilityElementMap.in:
- css/SelectorPseudoTypeMap.h:
- css/SourceSizeList.cpp:
(WebCore::parseSizesAttribute):
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::MutableStyleProperties):
- css/StyleProperties.h:
- css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::setCSSStyleSheet):
- css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::StyleSheetContents):
(WebCore::StyleSheetContents::parserAddNamespace):
(WebCore::StyleSheetContents::namespaceURIFromPrefix):
(WebCore::StyleSheetContents::determineNamespace): Deleted.
- css/StyleSheetContents.h:
- css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
- css/makeSelectorPseudoClassAndCompatibilityElementMap.py:
- css/parser/CSSParser.cpp:
(WebCore::strictCSSParserContext):
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::shouldAcceptUnitLessValues):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseColumnWidth):
(WebCore::CSSParser::parseColumnCount):
(WebCore::CSSParser::parseFontWeight):
(WebCore::CSSParser::parseColorParameters):
(WebCore::CSSParser::parseHSLParameters):
(WebCore::CSSParser::parseShadow):
(WebCore::CSSParser::parseBorderImageSlice):
(WebCore::CSSParser::parseBorderImageQuad):
(WebCore::CSSParser::parseDeprecatedLinearGradient):
(WebCore::CSSParser::parseLinearGradient):
(WebCore::CSSParser::parseTransformValue):
(WebCore::CSSParser::parseBuiltinFilterArguments):
(WebCore::CSSParser::determineNameInNamespace):
- css/parser/CSSParser.h:
(WebCore::CSSParser::inStrictMode):
(WebCore::CSSParser::inQuirksMode):
- css/parser/CSSParserMode.h:
(WebCore::isQuirksModeBehavior):
(WebCore::isUASheetBehavior):
(WebCore::isUnitLessLengthParsingEnabledForMode):
(WebCore::isCSSViewportParsingEnabledForMode):
(WebCore::strictToCSSParserMode):
(WebCore::isStrictParserMode):
- css/parser/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePseudoElementSelectorFromStringView):
(WebCore::CSSParserSelector::parsePseudoClassSelectorFromStringView):
(WebCore::CSSParserSelector::setSelectorList):
(WebCore::CSSParserSelector::appendTagHistory):
(WebCore::CSSParserSelector::releaseTagHistory):
(WebCore::CSSParserSelector::isHostPseudoSelector):
- css/parser/CSSParserValues.h:
(WebCore::CSSParserSelector::match):
(WebCore::CSSParserSelector::pseudoElementType):
(WebCore::CSSParserSelector::selectorList):
(WebCore::CSSParserSelector::needsImplicitShadowCombinatorForMatching):
- css/parser/CSSPropertyParser.h:
(WebCore::CSSPropertyParser::inQuirksMode):
- css/parser/CSSSelectorParser.cpp: Added.
(WebCore::CSSSelectorParser::parseSelector):
(WebCore::CSSSelectorParser::CSSSelectorParser):
(WebCore::CSSSelectorParser::consumeComplexSelectorList):
(WebCore::CSSSelectorParser::consumeCompoundSelectorList):
(WebCore::CSSSelectorParser::consumeComplexSelector):
(WebCore::CSSSelectorParser::consumeCompoundSelector):
(WebCore::CSSSelectorParser::consumeSimpleSelector):
(WebCore::CSSSelectorParser::consumeName):
(WebCore::CSSSelectorParser::consumeId):
(WebCore::CSSSelectorParser::consumeClass):
(WebCore::CSSSelectorParser::consumeAttribute):
(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::CSSSelectorParser::consumeCombinator):
(WebCore::CSSSelectorParser::consumeAttributeMatch):
(WebCore::CSSSelectorParser::consumeAttributeFlags):
(WebCore::CSSSelectorParser::consumeANPlusB):
(WebCore::CSSSelectorParser::defaultNamespace):
(WebCore::CSSSelectorParser::determineNamespace):
(WebCore::CSSSelectorParser::prependTypeSelectorIfNeeded):
(WebCore::CSSSelectorParser::addSimpleSelectorToCompound):
(WebCore::CSSSelectorParser::splitCompoundAtImplicitShadowCrossingCombinator):
- css/parser/CSSSelectorParser.h: Added.
(WebCore::CSSSelectorParser::DisallowPseudoElementsScope::DisallowPseudoElementsScope):
(WebCore::CSSSelectorParser::DisallowPseudoElementsScope::~DisallowPseudoElementsScope):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::fragmentRelationForSelectorRelation):
- dom/StyledElement.cpp:
(WebCore::StyledElement::rebuildPresentationAttributeStyle):
- svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):
- 1:54 PM Changeset in webkit [205659] by
-
- 4 edits2 adds in trunk
Don't run transitions to or from undefined Lengths
https://bugs.webkit.org/show_bug.cgi?id=161750
rdar://problem/28170460
Reviewed by Zalan Bujtas.
Source/WebCore:
For properties like max-height whose default value is 'none', we would erroneously
attempt to run transitions/animations, and then assert when one of the endpoints
was undefined.
So don't attempt to blend such Length values, just as do when they are auto.
Fixes some transitions on apple.com and developer.apple.com.
Test: transitions/transition-to-from-undefined.html
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimation::blendProperties):
- platform/Length.cpp:
(WebCore::blend):
LayoutTests:
- transitions/transition-to-from-undefined-expected.txt: Added.
- transitions/transition-to-from-undefined.html: Added.
- 1:35 PM Changeset in webkit [205658] by
-
- 14 edits in trunk/Source/JavaScriptCore
Heap version should be 32-bit
https://bugs.webkit.org/show_bug.cgi?id=161751
Reviewed by Mark Lam.
32-bit devices are probably getting hurt by the 64-bit version number. The reason why I made
it 64-bit initially is so that I wouldn't have to worry about wrap-around. But wrap-around is
easy to handle.
- heap/CellContainer.h:
- heap/CellContainerInlines.h:
(JSC::CellContainer::flipIfNecessary):
- heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::genericAddSpan):
- heap/ConservativeRoots.h:
- heap/Heap.h:
- heap/HeapInlines.h:
(JSC::Heap::testAndSetMarked):
- heap/HeapUtil.h:
(JSC::HeapUtil::findGCObjectPointersForMarking):
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::MarkedBlock):
- heap/MarkedBlock.h:
(JSC::MarkedBlock::flipIfNecessary):
(JSC::MarkedBlock::flipIfNecessaryConcurrently):
(JSC::MarkedBlock::Handle::flipIfNecessary):
(JSC::MarkedBlock::Handle::flipIfNecessaryConcurrently):
- heap/MarkedSpace.cpp:
(JSC::MarkedSpace::flip):
- heap/MarkedSpace.h:
(JSC::MarkedSpace::version):
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::SlotVisitor):
- heap/SlotVisitor.h:
- 1:09 PM Changeset in webkit [205657] by
-
- 11 edits in trunk
Support new emoji group candidates
https://bugs.webkit.org/show_bug.cgi?id=161664
<rdar://problem/24802695>
<rdar://problem/27666433>
Reviewed by Simon Fraser.
Source/WebCore:
Support more emoji group candidates. This includes joining groups into a single glyph, as
well as atomic deletions of the entire group when the backspace key is pressed.
Tests: editing/deleting/delete-emoji.html:
fast/text/emoji-num-glyphs.html:
- platform/text/CharacterProperties.h:
(WebCore::isEmojiGroupCandidate):
Source/WTF:
Update breaking rules.
- wtf/text/TextBreakIterator.cpp:
(WTF::cursorMovementIterator):
LayoutTests:
Add tests.
- platform/ios-simulator/editing/deleting/delete-emoji-expected.txt:
- platform/mac-yosemite/editing/deleting/delete-emoji-expected.txt:
- platform/mac/editing/deleting/delete-emoji-expected.txt:
- editing/deleting/delete-emoji.html:
- fast/text/emoji-num-glyphs-expected.txt:
- fast/text/emoji-num-glyphs.html:
- 1:05 PM Changeset in webkit [205656] by
-
- 9 edits in trunk/Source/JavaScriptCore
Add support for a ternary sub32 emitter for ARM64 and 32-bit ARM.
https://bugs.webkit.org/show_bug.cgi?id=161724
Reviewed by Filip Pizlo.
ARM architectures support ternary sub instructions. We should make use of them
in emitAllocateWithNonNullAllocator().
- assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::sub32):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::sub32):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::sub32):
- assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::sub32):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::sub32):
- b3/air/AirOpcode.opcodes:
- b3/testb3.cpp:
(JSC::B3::testTernarySubInstructionSelection):
(JSC::B3::run):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):
- 12:46 PM Changeset in webkit [205655] by
-
- 12 edits in trunk
HTMLImageElement.width / height attributes should be unsigned
https://bugs.webkit.org/show_bug.cgi?id=161730
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/html/dom/reflection-embedded-expected.txt:
Source/WebCore:
HTMLImageElement.width / height attributes should be unsigned as per
the HTML specification:
However, they are signed in WebKit. Firefox agrees with the
specification.
No new tests, rebaselined existing test.
- bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::construct):
(WebCore::createImageConstructor): Deleted.
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::createForJSConstructor):
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
(WebCore::HTMLImageElement::setHeight):
(WebCore::HTMLImageElement::setWidth):
- html/HTMLImageElement.h:
- html/HTMLImageElement.idl:
- html/ImageDocument.cpp:
(WebCore::ImageDocument::restoreImageSize):
LayoutTests:
Update existing test to reflect behavior change.
- js/dom/custom-constructors-expected.txt:
- js/dom/script-tests/custom-constructors.js:
- 11:59 AM Changeset in webkit [205654] by
-
- 16 edits2 deletes in trunk/Source
Move JSMap/JSSet over to Auxiliary MarkedSpace
https://bugs.webkit.org/show_bug.cgi?id=161744
Reviewed by Saam Barati.
Source/JavaScriptCore:
This moves the buffer out of CopiedSpace and into Auxiliary MarkedSpace.
Also removes MapData.h/MapDataInlines.h since they are not used anywhere, but they still
speak of CopiedSpace.
This is a purely mechanical change.
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/CopyToken.h:
- runtime/HashMapImpl.cpp:
(JSC::HashMapImpl<HashMapBucket>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::copyBackingStore): Deleted.
- runtime/HashMapImpl.h:
(JSC::HashMapBuffer::create):
- runtime/JSMapIterator.cpp:
- runtime/JSMapIterator.h:
- runtime/JSSetIterator.cpp:
- runtime/JSSetIterator.h:
- runtime/MapBase.cpp:
- runtime/MapData.h: Removed.
- runtime/MapDataInlines.h: Removed.
- runtime/MapPrototype.cpp:
- runtime/SetConstructor.cpp:
- runtime/SetPrototype.cpp:
- runtime/VM.cpp:
Source/WebCore:
No new tests because no change in behavior.
- bindings/js/SerializedScriptValue.cpp:
- 11:48 AM Changeset in webkit [205653] by
-
- 7 edits5 deletes in trunk
Unreviewed, rolling out r205652.
https://bugs.webkit.org/show_bug.cgi?id=161748
Crashing under ASan (Requested by yusukesuzuki on #webkit).
Reverted changeset:
"ScriptRunner should be driven by PendingScript rather than
ScriptElement"
https://bugs.webkit.org/show_bug.cgi?id=161726
http://trac.webkit.org/changeset/205652
- 10:49 AM Changeset in webkit [205652] by
-
- 7 edits5 adds in trunk
ScriptRunner should be driven by PendingScript rather than ScriptElement
https://bugs.webkit.org/show_bug.cgi?id=161726
Reviewed by Ryosuke Niwa.
Source/WebCore:
ScriptRunner is driven by ScriptElement::notifyFinished. While ScriptRunner is driven by this,
HTMLScriptRunner does not use it. Instead, HTMLScriptRunner uses PendingScriptClient. As a result,
ScriptElement::notifyFinished is used only when the script is annotated with "defer" or "async"
while all the external script will load the LoadableScript. It is confusing.
This patch removes ScriptElement::notifyFinished and use PendingScript's observability
in ScriptRunner instead.
This patch also fixes the behavior about ignore-destructive-writes counter[1]. When dispatching
the load and error events, this ignore-destructive-writes counter should not be incremeneted by
this execution. The added tests ensure this behavior.
[1]: https://html.spec.whatwg.org/multipage/scripting.html#execute-the-script-block
- dom/ScriptElement.cpp: Drop LoadableScriptClient interface.
(WebCore::ScriptElement::prepareScript): Do not use addClient. ScriptRunner use PendingScript::{setClient,clearClient} instead.
(WebCore::ScriptElement::executeScriptForScriptRunner): IgnoreDestructiveWriteCountIncrementer will be done in ScriptElement::executeScript.
So no need to do it here, that's duplicated.
(WebCore::ScriptElement::~ScriptElement): Deleted. ScriptElement does not use addClient/removeClient.
(WebCore::ScriptElement::stopLoadRequest): Deleted.
(WebCore::ScriptElement::executeScriptForHTMLScriptRunner): Deleted. executeScriptForHTMLScriptRunner and executeScriptForScriptRunner are
merged into executeScriptForRunner.
(WebCore::ScriptElement::notifyFinished): Deleted.
- dom/ScriptElement.h:
(WebCore::ScriptElement::~ScriptElement):
(WebCore::ScriptElement::willExecuteInOrder): Used in ScriptRunner to determine whether the script is async or defer.
(WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Deleted.
- dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::~ScriptRunner): HashSet's iterator will return
const PendingScript&.
Another option is using HashSet<RefPtr<PendingScript>>. Here, we use a little bit weired const_cast.
(WebCore::ScriptRunner::queueScriptForExecution): Use PendingScript::setClient to wait loading.
(WebCore::ScriptRunner::notifyFinished): Notify the script ready here.
(WebCore::ScriptRunner::timerFired): Use executeScriptForScriptRunner.
(WebCore::ScriptRunner::notifyScriptReady): Deleted.
- dom/ScriptRunner.h:
- html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Use executeScriptForScriptRunner.
LayoutTests:
- js/dom/document-write-in-error-event-expected.txt: Added.
- js/dom/document-write-in-error-event.html: Added.
- js/dom/document-write-in-load-event-expected.txt: Added.
- js/dom/document-write-in-load-event.html: Added.
- js/dom/script-tests/dummy.js: Added.
- 10:37 AM Changeset in webkit [205651] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Debugger sidebar should include a warning message breakpoints are disabled
https://bugs.webkit.org/show_bug.cgi?id=156719
<rdar://problem/25787932>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-08
Reviewed by Brian Burg.
- Localizations/en.lproj/localizedStrings.js:
New strings for breakpoints disabled warning banner.
- UserInterface/Views/DebuggerSidebarPanel.css:
(.sidebar > .panel.navigation.debugger .warning-banner):
(.sidebar > .panel.navigation.debugger .warning-banner > a):
Generalize the class name to "warning-banner".
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._breakpointsEnabledDidChange):
(WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingWillStart):
(WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingStopped):
(WebInspector.DebuggerSidebarPanel.prototype._updateBreakpointsDisabledBanner):
Show / hide a breakpoints disabled warning banner as needed.
Only one banner shows at a time, so either the timing warning
or the generic breakpoints disabled banner will show.
- 10:23 AM Changeset in webkit [205650] by
-
- 4 edits in trunk
Re-land r205580 after r205649 fixed the test failures
https://bugs.webkit.org/show_bug.cgi?id=161668
Re-landing changesets:
"Punycode encode non-ascii hosts in URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161655
http://trac.webkit.org/changeset/205521
"Fix query-only and fragment-only relative URLs when using
URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161657
http://trac.webkit.org/changeset/205526
"URLParser should parse / as a relative URL"
https://bugs.webkit.org/show_bug.cgi?id=161667
http://trac.webkit.org/changeset/205532
- 10:19 AM Changeset in webkit [205649] by
-
- 2 edits in trunk/Source/WebCore
Add range check in URLParser's serializeIPv6
https://bugs.webkit.org/show_bug.cgi?id=161743
Reviewed by David Kilzer.
No new tests, but this fixes API tests in some release builds after
the patch from https://bugs.webkit.org/show_bug.cgi?id=161668 is recommitted.
- platform/URLParser.cpp:
(WebCore::serializeIPv6):
Don't go out of bounds. Don't assume that the memory immediately after the end of the array will be empty.
- 9:47 AM Changeset in webkit [205648] by
-
- 13 edits in trunk/Source/JavaScriptCore
Typed arrays should use MarkedSpace instead of CopiedSpace
https://bugs.webkit.org/show_bug.cgi?id=161100
Reviewed by Geoffrey Garen.
This moves typed array backing stores out of CopiedSpace and into Auxiliary MarkedSpace.
This is a purely mechanical change since Auxiliary MarkedSpace already knows how to do
everything that typed arrays want.
- dfg/DFGOperations.cpp:
(JSC::DFG::newTypedArrayWithSize):
- dfg/DFGOperations.h:
(JSC::DFG::operationNewTypedArrayWithSizeForType):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage): Deleted.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::initializeArrayElements):
(JSC::FTL::DFG::LowerDFGToB3::splatWords):
(JSC::FTL::DFG::LowerDFGToB3::allocateBasicStorageAndGetEnd): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::allocateBasicStorage): Deleted.
- heap/CopyToken.h:
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::markAuxiliary):
- jit/JITOperations.h:
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
(JSC::JSArrayBufferView::JSArrayBufferView):
- runtime/JSArrayBufferView.h:
- runtime/JSGenericTypedArrayView.h:
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector):
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):
(JSC::JSGenericTypedArrayView<Adaptor>::copyBackingStore): Deleted.
- 9:11 AM Changeset in webkit [205647] by
-
- 13 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205421 - Remove Style::PendingResources
https://bugs.webkit.org/show_bug.cgi?id=161574
Reviewed by Andreas Kling.
RenderStyle contains all the information needed to initialize resource loads. There is no need for this side structure.
- css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::loadSubimages):
Load external SVG resources along with any image resources.
- css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::styleImage):
(WebCore::CSSToStyleMap::mapFillImage):
(WebCore::CSSToStyleMap::mapNinePieceImage):
- css/CSSToStyleMap.h:
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertStyleImage):
(WebCore::StyleBuilderConverter::convertShapeValue):
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueCursor):
(WebCore::StyleBuilderCustom::applyValueContent):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::createFilterOperations):
(WebCore::StyleResolver::loadPendingResources):
(WebCore::StyleResolver::State::ensurePendingResources): Deleted.
(WebCore::StyleResolver::styleCachedImageFromValue): Deleted.
(WebCore::StyleResolver::styleGeneratedImageFromValue): Deleted.
- css/StyleResolver.h:
(WebCore::StyleResolver::State::takePendingResources): Deleted.
- platform/graphics/filters/FilterOperation.cpp:
(WebCore::ReferenceFilterOperation::loadExternalDocumentIfNeeded):
(WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference): Deleted.
- platform/graphics/filters/FilterOperation.h:
(WebCore::ReferenceFilterOperation::cachedSVGDocumentReference):
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::StyleCachedImage):
- style/StylePendingResources.cpp:
(WebCore::Style::loadPendingResources):
Trigger resource loads by checking pending resources in RenderStyle unconditionally. Keeping track of them
separately wasn't necessary or a meaningful optimization.
(WebCore::Style::loadPendingImages): Deleted.
(WebCore::Style::loadPendingSVGFilters): Deleted.
- style/StylePendingResources.h:
- 9:11 AM Changeset in webkit [205646] by
-
- 19 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205419 - Reverse ownership relation of StyleCachedImage and CSSImageValue
https://bugs.webkit.org/show_bug.cgi?id=161447
Reviewed by Andreas Kling.
Currently StyleCachedImage (which represents an image in RenderStyle) has a weak ref to the
underlying CSSImageValue/CSSImageSetValue which actually owns it. This is awkwards especially since
StyleGeneratedImage, the other StyleImage subclass has reversed relationship where it refs
the underlying CSSImageGeneratorValue.
This patch makes StyleCachedImage similar to StyleGeneratedImage. StyleCachedImage now refs the
underlying CSSImageValue/CSSImageSetValue. CSSImageValues no longer need to know about StyleCachedImage.
Instead they reference CachedImages (memory cache objects) directly. StyleCachedImage instances are now
conceptually unique to RenderStyle instances. Actual resources are shared as before by sharing CachedImages.
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::loadImage):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::styleImage): Deleted.
- css/CSSCursorImageValue.h:
- css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::loadBestFitImage):
(WebCore::CSSImageSetValue::traverseSubresources):
(WebCore::CSSImageSetValue::styleImage): Deleted.
- css/CSSImageSetValue.h:
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::CSSImageValue):
(WebCore::CSSImageValue::~CSSImageValue):
(WebCore::CSSImageValue::isPending):
(WebCore::CSSImageValue::loadImage):
(WebCore::CSSImageValue::traverseSubresources):
(WebCore::CSSImageValue::knownToBeOpaque):
(WebCore::CSSImageValue::styleImage): Deleted.
- css/CSSImageValue.h:
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueContent):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::styleCachedImageFromValue):
(WebCore::StyleResolver::styleGeneratedImageFromValue):
(WebCore::StyleResolver::cachedOrPendingFromValue): Deleted.
(WebCore::StyleResolver::generatedOrPendingFromValue): Deleted.
(WebCore::StyleResolver::setOrPendingFromValue): Deleted.
(WebCore::StyleResolver::cursorOrPendingFromValue): Deleted.
- css/StyleResolver.h:
- editing/TextIterator.cpp:
(WebCore::fullyClipsContents):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
- rendering/style/FillLayer.cpp:
(WebCore::FillLayer::imagesIdentical):
Compare data equality instead of pointer equality for StyleImages (since StyleImages are no longer shared).
(WebCore::layerImagesIdentical): Deleted.
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::StyleCachedImage):
(WebCore::StyleCachedImage::~StyleCachedImage):
(WebCore::StyleCachedImage::cachedImage):
(WebCore::StyleCachedImage::cssValue):
(WebCore::StyleCachedImage::canRender):
(WebCore::StyleCachedImage::isPending):
(WebCore::StyleCachedImage::isLoaded):
(WebCore::StyleCachedImage::errorOccurred):
(WebCore::StyleCachedImage::imageSize):
(WebCore::StyleCachedImage::imageHasRelativeWidth):
(WebCore::StyleCachedImage::imageHasRelativeHeight):
(WebCore::StyleCachedImage::computeIntrinsicDimensions):
(WebCore::StyleCachedImage::usesImageContainerSize):
(WebCore::StyleCachedImage::setContainerSizeForRenderer):
(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):
(WebCore::StyleCachedImage::image):
(WebCore::StyleCachedImage::knownToBeOpaque):
(WebCore::StyleCachedImage::setCachedImage): Deleted.
- rendering/style/StyleCachedImage.h:
- 8:51 AM Changeset in webkit [205645] by
-
- 12 edits in releases/WebKitGTK/webkit-2.14/Source
Merge r205405 - Use ASCIILiteral in some more places
https://bugs.webkit.org/show_bug.cgi?id=161557
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-03
Reviewed by Darin Adler.
Source/JavaScriptCore:
- runtime/TypeSet.h:
(JSC::StructureShape::setConstructorName):
Source/WebCore:
- Modules/indexeddb/IDBDatabaseException.cpp:
(WebCore::IDBDatabaseException::getErrorName):
(WebCore::IDBDatabaseException::getErrorDescription):
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::binaryType):
- css/FontFace.cpp:
(WebCore::FontFace::stretch):
(WebCore::FontFace::unicodeRange):
(WebCore::FontFace::featureSettings):
- html/canvas/WebGLRenderingContextBase.cpp:
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::initiatorFor):
- loader/FormSubmission.cpp:
(WebCore::FormSubmission::Attributes::parseEncodingType):
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::toRawString):
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::CGImageToDataURL):
(WebCore::ImageBuffer::toDataURL):
(WebCore::ImageDataToDataURL):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::filenameExtension):
- 8:31 AM Changeset in webkit [205644] by
-
- 10 edits15 adds in releases/WebKitGTK/webkit-2.14
Merge r205400 - Align meta element http-equiv="refresh" parsing with the HTML specification
https://bugs.webkit.org/show_bug.cgi?id=161543
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import corresponding test from W3C.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing-expected.txt: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/;url=foo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/dir.headers: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/foo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/foo'bar: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/refresh.sub.html: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/ufoo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/urfoo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/url foo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/urlfoo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/x;url=foo: Added.
Source/WebCore:
Align meta element http-equiv="refresh" parsing with the HTML specification:
Tests: imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html
- dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
- html/parser/HTMLParserIdioms.cpp:
(WebCore::parseHTTPRefreshInternal):
(WebCore::parseMetaHTTPEquivRefresh):
- html/parser/HTMLParserIdioms.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
- platform/network/HTTPParsers.cpp:
(WebCore::skipWhiteSpace):
(WebCore::skipEquals):
(WebCore::parseHTTPRefresh):
(WebCore::parseXSSProtectionHeader):
(WebCore::skipValue): Deleted.
- platform/network/HTTPParsers.h:
LayoutTests:
Update layout test to only use HTML spaces in http-equiv="refresh"
content value.
- http/tests/misc/refresh-meta-with-newline.html:
- 8:31 AM Changeset in webkit [205643] by
-
- 6 edits1 add in releases/WebKitGTK/webkit-2.14
Merge r205399 - run-webkit-tests should detect w3c test resource files
https://bugs.webkit.org/show_bug.cgi?id=161307
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-03
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
- resources/resource-files.json: Added.
Tools:
- Scripts/webkitpy/port/base.py:
(Port.init): Adding self._w3c_resource_files to store the list of resource files.
(Port.potential_test_names_from_expected_file):
(Port._real_tests):
(Port.is_w3c_resource_file): Computing whether a file is a resource file based on imported/w3c/resources/resource-files.json.
(Port._is_test_file): Updated to call Port.is_w3c_resource_file. _is_test_file is no longer static.
(Port): Deleted.
- Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_additional_platform_directory):
(PortTest.test_find_no_paths_specified):
(PortTest.test_is_test_file): Updated to use non-static version of _is_test_file.
(PortTest.test_is_w3c_resource_file): Adding tests.
LayoutTests:
- TestExpectations: Removing resource files skip expectations.
- 8:26 AM Changeset in webkit [205642] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205397 - [GTK] -Wmissing-field-initializers on WaylandCompositor.cpp:295
https://bugs.webkit.org/show_bug.cgi?id=161524
Reviewed by Carlos Garcia Campos.
- UIProcess/gtk/WaylandCompositor.cpp:
- 8:21 AM Changeset in webkit [205641] by
-
- 8 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205395 - [Threaded Compositor] Move the viewport controller off the compositing thread
https://bugs.webkit.org/show_bug.cgi?id=161532
Reviewed by Michael Catanzaro.
While working on bug #161242 I've realized that having the view port controller in the compositing thread makes
everything more complex. The viewport controller receives changes about things like contents size, viewport
size, etc. and uses that information to compute the visible contents rect and page scale factor. Then it
notifies back to main thread about the computed visible contents rect and page scale. Those computations are not
heave at all, so they could be done in the main thread and we would avoid communications between the main and
compositing thread in both directions. The main thread needs the visible contents rect to notify the compositing
coordinator and the page cale to scale the page in case of pixed layout. But the compositing thread only needs
to know the effective scale and scroll position. So, instead of going to the compositing thread after every
change that might update the visible contents rect and page scale factor, we could do those calculations in the
main thread and only notify the compositing thread about the actual changes in the scroll position and effective scale.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::createTilesIfNeeded): Return early if backingStore is nullptr, which can
happen if the layer shouldn't have a backing store and was removed by the previous call to prepareContentBackingStore().
(WebKit::CoordinatedGraphicsScene::updateTilesIfNeeded): Ditto.
- Shared/CoordinatedGraphics/SimpleViewportController.cpp:
(WebKit::SimpleViewportController::SimpleViewportController): Remove the client since we no longer need to
notify about changes.
(WebKit::SimpleViewportController::didChangeViewportSize): Remove call to syncVisibleContents().
(WebKit::SimpleViewportController::didChangeContentsSize): Ditto.
(WebKit::SimpleViewportController::didChangeViewportAttributes): Ditto.
(WebKit::SimpleViewportController::didScroll): Removed unused scrollBy methods and renamed scrollTo as
didiScroll for consistency. Save the position without calling boundContentsPosition, because that's already
donde when the position is used to compute the contents visible rectangle.
(WebKit::SimpleViewportController::visibleContentsRect): No need to notify about the changes.
(WebKit::SimpleViewportController::visibleContentsSize): Deleted.
- Shared/CoordinatedGraphics/SimpleViewportController.h:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::create): Pass a reference to the client instead of a pointer. It's no longer
possible to have a valid pointer when the object has been destroyed, so we can better use a reference now.
(WebKit::ThreadedCompositor::ThreadedCompositor): Ditto.
(WebKit::ThreadedCompositor::~ThreadedCompositor): Remove assert.
(WebKit::ThreadedCompositor::invalidate): No need to invalidate the client.
(WebKit::ThreadedCompositor::setScaleFactor): Set the effective scale factor that should be used for rendering.
(WebKit::ThreadedCompositor::setScrollPosition): Set the current scroll position and effective scale factor.
(WebKit::ThreadedCompositor::setViewportSize): Set the viewport size and effective scale factor.
(WebKit::ThreadedCompositor::renderNextFrame): Update m_client use that is no longer a pointer.
(WebKit::ThreadedCompositor::commitScrollOffset): Ditto.
(WebKit::ThreadedCompositor::renderLayerTree): Call glViewport after a resize and use m_viewportSize,
m_scrollPosition and m_scaleFactor members.
(WebKit::ThreadedCompositor::didChangeVisibleRect): Deleted.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): Pass the compositor client as a
reference to ThreadedCompositor constructor.
(WebKit::ThreadedCoordinatedLayerTreeHost::scrollNonCompositedContents): Update the viewport and call didChangeViewport().
(WebKit::ThreadedCoordinatedLayerTreeHost::contentsSizeChanged): Ditto.
(WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged): Pass the effective scale factor to
the compositor.
(WebKit::ThreadedCoordinatedLayerTreeHost::sizeDidChange): Update the viewport, the compositor and call didChangeViewport().
(WebKit::ThreadedCoordinatedLayerTreeHost::didChangeViewportProperties): Update the viewport and call didChangeViewport().
(WebKit::ThreadedCoordinatedLayerTreeHost::didChangeViewport): Notify the compositing coordinator about the new
visible contents rectangle, and update the threaded compositor if needed.
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
- 8:19 AM Changeset in webkit [205640] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.14
Merge r205392 - Should never be reached failure in WebCore::floatValueForLength
https://bugs.webkit.org/show_bug.cgi?id=139397
<rdar://problem/27704376>
Reviewed by Simon Fraser.
Source/WebCore:
floatValueForLength can't resolve unspecified Length types. Filter them out and return 0 as if they were auto.
Test: svg/css/assert-on-non-resolvable-dimension.html
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::valueForLength):
LayoutTests:
- svg/css/assert-on-non-resolvable-dimension-expected.txt: Added.
- svg/css/assert-on-non-resolvable-dimension.html: Added.
- 8:17 AM Changeset in webkit [205639] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.14
Merge r205384 - ASSERT_NOT_REACHED() is touched in WebCore::valueForLength
https://bugs.webkit.org/show_bug.cgi?id=123337
<rdar://problem/27684121>
Reviewed by Simon Fraser.
Source/WebCore:
Do not try to use unspecified height value while resolving logical height for table row.
Test: fast/table/assert-on-non-resolvable-row-dimension.html
- rendering/RenderTableCell.h:
(WebCore::RenderTableCell::logicalHeightForRowSizing):
LayoutTests:
- fast/table/assert-on-non-resolvable-row-dimension-expected.txt: Added.
- fast/table/assert-on-non-resolvable-row-dimension.html: Added.
- 8:13 AM Changeset in webkit [205638] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205380 - [JSC] Remove some more useless cases from FTL Capabilities
https://bugs.webkit.org/show_bug.cgi?id=161466
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-02
Reviewed by Geoffrey Garen.
Some cases do not make sense:
-In: Fixup only generate CellUse.
-PutByIdXXX: same.
-GetIndexedPropertyStorage: those cases are the only ones supported
by DFG. We would have crashed in SpeculativeJIT if other modes
were generated.
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compilePutById):
(JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
- 8:11 AM Changeset in webkit [205637] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.14
Merge r205374 - ASSERTION FAILED: !m_committedWidth in WebCore::LineWidth::fitBelowFloats
https://bugs.webkit.org/show_bug.cgi?id=149462
<rdar://problem/27710841>
Reviewed by David Hyatt.
Source/WebCore:
In certain cases (multiple spans on the same line with negativ marings), the LineWidth::m_committedWidth > 0
check is not sufficient to decide if some content has already been committed to the current line.
This patch adds a flag to indicate if we ever committed to the current line.
Test: fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit.html
- rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):
- rendering/line/LineWidth.h:
(WebCore::LineWidth::hasCommitted):
LayoutTests:
- fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit-expected.txt: Added.
- fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit.html: Added.
- 8:02 AM Changeset in webkit [205636] by
-
- 7 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205364 - Register usage optimization in mathIC when LHS and RHS are constants isn't configured correctly
https://bugs.webkit.org/show_bug.cgi?id=160802
Patch by Caio Lima <Caio Lima> on 2016-09-02
Reviewed by Saam Barati.
This patch is fixing a broken mechanism of MathIC that avoids allocate
a register to LHS or RHS if one of these operands are proven as valid
constant for JIT*Generator. In previous implementation, even if the
JIT*Generator was not using an operand register because it was proven as a
constant, compileMathIC and emitICFast were allocating a register for
it. This was broken because mathIC->isLeftOperandValidConstant and
mathIC->isLeftOperandValidConstant were being called before its Generator be
properly initialized. We changed this mechanism to enable Generators write
their validConstant rules using static methods isLeftOperandValidConstant(SnippetOperand)
and isRightOperandValidConstant(SnippetOperand).
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMathIC):
- jit/JITAddGenerator.h:
(JSC::JITAddGenerator::JITAddGenerator):
(JSC::JITAddGenerator::isLeftOperandValidConstant):
(JSC::JITAddGenerator::isRightOperandValidConstant):
- jit/JITArithmetic.cpp:
(JSC::JIT::emitMathICFast):
- jit/JITMathIC.h:
- jit/JITMulGenerator.h:
(JSC::JITMulGenerator::JITMulGenerator):
(JSC::JITMulGenerator::isLeftOperandValidConstant):
(JSC::JITMulGenerator::isRightOperandValidConstant):
- jit/JITSubGenerator.h:
(JSC::JITSubGenerator::isLeftOperandValidConstant):
(JSC::JITSubGenerator::isRightOperandValidConstant):
- 7:59 AM Changeset in webkit [205635] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WTF
Merge r205362 - bitwise_cast infinite loops if called from the default constructor in ToType
https://bugs.webkit.org/show_bug.cgi?id=161365
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-02
Reviewed by Saam Barati.
- wtf/StdLibExtras.h:
(WTF::bitwise_cast): use aggregate initialization to avoid ctor
- 5:33 AM Changeset in webkit [205634] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205361 - GetByValWithThis: fix opInfo in DFG creation
https://bugs.webkit.org/show_bug.cgi?id=161541
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-02
Reviewed by Saam Barati.
super-get-by-val-with-this-monomorphic might be 1.0148x faster after this change.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock): fix OpInfo
- 5:33 AM Changeset in webkit [205633] by
-
- 10 edits1 delete in releases/WebKitGTK/webkit-2.14
Merge r205360 - REGRESSION (r204839): [mac-wk1] LayoutTest webgl/max-active-contexts-webglcontextlost-prevent-default.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=161205
Reviewed by Geoffrey Garen.
Source/WebCore:
Fixes several issues:
- Add missing isReachableFromOpaqueRoots() implementation for JSWebGLRenderingContextBase. It used to rely on the one from its JSCanvasRenderingContext base. However, that base was dropped in r204839.
- Update JSWebGLRenderingContextBase::visitAdditionalChildren() to add its canvas object as opaque root as well. This used to be taken care of by JSCanvasRenderingContext::visitAdditionalChildren() but it got dropped in r204839.
This also refactors the code a bit for clarity.
No new tests, unskipped existing test.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCanvasRenderingContext.h: Removed.
- bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::getCSSCanvasContext):
- bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSWebGLRenderingContextBaseOwner::isReachableFromOpaqueRoots):
(WebCore::JSWebGLRenderingContextBase::visitAdditionalChildren):
- html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::is3d):
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLRenderingContextBase.idl:
LayoutTests:
Unskip test case now that it is no longer flaky.
- platform/mac-wk1/TestExpectations:
- 5:31 AM Changeset in webkit [205632] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Source/WebInspectorUI
Merge r205349 - Web Inspector: NetworkTimelineOverviewGraph.MinimumBarPaddingTime is undefined
https://bugs.webkit.org/show_bug.cgi?id=161510
Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-09-02
Reviewed by Brian Burg.
- UserInterface/Views/NetworkTimelineOverviewGraph.js:
(WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded):
(WebInspector.NetworkTimelineOverviewGraph):
Calculate the minimumBarPaddingTime in similar ways to TimelineRecordBar,
by using MinimumWidthPixel, MinimumMarginPixel and MinimumDurationPerPixel as the secondsPerPixel value.
- UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
Make Minimum/MaximumDurationPerPixel public properties.
- 5:20 AM Changeset in webkit [205631] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Tools
Merge r205343 - [GTK] Fix compiler warning in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=161529
We were missing a return statement in decidePermissionRequest() and
also there was unused variable in browserWindowConstructed().
Patch by Tomas Popela <tpopela@redhat.com> on 2016-09-02
Reviewed by Carlos Garcia Campos.
- MiniBrowser/gtk/BrowserTab.c:
(decidePermissionRequest):
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowConstructed):
- 5:20 AM Changeset in webkit [205630] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205341 - Unreviewed GTK+ build fix when compiling with Clang.
- WebProcess/WebPage/gtk/AcceleratedSurface.cpp: Include WebPage.h.
- 5:19 AM Changeset in webkit [205629] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205332 - jsc: fix cmake build missing symbol getPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=161521
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Saam Barati.
- runtime/IntlDateTimeFormat.cpp: include JSCInlines.h
- runtime/IntlNumberFormat.cpp: include JSCInlines.h
- 5:19 AM Changeset in webkit [205628] by
-
- 26 edits1 add in releases/WebKitGTK/webkit-2.14/Source
Merge r205324 - Move some JSObject and JSArray inline functions to their respective Inlines.h files.
https://bugs.webkit.org/show_bug.cgi?id=161499
Reviewed by Saam Barati.
Source/JavaScriptCore:
This is just a refactoring patch to move some inline functions to their Inlines.h
files. This will be needed to enable https://bugs.webkit.org/show_bug.cgi?id=161498
later.
- bindings/ScriptValue.cpp:
- interpreter/Interpreter.cpp:
- runtime/IntlDateTimeFormatPrototype.cpp:
- runtime/IntlNumberFormatPrototype.cpp:
- runtime/JSArray.cpp:
- runtime/JSArray.h:
(JSC::getLength): Deleted.
(JSC::toLength): Deleted.
- runtime/JSArrayInlines.h:
(JSC::JSArray::mergeIndexingTypeForCopying):
(JSC::JSArray::canFastCopy):
(JSC::getLength):
(JSC::toLength):
- runtime/JSInternalPromise.cpp:
- runtime/JSInternalPromiseDeferred.cpp:
- runtime/JSJob.cpp:
- runtime/JSModuleRecord.cpp:
- runtime/JSObject.h:
(JSC::JSObject::getPropertySlot): Deleted.
(JSC::JSObject::getNonIndexPropertySlot): Deleted.
- runtime/JSObjectInlines.h:
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):
- runtime/JSPromiseDeferred.cpp:
- runtime/JSTypedArrayViewPrototype.cpp:
- runtime/MapConstructor.cpp:
- runtime/SamplingProfiler.cpp:
- runtime/SetConstructor.cpp:
- runtime/WeakMapConstructor.cpp:
- runtime/WeakSetConstructor.cpp:
Source/WebCore:
No new tests because there is no behavior change.
- ForwardingHeaders/runtime/JSObjectInlines.h: Added.
- bindings/js/JSDOMBinding.h:
- bindings/js/JSSQLTransactionCustom.cpp:
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
- contentextensions/ContentExtensionParser.cpp:
- 5:02 AM Changeset in webkit [205627] by
-
- 10 edits4 adds in releases/WebKitGTK/webkit-2.14
Merge r205321 - GetByIdWithThis/GetByValWithThis should have ValueProfiles so that they can predict their result types
https://bugs.webkit.org/show_bug.cgi?id=160922
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Keith Miller.
JSTests:
Benchmark GetBy{Id,Val}WithThis in monomorphic and polymorphic uses.
The value profile is used by the calc functions, which do some mild math with the result.
These benchmarks get ~4% faster with value profiling.
- microbenchmarks/super-get-by-id-with-this-monomorphic.js: Added.
(A):
(A.prototype.set value):
(A.prototype.get value):
(B.prototype.set value):
(B.prototype.get value):
(B):
(const.bench):
- microbenchmarks/super-get-by-id-with-this-polymorphic.js: Added.
(A):
(A.prototype.set value):
(A.prototype.get value):
(B.prototype.set value):
(B.prototype.get value):
(B):
(const.bench):
- microbenchmarks/super-get-by-val-with-this-monomorphic.js: Added.
(value):
(A):
(A.prototype.set v):
(A.prototype.get v):
(B.prototype.set v):
(B.prototype.get v):
(B):
(const.bench):
- microbenchmarks/super-get-by-val-with-this-polymorphic.js: Added.
(value):
(A):
(A.prototype.set v):
(A.prototype.get v):
(B.prototype.set v):
(B.prototype.get v):
(B):
(const.bench):
Source/JavaScriptCore:
Add value profiling to GetBy{Id,Val}WithThis.
- bytecode/BytecodeList.json:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finishCreation):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::emitGetByVal):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
- dfg/DFGPredictionPropagationPhase.cpp:
- llint/LowLevelInterpreter.asm:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- 4:22 AM Changeset in webkit [205626] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Source/WebInspectorUI
Merge r205320 - Web Inspector: Value checks of secondsPerPixel cause errors
https://bugs.webkit.org/show_bug.cgi?id=161304
<rdar://problem/28050070>
Reviewed by Brian Burg.
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype.reset):
Clear resource node map, which is used to determine which nodes
to refresh during layout.
(WebInspector.NetworkTimelineView.prototype.layout):
Like OverviewTimelineView, only refresh node graphs when times change.
This prevents refreshing nodes when (endTime - startTime) === 0.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._recordingReset):
TimelineViews must be cleared before calling _updateTimes to avoid
doing layouts in timeline views containing stale data.
- 4:19 AM Changeset in webkit [205625] by
-
- 14 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205309 - Rename WASM classes dropping the WASM prefix
https://bugs.webkit.org/show_bug.cgi?id=161500
Reviewed by Mark Lam.
Having to write WASM::WASMModule seems silly. Also, this patch
merges WASMFunctionReturnType and WASMValueType into one type
that is a typedef of B3::Type. Using B3::Type as the WASM
primitive type makes it trivial to convert a Vector of WASM
types into a Vector of B3 types.
- b3/B3Type.h:
- wasm/JSWASMModule.h:
(JSC::JSWASMModule::signatures):
(JSC::JSWASMModule::functionImports):
(JSC::JSWASMModule::functionImportSignatures):
(JSC::JSWASMModule::globalVariableTypes):
(JSC::JSWASMModule::functionDeclarations):
(JSC::JSWASMModule::functionPointerTables):
- wasm/WASMB3IRGenerator.cpp:
(JSC::WASM::toB3Op):
(JSC::WASM::B3IRGenerator::addLocal):
(JSC::WASM::B3IRGenerator::unaryOp):
(JSC::WASM::B3IRGenerator::binaryOp):
(JSC::WASM::B3IRGenerator::addConstant):
(JSC::WASM::parseAndCompile):
- wasm/WASMB3IRGenerator.h:
- wasm/WASMFormat.h:
- wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser<Context>::FunctionParser):
(JSC::WASM::FunctionParser<Context>::parse):
(JSC::WASM::FunctionParser<Context>::parseBlock):
(JSC::WASM::FunctionParser<Context>::parseExpression):
(JSC::WASM::WASMFunctionParser<Context>::WASMFunctionParser): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::parse): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::parseBlock): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::parseExpression): Deleted.
- wasm/WASMModuleParser.cpp:
(JSC::WASM::ModuleParser::parse):
(JSC::WASM::ModuleParser::parseFunctionTypes):
(JSC::WASM::ModuleParser::parseFunctionSignatures):
(JSC::WASM::ModuleParser::parseFunctionDefinitions):
(JSC::WASM::WASMModuleParser::parse): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionTypes): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionSignatures): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionDefinitions): Deleted.
- wasm/WASMModuleParser.h:
(JSC::WASM::ModuleParser::ModuleParser):
(JSC::WASM::ModuleParser::functionInformation):
(JSC::WASM::WASMModuleParser::WASMModuleParser): Deleted.
(JSC::WASM::WASMModuleParser::functionInformation): Deleted.
- wasm/WASMOps.h:
- wasm/WASMParser.h:
(JSC::WASM::Parser::Parser):
(JSC::WASM::Parser::consumeCharacter):
(JSC::WASM::Parser::consumeString):
(JSC::WASM::Parser::parseUInt32):
(JSC::WASM::Parser::parseUInt7):
(JSC::WASM::Parser::parseVarUInt1):
(JSC::WASM::Parser::parseValueType):
(JSC::WASM::WASMParser::WASMParser): Deleted.
(JSC::WASM::WASMParser::consumeCharacter): Deleted.
(JSC::WASM::WASMParser::consumeString): Deleted.
(JSC::WASM::WASMParser::parseUInt32): Deleted.
(JSC::WASM::WASMParser::parseUInt7): Deleted.
(JSC::WASM::WASMParser::parseVarUInt1): Deleted.
(JSC::WASM::WASMParser::parseValueType): Deleted.
- wasm/WASMPlan.cpp:
(JSC::WASM::Plan::Plan):
- wasm/WASMSections.cpp:
(JSC::WASM::Sections::lookup):
(JSC::WASM::WASMSections::lookup): Deleted.
- wasm/WASMSections.h:
(JSC::WASM::Sections::validateOrder):
(JSC::WASM::WASMSections::validateOrder): Deleted.
- 4:16 AM Changeset in webkit [205624] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebInspectorUI
Merge r205307 - REGRESSION (r201454): Web Inspector: Text caret isn't visible when editing an attribute
https://bugs.webkit.org/show_bug.cgi?id=160986
<rdar://problem/27916207>
Reviewed by Brian Burg.
- UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom li .selection-area):
(.tree-outline.dom li > span):
Place selection area under the edited field, the way it was before r201454.
- 4:15 AM Changeset in webkit [205623] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.14
Merge r205304 - ObjectAllocationSinkingPhase::insertOSRHintsForUpdate() fails to emit updated hints in some cases
https://bugs.webkit.org/show_bug.cgi?id=161492
Reviewed by Mark Lam.
JSTests:
This bug affected function->activation references but not object->object field references,
because object->object field references are !neededForMaterialization(). So, the object
test always passed but the activation/function test used to always fail. It passes now.
- stress/materialize-activation-referenced-from-phantom-function.js: Added.
(bar):
(inc):
(dec):
(foo):
(test):
- stress/materialize-object-referenced-from-phantom-object.js: Added.
(bar):
(foo):
(test):
Source/JavaScriptCore:
If you materialize a sunken object that is referenced from another sunken object, then you
have to emit a PutHint to tell OSR that the latter object now refers to a materialized
object rather than to the old sunken one.
The ObjectAllocationSinkingPhase totally knows how to do this, but for some reason it only
did it when the PromotedLocationDescriptor for the field used for referring to the other
object is !neededForMaterialization(), i.e. it's a NamedPropertyPLoc or a ClosureVarPLoc.
I can sort of imagine why we thought that would be right - neededForMaterialization() means
it's a special meta-data field initialized on construction. But just because it's immutable
and special doesn't mean that materialization can't change its physical representation.
Removing the requirement that it's !neededForMaterialization() fixes the test and doesn't
regress anything.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- 4:13 AM Changeset in webkit [205622] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205294 - [GTK] Fix configuration without wayland support
https://bugs.webkit.org/show_bug.cgi?id=161475
WebKit2WaylandClientProtocol.c is a derived source that is created
conditionally on ENABLE_WAYLAND_TARGET. It was being included
in the sources list unconditionally, so configure failed whenever
wayland support was unavailable.
Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-09-01
Reviewed by Žan Doberšek.
- PlatformGTK.cmake: Include WebKit2WaylandClientProtocol.c in source list conditional on ENABLE_WAYLAND_TARGET
- 4:11 AM Changeset in webkit [205621] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205323 - Fix ENABLE(CSS_GRID_LAYOUT) guards harder after r205102/r205292
Unreviewed. Silence unused function warning.
- css/CSSComputedStyleDeclaration.cpp:
- 4:11 AM Changeset in webkit [205620] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205292 - Unreviewed build fix after r205102.
The change made in r205102 caused compilation failures on
builds with the CSS_GRID_LAYOUT compilation flag disabled.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::resolveJustifySelfAuto): Deleted.
- css/CSSPropertyNames.in:
- css/parser/CSSParser.cpp:
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
- 3:55 AM Changeset in webkit [205619] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205291 - Fix the Mac cmake clean build issue
https://bugs.webkit.org/show_bug.cgi?id=157261
Patch by Fujii Hironori <Fujii Hironori> on 2016-09-01
Reviewed by Michael Catanzaro.
Building WebCoreDerivedSources target failed due to the race
condition with building ForwardingHeaders of JavaScriptCore.
- CMakeLists.txt: Make WebCoreDerivedSources depends on JavaScriptCore.
- 3:28 AM Changeset in webkit [205618] by
-
- 2 edits in trunk/Tools
Expose Apple Pencil input to testing system
https://bugs.webkit.org/show_bug.cgi?id=161670
<rdar://problem/28183327>
I fixed the internal builds, now try to fix the public builds.
- WebKitTestRunner/ios/IOKitSPI.h: Add new enum values.
- 3:17 AM Changeset in webkit [205617] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205290 - FocusController should pass KeyboardEvent around by reference.
<https://webkit.org/b/161461>
Reviewed by Sam Weinig.
Clean up FocusController to pass KeyboardEvent& around internally.
Also make FocusController::setInitialFocus() synthesize a dummy KeyboardEvent
if one isn't provided, just like nextFocusableElement()/previousFocusableElement() does.
This way we can feel confident about dereferencing the formerly KeyboardEvent* everywhere.
- page/EventHandler.cpp:
(WebCore::EventHandler::defaultArrowEventHandler):
(WebCore::EventHandler::defaultTabEventHandler):
- page/FocusController.cpp:
(WebCore::isFocusableElementOrScopeOwner):
(WebCore::isNonFocusableScopeOwner):
(WebCore::isFocusableScopeOwner):
(WebCore::shadowAdjustedTabIndex):
(WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
(WebCore::FocusController::setInitialFocus):
(WebCore::FocusController::advanceFocus):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableElementAcrossFocusScope):
(WebCore::FocusController::findFocusableElementWithinScope):
(WebCore::FocusController::nextFocusableElementWithinScope):
(WebCore::FocusController::previousFocusableElementWithinScope):
(WebCore::FocusController::findFocusableElementOrScopeOwner):
(WebCore::FocusController::findElementWithExactTabIndex):
(WebCore::nextElementWithGreaterTabIndex):
(WebCore::previousElementWithLowerTabIndex):
(WebCore::FocusController::nextFocusableElement):
(WebCore::FocusController::previousFocusableElement):
(WebCore::FocusController::nextFocusableElementOrScopeOwner):
(WebCore::FocusController::previousFocusableElementOrScopeOwner):
(WebCore::FocusController::findFocusCandidateInContainer):
(WebCore::FocusController::advanceFocusDirectionallyInContainer):
(WebCore::FocusController::advanceFocusDirectionally):
- page/FocusController.h:
- 3:15 AM Changeset in webkit [205616] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205286 - URTBF after r205161 to fix !ENABLE(WEB_TIMING) build.
- bindings/js/JSPerformanceTimingCustom.cpp:
- 3:13 AM Changeset in webkit [205615] by
-
- 10 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205283 - JITMathIC was misusing maxJumpReplacementSize
https://bugs.webkit.org/show_bug.cgi?id=161356
<rdar://problem/28065560>
Reviewed by Benjamin Poulain.
JITMathIC was assuming that maxJumpReplacementSize is the size
you'd get if you emitted a patchableJump() using the macro assembler.
This is not true, however. It happens to be true on arm64, x86 and x86-64,
however, it is not true on armv7. This patch introduces an alternative to
maxJumpReplacementSize called patchableJumpSize, and switches JITMathIC
to use that number instead.
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::patchableJumpSize):
(JSC::ARM64Assembler::maxJumpReplacementSize): Deleted.
- assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::patchableJumpSize):
(JSC::ARMv7Assembler::maxJumpReplacementSize): Deleted.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::patchableJumpSize):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::patchableJumpSize):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::patchableJumpSize):
- assembler/X86Assembler.h:
(JSC::X86Assembler::patchableJumpSize):
(JSC::X86Assembler::maxJumpReplacementSize): Deleted.
- jit/JITMathIC.h:
(JSC::JITMathIC::generateInline):
- 2:54 AM Changeset in webkit [205614] by
-
- 18 edits in releases/WebKitGTK/webkit-2.14/Source
Merge r205282 - Clean up TextRun-related code
https://bugs.webkit.org/show_bug.cgi?id=161473
Reviewed by Simon Fraser.
Source/WebCore:
Some assorted cleanup, including:
- Renaming "AllowTrailingExpansion | ForbidLeadingExpansion" to "DefaultExpansion"
- Migrating from pointers to references
- Migrating from ints to unsigneds
- Using proper character names from CharacterNames.h
- Simplifying CoreTextSPI.h
No new tests because there is no behavior change.
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::TextLayout::isNeeded):
(WebCore::TextLayout::constructTextRun):
- platform/spi/cocoa/CoreTextSPI.h:
- platform/text/TextFlags.h:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
- rendering/RenderBlock.h:
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::getRelativeMarkerRect):
- rendering/RenderMenuList.cpp:
(RenderMenuList::updateOptionsWidth):
- rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::trimmedPrefWidths):
(WebCore::hyphenWidth):
(WebCore::maxWordFragmentWidth):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::width):
- rendering/RenderText.h:
- rendering/RenderThemeIOS.mm:
- rendering/line/BreakingContext.h:
(WebCore::textWidth):
(WebCore::tryHyphenating):
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::offsetForPositionInFragment):
(WebCore::SVGInlineTextBox::selectionRectForTextFragment):
(WebCore::SVGInlineTextBox::localSelectionRect):
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::paint):
(WebCore::SVGInlineTextBox::acquirePaintingResource):
(WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting):
(WebCore::SVGInlineTextBox::constructTextRun):
(WebCore::SVGInlineTextBox::paintDecorationWithStyle):
(WebCore::SVGInlineTextBox::paintTextWithShadows):
(WebCore::SVGInlineTextBox::paintText):
- rendering/svg/SVGInlineTextBox.h:
Source/WebKit/mac:
Remove unused #includes.
- WebCoreSupport/WebDragClient.mm:
- WebView/WebView.mm:
- 2:40 AM Changeset in webkit [205613] by
-
- 20 edits2 moves in releases/WebKitGTK/webkit-2.14/Source
Merge r205278 - [JSC] Add initiator parameter to module pipeline
https://bugs.webkit.org/show_bug.cgi?id=161470
Reviewed by Saam Barati.
Source/JavaScriptCore:
The fetching semantics of the <script type="module"> tag has per module-tag context.
For example, "nonce", "crossorigin" etc. attributes are shared in the fetching requests
issued from the module-tag. To transfer this information, we add a new parameter "initiator"
to the module loader pipeline. We are planning to transfer information by this parameter.
At the same time, we also perform some clean up.
- Use arrow function in ModuleLoaderPrototype.js.
- Rename "ResolveDependencies" to "Satisfy" to align to the loader spec.
- builtins/ModuleLoaderPrototype.js:
(newRegistryEntry):
(commitInstantiated):
(requestFetch):
(requestTranslate):
(requestInstantiate):
(requestSatisfy):
(requestInstantiateAll):
(requestLink):
(moduleEvaluation):
(provide):
(loadAndEvaluateModule):
(requestResolveDependencies.): Deleted.
(requestResolveDependencies): Deleted.
(requestReady): Deleted.
(link): Deleted.
(loadModule): Deleted.
(linkAndEvaluateModule): Deleted.
- bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
- bytecode/BytecodeIntrinsicRegistry.h:
- jsc.cpp:
(GlobalObject::moduleLoaderResolve):
(GlobalObject::moduleLoaderFetch):
- runtime/Completion.cpp:
(JSC::loadAndEvaluateModule):
(JSC::loadModule):
(JSC::linkAndEvaluateModule):
- runtime/Completion.h:
- runtime/JSGlobalObject.h:
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::loadAndEvaluateModule):
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::linkAndEvaluateModule):
(JSC::JSModuleLoader::resolve):
(JSC::JSModuleLoader::fetch):
(JSC::JSModuleLoader::translate):
(JSC::JSModuleLoader::instantiate):
(JSC::JSModuleLoader::evaluate):
- runtime/JSModuleLoader.h:
- runtime/ModuleLoaderPrototype.cpp:
(JSC::moduleLoaderPrototypeResolve):
(JSC::moduleLoaderPrototypeFetch):
(JSC::moduleLoaderPrototypeTranslate):
(JSC::moduleLoaderPrototypeInstantiate):
(JSC::moduleLoaderPrototypeEvaluate):
Source/WebCore:
No user-observable behavior change.
We rename JSModuleLoader to ScriptModuleLoader.
The name "JSModuleLoader" is misleading since it seems like this is a JS object.
"ModuleLoader" is not good since there is CSS modules.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSBindingsAllInOne.cpp:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::moduleLoaderResolve):
(WebCore::JSDOMWindowBase::moduleLoaderFetch):
(WebCore::JSDOMWindowBase::moduleLoaderEvaluate):
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::loadModule):
(WebCore::JSMainThreadExecState::linkAndEvaluateModule):
- bindings/js/JSModuleLoader.cpp:
(WebCore::JSModuleLoader::JSModuleLoader): Deleted.
(WebCore::JSModuleLoader::resolve): Deleted.
(WebCore::JSModuleLoader::fetch): Deleted.
(WebCore::JSModuleLoader::evaluate): Deleted.
- bindings/js/JSModuleLoader.h:
(WebCore::JSModuleLoader::document): Deleted.
- bindings/js/ScriptModuleLoader.cpp: Renamed from Source/WebCore/bindings/js/JSModuleLoader.cpp.
(WebCore::ScriptModuleLoader::ScriptModuleLoader):
(WebCore::ScriptModuleLoader::resolve):
(WebCore::ScriptModuleLoader::fetch):
(WebCore::ScriptModuleLoader::evaluate):
- bindings/js/ScriptModuleLoader.h: Renamed from Source/WebCore/bindings/js/JSModuleLoader.h.
(WebCore::ScriptModuleLoader::document):
- dom/Document.cpp:
(WebCore::Document::Document):
- dom/Document.h:
(WebCore::Document::moduleLoader):
- 2:16 AM Changeset in webkit [205612] by
-
- 5 edits4 adds in releases/WebKitGTK/webkit-2.14
Merge r205277 - ASSERTION FAILED: !flow->layer() && !flow->isInlineElementContinuation() in WebCore::RenderBlock::addContinuationWithOutline
https://bugs.webkit.org/show_bug.cgi?id=151022
<rdar://problem/27710993>
Reviewed by Simon Fraser.
Source/WebCore:
Certain CSS properties like opacity, mask etc (graphical group members) require the layer to be a non-normal flow,
self painting layer so that we can manage painting properly. However in addition to those CSS properties, some of the will-change
values (again, graphical group members) also require the layer to be non-normal flow, self painting.
This patch ensures that when deciding whether a layer should be a normal flow layer, we take the will-change values into account as well.
Tests: compositing/layer-creation/assert-on-inline-element-with-will-change.html
compositing/layer-creation/will-change-on-normal-flow-content.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
- rendering/style/WillChangeData.cpp:
(WebCore::propertyCreatesGraphicalGroup):
(WebCore::WillChangeData::addFeature):
- rendering/style/WillChangeData.h:
(WebCore::WillChangeData::canCreateGraphicalGroup):
(WebCore::WillChangeData::canTriggerCompositingOnInline): Deleted.
LayoutTests:
- compositing/layer-creation/assert-on-inline-element-with-will-change-expected.txt: Added.
- compositing/layer-creation/assert-on-inline-element-with-will-change.html: Added.
- compositing/layer-creation/will-change-on-normal-flow-content-expected.txt: Added.
- compositing/layer-creation/will-change-on-normal-flow-content.html: Added.
- 2:09 AM Changeset in webkit [205611] by
-
- 4 edits in trunk/Source/JavaScriptCore
[Win64] Compile fixes.
https://bugs.webkit.org/show_bug.cgi?id=161682
Reviewed by Brent Fulgham.
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
- jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
- runtime/ArrayConventions.cpp:
(JSC::clearArrayMemset):
- 2:08 AM Changeset in webkit [205610] by
-
- 6 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205276 - [JSC] linking and evaluating the modules are done in a sync manner
https://bugs.webkit.org/show_bug.cgi?id=161467
Reviewed by Saam Barati.
While the fetching and the other stages are done in an asynchronous manner,
linking and evaluating are done in a sync manner.
Just return the result value and do not wrap them with the internal promise.
- builtins/ModuleLoaderPrototype.js:
(linkAndEvaluateModule):
- runtime/Completion.cpp:
(JSC::linkAndEvaluateModule):
- runtime/Completion.h:
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::linkAndEvaluateModule):
- runtime/JSModuleLoader.h:
- 2:05 AM Changeset in webkit [205609] by
-
- 7 edits4 adds in releases/WebKitGTK/webkit-2.14
Merge r205268 - Web Inspector: XHR with text but responseType = "blob" shows blank content
https://bugs.webkit.org/show_bug.cgi?id=161422
<rdar://problem/28066869>
Reviewed by Brian Burg.
Source/WebCore:
Test: inspector/network/xhr-json-blob-has-content.html
When an XMLHttpRequest finished loading it was always setting the Inspector's
content for that load at the end. However, if the XHR was loading binary data
then it was passing an empty string to the inspector and overwriting the
data the inspector already had for the resource. Avoid this overwriting.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFinishLoading):
When loading binary content we have no decoded text to send to the inspector.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didFinishXHRLoading):
Switch to an Optional string, and if it is not available don't
call through to the NetworkAgent expecting decoded text.
- inspector/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::didFinishXHRLoading):
- inspector/InspectorNetworkAgent.h:
Improve variable name.
LayoutTests:
- inspector/network/resources/data.json: Added.
- inspector/network/xhr-json-blob-has-content-expected.txt: Added.
- inspector/network/xhr-json-blob-has-content.html: Added.
- 2:04 AM Changeset in webkit [205608] by
-
- 5 edits in releases/WebKitGTK/webkit-2.14
Merge r205267 - stress/random-53bit.js.ftl-no-cjit-no-inline-validate sometimes fails
https://bugs.webkit.org/show_bug.cgi?id=161436
Reviewed by Filip Pizlo.
JSTests:
The test checks Math.random() correctly produces 53bit random values.
The test can fail by design, but this should be fairly rare.
However, when introducing, we wrap the
test()with 1e4 to ensure the FTL compilation, and this
increases the failure rate. By increasing the MAX in the test, we make the failures much more rare case.
And we also add getRandomSeed() and setRandomSeed(seed) JSC shell helpers to dump more useful information
and reproduce the situation easily.
- stress/random-53bit.js:
(test):
Source/JavaScriptCore:
- jsc.cpp:
(GlobalObject::finishCreation):
(functionGetRandomSeed):
(functionSetRandomSeed):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::weakRandom):
(JSC::JSGlobalObject::weakRandomInteger): Deleted.
- 1:46 AM Changeset in webkit [205607] by
-
- 5 edits in releases/WebKitGTK/webkit-2.14
Merge r205258 - Object.getPrototypeOf() should return null cross-origin
https://bugs.webkit.org/show_bug.cgi?id=161393
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Object.getPrototypeOf() should return null cross-origin:
- https://html.spec.whatwg.org/#windowproxy-getprototypeof
- https://html.spec.whatwg.org/#location-getprototypeof
Firefox and Chrome return null. However, WebKit was returning undefined.
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructorGetPrototypeOfFunctor::operator()):
LayoutTests:
Add layout test coverage.
- http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf.html:
- 1:23 AM Changeset in webkit [205606] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205254 - [JSC] AbstractValue can contain padding which is not zero-filled
https://bugs.webkit.org/show_bug.cgi?id=161427
Reviewed by Saam Barati.
We checked that AbstractValue is zero-filled when initializing it to ensure
that zero-filled memory can be used as the initialized AbstractValue.
However, since the size of SpeculatedType becomes 64bit, AbstractValue can have
padding now. And this padding is not ensured that it is initialized with zeros.
So debug assertion fails when building with GCC.
This patch changes the strategy. Instead of checking the initialized
AbstractValue is zero-filled, we ensure that zero-filled AbstractValue can be
considered to be equal to the initialized AbstractValue.
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::ensureCanInitializeWithZeros):
- dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::AbstractValue):
- 1:23 AM Changeset in webkit [205605] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Revert "Unreviewed. Remove incorrect assert causing crashes in debug builds."
This reverts commit 6e6102ed50f641baac41e5f953a1b9118e030ebe.
- 1:19 AM Changeset in webkit [205604] by
-
- 107 edits in releases/WebKitGTK/webkit-2.14/Source
Merge r205249 - DOM event handling should pass Event around by reference.
<https://webkit.org/b/161398>
Reviewed by Chris Dumez.
Source/WebCore:
Start with making Node::defaultEventHandler() take an Event& instead of an Event*,
and then spread out from there, propagating the referenceness.
- dom/Element.cpp:
(WebCore::Element::isKeyboardFocusable):
- dom/Element.h:
- dom/EventDispatcher.cpp:
(WebCore::callDefaultEventHandlersInTheBubblingOrder):
- dom/Node.cpp:
(WebCore::Node::dispatchDOMActivateEvent):
(WebCore::Node::defaultEventHandler):
- dom/Node.h:
- editing/Editor.cpp:
(WebCore::Editor::handleKeyboardEvent):
(WebCore::Editor::handleInputMethodKeydown):
(WebCore::Editor::handleTextEvent):
- editing/Editor.h:
- html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::handleKeydownEvent):
(WebCore::BaseCheckableInputType::handleKeypressEvent):
- html/BaseCheckableInputType.h:
- html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeydownEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeypressEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeyupEvent):
- html/BaseChooserOnlyDateAndTimeInputType.h:
- html/BaseClickableWithKeyInputType.cpp:
(WebCore::BaseClickableWithKeyInputType::handleKeydownEvent):
(WebCore::BaseClickableWithKeyInputType::handleKeypressEvent):
(WebCore::BaseClickableWithKeyInputType::handleKeyupEvent):
- html/BaseClickableWithKeyInputType.h:
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::isKeyboardFocusable):
- html/BaseDateAndTimeInputType.h:
- html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::handleKeyupEvent):
- html/CheckboxInputType.h:
- html/ColorInputType.cpp:
(WebCore::ColorInputType::handleDOMActivateEvent):
- html/ColorInputType.h:
- html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
- html/FileInputType.h:
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isKeyboardFocusable):
(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::HTMLAnchorElement::handleClick):
(WebCore::HTMLAnchorElement::eventType):
(WebCore::isEnterKeyKeydownEvent):
- html/HTMLAnchorElement.h:
- html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::isKeyboardFocusable):
- html/HTMLAreaElement.h:
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler):
- html/HTMLButtonElement.h:
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::isKeyboardFocusable):
- html/HTMLFormControlElement.h:
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submitImplicitly):
(WebCore::submitElementFromEvent):
(WebCore::HTMLFormElement::validateInteractively):
(WebCore::HTMLFormElement::prepareForSubmission):
- html/HTMLFormElement.h:
- html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::isKeyboardFocusable):
- html/HTMLFrameOwnerElement.h:
- html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::defaultEventHandler):
- html/HTMLFrameSetElement.h:
- html/HTMLIFrameElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isKeyboardFocusable):
(WebCore::HTMLInputElement::isTextFormControlKeyboardFocusable):
(WebCore::HTMLInputElement::willDispatchEvent):
(WebCore::HTMLInputElement::defaultEventHandler):
- html/HTMLInputElement.h:
- html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::defaultEventHandler):
- html/HTMLLabelElement.h:
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::defaultEventHandler):
- html/HTMLLinkElement.h:
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::defaultEventHandler):
(WebCore::HTMLPlugInElement::isKeyboardFocusable):
- html/HTMLPlugInElement.h:
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::defaultEventHandler):
- html/HTMLPlugInImageElement.h:
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::isKeyboardFocusable):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
(WebCore::HTMLSelectElement::defaultEventHandler):
- html/HTMLSelectElement.h:
- html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::defaultEventHandler):
- html/HTMLSummaryElement.h:
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::isKeyboardFocusable):
(WebCore::HTMLTextAreaElement::defaultEventHandler):
(WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
- html/HTMLTextAreaElement.h:
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::forwardEvent):
- html/HTMLTextFormControlElement.h:
- html/ImageInputType.cpp:
(WebCore::ImageInputType::handleDOMActivateEvent):
- html/ImageInputType.h:
- html/InputType.cpp:
(WebCore::InputType::handleClickEvent):
(WebCore::InputType::handleMouseDownEvent):
(WebCore::InputType::handleDOMActivateEvent):
(WebCore::InputType::handleKeydownEvent):
(WebCore::InputType::handleKeypressEvent):
(WebCore::InputType::handleKeyupEvent):
(WebCore::InputType::handleBeforeTextInsertedEvent):
(WebCore::InputType::handleTouchEvent):
(WebCore::InputType::forwardEvent):
(WebCore::InputType::shouldSubmitImplicitly):
(WebCore::InputType::dispatchSimulatedClickIfActive):
(WebCore::InputType::isKeyboardFocusable):
- html/InputType.h:
- html/MediaDocument.cpp:
(WebCore::MediaDocument::defaultEventHandler):
- html/MediaDocument.h:
- html/NumberInputType.cpp:
(WebCore::NumberInputType::handleKeydownEvent):
- html/NumberInputType.h:
- html/RadioInputType.cpp:
(WebCore::RadioInputType::handleClickEvent):
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::handleKeyupEvent):
(WebCore::RadioInputType::isKeyboardFocusable):
- html/RadioInputType.h:
- html/RangeInputType.cpp:
(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::handleTouchEvent):
(WebCore::RangeInputType::handleKeydownEvent):
- html/RangeInputType.h:
- html/ResetInputType.cpp:
(WebCore::ResetInputType::handleDOMActivateEvent):
- html/ResetInputType.h:
- html/SearchInputType.cpp:
(WebCore::SearchInputType::handleKeydownEvent):
- html/SearchInputType.h:
- html/SubmitInputType.cpp:
(WebCore::SubmitInputType::handleDOMActivateEvent):
- html/SubmitInputType.h:
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::isKeyboardFocusable):
(WebCore::TextFieldInputType::handleKeydownEvent):
(WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::shouldSubmitImplicitly):
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
- html/TextFieldInputType.h:
- html/shadow/AutoFillButtonElement.cpp:
(WebCore::AutoFillButtonElement::defaultEventHandler):
- html/shadow/AutoFillButtonElement.h:
- html/shadow/MediaControlElementTypes.cpp:
(WebCore::MediaControlMuteButtonElement::defaultEventHandler):
(WebCore::MediaControlSeekButtonElement::defaultEventHandler):
(WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
- html/shadow/MediaControlElementTypes.h:
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::defaultEventHandler):
(WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler):
(WebCore::MediaControlPanelMuteButtonElement::defaultEventHandler):
(WebCore::MediaControlPlayButtonElement::defaultEventHandler):
(WebCore::MediaControlOverlayPlayButtonElement::defaultEventHandler):
(WebCore::MediaControlRewindButtonElement::defaultEventHandler):
(WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler):
(WebCore::MediaControlTimelineElement::defaultEventHandler):
(WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
(WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler):
(WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler):
- html/shadow/MediaControlElements.h:
- html/shadow/MediaControls.cpp:
(WebCore::MediaControls::defaultEventHandler):
(WebCore::MediaControls::containsRelatedTarget):
- html/shadow/MediaControls.h:
- html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsApple::defaultEventHandler):
(WebCore::MediaControlsApple::handleClickEvent):
(WebCore::MediaControlsAppleEventListener::handleEvent):
- html/shadow/MediaControlsApple.h:
- html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::defaultEventHandler):
(WebCore::SliderThumbElement::handleTouchStart):
(WebCore::SliderThumbElement::handleTouchMove):
(WebCore::SliderThumbElement::handleTouchEndAndCancel):
(WebCore::SliderThumbElement::handleTouchEvent):
- html/shadow/SliderThumbElement.h:
- html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::SpinButtonElement::forwardEvent):
- html/shadow/SpinButtonElement.h:
- html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerTextElement::defaultEventHandler):
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
- html/shadow/TextControlInnerElements.h:
- html/shadow/mac/ImageControlsButtonElementMac.cpp:
(WebCore::ImageControlsButtonElementMac::defaultEventHandler):
- html/shadow/mac/ImageControlsButtonElementMac.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchBeforeUnloadEvent):
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::defaultEventHandler):
(WebCore::MathMLElement::isKeyboardFocusable):
- mathml/MathMLElement.h:
- mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::defaultEventHandler):
- mathml/MathMLSelectElement.h:
- page/EventHandler.cpp:
(WebCore::didScrollInScrollableArea):
(WebCore::handleWheelEventInAppropriateEnclosingBox):
(WebCore::EventHandler::defaultWheelEventHandler):
(WebCore::EventHandler::keyEvent):
(WebCore::handleKeyboardSelectionMovement):
(WebCore::EventHandler::handleKeyboardSelectionMovementForAccessibility):
(WebCore::EventHandler::defaultKeyboardEventHandler):
(WebCore::EventHandler::defaultTextInputEventHandler):
(WebCore::EventHandler::defaultSpaceEventHandler):
(WebCore::EventHandler::defaultBackspaceEventHandler):
(WebCore::EventHandler::defaultArrowEventHandler):
(WebCore::EventHandler::defaultTabEventHandler):
- page/EventHandler.h:
- page/FocusController.cpp:
(WebCore::isFocusableElementOrScopeOwner):
(WebCore::isNonFocusableScopeOwner):
(WebCore::isFocusableScopeOwner):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusCandidateInContainer):
- rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::userResize):
- rendering/RenderFrameSet.h:
- svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
(WebCore::SVGAElement::isKeyboardFocusable):
- svg/SVGAElement.h:
Source/WebKit2:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performNonEditingBehaviorForSelector):
- 1:00 AM Changeset in webkit [205603] by
-
- 3 edits4 adds in releases/WebKitGTK/webkit-2.14
Merge r205246 - REGRESSION (r201701): Unable to copy from CodeMirror editor version used in Jenkins install website
https://bugs.webkit.org/show_bug.cgi?id=161386
<rdar://problem/27590077>
Reviewed by Dan Bernstein.
Source/WebCore:
This CodeMirror version uses a hidden <textarea> to implement copy/paste. The textarea has width:1px; border-width:1px.
Jenkins page has also has a stylesheet that contains * { box-sizing:border-box } and as a result the textarea content
width gets computed as 0. With r201701 we use content size instead of box size for clipping and the textarea content is
(correctly) considered invisible.
Add a quirk that allows this to continue working.
Test: editing/text-iterator/hidden-textarea-selection-quirk.html
- editing/TextIterator.cpp:
(WebCore::fullyClipsContents):
LayoutTests:
- editing/text-iterator/hidden-textarea-selection-quirk-expected.txt: Added.
- editing/text-iterator/hidden-textarea-selection-quirk.html: Added.
- platform/ios-simulator/editing/text-iterator/hidden-textarea-selection-quirk-expected.txt: Added.
textarea.select() doesn't select the text content on iOS.
- 12:58 AM Changeset in webkit [205602] by
-
- 11 edits1 copy in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205218 - Make PendingScript as ref-counted
https://bugs.webkit.org/show_bug.cgi?id=161350
Reviewed by Ryosuke Niwa.
Currently, while PendingScript is copyable, PendingScript is also CachedResourceClient.
So when copying this, the client registration is done in PendingScript's operator= etc.
However, this copying functionality is not effectively used.
In this patch, we change this PendingScript to ref-counted class and make it noncopyable.
This change makes things simple (dropping this copying functionality), and drops unnecessary
addClient / removeClient calls. And we also simplify PendingScript class. Since we can offer
all the members at the construction time, we do not need any setters like setCachedScript,
setElement etc. This prevents us from accidentally generating the half-baked pending script.
Furthermore, by changing PendingScript noncopyable & ref-counted, we easily make it
observable. In this patch, we add PendingScriptClient to receive the notification from
PendingScript. Previously, we directly used CachedScript in PendingScript to receive the
notification. When introducing ScriptModuleGraph and making this PendingScript the container
of the both CachedScript and ScriptModuleGraph, hiding the raw CachedScript operations is
useful.
No behavior changes.
- WebCore.xcodeproj/project.pbxproj:
- dom/PendingScript.cpp:
(WebCore::PendingScript::create): These factory functions take all the information needed
to construct the PendingScript. So the setters of PendingScript are dropped. This is better
since we now do not expose any half-baked pending script accidentally.
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::~PendingScript):
(WebCore::PendingScript::notifyClientFinished):
(WebCore::PendingScript::notifyFinished):
(WebCore::PendingScript::isLoaded): When introducing ScriptModuleGraph, this will query to
either CachedScript or ScriptModuleGraph. PendingScript will become the container for the
both types.
(WebCore::PendingScript::setClient):
(WebCore::PendingScript::clearClient): PendingScript is now observable by PendingScriptClient.
This avoids touching CachedScript in PendingScript directly. That is good when we introduce
ScriptModuleGraph and make PendingScript the container of the both CachedScript and ScriptModuleGraph.
(WebCore::PendingScript::releaseElementAndClear): Deleted. Previously, PendingScript is not ref-counted.
So when we would like to say "this pending script is empty", we used the pending script with
m_element = nullptr. This releaseElementAndClear cleared this m_element and made the pending
script empty. Now, we use RefPtr<PendingScript> and empty one is just represented by the nullptr.
This function is no longer necessary. Dropped.
(WebCore::PendingScript::setCachedScript): Deleted. The fields are set in the constructor.
So this setter is no longer necessary. Dropped.
- dom/PendingScript.h:
- dom/PendingScriptClient.h: Copied from Source/WebCore/html/parser/HTMLScriptRunnerHost.h.
(WebCore::PendingScriptClient::~PendingScriptClient):
- dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::queueScriptForExecution):
(WebCore::ScriptRunner::notifyScriptReady):
(WebCore::ScriptRunner::timerFired): We usestd::exchangeto retrieve the RefPtr<PendingScript>
and make the original vector element nullptr. Without this, all the PendingScript is held until
the iteration finishes. We keep the original semantics here that the pending script can be
released per iteration.
- dom/ScriptRunner.h:
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::watchForLoad):
(WebCore::HTMLDocumentParser::stopWatchingForLoad): Use PendingScript instead of touching
CachedScript directly.
(WebCore::HTMLDocumentParser::notifyFinished):
- html/parser/HTMLDocumentParser.h:
- html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::~HTMLScriptRunner):
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::isPendingScriptReady):
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): As the previous comment describes,
we used releaseElementAndClear to make the current pending script empty. Instead of doing so, we now
explicitly clear executeParsingBlockingScript (by assigning nullptr to m_parserBlockingScript).
(WebCore::HTMLScriptRunner::watchForLoad):
(WebCore::HTMLScriptRunner::stopWatchingForLoad): Previously, we used CachedScript::addClient directly
in the m_host.watchForLoad. This means that we did not have a quick way to query whether the pending
script is watched. In the old implementation, we have them_watchingForLoad : boolflag in PendingScript
to hold the watching status for the given pending script. ThispendingScript.setWatchingForLoad(true)
just made this flagtrue. But now, we do not use CachedScript::addClient directly. Instead, we have
the PendingScriptClient and PendingScript::{setClient,clearClient}. We can know whether this pending
script is watched by checkingm_client != nullptr. This makesm_watchingForLoadunnecessary.
So this patch dropsm_watchingForLoadandpendingScript.setWatchingForLoad(true)call.
(WebCore::HTMLScriptRunner::hasParserBlockingScript):
(WebCore::HTMLScriptRunner::executeParsingBlockingScripts): We clear the m_parserBlockingScript here
instead of the middle of the executePendingScriptAndDispatchEvent.
(WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::requestPendingScript):
(WebCore::HTMLScriptRunner::requestParsingBlockingScript): Setting m_parsingBlockingScript is now done
in this caller side.
(WebCore::HTMLScriptRunner::requestDeferredScript):
(WebCore::HTMLScriptRunner::runScript):
(WebCore::HTMLScriptRunner::requestPendingScript): Instead of configuring the passed PendingScript&,
we return the pending script and the caller sets it to m_parserBlockingScript or holds it. And we now
change this function to static location one and drop the member function. Previously, we always make
PendingScript& valid by always callingsetElement(...). I think this is the bug since we accidentally
exposed the half-baked pending script. But this bug is not shown since!cachedScriptpath is dead code!
This requestPendingScript is called from two places, requestDeferredScript and requestParsingBlockingScript.
And these functions are called if the script haswillBeParserExecutedflag. In the case of the script
tag having "src" attribute, this flag is only set ifcachedScriptis correctly instantiated. So when
these functions are called, we can ensure thatcachedScriptis correctly instantiated for the given script.
In the case of the script tag not having "src" attribute, these functions are won't be called. This is
because if such a script tag haswillBeParserExecutedflag, it also hasm_readyToBeParserExecuted
and it does not havem_willExecuteWhenDocumentFinishedParsingflag, and in that case the both
functions are never called. So we drop that path and insert the assertion to ensure the above conditions.
- html/parser/HTMLScriptRunner.h:
- html/parser/HTMLScriptRunnerHost.h:
- 12:57 AM Changeset in webkit [205601] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205216 - [JSC] Some arith nodes are too pessimistic with the types supported on the fast path
https://bugs.webkit.org/show_bug.cgi?id=161410
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-30
Reviewed by Geoffrey Garen.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
DoubleRep is able to convert numbers, undefined, booleans and null.
I was too pessimistic when I gated the double implementations
on number-or-boolean speculation. We can just let DoubleRep convert
the other cases as long as it is not a Cell.
- 12:56 AM Changeset in webkit [205600] by
-
- 4 edits1 copy in releases/WebKitGTK/webkit-2.14/Source/bmalloc
Merge r205210 - bmalloc: speed up the lock slow path
https://bugs.webkit.org/show_bug.cgi?id=161058
Unreviewed roll-in - with regression fixed.
Revert to using yield() instead of swtch() because very low priority
background tasks can cause priority inversion and deadlock. In the
network process, that happened with com.apple.WebKit.Cache.Storage.serialBackground.
Still a big speedup on MallocBench.
- bmalloc.xcodeproj/project.pbxproj:
- bmalloc/ScopeExit.h: Added.
(bmalloc::ScopeExit::ScopeExit):
(bmalloc::ScopeExit::~ScopeExit):
(bmalloc::makeScopeExit):
- bmalloc/StaticMutex.cpp:
(bmalloc::StaticMutex::lockSlowCase):
- bmalloc/StaticMutex.h:
(bmalloc::StaticMutex::init):
- 12:50 AM Changeset in webkit [205599] by
-
- 5 edits in releases/WebKitGTK/webkit-2.14
Merge r205205 - Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object
https://bugs.webkit.org/show_bug.cgi?id=161396
Reviewed by Ryosuke Niwa.
Source/JavaScriptCore:
Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object:
- https://html.spec.whatwg.org/#windowproxy-setprototypeof
- https://html.spec.whatwg.org/#location-setprototypeof
- https://tc39.github.io/ecma262/#sec-object.setprototypeof (step 5)
Firefox and Chrome already throw. However, WebKit merely ignores the call and logs an error message.
Note that technically, we should also throw in the same origin case.
However, not all browsers agree on this yet so I haven't not changed
the behavior for the same origin case.
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSetPrototypeOf):
LayoutTests:
Update / rebaseline existing test to reflect behavior change.
- http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-setPrototypeOf.html:
- 12:45 AM Changeset in webkit [205598] by
-
- 4 edits in trunk
[Win] Exception fuzz tests fail
https://bugs.webkit.org/show_bug.cgi?id=140928
Reviewed by Mark Lam.
JSTests:
Unskip tests.
- exceptionFuzz.yaml:
Source/JavaScriptCore:
Flush stdout when throwing the exception to make sure the output comes before output in the exception handler.
The tests depend on the output to stdout being written in the correct order.
- runtime/ExceptionFuzz.cpp:
(JSC::doExceptionFuzzing):
- 12:44 AM Changeset in webkit [205597] by
-
- 3 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Merge r205204 - [JSC] Clean up the remaining compare nodes in FTLCapabilities
https://bugs.webkit.org/show_bug.cgi?id=161400
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-30
Reviewed by Geoffrey Garen.
It looks like we implemented all the cases without realizing it.
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compare):
- 12:44 AM Changeset in webkit [205596] by
-
- 7 edits in releases/WebKitGTK/webkit-2.14
Merge r205200 - Delete should throw for cross-origin Window / Location objects
https://bugs.webkit.org/show_bug.cgi?id=161397
Reviewed by Ryosuke Niwa.
Source/WebCore:
Delete should throw for cross-origin Window / Location objects:
Firefox and Chrome already throw. Previously, WebKit was merely
ignoring the call and logging an error message.
No new tests, updated existing test.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::deleteProperty):
(WebCore::JSDOMWindow::deletePropertyByIndex):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::deleteProperty):
(WebCore::JSLocation::deletePropertyByIndex):
LayoutTests:
Update / rebaseline existing test to reflect behavior change.
- http/tests/security/cross-frame-access-delete-expected.txt:
- http/tests/security/cross-frame-access-delete.html:
- http/tests/security/resources/cross-frame-iframe-for-delete-test.html:
- 12:44 AM Changeset in webkit [205595] by
-
- 204 edits1 copy2 adds in releases/WebKitGTK/webkit-2.14/Source
Merge r205198 - Introduce the ThrowScope and force every throw site to instantiate a ThrowScope.
https://bugs.webkit.org/show_bug.cgi?id=161171
Reviewed by Filip Pizlo and Geoffrey Garen.
Source/JavaScriptCore:
This is the first step towards having a mechanism (using the ThrowScope) to
verify that we're properly checking for exceptions in all the needed places.
See comments at the top of ThrowScope.cpp for details on how the ThrowScope works.
This patch only introduces the ThrowScope, and changes all throw sites to throw
using a ThrowScope instance. VM::throwException() functions are now private, and
cannot be accessed directly. All throws must now go through a ThrowScope.
Verification is disabled for the moment until we can fix all the verification
failures that will show up.
I also did a smoke test of the ThrowScope mechanisms by running verification on
the JSTests/stress/op-add-exceptions.js test with a local build with verification
turned on.
Performance is neutral on aggregate with this patch.
Misc other changes:
- deleted the unused CALL_THROW() macro from LLIntSlowPaths.cpp.
- moved createListFromArrayLike() from JSObject.h to JSObjectInlines.h.
- API/APICallbackFunction.h:
(JSC::APICallbackFunction::call):
(JSC::APICallbackFunction::construct):
- API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::defaultValue):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::putByIndex):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::construct):
(JSC::JSCallbackObject<Parent>::customHasInstance):
(JSC::JSCallbackObject<Parent>::call):
(JSC::JSCallbackObject<Parent>::getStaticValue):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):
- API/JSTypedArray.cpp:
(createTypedArray):
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGOperations.cpp:
(JSC::DFG::newTypedArrayWithSize):
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::evaluateWithScopeExtension):
- inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate):
(Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName):
(Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension):
(Inspector::jsInjectedScriptHostPrototypeFunctionSubtype):
(Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails):
(Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties):
- inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension):
- inspector/JSJavaScriptCallFramePrototype.cpp:
(Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension):
(Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions):
(Inspector::jsJavaScriptCallFrameAttributeCaller):
(Inspector::jsJavaScriptCallFrameAttributeSourceID):
(Inspector::jsJavaScriptCallFrameAttributeLine):
(Inspector::jsJavaScriptCallFrameAttributeColumn):
(Inspector::jsJavaScriptCallFrameAttributeFunctionName):
(Inspector::jsJavaScriptCallFrameAttributeScopeChain):
(Inspector::jsJavaScriptCallFrameAttributeThisObject):
(Inspector::jsJavaScriptCallFrameAttributeType):
(Inspector::jsJavaScriptCallFrameIsTailDeleted):
- interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
- interpreter/Interpreter.cpp:
(JSC::eval):
(JSC::sizeOfVarargs):
(JSC::sizeFrameForForwardArguments):
(JSC::sizeFrameForVarargs):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
- jit/JITOperations.cpp:
- jsc.cpp:
(WTF::CustomGetter::customGetter):
(WTF::RuntimeArray::lengthGetter):
(functionCreateElement):
(functionRun):
(functionRunString):
(functionLoad):
(functionLoadString):
(functionReadFile):
(functionCheckSyntax):
(functionTransferArrayBuffer):
(functionLoadModule):
(functionCheckModuleSyntax):
(functionSamplingProfilerStackTraces):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::getByVal):
(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):
(JSC::LLInt::llint_throw_stack_overflow_error):
- runtime/ArrayConstructor.cpp:
(JSC::constructArrayWithSizeQuirk):
- runtime/ArrayConstructor.h:
(JSC::isArray):
- runtime/ArrayPrototype.cpp:
(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncSplice):
(JSC::concatAppendOne):
(JSC::arrayProtoPrivateFuncConcatMemcpy):
- runtime/BooleanPrototype.cpp:
(JSC::booleanProtoFuncToString):
(JSC::booleanProtoFuncValueOf):
- runtime/CommonSlowPaths.cpp:
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::opIn):
- runtime/CommonSlowPathsExceptions.cpp:
(JSC::CommonSlowPaths::interpreterThrowInCaller):
- runtime/ConstructData.cpp:
(JSC::construct):
- runtime/DatePrototype.cpp:
(JSC::formateDateInstance):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncToLocaleString):
(JSC::dateProtoFuncToLocaleDateString):
(JSC::dateProtoFuncToLocaleTimeString):
(JSC::dateProtoFuncToPrimitiveSymbol):
(JSC::dateProtoFuncGetTime):
(JSC::dateProtoFuncGetFullYear):
(JSC::dateProtoFuncGetUTCFullYear):
(JSC::dateProtoFuncGetMonth):
(JSC::dateProtoFuncGetUTCMonth):
(JSC::dateProtoFuncGetDate):
(JSC::dateProtoFuncGetUTCDate):
(JSC::dateProtoFuncGetDay):
(JSC::dateProtoFuncGetUTCDay):
(JSC::dateProtoFuncGetHours):
(JSC::dateProtoFuncGetUTCHours):
(JSC::dateProtoFuncGetMinutes):
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
(JSC::dateProtoFuncGetMilliSeconds):
(JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncGetYear):
(JSC::dateProtoFuncToJSON):
- runtime/Error.cpp:
(JSC::throwConstructorCannotBeCalledAsFunctionTypeError):
(JSC::throwTypeError):
(JSC::throwSyntaxError):
- runtime/Error.h:
(JSC::throwRangeError):
(JSC::throwVMError):
(JSC::throwVMTypeError):
(JSC::throwVMRangeError):
(JSC::StrictModeTypeErrorFunction::constructThrowTypeError):
(JSC::StrictModeTypeErrorFunction::callThrowTypeError):
- runtime/ErrorPrototype.cpp:
(JSC::errorProtoFuncToString):
- runtime/ExceptionFuzz.cpp:
(JSC::doExceptionFuzzing):
- runtime/ExceptionHelpers.cpp:
(JSC::throwOutOfMemoryError):
(JSC::throwStackOverflowError):
(JSC::throwTerminatedExecutionException):
- runtime/ExceptionHelpers.h:
- runtime/Executable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::EvalExecutable::create):
- runtime/FunctionConstructor.cpp:
(JSC::constructFunction):
(JSC::constructFunctionSkippingEvalEnabledCheck):
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
(JSC::functionProtoFuncBind):
- runtime/GetterSetter.cpp:
(JSC::callSetter):
- runtime/IntlCollator.cpp:
(JSC::IntlCollator::compareStrings):
- runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorPrototypeGetterCompare):
(JSC::IntlCollatorPrototypeFuncResolvedOptions):
- runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::format):
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions):
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::initializeNumberFormat):
(JSC::IntlNumberFormat::formatNumber):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototypeGetterFormat):
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions):
- runtime/IntlObject.cpp:
(JSC::intlStringOption):
(JSC::intlNumberOption):
(JSC::canonicalizeLocaleList):
(JSC::lookupSupportedLocales):
- runtime/IteratorOperations.cpp:
(JSC::iteratorNext):
(JSC::iteratorClose):
(JSC::createIteratorResultObject):
(JSC::iteratorForIterable):
- runtime/JSArray.cpp:
(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::put):
(JSC::JSArray::appendMemcpy):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::unshiftCountWithArrayStorage):
(JSC::JSArray::unshiftCountWithAnyIndexingType):
- runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer):
(JSC::callArrayBuffer):
- runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferProtoFuncSlice):
- runtime/JSCInlines.h:
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toObjectSlowCase):
(JSC::JSValue::synthesizePrototype):
(JSC::JSValue::putToPrimitive):
(JSC::JSValue::putToPrimitiveByIndex):
(JSC::JSValue::toStringSlowCase):
- runtime/JSCJSValueInlines.h:
(JSC::toPreferredPrimitiveType):
(JSC::JSValue::requireObjectCoercible):
- runtime/JSDataView.cpp:
(JSC::JSDataView::create):
- runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
(JSC::dataViewProtoGetterBuffer):
(JSC::dataViewProtoGetterByteLength):
(JSC::dataViewProtoGetterByteOffset):
- runtime/JSFunction.cpp:
(JSC::callHostFunctionAsConstructor):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndex):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewFromIterator):
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
(JSC::callGenericTypedArrayView):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::create):
(JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::JSGenericTypedArrayView<Adaptor>::validateRange):
(JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::speciesConstruct):
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoGetterFuncBuffer):
(JSC::genericTypedArrayViewProtoGetterFuncLength):
(JSC::genericTypedArrayViewProtoGetterFuncByteLength):
(JSC::genericTypedArrayViewProtoGetterFuncByteOffset):
(JSC::genericTypedArrayViewProtoFuncReverse):
(JSC::genericTypedArrayViewPrivateFuncSort):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::createEvalCodeBlock):
(JSC::JSGlobalObject::createModuleProgramCodeBlock):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::encode):
(JSC::decode):
(JSC::globalFuncEval):
(JSC::globalFuncThrowTypeError):
(JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller):
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
- runtime/JSModuleEnvironment.cpp:
(JSC::JSModuleEnvironment::put):
- runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::getOwnPropertySlot):
(JSC::JSModuleNamespaceObject::put):
(JSC::JSModuleNamespaceObject::putByIndex):
(JSC::JSModuleNamespaceObject::defineOwnProperty):
(JSC::moduleNamespaceObjectSymbolIterator):
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::getModuleNamespace):
(JSC::JSModuleRecord::link):
(JSC::JSModuleRecord::instantiateDeclarations):
- runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue):
(JSC::Walker::walk):
(JSC::JSONProtoFuncParse):
(JSC::JSONProtoFuncStringify):
- runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::callToPrimitiveFunction):
(JSC::JSObject::ordinaryToPrimitive):
(JSC::JSObject::hasInstance):
(JSC::JSObject::defaultHasInstance):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::validateAndApplyPropertyDescriptor):
(JSC::JSObject::getMethod):
- runtime/JSObject.h:
(JSC::createListFromArrayLike): Deleted.
- runtime/JSObjectInlines.h:
(JSC::createListFromArrayLike):
(JSC::JSObject::putInline):
- runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
(JSC::callPromise):
- runtime/JSPropertyNameIterator.cpp:
(JSC::propertyNameIteratorFuncNext):
- runtime/JSString.cpp:
(JSC::JSRopeString::outOfMemory):
- runtime/JSStringBuilder.h:
(JSC::JSStringBuilder::build):
(JSC::jsMakeNontrivialString):
- runtime/JSStringJoiner.cpp:
(JSC::JSStringJoiner::joinedLength):
(JSC::JSStringJoiner::join):
- runtime/JSStringJoiner.h:
(JSC::JSStringJoiner::JSStringJoiner):
- runtime/JSSymbolTableObject.h:
(JSC::symbolTablePut):
- runtime/JSTypedArrayViewConstructor.cpp:
(JSC::constructTypedArrayView):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewPrivateFuncLength):
(JSC::typedArrayViewPrivateFuncSort):
(JSC::typedArrayViewProtoFuncSet):
(JSC::typedArrayViewProtoFuncCopyWithin):
(JSC::typedArrayViewProtoFuncIncludes):
(JSC::typedArrayViewProtoFuncLastIndexOf):
(JSC::typedArrayViewProtoFuncIndexOf):
(JSC::typedArrayViewProtoFuncJoin):
(JSC::typedArrayViewProtoGetterFuncBuffer):
(JSC::typedArrayViewProtoGetterFuncLength):
(JSC::typedArrayViewProtoGetterFuncByteLength):
(JSC::typedArrayViewProtoGetterFuncByteOffset):
(JSC::typedArrayViewProtoFuncReverse):
(JSC::typedArrayViewPrivateFuncSubarrayCreate):
(JSC::typedArrayViewProtoFuncSlice):
- runtime/MapConstructor.cpp:
(JSC::callMap):
(JSC::constructMap):
- runtime/MapDataInlines.h:
(JSC::JSIterator>::ensureSpaceForAppend):
- runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototypeFuncNext):
- runtime/MapPrototype.cpp:
(JSC::getMap):
(JSC::mapProtoFuncValues):
(JSC::mapProtoFuncEntries):
(JSC::mapProtoFuncKeys):
- runtime/ModuleLoaderPrototype.cpp:
(JSC::moduleLoaderPrototypeParseModule):
- runtime/NullSetterFunction.cpp:
(JSC::callReturnUndefined):
- runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToPrecision):
(JSC::numberProtoFuncToString):
(JSC::numberProtoFuncToLocaleString):
(JSC::numberProtoFuncValueOf):
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSetPrototypeOf):
(JSC::toPropertyDescriptor):
(JSC::objectConstructorDefineProperty):
(JSC::objectConstructorDefineProperties):
(JSC::objectConstructorCreate):
- runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncToString):
- runtime/Operations.h:
(JSC::jsString):
(JSC::jsStringFromRegisterArray):
(JSC::jsStringFromArguments):
- runtime/ProxyConstructor.cpp:
(JSC::makeRevocableProxy):
(JSC::proxyRevocableConstructorThrowError):
(JSC::constructProxyObject):
(JSC::callProxy):
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::finishCreation):
(JSC::performProxyGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::getOwnPropertySlotCommon):
(JSC::ProxyObject::performPut):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):
- runtime/ReflectObject.cpp:
(JSC::reflectObjectConstruct):
(JSC::reflectObjectDefineProperty):
(JSC::reflectObjectEnumerate):
(JSC::reflectObjectGet):
(JSC::reflectObjectGetOwnPropertyDescriptor):
(JSC::reflectObjectGetPrototypeOf):
(JSC::reflectObjectIsExtensible):
(JSC::reflectObjectOwnKeys):
(JSC::reflectObjectPreventExtensions):
(JSC::reflectObjectSet):
(JSC::reflectObjectSetPrototypeOf):
- runtime/RegExpConstructor.cpp:
(JSC::toFlags):
(JSC::regExpCreate):
- runtime/RegExpObject.cpp:
(JSC::collectMatches):
- runtime/RegExpObject.h:
(JSC::RegExpObject::setLastIndex):
- runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncTestFast):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncMatchFast):
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoFuncToString):
(JSC::regExpProtoGetterGlobal):
(JSC::regExpProtoGetterIgnoreCase):
(JSC::regExpProtoGetterMultiline):
(JSC::regExpProtoGetterSticky):
(JSC::regExpProtoGetterUnicode):
(JSC::regExpProtoGetterFlags):
(JSC::regExpProtoGetterSource):
(JSC::regExpProtoFuncSplitFast):
- runtime/Reject.h:
(JSC::reject):
- runtime/SetConstructor.cpp:
(JSC::callSet):
(JSC::constructSet):
- runtime/SetIteratorPrototype.cpp:
(JSC::SetIteratorPrototypeFuncNext):
- runtime/SetPrototype.cpp:
(JSC::getSet):
(JSC::setProtoFuncValues):
(JSC::setProtoFuncEntries):
- runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::putEntry):
(JSC::SparseArrayEntry::put):
- runtime/StringConstructor.cpp:
(JSC::stringFromCodePoint):
- runtime/StringObject.cpp:
(JSC::StringObject::put):
(JSC::StringObject::putByIndex):
- runtime/StringPrototype.cpp:
(JSC::jsSpliceSubstrings):
(JSC::jsSpliceSubstringsWithSeparators):
(JSC::repeatCharacter):
(JSC::replace):
(JSC::stringProtoFuncToString):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncCodePointAt):
(JSC::stringProtoFuncConcat):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncLocaleCompare):
(JSC::toLocaleCase):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::trimString):
(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):
(JSC::stringProtoFuncIncludes):
(JSC::stringProtoFuncIterator):
(JSC::normalize):
(JSC::stringProtoFuncNormalize):
- runtime/StringRecursionChecker.cpp:
(JSC::StringRecursionChecker::throwStackOverflowError):
- runtime/Symbol.cpp:
(JSC::Symbol::toNumber):
- runtime/SymbolConstructor.cpp:
(JSC::symbolConstructorKeyFor):
- runtime/SymbolPrototype.cpp:
(JSC::symbolProtoFuncToString):
(JSC::symbolProtoFuncValueOf):
- runtime/ThrowScope.cpp: Added.
(JSC::ThrowScope::ThrowScope):
(JSC::ThrowScope::~ThrowScope):
(JSC::ThrowScope::throwException):
(JSC::ThrowScope::printIfNeedCheck):
(JSC::ThrowScope::simulateThrow):
(JSC::ThrowScope::verifyExceptionCheckNeedIsSatisfied):
- runtime/ThrowScope.h: Added.
(JSC::ThrowScope::vm):
(JSC::ThrowScope::exception):
(JSC::ThrowScope::release):
(JSC::ThrowScope::ThrowScope):
(JSC::ThrowScope::throwException):
(JSC::throwException):
- runtime/ThrowScopeLocation.h: Added.
(JSC::ThrowScopeLocation::ThrowScopeLocation):
- runtime/VM.h:
- runtime/VMEntryScope.h:
(JSC::VMEntryScope::vm):
- runtime/WeakMapConstructor.cpp:
(JSC::callWeakMap):
(JSC::constructWeakMap):
- runtime/WeakMapPrototype.cpp:
(JSC::getWeakMapData):
(JSC::protoFuncWeakMapSet):
- runtime/WeakSetConstructor.cpp:
(JSC::callWeakSet):
(JSC::constructWeakSet):
- runtime/WeakSetPrototype.cpp:
(JSC::getWeakMapData):
(JSC::protoFuncWeakSetAdd):
Source/WebCore:
No new tests because this is only an internal API change. If it builds, it should be good.
- bindings/js/JSApplePaySessionCustom.cpp:
(WebCore::JSApplePaySession::completeShippingMethodSelection):
(WebCore::JSApplePaySession::completeShippingContactSelection):
(WebCore::JSApplePaySession::completePaymentMethodSelection):
- bindings/js/JSBlobCustom.cpp:
(WebCore::constructJSBlob):
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
- bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier):
(WebCore::createAesCbcParams):
(WebCore::createAesKeyGenParams):
(WebCore::createHmacParams):
(WebCore::createHmacKeyParams):
(WebCore::createRsaKeyGenParams):
(WebCore::createRsaOaepParams):
(WebCore::createRsaSsaParams):
- bindings/js/JSCryptoCustom.cpp:
(WebCore::JSCrypto::getRandomValues):
- bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::getJSArrayFromJSON):
(WebCore::getStringFromJSON):
(WebCore::getBooleanFromJSON):
(WebCore::getBigIntegerVectorFromJSON):
(WebCore::JSCryptoKeySerializationJWK::JSCryptoKeySerializationJWK):
(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
(WebCore::tryJWKKeyOpsValue):
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
(WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence):
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents):
(WebCore::JSCryptoKeySerializationJWK::keyData):
(WebCore::addJWKAlgorithmToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):
- bindings/js/JSCryptoOperationData.cpp:
(WebCore::cryptoOperationDataFromJSValue):
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::upgradeElement):
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::getCustomElementCallback):
(WebCore::JSCustomElementRegistry::define):
- bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
(WebCore::enforceRange):
(WebCore::toSmallerInt):
(WebCore::toSmallerUInt):
(WebCore::canAccessDocument):
(WebCore::throwTypeError):
(WebCore::throwNotSupportedError):
(WebCore::throwInvalidStateError):
(WebCore::throwSecurityError):
(WebCore::throwArgumentMustBeEnumError):
(WebCore::throwArgumentMustBeFunctionError):
(WebCore::throwArgumentTypeError):
(WebCore::throwArrayElementTypeError):
(WebCore::throwAttributeTypeError):
(WebCore::throwConstructorScriptExecutionContextUnavailableError):
(WebCore::throwSequenceTypeError):
(WebCore::throwNonFiniteTypeError):
(WebCore::throwGetterTypeError):
(WebCore::throwSetterTypeError):
(WebCore::throwThisTypeError):
(WebCore::callThrowTypeError):
- bindings/js/JSDOMBinding.h:
(WebCore::toJSSequence):
(WebCore::toRefPtrNativeArray):
(WebCore::toNativeArray):
- bindings/js/JSDOMConstructor.h:
(WebCore::JSDOMConstructorNotConstructable::callThrowTypeError):
(WebCore::JSBuiltinConstructor<JSClass>::callConstructor):
- bindings/js/JSDOMConvert.h:
(WebCore::convertWrapperType):
- bindings/js/JSDOMIterator.h:
(WebCore::iteratorCreate):
(WebCore::iteratorForEach):
(WebCore::JSDOMIteratorPrototype<JSWrapper>::next):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::put):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::handlePostMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
- bindings/js/JSDataCueCustom.cpp:
(WebCore::constructJSDataCue):
- bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
- bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::createTouchList):
(WebCore::JSDocument::getCSSCanvasContext):
- bindings/js/JSFileCustom.cpp:
(WebCore::constructJSFile):
- bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::JSHTMLAllCollection::item):
- bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
(WebCore::JSHTMLCanvasElement::probablySupportsContext):
- bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::open):
- bindings/js/JSHTMLElementCustom.cpp:
(WebCore::constructJSHTMLElement):
- bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
(WebCore::JSHTMLFormControlsCollection::namedItem):
- bindings/js/JSHTMLInputElementCustom.cpp:
(WebCore::JSHTMLInputElement::selectionStart):
(WebCore::JSHTMLInputElement::setSelectionStart):
(WebCore::JSHTMLInputElement::selectionEnd):
(WebCore::JSHTMLInputElement::setSelectionEnd):
(WebCore::JSHTMLInputElement::selectionDirection):
(WebCore::JSHTMLInputElement::setSelectionDirection):
(WebCore::JSHTMLInputElement::setSelectionRange):
- bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):
- bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::createObjectStore):
- bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::construct):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertySlotDelegate):
- bindings/js/JSMediaDevicesCustom.cpp:
(WebCore::JSMediaDevices::getUserMedia):
- bindings/js/JSMediaStreamTrackCustom.cpp:
(WebCore::JSMediaStreamTrack::getSettings):
(WebCore::JSMediaStreamTrack::getCapabilities):
- bindings/js/JSMessagePortCustom.cpp:
(WebCore::fillMessagePortArray):
- bindings/js/JSMessagePortCustom.h:
(WebCore::handlePostMessage):
- bindings/js/JSMockContentFilterSettingsCustom.cpp:
(WebCore::JSMockContentFilterSettings::setDecisionPoint):
(WebCore::toDecision):
- bindings/js/JSModuleLoader.cpp:
(WebCore::JSModuleLoader::evaluate):
- bindings/js/JSMutationObserverCustom.cpp:
(WebCore::constructJSMutationObserver):
- bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):
- bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::acceptNode):
- bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
- bindings/js/JSReadableStreamPrivateConstructors.cpp:
(WebCore::constructJSReadableStreamDefaultController):
(WebCore::constructJSReadableStreamDefaultReader):
- bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::setValue):
(WebCore::JSSVGLength::convertToSpecifiedUnits):
- bindings/js/JSWebGL2RenderingContextCustom.cpp:
(WebCore::JSWebGL2RenderingContext::getIndexedParameter):
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContextBase::getAttachedShaders):
(WebCore::JSWebGLRenderingContextBase::getExtension):
(WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContextBase::getParameter):
(WebCore::JSWebGLRenderingContextBase::getProgramParameter):
(WebCore::JSWebGLRenderingContextBase::getShaderParameter):
(WebCore::JSWebGLRenderingContextBase::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
- bindings/js/JSWebKitSubtleCryptoCustom.cpp:
(WebCore::cryptoKeyFormatFromJSValue):
(WebCore::cryptoKeyUsagesFromJSValue):
(WebCore::JSWebKitSubtleCrypto::encrypt):
(WebCore::JSWebKitSubtleCrypto::decrypt):
(WebCore::JSWebKitSubtleCrypto::sign):
(WebCore::JSWebKitSubtleCrypto::verify):
(WebCore::JSWebKitSubtleCrypto::digest):
(WebCore::JSWebKitSubtleCrypto::generateKey):
(WebCore::importKey):
(WebCore::JSWebKitSubtleCrypto::importKey):
(WebCore::exportKey):
(WebCore::JSWebKitSubtleCrypto::exportKey):
(WebCore::JSWebKitSubtleCrypto::wrapKey):
(WebCore::JSWebKitSubtleCrypto::unwrapKey):
- bindings/js/JSWorkerCustom.cpp:
(WebCore::constructJSWorker):
- bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):
- bindings/js/ReadableStreamDefaultController.cpp:
(WebCore::ReadableStreamDefaultController::invoke):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneBase::throwStackOverflow):
(WebCore::CloneDeserializer::throwValidationError):
(WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
- bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setException):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateEnumerationImplementationContent):
(GenerateDictionaryImplementationContent):
(GenerateOverloadedFunctionOrConstructor):
(GenerateImplementation):
(GenerateFunctionCastedThis):
(GenerateArgumentsCountCheck):
(GenerateParametersCheck):
(GenerateConstructorDefinition):
- bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::jsInterfaceNameConstructor):
(WebCore::setJSInterfaceNameConstructor):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttr):
(WebCore::jsTestActiveDOMObjectConstructor):
(WebCore::setJSTestActiveDOMObjectConstructor):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::jsTestClassWithJSBuiltinConstructorConstructor):
(WebCore::setJSTestClassWithJSBuiltinConstructorConstructor):
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterConstructor):
(WebCore::setJSTestCustomNamedGetterConstructor):
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::construct):
(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
(WebCore::jsTestEventConstructorAttr3):
(WebCore::jsTestEventConstructorConstructor):
(WebCore::setJSTestEventConstructorConstructor):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetConstructor):
(WebCore::setJSTestEventTargetConstructor):
(WebCore::jsTestEventTargetPrototypeFunctionItem):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionName):
(WebCore::jsTestExceptionConstructor):
(WebCore::setJSTestExceptionConstructor):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::jsTestGenerateIsReachableConstructor):
(WebCore::setJSTestGenerateIsReachableConstructor):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObjectRegularAttribute):
(WebCore::jsTestGlobalObjectPublicAndPrivateAttribute):
(WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute):
(WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute):
(WebCore::jsTestGlobalObjectConstructor):
(WebCore::setJSTestGlobalObjectConstructor):
(WebCore::setJSTestGlobalObjectRegularAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute):
(WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute):
(WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation):
(WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorImplementsStaticAttr):
(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):
(WebCore::jsTestInterfaceConstructor):
(WebCore::setJSTestInterfaceConstructor):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
(WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
(WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::jsTestIterableConstructor):
(WebCore::setJSTestIterableConstructor):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::jsTestJSBuiltinConstructorTestAttributeCustom):
(WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom):
(WebCore::jsTestJSBuiltinConstructorConstructor):
(WebCore::setJSTestJSBuiltinConstructorConstructor):
(WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):
(WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerConstructor):
(WebCore::setJSTestMediaQueryListListenerConstructor):
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
(WebCore::jsTestNamedConstructorConstructor):
(WebCore::setJSTestNamedConstructorConstructor):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::construct):
(WebCore::jsTestNodeName):
(WebCore::jsTestNodeConstructor):
(WebCore::setJSTestNodeConstructor):
(WebCore::setJSTestNodeName):
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::jsTestNondeterministicNondeterministicReadonlyAttr):
(WebCore::jsTestNondeterministicNondeterministicWriteableAttr):
(WebCore::jsTestNondeterministicNondeterministicExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::jsTestNondeterministicConstructor):
(WebCore::setJSTestNondeterministicConstructor):
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convert<TestObj::EnumType>):
(WebCore::convert<TestObj::Optional>):
(WebCore::convert<AlternateEnumName>):
(WebCore::convert<TestObj::EnumA>):
(WebCore::convert<TestObj::EnumB>):
(WebCore::convert<TestObj::EnumC>):
(WebCore::convert<TestObj::Kind>):
(WebCore::convert<TestObj::Size>):
(WebCore::convert<TestObj::Confidence>):
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::convertDictionary<AlternateDictionaryName>):
(WebCore::JSTestObjConstructor::construct):
(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorStaticReadOnlyLongAttr):
(WebCore::jsTestObjConstructorStaticStringAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjClampedShortAttr):
(WebCore::jsTestObjEnforceRangeShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjUsvstringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjTestNullableObjAttr):
(WebCore::jsTestObjLenientTestObjAttr):
(WebCore::jsTestObjUnforgeableAttr):
(WebCore::jsTestObjStringAttrTreatingNullAsEmptyString):
(WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString):
(WebCore::jsTestObjImplementationEnumAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedUSVStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedUSVURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjEnabledAtRuntimeAttribute):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithGetterExceptionWithMessage):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjAttrWithSetterExceptionWithMessage):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjOnfoo):
(WebCore::jsTestObjOnwebkitfoo):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringSettableAttribute):
(WebCore::jsTestObjNullableUSVStringSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):
(WebCore::jsTestObjPutForwardsAttribute):
(WebCore::jsTestObjPutForwardsNullableAttribute):
(WebCore::jsTestObjStringifierAttribute):
(WebCore::jsTestObjConstructor):
(WebCore::setJSTestObjConstructor):
(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::setJSTestObjEnumAttr):
(WebCore::setJSTestObjByteAttr):
(WebCore::setJSTestObjOctetAttr):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjClampedShortAttr):
(WebCore::setJSTestObjEnforceRangeShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjLongAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjUsvstringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjTestNullableObjAttr):
(WebCore::setJSTestObjLenientTestObjAttr):
(WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString):
(WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString):
(WebCore::setJSTestObjImplementationEnumAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedUSVStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedUSVURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjEnabledAtRuntimeAttribute):
(WebCore::setJSTestObjTypedArrayAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithGetterExceptionWithMessage):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjAttrWithSetterExceptionWithMessage):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjCustomAttr):
(WebCore::setJSTestObjOnfoo):
(WebCore::setJSTestObjOnwebkitfoo):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjId):
(WebCore::setJSTestObjReplaceableAttribute):
(WebCore::setJSTestObjNullableLongSettableAttribute):
(WebCore::setJSTestObjNullableStringSettableAttribute):
(WebCore::setJSTestObjNullableUSVStringSettableAttribute):
(WebCore::setJSTestObjNullableStringValue):
(WebCore::setJSTestObjAttributeWithReservedEnumType):
(WebCore::setJSTestObjPutForwardsAttribute):
(WebCore::setJSTestObjPutForwardsNullableAttribute):
(WebCore::setJSTestObjStringifierAttribute):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation):
(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethod):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethod):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethod):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjInstanceFunctionUnforgeableMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter):
(WebCore::jsTestObjPrototypeFunctionNullableStringMethod):
(WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod):
(WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionMethodWithExceptionWithMessage):
(WebCore::jsTestObjPrototypeFunctionCustomMethod):
(WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
(WebCore::jsTestObjPrototypeFunctionWithDocumentArgument):
(WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument):
(WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter):
(WebCore::jsTestObjConstructorFunctionClassMethod):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
(WebCore::jsTestObjConstructorFunctionClassMethod2):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionGetElementById):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert3):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionOrange):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionPromise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionMethodWithNeedsCustomElementReactionStack):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload):
(WebCore::jsTestObjPrototypeFunctionAttachShadowRoot):
(WebCore::jsTestObjPrototypeFunctionToString):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
(WebCore::JSTestOverloadedConstructorsConstructor::construct):
(WebCore::jsTestOverloadedConstructorsConstructor):
(WebCore::setJSTestOverloadedConstructorsConstructor):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::constructJSTestOverloadedConstructorsWithSequence1):
(WebCore::constructJSTestOverloadedConstructorsWithSequence2):
(WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct):
(WebCore::jsTestOverloadedConstructorsWithSequenceConstructor):
(WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::jsTestOverrideBuiltinsConstructor):
(WebCore::setJSTestOverrideBuiltinsConstructor):
(WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceConstructor):
(WebCore::setJSTestSerializedScriptValueInterfaceConstructor):
(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsConstructor):
(WebCore::setJSTestTypedefsConstructor):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
- bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::jsattributeReadonly):
(WebCore::jsattributeConstructor):
(WebCore::setJSattributeConstructor):
- bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::jsreadonlyConstructor):
(WebCore::setJSreadonlyConstructor):
- bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::toJSPrimitive):
- bridge/objc/objc_instance.mm:
(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeMethod):
- bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):
(JSC::Bindings::ObjcArray::setValueAt):
(JSC::Bindings::ObjcArray::valueAt):
(JSC::Bindings::callObjCFallbackObject):
- bridge/objc/objc_utility.h:
- bridge/objc/objc_utility.mm:
(JSC::Bindings::throwError):
- bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
(JSC::RuntimeArray::put):
(JSC::RuntimeArray::putByIndex):
- bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
(JSC::callRuntimeMethod):
- bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
(JSC::Bindings::RuntimeObject::getOwnPropertySlot):
(JSC::Bindings::RuntimeObject::put):
(JSC::Bindings::RuntimeObject::defaultValue):
(JSC::Bindings::RuntimeObject::getOwnPropertyNames):
(JSC::Bindings::RuntimeObject::throwInvalidAccessError):
- bridge/runtime_object.h:
Source/WebKit/mac:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
- Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invokeMethod):
Source/WebKit2:
- WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::callMethod):
- WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::getOwnPropertySlot):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
(WebKit::JSNPObject::throwInvalidAccessError):
- WebProcess/Plugins/Netscape/JSNPObject.h:
- WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
Source/WTF:
- wtf/Platform.h:
- Introduced the ENABLE(THROW_SCOPE_VERIFICATION) flag.
- 12:36 AM Changeset in webkit [205594] by
-
- 2 edits2 adds2 deletes in trunk/Source/WebKit2
Move webkit2gtk.pc.in, webkit2gtk-web-extension.pc.in files under Source/WebKit2/gtk/
https://bugs.webkit.org/show_bug.cgi?id=161703
Reviewed by Carlos Garcia Campos.
Move the pkg-config input files that are specific to the GTK+ port
under the Source/WebKit2/gtk/ directory. Build rules are updated
accordingly.
- PlatformGTK.cmake:
- gtk/webkit2gtk-web-extension.pc.in: Renamed from Source/WebKit2/webkit2gtk-web-extension.pc.in.
- gtk/webkit2gtk.pc.in: Renamed from Source/WebKit2/webkit2gtk.pc.in.
- 12:24 AM Changeset in webkit [205593] by
-
- 2 edits in tags/Safari-603.1.5/Source/JavaScriptCore
Merged r205566. rdar://problem/28184766
- 12:18 AM Changeset in webkit [205592] by
-
- 10 edits in trunk/Source
[Mac] Address some clang static analyzer warnings in WebKit
https://bugs.webkit.org/show_bug.cgi?id=161597
Reviewed by Darin Adler.
Source/WebKit/mac:
- Misc/WebIconDatabase.h:
Remove unused instance variable. It has not been used since r16005 (2006)!
- Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
Address array leak.
- WebCoreSupport/WebSelectionServiceController.mm:
(WebSelectionServiceController::hasRelevantSelectionServices):
Address attachment and cell leak.
- WebView/WebFullScreenController.h:
- WebView/WebImmediateActionController.h:
Remove unused instance variables.
Source/WebKit2:
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
(-[WKLayerHostView makeBackingLayer]):
- UIProcess/mac/WKSharingServicePickerDelegate.mm:
(-[WKSharingServicePickerDelegate sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
- WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange rangeByExpandingToWordBoundaryByCharacters:inDirection:]):
Address leaks caught by the static analyzer.
Sep 7, 2016:
- 11:53 PM Changeset in webkit [205591] by
-
- 5 edits1 add in releases/WebKitGTK/webkit-2.14
Merge r205197 - Use of uninitialised memory in TransformationMatrx::blend4()
https://bugs.webkit.org/show_bug.cgi?id=134621
<rdar://problem/27337539>
Reviewed by Dean Jackson.
Change is based on the Blink change (patch by <alancutter@chromium.org>):
<https://src.chromium.org/viewvc/blink?revision=177453&view=revision>
Source/WebCore:
TransformationMatrix::blend() was attempting to blend between non-invertable
matricies. This resulted in garbage stack variables being used.
This patch ensures that blend() will fall back to a 50% step interpolation
when one of the sides are not invertable.
Tested by new TransformationMatrix test in TestWebKitAPI.
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::blend2): Properly handle failure in the
decompose method calls.
(WebCore::TransformationMatrix::blend4): Ditto.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp: Added.
(TestWebKitAPI::TEST):
- 11:49 PM Changeset in webkit [205590] by
-
- 2 edits3 deletes in trunk/Source/WebKit2
[GTK] Remove stale WebSoupRequestManager headers
https://bugs.webkit.org/show_bug.cgi?id=161691
Reviewed by Sergio Villar Senin.
WebSoupRequestManager, WebSoupRequestManagerProxy and WebSoupRequestManagerClient
classes were used to implement custom URI scheme support for Soup. This API and
the implementations of these classes were removed in r174584, but curiously the
headers went unnoticed. This patch removes them, as well as the
WebSoupRequestManagerProxy forwarding declaration in WKAPICastSoup.h.
- UIProcess/API/C/soup/WKAPICastSoup.h:
- UIProcess/soup/WebSoupRequestManagerClient.h: Removed.
- UIProcess/soup/WebSoupRequestManagerProxy.h: Removed.
(WebKit::WebSoupRequestManagerProxy::registeredURISchemes): Deleted.
- WebProcess/soup/WebSoupRequestManager.h: Removed.
- 11:44 PM Changeset in webkit [205589] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14
Merge r205194 - URLParser should handle relative URLs that start with
https://bugs.webkit.org/show_bug.cgi?id=161364
Reviewed by Darin Adler.
Source/WebCore:
Covered by an API test.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::TEST_F):
- 11:42 PM Changeset in webkit [205588] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.14
Merge r205186 - ASSERTION FAILED: opportunitiesInRun <= expansionOpportunityCount in WebCore::computeExpansionForJustifiedText
https://bugs.webkit.org/show_bug.cgi?id=139393
<rdar://problem/27704243>
Reviewed by Myles C. Maxfield.
Source/WebCore:
This patch ensures that we always remove a valid 'after expansion' opportunity (even when the last entry
in the opportunities list is 0).
Test: fast/text/assert-on-expansion-opportunity.html
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
LayoutTests:
- fast/text/assert-on-expansion-opportunity-expected.txt: Added.
- fast/text/assert-on-expansion-opportunity.html: Added.
- 11:33 PM Changeset in webkit [205587] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/WebKit2
Merge r205182 - REGRESSION(r194846): [GTK] UI process crash visiting sites protected with HTTP auth when using GTK+ < 3.14
https://bugs.webkit.org/show_bug.cgi?id=161385
Reviewed by Antonio Gomes.
Since r194846, we are chaining up webkitWebViewBaseMotionNotifyEvent, but before GTK+ 3.14
GtkWidget::motion_notify_event was nullptr, so it can't be used unconditionally.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseMotionNotifyEvent):
- 11:31 PM Changeset in webkit [205586] by
-
- 25 edits1 delete in releases/WebKitGTK/webkit-2.14/Source/WebCore
Merge r205181 - Remove StylePendingImage
https://bugs.webkit.org/show_bug.cgi?id=161245
Reviewed by Andreas Kling.
Instances of this confusing type are used as placeholders during style resolution.
We can get rid of it and make "pending" a state of StyleImage. This simplies the code and
will allow further improvements.
- WebCore.xcodeproj/project.pbxproj:
- css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::isPending):
(WebCore::CSSCrossfadeValue::blend):
- css/CSSCrossfadeValue.h:
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::CSSCursorImageValue):
(WebCore::CSSCursorImageValue::~CSSCursorImageValue):
Save the original URL since the underlying CSSImageValue may change.
(WebCore::CSSCursorImageValue::updateCursorElement):
(WebCore::CSSCursorImageValue::cursorElementRemoved):
(WebCore::CSSCursorImageValue::cursorElementChanged):
(WebCore::CSSCursorImageValue::loadImage):
(WebCore::CSSCursorImageValue::styleImage):
(WebCore::CSSCursorImageValue::isSVGCursor):
(WebCore::CSSCursorImageValue::cachedImageURL):
(WebCore::CSSCursorImageValue::updateCachedImage):
(WebCore::CSSCursorImageValue::detachPendingImage): Deleted.
(WebCore::CSSCursorImageValue::cachedImage): Deleted.
(WebCore::CSSCursorImageValue::cachedOrPendingImage): Deleted.
(WebCore::CSSCursorImageValue::clearCachedImage): Deleted.
- css/CSSCursorImageValue.h:
- css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::isPending):
- css/CSSFilterImageValue.h:
- css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::isPending):
(WebCore::CSSImageGeneratorValue::subimageIsPending):
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
- css/CSSImageGeneratorValue.h:
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::loadBestFitImage):
(WebCore::CSSImageSetValue::styleImage):
(WebCore::CSSImageSetValue::traverseSubresources):
(WebCore::CSSImageSetValue::detachPendingImage): Deleted.
(WebCore::CSSImageSetValue::bestFitImage): Deleted.
(WebCore::CSSImageSetValue::cachedOrPendingImageSet): Deleted.
- css/CSSImageSetValue.h:
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::CSSImageValue):
(WebCore::CSSImageValue::~CSSImageValue):
(WebCore::CSSImageValue::isPending):
(WebCore::CSSImageValue::styleImage):
(WebCore::CSSImageValue::loadImage):
(WebCore::CSSImageValue::traverseSubresources):
(WebCore::CSSImageValue::detachPendingImage): Deleted.
(WebCore::CSSImageValue::cachedOrPendingImage): Deleted.
(WebCore::CSSImageValue::cachedImage): Deleted.
- css/CSSImageValue.h:
(WebCore::CSSImageValue::create):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::cachedOrPendingFromValue):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::setOrPendingFromValue):
(WebCore::StyleResolver::cursorOrPendingFromValue):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFilter):
(WebCore::crossfadeBlend):
- rendering/RenderImageResourceStyleImage.cpp:
(WebCore::RenderImageResourceStyleImage::image):
- rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::createShapeForImage):
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::StyleCachedImage):
(WebCore::StyleCachedImage::~StyleCachedImage):
(WebCore::StyleCachedImage::setCachedImage):
(WebCore::StyleCachedImage::cssValue):
(WebCore::StyleCachedImage::canRender):
(WebCore::StyleCachedImage::isPending):
(WebCore::StyleCachedImage::isLoaded):
(WebCore::StyleCachedImage::errorOccurred):
(WebCore::StyleCachedImage::imageSize):
(WebCore::StyleCachedImage::imageHasRelativeWidth):
(WebCore::StyleCachedImage::imageHasRelativeHeight):
(WebCore::StyleCachedImage::computeIntrinsicDimensions):
(WebCore::StyleCachedImage::usesImageContainerSize):
(WebCore::StyleCachedImage::setContainerSizeForRenderer):
(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):
(WebCore::StyleCachedImage::image):
(WebCore::StyleCachedImage::knownToBeOpaque):
- rendering/style/StyleCachedImage.h:
- rendering/style/StyleGeneratedImage.cpp:
(WebCore::StyleGeneratedImage::isPending):
- rendering/style/StyleGeneratedImage.h:
- rendering/style/StyleImage.h:
(WebCore::StyleImage::isCachedImage):
(WebCore::StyleImage::StyleImage):
(WebCore::StyleImage::canRender): Deleted.
(WebCore::StyleImage::isPendingImage): Deleted.
- rendering/style/StylePendingImage.h: Removed.
- style/StylePendingResources.cpp:
(WebCore::Style::loadPendingImage):
(WebCore::Style::loadPendingImages):
- 11:02 PM Changeset in webkit [205585] by
-
- 2 edits in trunk/Tools
Expose Apple Pencil input to testing system
https://bugs.webkit.org/show_bug.cgi?id=161670
<rdar://problem/28183327>
Attempt to fix iOS 9 builds.
- WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator _createIOHIDEventType:]):
- 10:59 PM Changeset in webkit [205584] by
-
- 4 edits in trunk
Roll out r205580 and r205582.
https://bugs.webkit.org/show_bug.cgi?id=161668
I need to figure out why this is failing on the bots before landing any more URLParser progress.
- 10:59 PM Changeset in webkit [205583] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, EFL build fix after r205581
https://bugs.webkit.org/show_bug.cgi?id=161674
- dom/LoadableClassicScript.cpp:
(WebCore::LoadableClassicScript::notifyFinished):
- 9:10 PM Changeset in webkit [205582] by
-
- 2 edits in trunk/Source/WebCore
Fix API tests after r205580
https://bugs.webkit.org/show_bug.cgi?id=161668
No new tests, but this fixes API tests on bots.
- platform/URLParser.cpp:
(WebCore::domainToASCII):
This function seems to be appending characters to strings sometimes on some configurations.
This definitely needs further investigation, but this will fix the bots, and nothing else
will be affected because the URLParser is disabled by default.
- 6:49 PM Changeset in webkit [205581] by
-
- 12 edits4 copies1 add in trunk/Source/WebCore
Introduce abstract class LoadableScript for classic script and module graph
https://bugs.webkit.org/show_bug.cgi?id=161674
Reviewed by Ryosuke Niwa.
To prepare for ScriptModuleGraph, we introduce the abstract class over the classic script
and the module script, LoadableScript.
No behavior change.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/LoadableClassicScript.cpp: Added. LoadableClassicScript is the derived class from the
LoadableScript. In the module patch, we will introduce LoadableScriptModuleGraph which is also
the derived class from the LoadableScript. It is used for the external classic script.
A CachedResourceHandle used here alone does not prevent the underlying CachedResource from purging its
data buffer. This LoadableClassicScript holds a client until this class is destroyed in order to
guarantee that the data buffer will not be purged.
(WebCore::LoadableClassicScript::create):
(WebCore::LoadableClassicScript::LoadableClassicScript):
(WebCore::LoadableClassicScript::~LoadableClassicScript):
(WebCore::LoadableClassicScript::isLoaded):
(WebCore::LoadableClassicScript::wasErrored): Beyond the boolean value, this can return the detail
of the error. This detailed information will be used to report it to the inspector in the ScriptElement.
(WebCore::LoadableClassicScript::wasCanceled):
(WebCore::LoadableClassicScript::notifyFinished): Nosniff and cross-origin loading errors are handled here,
instead of exposing CachedScript*.
(WebCore::LoadableClassicScript::execute): Execute the cached script by using the given ScriptElement.
- dom/LoadableClassicScript.h: Copied from Source/WebCore/dom/PendingScript.h.
(isType):
- dom/LoadableScript.cpp: Copied from Source/WebCore/dom/ScriptRunner.h. New wrapper for CachedScript
and ScriptModuleGraph. We introduce a new wrapper to handle the above 2 things in the same way.
We take the way to introduce a new wrapper instead of introducing a new interface that is inherited by
CachedScript and ScriptModuleGraph. This is because ScriptModuleGraph is ref-counted while CachedScript
is managed by CachedResourceHandle. While this patch does not contain ScriptModuleGraph part, this
should be added in the module patch and at that time, this should be managed by this LoadableScript's
subclass. And we introduce TypeCasts traits for LoadableScript to allowis<>anddowncast<>.
(WebCore::LoadableScript::addClient):
(WebCore::LoadableScript::removeClient):
(WebCore::LoadableScript::notifyClientFinished):
- dom/LoadableScript.h: Copied from Source/WebCore/dom/ScriptRunner.h.
(WebCore::LoadableScript::~LoadableScript):
(WebCore::LoadableScript::isClassicScript):
(WebCore::LoadableScript::isModuleGraph):
- dom/LoadableScriptClient.h: Copied from Source/WebCore/dom/ScriptRunner.h.
(WebCore::LoadableScriptClient::~LoadableScriptClient):
- dom/PendingScript.cpp: Use LoadableScript instead of CachedScript.
(WebCore::PendingScript::create):
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::~PendingScript):
(WebCore::PendingScript::loadableScript):
(WebCore::PendingScript::notifyFinished):
(WebCore::PendingScript::isLoaded):
(WebCore::PendingScript::wasErrored):
(WebCore::PendingScript::cachedScript): Deleted.
- dom/PendingScript.h:
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::ScriptElement):
(WebCore::ScriptElement::handleSourceAttribute): Change sourceUrl to sourceURL to be consistent.
(WebCore::ScriptElement::prepareScript):
(WebCore::ScriptElement::requestClassicScript): requestScript is renamed to requestClassicScript.
(WebCore::ScriptElement::requestScriptWithCache): Extract the code requesting the
CachedScript from requestScript. This will also be used by the module fetcher.
(WebCore::ScriptElement::executeScript): Now inspector error reporting is also done in this function.
When an error occurs, LoadableScript::wasErrored() returns the error which may include the information
to report the error to the inspector. nosniff and cross-origin loading errors are now detected by the
LoadableClassicScript and reported through this wasErrored().
(WebCore::ScriptElement::stopLoadRequest):
(WebCore::ScriptElement::executeScriptAndDispatchEvent):
(WebCore::ScriptElement::executeScriptForScriptRunner): Move the code from ScriptRunner. This function
calls removeClient(*this) because ScriptRunner is driven by the ScriptElement's notification. Only when using
ScriptRunner, we call addClient(*this) for ScriptElement. This is tricky, we should refactor this in the separated
bug (https://bugs.webkit.org/show_bug.cgi?id=161726).
(WebCore::ScriptElement::executeScriptForHTMLScriptRunner): Move the code from HTMLScriptRunner.
(WebCore::ScriptElement::notifyFinished):
(WebCore::ScriptElement::requestScript): Deleted.
(WebCore::ScriptElement::execute): Deleted.
- dom/ScriptElement.h:
(WebCore::ScriptElement::loadableScript):
(WebCore::ScriptElement::cachedScript): Deleted.
- dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::queueScriptForExecution):
(WebCore::ScriptRunner::timerFired): Use ScriptElement::executeScriptForScriptRunner.
- dom/ScriptRunner.h:
- html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::requestPendingScript):
(WebCore::HTMLScriptRunner::requestParsingBlockingScript):
(WebCore::HTMLScriptRunner::sourceFromPendingScript): Deleted.
- html/parser/HTMLScriptRunner.h: Use ScriptElement::executeScriptForHTMLScriptRunner.
- xml/parser/XMLDocumentParserLibxml2.cpp: Currently, we do nothing about XMLDocument in this patch.
We should support the module script, but before that, we should refactor this pending script handling.
(WebCore::XMLDocumentParser::endElementNs):
- 6:34 PM Changeset in webkit [205580] by
-
- 4 edits in trunk
Unreviewed, revert r205533.
https://bugs.webkit.org/show_bug.cgi?id=161668
Re-landing changesets:
"Punycode encode non-ascii hosts in URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161655
http://trac.webkit.org/changeset/205521
"Fix query-only and fragment-only relative URLs when using
URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161657
http://trac.webkit.org/changeset/205526
"URLParser should parse / as a relative URL"
https://bugs.webkit.org/show_bug.cgi?id=161667
http://trac.webkit.org/changeset/205532
- 6:26 PM Changeset in webkit [205579] by
-
- 23 edits1 add in trunk
Enable the <meter> element on iOS
https://bugs.webkit.org/show_bug.cgi?id=161714
rdar://problem/8978410
Reviewed by Tim Horton.
Source/JavaScriptCore:
Define ENABLE_METER_ELEMENT unconditionally now.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
Define ENABLE_METER_ELEMENT unconditionally now.
Rendering falls back to html.css rendering, which makes <meter> looks similar between
macOS and iOS.
Tested by enabling existing tests.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
Define ENABLE_METER_ELEMENT unconditionally now.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
Define ENABLE_METER_ELEMENT unconditionally now.
- Configurations/FeatureDefines.xcconfig:
Tools:
Define ENABLE_METER_ELEMENT unconditionally now.
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator/TestExpectations:
- platform/ios-simulator/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt:
- platform/ios-simulator/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt:
- platform/ios-simulator/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
- platform/ios-simulator/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt: Added.
- platform/ios-simulator/fast/dom/HTMLMeterElement/meter-optimums-expected.txt:
- platform/ios-simulator/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
- platform/ios-simulator/fast/dom/HTMLMeterElement/meter-styles-expected.txt:
- platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
- platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-label-element/labelable-elements-expected.txt:
- platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-meter-element/meter-expected.txt:
- platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:
- 6:04 PM Changeset in webkit [205578] by
-
- 12 edits2 adds in trunk/Source/WebInspectorUI
Web Inspector: Show resource timing details in Network waterfall
https://bugs.webkit.org/show_bug.cgi?id=160062
This patch adds a popover to network tab's and timeline tab's resource rows, when hovering
the recordbar. It shows times for the various parts of the resource load if they are available,
or it shows the reason for why not as text (e.g. cached resource, data URI).
Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-09-07
Reviewed by Matt Baker.
- Localizations/en.lproj/localizedStrings.js:
Added new strings.
- UserInterface/Main.html:
Include new files.
- UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout):
Updated to use DataGrid property to hide header.
- UserInterface/Views/DataGrid.css:
(.data-grid.no-header > .header-wrapper):
(.data-grid.no-header > .header-wrapper > table.header): Deleted.
Hide the whole DataGrid header.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.get headerVisible):
(WebInspector.DataGrid.prototype.set headerVisible):
Add property to control header visibility, so grid clients aren't forced to manipulate internal grid styles.
- UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView.prototype._processPendingRecords):
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype._processPendingRecords):
- UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype._addResourceToDataGridIfNeeded):
Pass in new parameter for whether or not to show the popover for resources.
- UserInterface/Views/ResourceTimelineDataGridNode.css: Added.
(.resource-timing-popover-content .data-grid):
(.resource-timing-popover-content .data-grid .graph-column > .cell-content):
(.resource-timing-popover-content .data-grid td):
(.resource-timing-popover-content .data-grid td.graph-column):
(.resource-timing-popover-content .data-grid table.data):
(.resource-timing-popover-content .data-grid tr:nth-last-child(2)):
Add styling for the popover.
- UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode):
(WebInspector.ResourceTimelineDataGridNode.prototype.didAddRecordBar):
(WebInspector.ResourceTimelineDataGridNode.prototype.didRemoveRecordBar):
(WebInspector.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar):
Creates the popover for a RecordBar and shows detailed info about segments.
- UserInterface/Views/ResourceTimingPopoverDataGridNode.js: Added.
(WebInspector.ResourceTimingPopoverDataGridNode):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.get records):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.get data):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.get selectable):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.createCellContent):
DataGridNode for the popover.
- UserInterface/Views/TimelineDataGridNode.js:
(WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar):
(WebInspector.TimelineDataGridNode.prototype.refreshGraph):
(WebInspector.TimelineDataGridNode.prototype.didAddRecordBar):
(WebInspector.TimelineDataGridNode.prototype.didRemoveRecordBar):
(WebInspector.TimelineDataGridNode):
Added hooks for notifying subclasses.
- UserInterface/Views/TimelineRecordBar.js:
(WebInspector.TimelineRecordBar):
(WebInspector.TimelineRecordBar.fromElement):
Added symbol and static method to get the recordBar from a given element.
- 5:40 PM Changeset in webkit [205577] by
-
- 2 edits in trunk/Source/WTF
bitwise_cast: allow const destination type
https://bugs.webkit.org/show_bug.cgi?id=161719
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-07
Reviewed by Saam Barati.
- wtf/StdLibExtras.h:
(WTF::bitwise_cast): allow
const To to = bitwise_cast<const To>(from);
- 5:38 PM Changeset in webkit [205576] by
-
- 2 edits in trunk/Source/WebKit2
[Mac] .tbd files for the shims end up installed when building with GENERATE_TEXT_BASED_STUBS=YES
https://bugs.webkit.org/show_bug.cgi?id=161722
Reviewed by Anders Carlsson.
- Configurations/Shim.xcconfig: Don’t install the shims. The Copy Shims build phase in the WebKit target will copy them into place without bringing their .tbd files along.
- 5:16 PM Changeset in webkit [205575] by
-
- 3 edits in trunk/Source/JavaScriptCore
Modernize Debugger to use nullptr
https://bugs.webkit.org/show_bug.cgi?id=161718
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-07
Reviewed by Mark Lam.
- debugger/Debugger.cpp:
(JSC::Debugger::Debugger):
(JSC::Debugger::~Debugger):
(JSC::Debugger::detach):
(JSC::Debugger::stepOutOfFunction):
(JSC::Debugger::updateCallFrameAndPauseIfNeeded):
- debugger/Debugger.h:
- 5:01 PM Changeset in webkit [205574] by
-
- 6 edits2 adds in trunk
[MediaStream] applyConstraints pt. 2 - advanced constraints
https://bugs.webkit.org/show_bug.cgi?id=161715
<rdar://problem/28195461>
Reviewed by Dean Jackson.
Source/WebCore:
Test: fast/mediastream/apply-constraints-advanced.html
- platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaConstraint::create): Return Ref<>, not RefPtr<>.
(WebCore::MediaConstraint::copy): New
(WebCore::IntConstraint::copy): Ditto.
(WebCore::DoubleConstraint::copy): Ditto.
(WebCore::BooleanConstraint::copy): Ditto.
(WebCore::StringConstraint::copy): Ditto.
(WebCore::StringConstraint::fitnessDistance): New, compute the fitness distance between the
constraint and the specified value.
(WebCore::StringConstraint::merge): New, merge value into constraint.
(WebCore::FlattenedConstraint::set): New, add or replace a constraint.
(WebCore::FlattenedConstraint::merge): New, merge or add a constraint.
- platform/mediastream/MediaConstraints.h:
(WebCore::MediaConstraint::fitnessDistance):
(WebCore::MediaConstraint::merge):
(WebCore::NumericConstraint::nearlyEqual):
(WebCore::FlattenedConstraint::isEmpty):
(WebCore::FlattenedConstraint::begin):
(WebCore::FlattenedConstraint::end):
(WebCore::MediaConstraint::~MediaConstraint): Deleted.
(WebCore::MediaConstraint::find): Deleted.
(WebCore::MediaConstraint::getIdeal): Deleted.
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::fitnessDistance): Return the fitness distance between the source
capabilities and a constraint.
(WebCore::applyNumericConstraint): New, apply a numeric constraint.
(WebCore::RealtimeMediaSource::applyConstraint): Use applyNumericConstraint.
(WebCore::RealtimeMediaSource::selectSettings): New, implement the SelectSettings algorithm
(WebCore::RealtimeMediaSource::applyConstraints):
(WebCore::RealtimeMediaSource::supportsConstraint): Deleted.
(WebCore::value): Deleted.
- platform/mediastream/RealtimeMediaSource.h:
LayoutTests:
- fast/mediastream/apply-constraints-advanced-expected.txt: Added.
- fast/mediastream/apply-constraints-advanced.html: Added.
- 5:00 PM Changeset in webkit [205573] by
-
- 2 edits in trunk/Tools
Run spindumps on timeout on iOS 9 Simulator Release WK2 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=161699
Reviewed by Alexey Proskuryakov.
This change does not have testing associated with it because the testing infrastructure does not exists, we cannot currently mock build-bot variables.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests): Enable sample on timeout for everything.
(RunWebKitTests.start): Disable sample on timeout for everything except iOS 9 WK2 release simulators.
- 4:32 PM Changeset in webkit [205572] by
-
- 10 edits8 adds in trunk
Expose Apple Pencil input to testing system
https://bugs.webkit.org/show_bug.cgi?id=161670
<rdar://problem/28183327>
Reviewed by Simon Fraser.
Tools:
Add API to UIScriptController that allows a test to emulate
stylus input, such as from the Apple Pencil.
The code is only implemented for WebKitTestRunner.
There are also four new tests that ensure an Apple Pencil
operates similarly to a regular touch. The main difference
is that you can't have multiple touches when using an Apple Pencil.
- DumpRenderTree/ios/UIScriptControllerIOS.mm: New methods. Empty implementations.
(WTR::UIScriptController::stylusDownAtPoint):
(WTR::UIScriptController::stylusMoveToPoint):
(WTR::UIScriptController::stylusUpAtPoint):
(WTR::UIScriptController::stylusTapAtPoint):
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: New methods.
- TestRunnerShared/UIScriptContext/UIScriptController.cpp: Empty implementations.
(WTR::UIScriptController::stylusDownAtPoint):
(WTR::UIScriptController::stylusMoveToPoint):
(WTR::UIScriptController::stylusUpAtPoint):
(WTR::UIScriptController::stylusTapAtPoint):
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/ios/HIDEventGenerator.h:
- WebKitTestRunner/ios/HIDEventGenerator.mm: New StylusEvent types. Add some properties
to SyntheticEventDigitizerInfo.
(-[HIDEventGenerator _createIOHIDEventType:]): Add support for StylusEvent types.
(-[HIDEventGenerator touchDownAtPoints:touchCount:]): Clear any old stylus info.
(-[HIDEventGenerator stylusDownAtPoint:azimuthAngle:altitudeAngle:pressure:]):
(-[HIDEventGenerator stylusMoveToPoint:azimuthAngle:altitudeAngle:pressure:]):
(-[HIDEventGenerator stylusUpAtPoint:]):
(-[HIDEventGenerator stylusDownAtPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]):
(-[HIDEventGenerator stylusMoveToPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]):
(-[HIDEventGenerator stylusUpAtPoint:completionBlock:]):
(-[HIDEventGenerator stylusTapAtPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]):
- WebKitTestRunner/ios/IOKitSPI.h: Add new include, and new SPI.
- WebKitTestRunner/ios/UIScriptControllerIOS.mm: Calls into the HIDEventGenerator for the new API.
(WTR::UIScriptController::stylusDownAtPoint):
(WTR::UIScriptController::stylusMoveToPoint):
(WTR::UIScriptController::stylusUpAtPoint):
(WTR::UIScriptController::stylusTapAtPoint):
LayoutTests:
Four new tests that make sure Apple Pencil's register the correct
touch* style events.
- fast/events/touch/ios/pencil-down-gives-touchstart-expected.txt: Added.
- fast/events/touch/ios/pencil-down-gives-touchstart.html: Added.
- fast/events/touch/ios/pencil-move-gives-touchmove-expected.txt: Added.
- fast/events/touch/ios/pencil-move-gives-touchmove.html: Added.
- fast/events/touch/ios/pencil-tap-gives-touchstart-and-touchend-expected.txt: Added.
- fast/events/touch/ios/pencil-tap-gives-touchstart-and-touchend.html: Added.
- fast/events/touch/ios/pencil-up-gives-touchend-expected.txt: Added.
- fast/events/touch/ios/pencil-up-gives-touchend.html: Added.
- 4:31 PM Changeset in webkit [205571] by
-
- 2 edits in trunk/Source/JavaScriptCore
Web Inspector: Remove always false case in Debugger
https://bugs.webkit.org/show_bug.cgi?id=161717
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-07
Reviewed by Brian Burg.
- debugger/Debugger.cpp:
(JSC::Debugger::didExecuteProgram):
We would have earlier returned a few statements ago if this case was true.
And we would have crashed in the previous statement if this case was true.
- 3:36 PM Changeset in webkit [205570] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, build fix after r205569
Tweak CMakeLists.txt
- CMakeLists.txt:
- 3:10 PM Changeset in webkit [205569] by
-
- 221 edits1 move6 adds in trunk/Source
Add CatchScope and force all exception checks to be via ThrowScope or CatchScope.
https://bugs.webkit.org/show_bug.cgi?id=161498
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
This patch refactors the ThrowScope class, and introduces a base ExceptionScope
that ThrowScope extends. A CatchScope which extends the ExceptionScope is also
introduced.
ENABLE(THROW_SCOPE_VERIFICATION) is now renamed to ENABLE(EXCEPTION_SCOPE_VERIFICATION)
which is a more suitable name now.
Note: exception scope verification is still disabled by default. There are still
many places that need to be fixed up or re-expressed in a way that is friendly
to the verification. I'll address those in subsequent patches.
After this patch, the code will statically enforce that:
- all calls to throwException() go through a ThrowScope.
- all calls to clearException() go through a CatchScope.
- all exception checks go through an ExceptionScope in the form of a ThrowScope or CatchScope.
A Summary of how to use ExceptionScopes
=======================================
- If a function can throw a JS exception, it should declare a ThrowScope at the top of the function (as early as possible).
- If a function can clear JS exceptions, it should declare a CatchScope at the top of the function (as early as possible).
Declaring a ThrowScope in a function means that the function may throw an exception
that its caller will have to handle. Declaring a CatchScope in a function means
that the function intends to clear pending exceptions before returning to its
caller.
For more details, see the notes below.
Everything you may want to know about ExceptionScopes
=====================================================
ExceptionScope verification works to simulate exception throws and detect cases
where exception checks are missing. The notes below will cover:
- The VM::m_needExceptionCheck bit
- ThrowScopes and CatchScopes
- Verification of needed exception checks
- Checking Exceptions
- Simulating throws
- Using ThrowScope::release()
- Checking exceptions with ThrowScope::exception() / CatchScope::exception()
- Checking exceptions by checking callee results
- Debugging verification errors
- The VM::m_needExceptionCheck bit
The VM has a m_needExceptionCheck bit that indicates when an exception may be
thrown. You can think of the m_needExceptionCheck bit being set as a simulated
throw.
- ThrowScopes and CatchScopes
Only ThrowScopes may throwException. Only CatchScopes may catchException.
Every throw site must declare a ThrowScope instance using DECLARE_THROW_SCOPE
at the top of its function (as early as possible) e.g.
void foo(...)
{
auto scope = DECLARE_THROW_SCOPE(vm);
...
throwException(exec, scope, ...);
}
Note: by convention, every throw helper function must take a ThrowScope argument
instead of instantiating its own ThrowScope. This allows the throw to be
attributed to the client code rather than the throw helper itself.
Every catch site (i.e. a site that calls clearException()) must declare a
CatchScope instance using DECLARE_CATCH_SCOPE at the top of its function.
If a function can both throw or clear exceptions, then the ThrowScope should
be declared first so that it can simulate a throw to the function's caller.
Note: ThrowScope and CatchScope both extend ExceptionScope so that ThrowScopes
can be aware if there's an enclosing CatchScope between it and the point where
C++ code returns to JS code. This is needed to determine if the ThrowScope
should simulate a re-throw or not. See (4) below for more details on returning
to JS code.
- Verification of needed exception checks
- On construction, each ThrowScope and CatchScope will verify that VM::m_needExceptionCheck is not set.
This ensures that the caller of the current function has checked for exceptions
where needed before doing more work which lead to calling the current function.
- On destruction, each ThrowScope and CatchScope will verify that VM::m_needExceptionCheck is not set. This verification will be skipped if the ThrowScope has been released (see (5) below).
This ensures that the function that owns this exception scope is not missing
any exception checks before returning.
- When throwing an exception, the ThrowScope will verify that VM::m_needExceptionCheck is not already set, unless it's been ask to rethrow the same Exception object.
- Simulating throws
Throws are simulated by setting the m_needExceptionCheck bit.
The bit will only be set in the ThrowScope destructor except when the ThrowScope
detects the caller is a LLInt or JIT function. LLInt or JIT functions will always
check for exceptions after a host C++ function returns to it. However, they will
not clear the m_needExceptionCheck bit.
Hence, if the ThrowScope destructor detects the caller is a LLInt or JIT function,
it will just skip the setting of the bit.
Note: it is not needed nor correct to set the m_needExceptionCheck bit in the
throwException methods. This is because, in practice, we always return
immediately after throwing an exception. It doesn't make sense to set the bit in
the throw just to have to clear it immediately after before we do verification in
the ThrowScope destructor.
- Using ThrowScope::release()
Calling release() means that the scope is released from its obligation to
verify the VM::m_needExceptionCheck bit on destruction.
release() should only be used at the bottom of a function if:
- This function is going to let its caller check and handle the exception, e.g.
void foo(...)
{
auto scope = DECLARE_THROW_SCOPE(vm);
auto result = goo(); may throw.
... Code that will are not affected by a pending exceptions.
scope.release(); tell the ThrowScope that the caller will handle the exception.
return result;
}
- This function is going to do a tail call that may throw.
void foo(...)
{
auto scope = DECLARE_THROW_SCOPE(vm);
...
scope.release(); tell the ThrowScope that the caller will handle the exception.
return goo(); may throw.
}
release() should not be used in code paths that branch. For example:
void foo(...)
{
auto scope = DECLARE_THROW_SCOPE(vm);
auto result = goo1(); may throw.
scope.release(); WRONG !!! Don't do this.
if (result)
return;
result = goo2(); may throw.
...
return result;
}
The above will result in a verification error in goo2()'s ThrowScope. The
proper way to fix this verification is to do either (6) or (7) below.
- Checking exceptions with ThrowScope::exception() / CatchScope::exception()
ThrowScope/CatchScope::exception() returns the thrown Exception object if
there is one pending. Else, it returns nullptr.
It also clears the m_needExceptionCheck bit thereby indicating that we've
satisfied the needed exception check. For example,
void foo(...)
{
auto scope = DECLARE_THROW_SCOPE(vm);
auto result = goo1(); may throw.
if (scope.exception())
return;
result = goo2(); may throw.
...
return result;
}
But sometimes, for optimization reasons, we may choose to test the result of
the callee function instead doing a load of the VM exception value. See (7)
below.
- Checking exceptions by checking callee results
This approach should only be applied when it makes a difference to performance.
If we need to do this, we should add an ASSERT() that invokes the scope's
exception() method to verify the result. Since exception scope verification
is only done on DEBUG builds, this ASSERT will satisfy the verification
requirements without impacting performance. For example,
void foo(...)
{
auto scope = DECLARE_THROW_SCOPE(vm);
bool failed = goo1(); may throw.
ASSERT(!!scope.exception() == failed)
if (failed)
return;
result = goo2(); may throw.
...
return result;
}
- Debugging verification errors
- When verification fails, you will see a message followed by an assertion failure. For example:
ERROR: Unchecked JS exception:
This scope can throw a JS exception: setUpCall @ /Volumes/Data/ws6/OpenSource/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1245
(ExceptionScope::m_recursionDepth was ...)
But the exception was unchecked as of this scope: varargsSetup @ /Volumes/Data/ws6/OpenSource/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1398
(ExceptionScope::m_recursionDepth was ...)
[ backtrace here ]
The message tells you that failure was detected at in varargsSetup() at
LLIntSlowPaths.cpp line 1398, and that the missing exception check should
have happened somewhere between the call to setUpCall() at LLIntSlowPaths.cpp
line 1245 and it.
If that is insufficient information, you can ...
- Dump simulated throws
Re-run the test case with JSC_dumpSimulatedThrows=true. You will also see
back traces at each simulated throw.
- Narrowing down the source of a simulated throw
Another technique for narrowing down the source of simulated throws is by
further dividing a function to smaller regions by separating each region
with additional local throw scopes. For example,
... Region 1
{ auto scope = DECLARE_THROW_SCOPE(vm); }
... Region 2
{ auto scope = DECLARE_THROW_SCOPE(vm); }
... Region 3
- API/APIUtils.h:
(handleExceptionIfNeeded):
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptFunctionCall::call):
- bindings/ScriptValue.cpp:
(Deprecated::ScriptValue::toString):
- debugger/Debugger.cpp:
(JSC::Debugger::pauseIfNeeded):
- debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::evaluateWithScopeExtension):
- dfg/DFGOSRExitCompiler.cpp:
- dfg/DFGOperations.cpp:
(JSC::DFG::operationPutByValInternal):
- inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::createInjectedScript):
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::evaluateWithScopeExtension):
(Inspector::JSInjectedScriptHost::getInternalProperties):
(Inspector::JSInjectedScriptHost::weakMapEntries):
(Inspector::JSInjectedScriptHost::weakSetEntries):
(Inspector::JSInjectedScriptHost::iteratorEntries):
- inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension):
- inspector/ScriptCallStackFactory.cpp:
(Inspector::extractSourceInformationFromException):
- interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
- interpreter/CallFrame.h:
(JSC::ExecState::clearException): Deleted.
(JSC::ExecState::exception): Deleted.
(JSC::ExecState::hadException): Deleted.
(JSC::ExecState::lastException): Deleted.
(JSC::ExecState::clearLastException): Deleted.
- interpreter/Interpreter.cpp:
(JSC::eval):
(JSC::sizeOfVarargs):
(JSC::notifyDebuggerOfUnwinding):
(JSC::Interpreter::unwind):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::debug):
- interpreter/Interpreter.h:
(JSC::SuspendExceptionScope::SuspendExceptionScope):
- interpreter/ShadowChicken.cpp:
(JSC::ShadowChicken::functionsOnStack):
- jit/JITCode.cpp:
(JSC::JITCode::execute):
- jit/JITExceptions.cpp:
(JSC::genericUnwind):
- jit/JITOperations.cpp:
(JSC::getByVal):
- jsc.cpp:
(WTF::ImpureGetter::getOwnPropertySlot):
(GlobalObject::moduleLoaderResolve):
(GlobalObject::moduleLoaderFetch):
(functionCreateElement):
(functionRun):
(functionRunString):
(functionLoad):
(functionLoadString):
(functionReadFile):
(functionCheckSyntax):
(functionSetRandomSeed):
(functionLoadModule):
(functionCreateBuiltin):
(functionCheckModuleSyntax):
(functionGenerateHeapSnapshot):
(functionSamplingProfilerStackTraces):
(dumpException):
(checkUncaughtException):
(runWithScripts):
(runInteractive):
- llint/LLIntExceptions.cpp:
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- profiler/ProfilerBytecodeSequence.cpp:
(JSC::Profiler::BytecodeSequence::addSequenceProperties):
- profiler/ProfilerCompilation.cpp:
(JSC::Profiler::Compilation::toJS):
- profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::toJS):
- profiler/ProfilerOSRExitSite.cpp:
(JSC::Profiler::OSRExitSite::toJS):
- profiler/ProfilerOriginStack.cpp:
(JSC::Profiler::OriginStack::toJS):
- runtime/ArrayPrototype.cpp:
(JSC::speciesConstructArray):
(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::slowJoin):
(JSC::fastJoin):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):
(JSC::moveElements):
(JSC::concatAppendOne):
(JSC::arrayProtoPrivateFuncConcatMemcpy):
- runtime/BooleanConstructor.cpp:
(JSC::constructWithBooleanConstructor):
- runtime/CallData.cpp:
(JSC::call):
- runtime/CatchScope.cpp: Added.
(JSC::CatchScope::CatchScope):
(JSC::CatchScope::~CatchScope):
- runtime/CatchScope.h: Added.
(JSC::CatchScope::clearException):
(JSC::CatchScope::CatchScope):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::opIn):
- runtime/CommonSlowPathsExceptions.cpp:
(JSC::CommonSlowPaths::interpreterThrowInCaller):
- runtime/Completion.cpp:
(JSC::evaluate):
(JSC::rejectPromise):
(JSC::loadAndEvaluateModule):
(JSC::loadModule):
- runtime/ConsoleObject.cpp:
(JSC::consoleProtoFuncAssert):
(JSC::consoleProtoFuncProfile):
(JSC::consoleProtoFuncProfileEnd):
(JSC::consoleProtoFuncTakeHeapSnapshot):
(JSC::consoleProtoFuncTime):
(JSC::consoleProtoFuncTimeEnd):
- runtime/DateConstructor.cpp:
(JSC::constructDate):
(JSC::dateParse):
- runtime/DatePrototype.cpp:
(JSC::dateProtoFuncToPrimitiveSymbol):
(JSC::dateProtoFuncToJSON):
- runtime/ErrorConstructor.cpp:
(JSC::Interpreter::constructWithErrorConstructor):
- runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::sanitizedToString):
- runtime/ErrorPrototype.cpp:
(JSC::errorProtoFuncToString):
- runtime/ExceptionEventLocation.cpp: Added.
(WTF::printInternal):
- runtime/ExceptionEventLocation.h: Copied from Source/JavaScriptCore/runtime/ThrowScopeLocation.h.
(JSC::ExceptionEventLocation::ExceptionEventLocation):
(JSC::ThrowScopeLocation::ThrowScopeLocation): Deleted.
- runtime/ExceptionHelpers.h:
- runtime/ExceptionScope.cpp: Added.
(JSC::ExceptionScope::ExceptionScope):
(JSC::ExceptionScope::~ExceptionScope):
- runtime/ExceptionScope.h: Added.
(JSC::ExceptionScope::vm):
(JSC::ExceptionScope::recursionDepth):
(JSC::ExceptionScope::exception):
(JSC::ExceptionScope::ExceptionScope):
- runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncBind):
- runtime/GenericArgumentsInlines.h:
(JSC::GenericArguments<Type>::copyToArguments):
- runtime/GetterSetter.cpp:
(JSC::callGetter):
- runtime/InspectorInstrumentationObject.cpp:
(JSC::inspectorInstrumentationObjectLog):
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::createSubclassStructure):
- runtime/IntlCollator.cpp:
(JSC::IntlCollator::initializeCollator):
(JSC::IntlCollator::createCollator):
(JSC::IntlCollator::resolvedOptions):
- runtime/IntlCollatorConstructor.cpp:
(JSC::constructIntlCollator):
(JSC::IntlCollatorConstructorFuncSupportedLocalesOf):
- runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorFuncCompare):
(JSC::IntlCollatorPrototypeGetterCompare):
- runtime/IntlDateTimeFormat.cpp:
(JSC::toDateTimeOptionsAnyDate):
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::resolvedOptions):
(JSC::IntlDateTimeFormat::format):
- runtime/IntlDateTimeFormatConstructor.cpp:
(JSC::constructIntlDateTimeFormat):
(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf):
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatFuncFormatDateTime):
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::initializeNumberFormat):
(JSC::IntlNumberFormat::createNumberFormat):
(JSC::IntlNumberFormat::resolvedOptions):
- runtime/IntlNumberFormatConstructor.cpp:
(JSC::constructIntlNumberFormat):
(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatFuncFormatNumber):
(JSC::IntlNumberFormatPrototypeGetterFormat):
- runtime/IntlObject.cpp:
(JSC::intlBooleanOption):
(JSC::intlStringOption):
(JSC::intlNumberOption):
(JSC::canonicalizeLocaleList):
(JSC::supportedLocales):
- runtime/IntlObjectInlines.h:
(JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor):
- runtime/IteratorOperations.cpp:
(JSC::iteratorNext):
(JSC::iteratorStep):
(JSC::iteratorClose):
(JSC::iteratorForIterable):
- runtime/IteratorOperations.h:
(JSC::forEachInIterable):
- runtime/JSArray.cpp:
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::copyToArguments):
- runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer):
- runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferProtoFuncSlice):
- runtime/JSArrayInlines.h:
(JSC::getLength):
(JSC::toLength):
- runtime/JSBoundFunction.cpp:
(JSC::getBoundFunctionStructure):
(JSC::JSBoundFunction::create):
- runtime/JSCJSValue.cpp:
(JSC::JSValue::putToPrimitive):
(JSC::JSValue::putToPrimitiveByIndex):
(JSC::JSValue::toStringSlowCase):
- runtime/JSCJSValueInlines.h:
(JSC::toPreferredPrimitiveType):
(JSC::JSValue::getPropertySlot):
(JSC::JSValue::equalSlowCaseInline):
- runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
- runtime/JSFunction.cpp:
(JSC::JSFunction::setFunctionName):
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndex):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewFromIterator):
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::speciesConstruct):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
- runtime/JSGlobalObject.h:
(JSC::constructEmptyArray):
(JSC::constructArray):
(JSC::constructArrayNegativeIndexed):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
- runtime/JSJob.cpp:
(JSC::JSJobMicrotask::run):
- runtime/JSModuleEnvironment.cpp:
(JSC::JSModuleEnvironment::getOwnPropertySlot):
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::fetch):
- runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::JSModuleNamespaceObject::getOwnPropertySlot):
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::instantiateDeclarations):
- runtime/JSONObject.cpp:
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::stringify):
(JSC::Stringifier::toJSON):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
(JSC::JSONProtoFuncParse):
- runtime/JSObject.cpp:
(JSC::ordinarySetSlow):
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::callToPrimitiveFunction):
(JSC::JSObject::ordinaryToPrimitive):
(JSC::JSObject::defaultHasInstance):
(JSC::JSObject::getPropertyNames):
(JSC::JSObject::toNumber):
(JSC::JSObject::toString):
(JSC::JSObject::defineOwnNonIndexProperty):
(JSC::JSObject::getGenericPropertyNames):
(JSC::JSObject::getMethod):
- runtime/JSObjectInlines.h:
(JSC::createListFromArrayLike):
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):
- runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
- runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):
- runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::create):
- runtime/JSScope.cpp:
(JSC::isUnscopable):
(JSC::JSScope::resolve):
- runtime/JSString.cpp:
(JSC::JSString::equalSlowCase):
- runtime/JSStringJoiner.cpp:
(JSC::JSStringJoiner::join):
- runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::parse):
- runtime/MapConstructor.cpp:
(JSC::constructMap):
- runtime/MathObject.cpp:
(JSC::mathProtoFuncClz32):
(JSC::mathProtoFuncHypot):
(JSC::mathProtoFuncIMul):
- runtime/ModuleLoaderPrototype.cpp:
(JSC::moduleLoaderPrototypeParseModule):
(JSC::moduleLoaderPrototypeRequestedModules):
(JSC::moduleLoaderPrototypeModuleDeclarationInstantiation):
- runtime/NativeErrorConstructor.cpp:
(JSC::Interpreter::constructWithNativeErrorConstructor):
- runtime/NumberConstructor.cpp:
(JSC::constructWithNumberConstructor):
- runtime/ObjectConstructor.cpp:
(JSC::constructObject):
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorSetPrototypeOf):
(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorGetOwnPropertyDescriptors):
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorGetOwnPropertySymbols):
(JSC::objectConstructorKeys):
(JSC::ownEnumerablePropertyKeys):
(JSC::toPropertyDescriptor):
(JSC::objectConstructorDefineProperty):
(JSC::defineProperties):
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):
(JSC::objectConstructorIsExtensible):
(JSC::ownPropertyKeys):
- runtime/ObjectConstructor.h:
(JSC::constructObjectFromPropertyDescriptor):
- runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString):
- runtime/Operations.cpp:
(JSC::jsAddSlowCase):
- runtime/Options.h:
- runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::slowGetterSetter):
- runtime/ProxyConstructor.cpp:
(JSC::makeRevocableProxy):
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::toStringName):
(JSC::performProxyGet):
(JSC::ProxyObject::performGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::performPut):
(JSC::ProxyObject::putByIndexCommon):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):
- runtime/ReflectObject.cpp:
(JSC::reflectObjectConstruct):
(JSC::reflectObjectDefineProperty):
(JSC::reflectObjectGet):
(JSC::reflectObjectGetOwnPropertyDescriptor):
(JSC::reflectObjectIsExtensible):
(JSC::reflectObjectPreventExtensions):
(JSC::reflectObjectSet):
(JSC::reflectObjectSetPrototypeOf):
- runtime/RegExpConstructor.cpp:
(JSC::toFlags):
(JSC::regExpCreate):
(JSC::constructRegExp):
- runtime/RegExpConstructor.h:
(JSC::isRegExp):
- runtime/RegExpObject.cpp:
(JSC::collectMatches):
(JSC::RegExpObject::matchGlobal):
- runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncCompile):
(JSC::flagsString):
(JSC::regExpProtoFuncToString):
(JSC::regExpProtoGetterFlags):
(JSC::regExpProtoFuncSearchFast):
(JSC::regExpProtoFuncSplitFast):
- runtime/SetConstructor.cpp:
(JSC::constructSet):
- runtime/StringConstructor.cpp:
(JSC::stringFromCodePoint):
(JSC::constructWithStringConstructor):
- runtime/StringObject.cpp:
(JSC::StringObject::defineOwnProperty):
- runtime/StringPrototype.cpp:
(JSC::replaceUsingRegExpSearch):
(JSC::operationStringProtoFuncReplaceRegExpEmptyStr):
(JSC::replaceUsingStringSearch):
(JSC::replace):
(JSC::stringProtoFuncReplaceUsingRegExp):
(JSC::stringProtoFuncReplaceUsingStringSearch):
(JSC::stringProtoFuncCodePointAt):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplitFast):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncLocaleCompare):
(JSC::toLocaleCase):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::trimString):
(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):
(JSC::stringIncludesImpl):
(JSC::stringProtoFuncIncludes):
(JSC::builtinStringIncludesInternal):
(JSC::stringProtoFuncNormalize):
- runtime/SymbolConstructor.cpp:
(JSC::symbolConstructorFor):
- runtime/TemplateRegistry.cpp:
(JSC::TemplateRegistry::getTemplateObject):
- runtime/ThrowScope.cpp:
(JSC::ThrowScope::ThrowScope):
(JSC::ThrowScope::~ThrowScope):
(JSC::ThrowScope::throwException):
(JSC::ThrowScope::simulateThrow):
(JSC::ThrowScope::printIfNeedCheck): Deleted.
(JSC::ThrowScope::verifyExceptionCheckNeedIsSatisfied): Deleted.
- runtime/ThrowScope.h:
(JSC::ThrowScope::release):
(JSC::ThrowScope::ThrowScope):
(JSC::ThrowScope::throwException):
(JSC::ThrowScope::vm): Deleted.
(JSC::ThrowScope::exception): Deleted.
- runtime/ThrowScopeLocation.h: Removed.
- runtime/VM.cpp:
(JSC::VM::verifyExceptionCheckNeedIsSatisfied):
- runtime/VM.h:
(JSC::VM::exception):
(JSC::VM::clearException):
(JSC::VM::setException): Deleted.
- runtime/WeakMapConstructor.cpp:
(JSC::constructWeakMap):
- runtime/WeakSetConstructor.cpp:
(JSC::constructWeakSet):
- tools/JSDollarVMPrototype.cpp:
(JSC::functionPrint):
Source/WebCore:
No new test because there is no behavior change in general except for 1 bug fix.
That bug is already caught by existing tests with the introduction of the CatchScope.
Fixes a bug in JSEventListener::handleEvent() where the exception thrown from
a failed attempt to get the handleEvent callback is not handled.
- ForwardingHeaders/runtime/CatchScope.h: Added.
- Modules/encryptedmedia/CDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::update):
- Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::putOrAdd):
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
- Modules/mediastream/SDPProcessor.cpp:
(WebCore::SDPProcessor::callScript):
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected):
(WebCore::QuickTimePluginReplacement::installReplacement):
- bindings/js/ArrayValue.cpp:
(WebCore::ArrayValue::get):
- bindings/js/Dictionary.cpp:
(WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::toJS):
- bindings/js/JSApplePaySessionCustom.cpp:
(WebCore::JSApplePaySession::completeShippingMethodSelection):
(WebCore::JSApplePaySession::completeShippingContactSelection):
(WebCore::JSApplePaySession::completePaymentMethodSelection):
- bindings/js/JSAudioTrackCustom.cpp:
(WebCore::JSAudioTrack::setKind):
(WebCore::JSAudioTrack::setLanguage):
- bindings/js/JSBlobCustom.cpp:
(WebCore::constructJSBlob):
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
- bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::getJSListenerFunctions):
- bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier):
(WebCore::getHashAlgorithm):
(WebCore::createAesCbcParams):
(WebCore::createAesKeyGenParams):
(WebCore::createHmacParams):
(WebCore::createHmacKeyParams):
(WebCore::createRsaKeyGenParams):
(WebCore::createRsaOaepParams):
(WebCore::createRsaSsaParams):
- bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::getJSArrayFromJSON):
(WebCore::getStringFromJSON):
(WebCore::getBooleanFromJSON):
(WebCore::JSCryptoKeySerializationJWK::JSCryptoKeySerializationJWK):
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
(WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence):
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents):
(WebCore::JSCryptoKeySerializationJWK::keyData):
(WebCore::buildJSONForRSAComponents):
(WebCore::addUsagesToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::constructElement):
(WebCore::constructCustomElementSynchronously):
(WebCore::JSCustomElementInterface::upgradeElement):
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::getCustomElementCallback):
(WebCore::JSCustomElementRegistry::define):
(WebCore::whenDefinedPromise):
(WebCore::JSCustomElementRegistry::whenDefined):
- bindings/js/JSDOMBinding.cpp:
(WebCore::valueToUSVString):
(WebCore::reportException):
(WebCore::reportCurrentException):
(WebCore::setDOMException):
(WebCore::hasIteratorMethod):
(WebCore::toSmallerInt):
(WebCore::toSmallerUInt):
(WebCore::toInt32EnforceRange):
(WebCore::toUInt32EnforceRange):
(WebCore::toInt64EnforceRange):
(WebCore::toUInt64EnforceRange):
(WebCore::throwNotSupportedError):
(WebCore::throwInvalidStateError):
(WebCore::throwSecurityError):
- bindings/js/JSDOMBinding.h:
(WebCore::toJSSequence):
(WebCore::toJS):
(WebCore::jsFrozenArray):
(WebCore::NativeValueTraits<String>::nativeValue):
(WebCore::NativeValueTraits<unsigned>::nativeValue):
(WebCore::NativeValueTraits<float>::nativeValue):
(WebCore::NativeValueTraits<double>::nativeValue):
(WebCore::toNativeArray):
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::makeThisTypeErrorForBuiltins):
(WebCore::makeGetterTypeErrorForBuiltins):
- bindings/js/JSDOMGlobalObjectTask.cpp:
- bindings/js/JSDOMIterator.h:
(WebCore::iteratorForEach):
- bindings/js/JSDOMPromise.cpp:
(WebCore::rejectPromiseWithExceptionIfAny):
- bindings/js/JSDOMPromise.h:
(WebCore::callPromiseFunction):
- bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::putDelegate):
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowMicrotaskCallback::call):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation):
(WebCore::JSDOMWindow::open):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::handlePostMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
- bindings/js/JSDataCueCustom.cpp:
(WebCore::constructJSDataCue):
- bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::readAccelerationArgument):
(WebCore::readRotationRateArgument):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
- bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::tryGetProperty):
(WebCore::JSDictionary::convertValue):
- bindings/js/JSDictionary.h:
(WebCore::JSDictionary::tryGetPropertyAndResult):
- bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::getCSSCanvasContext):
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
- bindings/js/JSFileCustom.cpp:
(WebCore::constructJSFile):
- bindings/js/JSGeolocationCustom.cpp:
(WebCore::createPositionOptions):
(WebCore::JSGeolocation::getCurrentPosition):
(WebCore::JSGeolocation::watchPosition):
- bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
- bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::get3DContextAttributes):
(WebCore::JSHTMLCanvasElement::getContext):
(WebCore::JSHTMLCanvasElement::probablySupportsContext):
- bindings/js/JSHTMLElementCustom.cpp:
(WebCore::constructJSHTMLElement):
- bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):
- bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::createObjectStore):
- bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction):
- bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::linkAndEvaluateModule):
(WebCore::JSMainThreadExecState::~JSMainThreadExecState):
- bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
- bindings/js/JSMessagePortCustom.cpp:
(WebCore::fillMessagePortArray):
- bindings/js/JSMessagePortCustom.h:
(WebCore::handlePostMessage):
- bindings/js/JSMockContentFilterSettingsCustom.cpp:
(WebCore::JSMockContentFilterSettings::setDecisionPoint):
(WebCore::toDecision):
(WebCore::JSMockContentFilterSettings::setDecision):
(WebCore::JSMockContentFilterSettings::setUnblockRequestDecision):
- bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::acceptNode):
- bindings/js/JSNodeOrString.cpp:
(WebCore::toNodeOrStringVector):
- bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql):
- bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::convertToSpecifiedUnits):
- bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::getOwnPropertyNames):
(WebCore::JSStorage::putDelegate):
- bindings/js/JSTextTrackCustom.cpp:
(WebCore::JSTextTrack::setLanguage):
- bindings/js/JSVideoTrackCustom.cpp:
(WebCore::JSVideoTrack::setKind):
(WebCore::JSVideoTrack::setLanguage):
- bindings/js/JSWebGL2RenderingContextCustom.cpp:
(WebCore::JSWebGL2RenderingContext::getIndexedParameter):
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContextBase::getExtension):
(WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContextBase::getParameter):
(WebCore::JSWebGLRenderingContextBase::getProgramParameter):
(WebCore::JSWebGLRenderingContextBase::getShaderParameter):
(WebCore::toVector):
(WebCore::dataFunctionf):
(WebCore::dataFunctionMatrix):
- bindings/js/JSWebKitSubtleCryptoCustom.cpp:
(WebCore::createAlgorithmFromJSValue):
(WebCore::cryptoKeyFormatFromJSValue):
(WebCore::cryptoKeyUsagesFromJSValue):
(WebCore::JSWebKitSubtleCrypto::encrypt):
(WebCore::JSWebKitSubtleCrypto::decrypt):
(WebCore::JSWebKitSubtleCrypto::sign):
(WebCore::JSWebKitSubtleCrypto::verify):
(WebCore::JSWebKitSubtleCrypto::digest):
(WebCore::JSWebKitSubtleCrypto::generateKey):
(WebCore::importKey):
(WebCore::JSWebKitSubtleCrypto::importKey):
(WebCore::exportKey):
(WebCore::JSWebKitSubtleCrypto::exportKey):
(WebCore::JSWebKitSubtleCrypto::wrapKey):
(WebCore::JSWebKitSubtleCrypto::unwrapKey):
- bindings/js/JSWorkerCustom.cpp:
(WebCore::constructJSWorker):
- bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::importScripts):
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):
- bindings/js/ReadableStreamDefaultController.cpp:
(WebCore::ReadableStreamDefaultController::invoke):
(WebCore::ReadableStreamDefaultController::isControlledReadableStreamLocked):
- bindings/js/ReadableStreamDefaultController.h:
(WebCore::ReadableStreamDefaultController::enqueue):
- bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
- bindings/js/ScriptGlobalObject.cpp:
(WebCore::ScriptGlobalObject::set):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneBase::shouldTerminate):
(WebCore::CloneDeserializer::deserialize):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):
- bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
(GenerateImplementation):
(GenerateParametersCheck):
(GenerateImplementationFunctionCall):
(GenerateConstructorDefinition):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::construct):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionItem):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::setJSTestGlobalObjectRegularAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute):
(WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute):
(WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::setJSTestNodeName):
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::convertDictionary<AlternateDictionaryName>):
(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::setJSTestObjEnumAttr):
(WebCore::setJSTestObjByteAttr):
(WebCore::setJSTestObjOctetAttr):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjClampedShortAttr):
(WebCore::setJSTestObjEnforceRangeShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjLongAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjUsvstringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjTestNullableObjAttr):
(WebCore::setJSTestObjLenientTestObjAttr):
(WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString):
(WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString):
(WebCore::setJSTestObjImplementationEnumAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedUSVStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedUSVURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjEnabledAtRuntimeAttribute):
(WebCore::setJSTestObjTypedArrayAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithGetterExceptionWithMessage):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjAttrWithSetterExceptionWithMessage):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjCustomAttr):
(WebCore::setJSTestObjOnfoo):
(WebCore::setJSTestObjOnwebkitfoo):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjId):
(WebCore::setJSTestObjReplaceableAttribute):
(WebCore::setJSTestObjNullableLongSettableAttribute):
(WebCore::setJSTestObjNullableStringSettableAttribute):
(WebCore::setJSTestObjNullableUSVStringSettableAttribute):
(WebCore::setJSTestObjNullableStringValue):
(WebCore::setJSTestObjAttributeWithReservedEnumType):
(WebCore::setJSTestObjPutForwardsAttribute):
(WebCore::setJSTestObjPutForwardsNullableAttribute):
(WebCore::setJSTestObjStringifierAttribute):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter):
(WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionGetElementById):
(WebCore::jsTestObjPrototypeFunctionConvert3):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionAttachShadowRoot):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::constructJSTestOverloadedConstructorsWithSequence1):
(WebCore::constructJSTestOverloadedConstructorsWithSequence2):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
- bridge/NP_jsobject.cpp:
(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
(_NPN_Construct):
- bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
- bridge/objc/WebScriptObject.mm:
(WebCore::addExceptionToConsole):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject hasWebScriptKey:]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
- contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::getDomainList):
(WebCore::ContentExtensions::getTypeFlags):
(WebCore::ContentExtensions::loadTrigger):
(WebCore::ContentExtensions::loadAction):
(WebCore::ContentExtensions::loadEncodedRules):
- html/HTMLMediaElement.cpp:
(WebCore::controllerJSValue):
(WebCore::HTMLMediaElement::updateCaptionContainer):
(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
(WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange):
(WebCore::HTMLMediaElement::getCurrentMediaControlsStatus):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
Source/WebKit/mac:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
- WebView/WebView.mm:
(aeDescFromJSValue):
Source/WebKit/win:
- Plugins/PluginPackage.cpp:
(WebCore::NPN_Evaluate):
(WebCore::NPN_Invoke):
Source/WebKit2:
- WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::construct):
(WebKit::NPJSObject::invoke):
Source/WTF:
- wtf/Platform.h:
- 3:01 PM Changeset in webkit [205568] by
-
- 9 edits in trunk
[INTL] some valid language tags cause errors in Intl constructors
https://bugs.webkit.org/show_bug.cgi?id=161672
Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2016-09-07
Reviewed by Mark Lam.
Source/JavaScriptCore:
Fix private use tag parsing to match spec, allowing single character parts.
https://www.rfc-editor.org/rfc/bcp/bcp47.txt
`
privateuse = "x" 1*("-" (1*8alphanum))
`
- runtime/IntlObject.cpp:
(JSC::privateUseLangTag): Allow singleton parts in private use tag.
LayoutTests:
Add list of valid language tags that should not throw from test262.
- js/intl-collator-expected.txt:
- js/intl-datetimeformat-expected.txt:
- js/intl-numberformat-expected.txt:
- js/script-tests/intl-collator.js:
- js/script-tests/intl-datetimeformat.js:
- js/script-tests/intl-numberformat.js:
- 2:17 PM Changeset in webkit [205567] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Remove a couple of useless forward declaration
https://bugs.webkit.org/show_bug.cgi?id=161676
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-07
Reviewed by Mark Lam.
JITMathICForwards.h should take care of declarating the Math ICs.
- bytecode/CodeBlock.h:
- jit/JITOperations.h:
- 1:21 PM Changeset in webkit [205566] by
-
- 2 edits in trunk/Source/JavaScriptCore
Make emitAllocateWithNonNullAllocator's sub32() disallow-scratch-friendly
https://bugs.webkit.org/show_bug.cgi?id=161706
Reviewed by Geoffrey Garen.
You can't sub32(Addr, Reg) on not-x86 without using a scratch register. So, on those CPUs, we
have to do something different.
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):
- 1:19 PM Changeset in webkit [205565] by
-
- 4 edits in trunk
Fix handling of negative radius in HTMLAreaElement's coords when in circle state
https://bugs.webkit.org/show_bug.cgi?id=161690
Reviewed by Daniel Bates.
LayoutTests/imported/w3c:
Rebaseline existing test now that one more check is passing.
- web-platform-tests/html/semantics/embedded-content/the-area-element/area-processing-expected.txt:
Source/WebCore:
Fix handling of negative radius in HTMLAreaElement's coords when in
circle state:
The radius must be non-negative as per the specification. However, our
code fails to check.
Firefox and Chrome both reject negative radius.
No new tests, rebaselined existing test.
- html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::getRegion):
- 1:19 PM Changeset in webkit [205564] by
-
- 1 copy in tags/Safari-603.1.5
New tag.
- 1:19 PM Changeset in webkit [205563] by
-
- 5 edits in trunk/Source
Versioning.
- 12:47 PM Changeset in webkit [205562] by
-
- 5 edits in trunk
Align HTMLAreaElement shape parsing with the specification
https://bugs.webkit.org/show_bug.cgi?id=161698
Reviewed by Daniel Bates.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing. Chrome is also
passing all the checks in this test.
- web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape.html:
Incorporate https://github.com/w3c/web-platform-tests/pull/3659
Source/WebCore:
Align HTMLAreaElement shape parsing with the specification:
In particular, add support for circ / polygon non conforming shapes
and use rectangle as default state.
This also aligns our behavior with Chrome.
No new tests, rebaselined existing test.
- html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::parseAttribute):
- 12:45 PM Changeset in webkit [205561] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Make inspection of Inspector conditional on DEVELOPER_MODE
https://bugs.webkit.org/show_bug.cgi?id=161702
Reviewed by Michael Catanzaro.
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
- 12:28 PM Changeset in webkit [205560] by
-
- 8 edits2 adds in trunk
Update WebKitSystemInterface
Rubber-stamped by Dean Jackson.
Tools:
Copy WebKitSystemInterface for iOS 10 to the built products directory.
- Scripts/copy-webkitlibraries-to-product-directory:
WebKitLibraries:
Additionally, add WebKitSystemInterface for iOS 10.
- libWebKitSystemInterfaceElCapitan.a:
- libWebKitSystemInterfaceIOSDevice10.a: Added.
- libWebKitSystemInterfaceIOSDevice9.a:
- libWebKitSystemInterfaceIOSSimulator10.a: Added.
- libWebKitSystemInterfaceIOSSimulator9.a:
- libWebKitSystemInterfaceOSX10.12.a:
- libWebKitSystemInterfaceYosemite.a:
- 12:23 PM Changeset in webkit [205559] by
-
- 38 edits in trunk/Source/WebKit2
[Cocoa] Update availability attributes per the macOS Sierra and iOS 10 GM seeds
https://bugs.webkit.org/show_bug.cgi?id=161704
Reviewed by Anders Carlsson.
- Shared/API/Cocoa/_WKHitTestResult.h:
- UIProcess/API/Cocoa/WKErrorPrivate.h:
- UIProcess/API/Cocoa/WKFrameInfoPrivate.h:
- UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
- UIProcess/API/Cocoa/WKOpenPanelParameters.h:
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/WKPreviewActionItem.h:
- UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.h:
- UIProcess/API/Cocoa/WKPreviewElementInfo.h:
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/API/Cocoa/WKUIDelegate.h:
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
- UIProcess/API/Cocoa/WKUserScriptPrivate.h:
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.h:
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
- UIProcess/API/Cocoa/_WKAutomationSession.h:
- UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
- UIProcess/API/Cocoa/_WKElementAction.h:
- UIProcess/API/Cocoa/_WKExperimentalFeature.h:
- UIProcess/API/Cocoa/_WKFormInputSession.h:
- UIProcess/API/Cocoa/_WKInputDelegate.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
- UIProcess/API/Cocoa/_WKUserContentWorld.h:
- UIProcess/API/Cocoa/_WKUserInitiatedAction.h:
- UIProcess/API/Cocoa/_WKUserStyleSheet.h:
- UIProcess/API/Cocoa/_WKWebsiteDataSize.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h:
- 12:19 PM Changeset in webkit [205558] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed CMake build fix after r205552
- CMakeLists.txt:
- 12:08 PM Changeset in webkit [205557] by
-
- 2 edits in trunk/Source/WebCore
Fix WebCore build when building for device with iOS 10 beta SDK
Define SPI macro kIOReturnSuccess.
- platform/spi/cocoa/IOReturnSPI.h:
- 11:13 AM Changeset in webkit [205556] by
-
- 17 edits in trunk
[EFL] Switch to ENABLE_NETWORK_CACHE
https://bugs.webkit.org/show_bug.cgi?id=152676
Reviewed by Alex Christensen.
.:
Build with -Wno-error=missing-field-initializers to avoid spurious build failures.
- Source/cmake/OptionsEfl.cmake:
Source/WebCore:
- PlatformEfl.cmake: Add GRefPtrSoup to build.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::clearOldSoupCache): Renamed from clearCache.
(WebCore::SoupNetworkSession::setCache): Deleted.
(WebCore::SoupNetworkSession::cache): Deleted.
(WebCore::SoupNetworkSession::clearCache): Deleted.
- platform/network/soup/SoupNetworkSession.h:
Source/WebKit2:
Nowadays GTK+ always uses the network cache, and never the soup cache. Remove support for
using the soup cache, and switch the EFL port to use network cache.
- NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
(WebKit::NetworkCache::BlobStorage::add): Check return value of link to placate
-Werror=unused-result on EFL builder
- NetworkProcess/efl/NetworkProcessMainEfl.cpp:
- NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::getCacheDiskFreeSize):
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::platformSetCacheModel):
(WebKit::NetworkProcess::clearDiskCache):
- PlatformEfl.cmake: Add files to build.
- UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:
(API::WebsiteDataStore::defaultNetworkCacheDirectory): Use a saner location.
- UIProcess/API/gtk/APIWebsiteDataStoreGtk.cpp:
(API::WebsiteDataStore::defaultNetworkCacheDirectory):
- UIProcess/API/gtk/WebKitPrivate.h:
- UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
- WebProcess/efl/WebProcessMainEfl.cpp:
- config.h:
- 10:24 AM Changeset in webkit [205555] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: clicking Computed Styles sidebar "Show All" checkbox doesn't trigger relayout of Properties section
https://bugs.webkit.org/show_bug.cgi?id=161652
Patch by Devin Rousso <Devin Rousso> on 2016-09-07
Reviewed by Brian Burg.
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
Fixed style issues from r205518 <webkit.org/b/161405>.
- UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
Added missing space between semicolon and curly-brace.
(WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
Added updateLayout call to resize and repopulate the CodeMirror instance.
- 10:21 AM Changeset in webkit [205554] by
-
- 10 edits2 deletes in trunk
Drop legacy canvas.probablySupportsContext()
https://bugs.webkit.org/show_bug.cgi?id=161692
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical-expected.txt:
Source/WebCore:
Drop legacy canvas.probablySupportsContext() as it is no longer in the specification:
Firefox and Chrome do not support canvas.probablySupportsContext().
No new tests, rebaselined existing test.
- bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::probablySupportsContext): Deleted.
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::probablySupportsContext): Deleted.
- html/HTMLCanvasElement.h:
- html/HTMLCanvasElement.idl:
Source/WebInspectorUI:
- UserInterface/Models/NativeFunctionParameters.js:
LayoutTests:
Drop legacy layout test.
- fast/canvas/webgl/canvas-supports-context-expected.txt: Removed.
- fast/canvas/webgl/canvas-supports-context.html: Removed.
- 10:12 AM Changeset in webkit [205553] by
-
- 3 edits in trunk/LayoutTests
[GTK] Layout test accessibility/media-emits-object-replacement.html fails
https://bugs.webkit.org/show_bug.cgi?id=161585
<rdar://problem/28157032>
Reviewed by Chris Fleizach.
Updated the test expectation.
- platform/gtk/accessibility/media-emits-object-replacement-expected.txt:
- 10:12 AM Changeset in webkit [205552] by
-
- 17 edits2 moves in trunk/Source/JavaScriptCore
Add support for WASM Loops and Branches
https://bugs.webkit.org/show_bug.cgi?id=161569
Reviewed by Benjamin Poulain.
This patch adds support for loops and branches to WASM. In order
to support loops, we needed to change the way the B3IRGenerator
tracked control information. Now, the control data holds three
pieces of information: The continuation block, the loop branch
target, and variables exiting the block. Whenever we branch to
some control point we first check if it is a loop by checking that
the loop branch target is non-null. If the branch is not targeting
a loop, we map the stack values to the associated B3 variables for
that stack slot.
Another interesting thing of note is that we now only allocate the
continuation basic block lazily. This is beneficial when the
continuation would just fall through to another block anyway. For
example, in code like: (block ... (block (add 1 2) end) end) the
continuation for the inner block just falls through to the outer
block's continuation so we don't need an extra block.
- B3CallingConventions.cpp:
(JSC::B3::jscCallingConvention): Deleted.
- B3CallingConventions.h:
(JSC::B3::CallingConvention::CallingConvention): Deleted.
(JSC::B3::CallingConvention::iterate): Deleted.
(JSC::B3::nextJSCOffset): Deleted.
- JavaScriptCore.xcodeproj/project.pbxproj:
- b3/B3Type.h:
- testWASM.cpp:
(runWASMTests):
- wasm/WASMB3IRGenerator.cpp:
(JSC::WASM::B3IRGenerator::LazyBlock::LazyBlock):
(JSC::WASM::B3IRGenerator::LazyBlock::operator bool):
(JSC::WASM::B3IRGenerator::LazyBlock::get):
(JSC::WASM::B3IRGenerator::LazyBlock::dump):
(JSC::WASM::B3IRGenerator::ControlData::ControlData):
(JSC::WASM::B3IRGenerator::ControlData::dump):
(JSC::WASM::B3IRGenerator::ControlData::targetBlockForBranch):
(JSC::WASM::B3IRGenerator::ControlData::isLoop):
(JSC::WASM::B3IRGenerator::addLocal):
(JSC::WASM::B3IRGenerator::addArguments):
(JSC::WASM::B3IRGenerator::setLocal):
(JSC::WASM::B3IRGenerator::addBlock):
(JSC::WASM::B3IRGenerator::addLoop):
(JSC::WASM::B3IRGenerator::endBlock):
(JSC::WASM::B3IRGenerator::addReturn):
(JSC::WASM::B3IRGenerator::addBranch):
(JSC::WASM::B3IRGenerator::initializeIncommingTypes):
(JSC::WASM::B3IRGenerator::unifyValuesWithBlock):
(JSC::WASM::B3IRGenerator::controlDataForLevel):
(JSC::WASM::B3IRGenerator::dumpGraphAndControlStack):
(JSC::WASM::parseAndCompile):
(JSC::WASM::B3IRGenerator::unifyValuesWithLevel): Deleted.
(JSC::WASM::B3IRGenerator::stackForControlLevel): Deleted.
(JSC::WASM::B3IRGenerator::blockForControlLevel): Deleted.
- wasm/WASMCallingConvention.cpp: Renamed from Source/JavaScriptCore/B3CallingConventions.cpp.
(JSC::WASM::jscCallingConvention):
- wasm/WASMCallingConvention.h: Renamed from Source/JavaScriptCore/B3CallingConventions.h.
(JSC::WASM::CallingConvention::CallingConvention):
(JSC::WASM::CallingConvention::iterate):
(JSC::WASM::nextJSCOffset):
- wasm/WASMFormat.h:
(JSC::WASM::toB3Type):
(JSC::WASM::isValueType):
- wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser<Context>::parse):
(JSC::WASM::FunctionParser<Context>::parseExpression):
- wasm/WASMModuleParser.cpp:
(JSC::WASM::ModuleParser::parseFunctionTypes):
- wasm/WASMOps.h:
- 10:04 AM Changeset in webkit [205551] by
-
- 7 edits2 moves in trunk/Source/WebCore
Rename ScrollBehavior to ScrollAlignment::Behavior
https://bugs.webkit.org/show_bug.cgi?id=161677
Reviewed by Tim Horton.
Free up ScrollBehavior for future use with CSS OM View scrolling by renaming the
existing ScrollBehavior, which is about alignment when scrolling into view.
Renamed ScrollBehavior* to ScrollAlignment.*, and made ScrollBehavior an enum class
in the struct.
No behavior change.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- editing/FrameSelection.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::getRectToExpose):
- rendering/RenderObject.h:
- rendering/RenderingAllInOne.cpp:
- rendering/ScrollAlignment.cpp: Renamed from Source/WebCore/rendering/ScrollBehavior.cpp.
- rendering/ScrollAlignment.h: Renamed from Source/WebCore/rendering/ScrollBehavior.h.
(WebCore::ScrollAlignment::getVisibleBehavior):
(WebCore::ScrollAlignment::getPartialBehavior):
(WebCore::ScrollAlignment::getHiddenBehavior):
- rendering/ScrollBehavior.h:
(WebCore::ScrollAlignment::getVisibleBehavior): Deleted.
(WebCore::ScrollAlignment::getPartialBehavior): Deleted.
(WebCore::ScrollAlignment::getHiddenBehavior): Deleted.
- 9:54 AM Changeset in webkit [205550] by
-
- 3 edits2 adds in trunk/Source/WebCore
Add CSSAtRule id info for new parser
https://bugs.webkit.org/show_bug.cgi?id=161695
Reviewed by Sam Weinig.
- WebCore.xcodeproj/project.pbxproj:
- css/parser/CSSAtRuleID.cpp: Added.
(WebCore::cssAtRuleID):
- css/parser/CSSAtRuleID.h: Added.
- 9:25 AM Changeset in webkit [205549] by
-
- 59 edits in trunk
[Streams API] Separate compile flag for ReadableStream and WritableStream
https://bugs.webkit.org/show_bug.cgi?id=161044
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-07
Reviewed by Alex Christensen.
.:
Moving from STREAMS_API to READABLESTREAM_API and WRITABLESTREAM_API compilation flags.
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake:
- Source/cmake/tools/vsprops/FeatureDefines.props:
Source/JavaScriptCore:
Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.
Updated builtin test to cover the case of @conditional taking ENABLE(XX) ENABLE(YY) flag. - Configurations/FeatureDefines.xcconfig:
- Scripts/tests/builtins/WebCore-GuardedInternalBuiltin-Separate.js:
- Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result:
Source/WebCore:
Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.
No change of behavior.
- CMakeLists.txt: Triggering regeneration of builtin wrapper files based on individual builtin header file content change to cope with @conditional changes.
- Configurations/FeatureDefines.xcconfig:
- DerivedSources.cpp:
- DerivedSources.make: Triggering regeneration of builtin wrapper files based on file content change to cope with @conditional changes.
- Modules/fetch/FetchBody.cpp:
- Modules/fetch/FetchBody.h:
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::isDisturbed):
(WebCore::FetchBodyOwner::blobLoadingSucceeded):
(WebCore::FetchBodyOwner::blobLoadingFailed):
(WebCore::FetchBodyOwner::blobChunk):
- Modules/fetch/FetchBodyOwner.h:
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::BodyLoader::didSucceed):
(WebCore::FetchResponse::BodyLoader::didFail):
(WebCore::FetchResponse::BodyLoader::didReceiveData):
- Modules/fetch/FetchResponse.h:
- Modules/fetch/FetchResponse.idl:
- Modules/fetch/FetchResponse.js:
(initializeFetchResponse):
- Modules/fetch/FetchResponseSource.cpp:
- Modules/fetch/FetchResponseSource.h:
- Modules/streams/ByteLengthQueuingStrategy.idl:
- Modules/streams/ByteLengthQueuingStrategy.js:
- Modules/streams/CountQueuingStrategy.idl:
- Modules/streams/CountQueuingStrategy.js:
- Modules/streams/ReadableStream.idl:
- Modules/streams/ReadableStream.js:
- Modules/streams/ReadableStreamDefaultController.idl:
- Modules/streams/ReadableStreamDefaultController.js:
- Modules/streams/ReadableStreamDefaultReader.idl:
- Modules/streams/ReadableStreamDefaultReader.js:
- Modules/streams/ReadableStreamInternals.js:
- Modules/streams/ReadableStreamSource.h:
- Modules/streams/ReadableStreamSource.idl:
- Modules/streams/StreamInternals.js:
- Modules/streams/WritableStream.idl:
- Modules/streams/WritableStream.js:
- Modules/streams/WritableStreamInternals.js:
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):
- bindings/js/JSReadableStreamPrivateConstructors.cpp:
- bindings/js/JSReadableStreamPrivateConstructors.h:
- bindings/js/JSReadableStreamSourceCustom.cpp:
- bindings/js/ReadableStreamDefaultController.cpp:
- bindings/js/ReadableStreamDefaultController.h:
- testing/Internals.cpp:
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit/mac:
Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.
- Scripts/webkitperl/FeatureList.pm:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 9:18 AM Changeset in webkit [205548] by
-
- 2 edits in trunk/LayoutTests
Skipping imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.html.
https://bugs.webkit.org/show_bug.cgi?id=161632
Unreviewed test gardening.
- 8:54 AM Changeset in webkit [205547] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Clarify frame callbacks behaviour in Wayland compositor
https://bugs.webkit.org/show_bug.cgi?id=161683
Patch by Emanuele Aina <Emanuele Aina> on 2016-09-07
Reviewed by Carlos Garcia Campos.
The way we fire frame callbacks in the nested Wayland compositor can
be puzzling to developers expecting Wayland semantics, but since we
have our own mechanism to handle synchronization we don't care much
about them. Add a comment to avoid surprised Wayland developers.
- UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::Surface::commit):
- 8:40 AM WebKitGTK/2.14.x edited by
- (diff)
- 8:40 AM WebKitGTK/2.14.x edited by
- Propose some merges (diff)
- 8:34 AM Changeset in webkit [205546] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[l10n] Updated Polish translation of WebKitGTK+ for 2.14
https://bugs.webkit.org/show_bug.cgi?id=161319
Patch by Piotr Drąg <piotrdrag@gmail.com> on 2016-09-07
Rubber-stamped by Michael Catanzaro.
- pl.po:
- 7:38 AM Changeset in webkit [205545] by
-
- 2 edits in trunk/Source/WebKit2
URTBF after r205369, just for fun.
- PlatformMac.cmake: Added new files.
- 6:47 AM Changeset in webkit [205544] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Crash of WebProcess on the last WebView disconnect
https://bugs.webkit.org/show_bug.cgi?id=161605
Reviewed by Michael Catanzaro.
Stop tracking X11 GL contexts to be cleanered on an exit handler. This was added to work around bugs on drivers,
and it's assuming that all GLContext not deleted when the exit handler is called are leaked, which is no longer
true, because PlatformDisplay now owns a GLContext and is deleted after exit handlers.
- platform/graphics/GLContext.cpp:
(WebCore::GLContext::GLContext):
(WebCore::GLContext::~GLContext):
(WebCore::activeContextList): Deleted.
(WebCore::GLContext::addActiveContext): Deleted.
(WebCore::GLContext::removeActiveContext): Deleted.
(WebCore::GLContext::cleanupActiveContextsAtExit): Deleted.
- 6:41 AM Changeset in webkit [205543] by
-
- 43 edits239 deletes in trunk/Source/WebKit2
[GTK] Remove unused GObject DOM unstable API
https://bugs.webkit.org/show_bug.cgi?id=161440
Reviewed by Philippe Normand.
Remove unstable GObject DOM API now that we no longer auto-generate the bindings.
- PlatformGTK.cmake:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimatable.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimatable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffect.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffect.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffectPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimeline.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimeline.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimelinePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.cpp:
(webkit_dom_attr_get_property):
(webkit_dom_attr_class_init):
(webkit_dom_attr_get_prefix): Deleted.
(webkit_dom_attr_get_local_name): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttrUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrack.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrack.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackList.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackList.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackListPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarProp.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarProp.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarPropPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManager.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManager.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManagerPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.cpp:
(webkit_dom_blob_get_property):
(webkit_dom_blob_class_init):
(webkit_dom_blob_get_size):
(webkit_dom_blob_init): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlobUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp:
(webkit_dom_character_data_get_property):
(webkit_dom_character_data_class_init):
(webkit_dom_character_data_get_length):
(webkit_dom_character_data_set_property): Deleted.
(webkit_dom_character_data_substring_data): Deleted.
(webkit_dom_character_data_append_data): Deleted.
(webkit_dom_character_data_insert_data): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterDataUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCache.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCache.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCachePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespace.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespace.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespacePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeType.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeType.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArray.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArray.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArrayPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollection.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollection.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollectionPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPlugin.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPlugin.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArray.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArray.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArrayPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringList.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringList.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringListPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMap.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMap.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMapPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowSpeechSynthesis.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowSpeechSynthesis.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCue.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCue.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCuePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabase.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabase.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabasePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentAnimation.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentAnimation.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimeline.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimeline.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimelinePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
(webkit_dom_document_type_get_name): Deleted.
(webkit_dom_document_type_get_entities): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTypeUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp:
(webkit_dom_event_get_property):
(webkit_dom_event_class_init):
(webkit_dom_event_init): Deleted.
(webkit_dom_event_stop_propagation): Deleted.
(webkit_dom_event_get_bubbles): Deleted.
(webkit_dom_event_get_cancelable): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.cpp:
(webkit_dom_file_get_property):
(webkit_dom_file_class_init):
(webkit_dom_file_get_name):
(webkit_dom_file_init): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepad.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepad.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepadList.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepadList.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocation.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocation.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocationPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.cpp:
(webkit_dom_html_anchor_element_set_property):
(webkit_dom_html_anchor_element_get_property):
(webkit_dom_html_anchor_element_class_init):
(webkit_dom_html_anchor_element_init): Deleted.
(webkit_dom_html_anchor_element_get_charset): Deleted.
(webkit_dom_html_anchor_element_set_charset): Deleted.
(webkit_dom_html_anchor_element_get_coords): Deleted.
(webkit_dom_html_anchor_element_set_coords): Deleted.
(webkit_dom_html_anchor_element_get_target): Deleted.
(webkit_dom_html_anchor_element_set_target): Deleted.
(webkit_dom_html_anchor_element_get_type_attr): Deleted.
(webkit_dom_html_anchor_element_set_type_attr): Deleted.
(webkit_dom_html_anchor_element_set_href): Deleted.
(webkit_dom_html_anchor_element_get_protocol): Deleted.
(webkit_dom_html_anchor_element_set_protocol): Deleted.
(webkit_dom_html_anchor_element_set_hash): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.cpp:
(webkit_dom_html_area_element_set_property):
(webkit_dom_html_area_element_get_property):
(webkit_dom_html_area_element_class_init):
(webkit_dom_html_area_element_init): Deleted.
(webkit_dom_html_area_element_get_alt): Deleted.
(webkit_dom_html_area_element_set_alt): Deleted.
(webkit_dom_html_area_element_get_coords): Deleted.
(webkit_dom_html_area_element_set_coords): Deleted.
(webkit_dom_html_area_element_get_hostname): Deleted.
(webkit_dom_html_area_element_set_hostname): Deleted.
(webkit_dom_html_area_element_get_port): Deleted.
(webkit_dom_html_area_element_set_port): Deleted.
(webkit_dom_html_area_element_get_pathname): Deleted.
(webkit_dom_html_area_element_get_hash): Deleted.
(webkit_dom_html_area_element_set_hash): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElement.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElement.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElementPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp:
(webkit_dom_html_button_element_set_property):
(webkit_dom_html_button_element_get_property):
(webkit_dom_html_button_element_class_init):
(webkit_dom_html_button_element_get_will_validate):
(webkit_dom_html_button_element_get_autofocus): Deleted.
(webkit_dom_html_button_element_set_autofocus): Deleted.
(webkit_dom_html_button_element_get_disabled): Deleted.
(webkit_dom_html_button_element_set_disabled): Deleted.
(webkit_dom_html_button_element_get_form): Deleted.
(webkit_dom_html_button_element_get_button_type): Deleted.
(webkit_dom_html_button_element_set_button_type): Deleted.
(webkit_dom_html_button_element_get_name): Deleted.
(webkit_dom_html_button_element_set_value): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElement.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElement.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElementPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.cpp:
(webkit_dom_html_field_set_element_get_property):
(webkit_dom_html_field_set_element_class_init):
(webkit_dom_html_field_set_element_get_form):
(webkit_dom_html_field_set_element_init): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp:
(webkit_dom_html_form_element_set_property):
(webkit_dom_html_form_element_get_property):
(webkit_dom_html_form_element_class_init):
(webkit_dom_html_form_element_get_length):
(webkit_dom_html_form_element_submit): Deleted.
(webkit_dom_html_form_element_reset): Deleted.
(webkit_dom_html_form_element_get_action): Deleted.
(webkit_dom_html_form_element_set_action): Deleted.
(webkit_dom_html_form_element_get_enctype): Deleted.
(webkit_dom_html_form_element_set_encoding): Deleted.
(webkit_dom_html_form_element_get_method): Deleted.
(webkit_dom_html_form_element_set_method): Deleted.
(webkit_dom_html_form_element_set_target): Deleted.
(webkit_dom_html_form_element_get_elements): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.cpp:
(webkit_dom_html_html_element_set_property):
(webkit_dom_html_html_element_get_property):
(webkit_dom_html_html_element_class_init):
(webkit_dom_html_html_element_set_version):
(webkit_dom_html_html_element_get_version): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.cpp:
(webkit_dom_html_iframe_element_set_property):
(webkit_dom_html_iframe_element_get_property):
(webkit_dom_html_iframe_element_class_init):
(webkit_dom_html_iframe_element_init): Deleted.
(webkit_dom_html_iframe_element_set_src): Deleted.
(webkit_dom_html_iframe_element_get_width): Deleted.
(webkit_dom_html_iframe_element_set_width): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp:
(webkit_dom_html_image_element_set_property):
(webkit_dom_html_image_element_get_property):
(webkit_dom_html_image_element_class_init):
(webkit_dom_html_image_element_set_long_desc): Deleted.
(webkit_dom_html_image_element_get_src): Deleted.
(webkit_dom_html_image_element_set_src): Deleted.
(webkit_dom_html_image_element_get_natural_height): Deleted.
(webkit_dom_html_image_element_get_natural_width): Deleted.
(webkit_dom_html_image_element_get_x): Deleted.
(webkit_dom_html_image_element_get_y): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
(webkit_dom_html_input_element_set_property):
(webkit_dom_html_input_element_get_property):
(webkit_dom_html_input_element_class_init):
(webkit_dom_html_input_element_set_capture_type):
(webkit_dom_html_input_element_init): Deleted.
(webkit_dom_html_input_element_select): Deleted.
(webkit_dom_html_input_element_get_accept): Deleted.
(webkit_dom_html_input_element_set_accept): Deleted.
(webkit_dom_html_input_element_get_alt): Deleted.
(webkit_dom_html_input_element_set_alt): Deleted.
(webkit_dom_html_input_element_get_default_checked): Deleted.
(webkit_dom_html_input_element_set_default_checked): Deleted.
(webkit_dom_html_input_element_get_checked): Deleted.
(webkit_dom_html_input_element_set_checked): Deleted.
(webkit_dom_html_input_element_get_disabled): Deleted.
(webkit_dom_html_input_element_get_files): Deleted.
(webkit_dom_html_input_element_set_files): Deleted.
(webkit_dom_html_input_element_set_height): Deleted.
(webkit_dom_html_input_element_get_indeterminate): Deleted.
(webkit_dom_html_input_element_get_max_length): Deleted.
(webkit_dom_html_input_element_set_max_length): Deleted.
(webkit_dom_html_input_element_get_name): Deleted.
(webkit_dom_html_input_element_set_name): Deleted.
(webkit_dom_html_input_element_get_size): Deleted.
(webkit_dom_html_input_element_set_size): Deleted.
(webkit_dom_html_input_element_get_src): Deleted.
(webkit_dom_html_input_element_set_input_type): Deleted.
(webkit_dom_html_input_element_get_default_value): Deleted.
(webkit_dom_html_input_element_set_default_value): Deleted.
(webkit_dom_html_input_element_set_value): Deleted.
(webkit_dom_html_input_element_get_width): Deleted.
(webkit_dom_html_input_element_set_width): Deleted.
(webkit_dom_html_input_element_get_will_validate): Deleted.
(webkit_dom_html_input_element_get_align): Deleted.
(webkit_dom_html_input_element_set_align): Deleted.
(webkit_dom_html_input_element_get_use_map): Deleted.
(webkit_dom_html_input_element_set_use_map): Deleted.
(webkit_dom_html_input_element_get_capture_type): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElement.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElement.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElementPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.cpp:
(webkit_dom_html_label_element_get_property):
(webkit_dom_html_label_element_class_init):
(webkit_dom_html_label_element_init): Deleted.
(webkit_dom_html_label_element_get_form): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:
(webkit_dom_html_link_element_set_property):
(webkit_dom_html_link_element_get_property):
(webkit_dom_html_link_element_class_init):
(webkit_dom_html_link_element_get_disabled): Deleted.
(webkit_dom_html_link_element_set_disabled): Deleted.
(webkit_dom_html_link_element_get_charset): Deleted.
(webkit_dom_html_link_element_set_charset): Deleted.
(webkit_dom_html_link_element_get_href): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.cpp:
(webkit_dom_html_marquee_element_class_init):
(webkit_dom_html_marquee_element_stop):
(webkit_dom_html_marquee_element_init): Deleted.
(webkit_dom_html_marquee_element_start): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElement.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElement.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElementPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp:
(webkit_dom_html_o_list_element_set_property):
(webkit_dom_html_o_list_element_get_property):
(webkit_dom_html_o_list_element_class_init):
(webkit_dom_html_o_list_element_init): Deleted.
(webkit_dom_html_o_list_element_get_compact): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp:
(webkit_dom_html_object_element_get_property):
(webkit_dom_html_object_element_class_init):
(webkit_dom_html_object_element_set_property): Deleted.
(webkit_dom_html_object_element_get_form): Deleted.
(webkit_dom_html_object_element_get_code): Deleted.
(webkit_dom_html_object_element_set_code): Deleted.
(webkit_dom_html_object_element_get_align): Deleted.
(webkit_dom_html_object_element_set_align): Deleted.
(webkit_dom_html_object_element_get_archive): Deleted.
(webkit_dom_html_object_element_set_archive): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.cpp:
(webkit_dom_html_options_collection_get_selected_index): Deleted.
(webkit_dom_html_options_collection_set_selected_index): Deleted.
(webkit_dom_html_options_collection_get_length): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollectionUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.cpp:
(webkit_dom_html_script_element_set_property):
(webkit_dom_html_script_element_get_property):
(webkit_dom_html_script_element_class_init):
(webkit_dom_html_script_element_set_type_attr):
(webkit_dom_html_script_element_init): Deleted.
(webkit_dom_html_script_element_get_html_for): Deleted.
(webkit_dom_html_script_element_set_html_for): Deleted.
(webkit_dom_html_script_element_get_event): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
(webkit_dom_html_select_element_set_property):
(webkit_dom_html_select_element_get_property):
(webkit_dom_html_select_element_class_init):
(webkit_dom_html_select_element_get_will_validate):
(webkit_dom_html_select_element_named_item): Deleted.
(webkit_dom_html_select_element_get_autofocus): Deleted.
(webkit_dom_html_select_element_set_autofocus): Deleted.
(webkit_dom_html_select_element_get_disabled): Deleted.
(webkit_dom_html_select_element_set_disabled): Deleted.
(webkit_dom_html_select_element_get_form): Deleted.
(webkit_dom_html_select_element_set_size): Deleted.
(webkit_dom_html_select_element_get_select_type): Deleted.
(webkit_dom_html_select_element_get_options): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.cpp:
(webkit_dom_html_style_element_set_property):
(webkit_dom_html_style_element_get_property):
(webkit_dom_html_style_element_class_init):
(webkit_dom_html_style_element_get_sheet):
(webkit_dom_html_style_element_get_disabled): Deleted.
(webkit_dom_html_style_element_set_disabled): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.cpp:
(webkit_dom_html_table_element_set_property):
(webkit_dom_html_table_element_get_property):
(webkit_dom_html_table_element_class_init):
(webkit_dom_html_table_element_insert_row): Deleted.
(webkit_dom_html_table_element_set_summary): Deleted.
(webkit_dom_html_table_element_get_width): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
(webkit_dom_html_text_area_element_set_property):
(webkit_dom_html_text_area_element_get_property):
(webkit_dom_html_text_area_element_class_init):
(webkit_dom_html_text_area_element_init): Deleted.
(webkit_dom_html_text_area_element_set_selection_range): Deleted.
(webkit_dom_html_text_area_element_set_autofocus): Deleted.
(webkit_dom_html_text_area_element_get_disabled): Deleted.
(webkit_dom_html_text_area_element_get_form): Deleted.
(webkit_dom_html_text_area_element_get_name): Deleted.
(webkit_dom_html_text_area_element_get_rows): Deleted.
(webkit_dom_html_text_area_element_set_rows): Deleted.
(webkit_dom_html_text_area_element_get_cols): Deleted.
(webkit_dom_html_text_area_element_set_cols): Deleted.
(webkit_dom_html_text_area_element_get_area_type): Deleted.
(webkit_dom_html_text_area_element_get_default_value): Deleted.
(webkit_dom_html_text_area_element_get_value): Deleted.
(webkit_dom_html_text_area_element_set_value): Deleted.
(webkit_dom_html_text_area_element_get_will_validate): Deleted.
(webkit_dom_html_text_area_element_get_selection_start): Deleted.
(webkit_dom_html_text_area_element_set_selection_start): Deleted.
(webkit_dom_html_text_area_element_get_selection_end): Deleted.
(webkit_dom_html_text_area_element_set_selection_end): Deleted.
(webkit_dom_html_text_area_element_is_edited): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElementUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElement.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElement.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElementPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistory.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistory.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistoryPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffect.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffect.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffectPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocation.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocation.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocationPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaController.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaController.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaControllerPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevices.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevices.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevicesPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaError.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaError.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaErrorPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryList.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryList.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryListPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraints.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraints.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraintsPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePort.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePort.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePortPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.cpp:
(webkit_dom_mouse_event_get_property):
(webkit_dom_mouse_event_class_init):
(webkit_dom_mouse_event_get_y): Deleted.
(webkit_dom_mouse_event_get_from_element): Deleted.
(webkit_dom_mouse_event_get_to_element): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEventUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigator.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigator.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorMediaDevices.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorMediaDevices.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp:
(webkit_dom_node_get_property):
(webkit_dom_node_class_init):
(webkit_dom_node_init): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformance.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformance.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntry.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntry.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntryPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigation.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigation.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigationPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformancePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTiming.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTiming.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTimingPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivate.cpp:
(WebKit::wrap): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivate.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreen.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreen.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreenPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesis.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesis.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEvent.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEvent.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEventPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterance.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterance.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterancePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoice.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoice.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoicePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorage.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorage.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageInfo.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageInfo.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStoragePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageQuota.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageQuota.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMedia.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMedia.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMediaPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrack.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrack.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCue.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCue.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueList.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueList.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueListPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCuePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackList.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackList.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackListPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRanges.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRanges.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRangesPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouch.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouch.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouchPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEvent.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEvent.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEventPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.cpp:
(webkit_dom_ui_event_get_property):
(webkit_dom_ui_event_class_init):
(webkit_dom_ui_event_get_page_y):
(webkit_dom_ui_event_init): Deleted.
(webkit_dom_ui_event_init_ui_event): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEventUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandler.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandler.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlerPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespacePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCue.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCue.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCuePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityState.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityState.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityStatePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQuality.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQuality.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQualityPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrack.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrack.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackList.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackList.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackListPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimation.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimation.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimationPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlow.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlow.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlowPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespace.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespace.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespacePrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPoint.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPoint.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPointPrivate.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.cpp:
(webkit_dom_wheel_event_get_property):
(webkit_dom_wheel_event_class_init):
(webkit_dom_wheel_event_get_wheel_delta):
(webkit_dom_wheel_event_init): Deleted.
(webkit_dom_wheel_event_init_wheel_event): Deleted.
(webkit_dom_wheel_event_get_wheel_delta_x): Deleted.
(webkit_dom_wheel_event_get_wheel_delta_y): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEventUnstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
- WebProcess/InjectedBundle/API/gtk/DOM/webkitdomautocleanups-unstable.h: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines-unstable.h: Removed.
- 3:03 AM Changeset in webkit [205542] by
-
- 7 edits in trunk/Source/WebCore
Templatize JS bindings code generator of functions with variadic parameters
https://bugs.webkit.org/show_bug.cgi?id=158835
Reviewed by Darin Adler.
Add template functions to handle function with variadic parameter for DOM objects.
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::addTrack):
- Modules/mediastream/RTCPeerConnection.h:
- bindings/js/JSDOMBinding.h:
(WebCore::VariadicHelperBase::convert):
(WebCore::toArguments):
(WebCore::jsFrozenArray):
(WebCore::toRefPtrNativeArray):
(WebCore::toNativeArray):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(GetVariadicType):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors5):
- 2:59 AM Changeset in webkit [205541] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix the ENABLE(WEBASSEMBLY) build on Linux
https://bugs.webkit.org/show_bug.cgi?id=161685
Unreviewed buildfix.
- wasm/JSWASMModule.cpp:
- 2:22 AM Changeset in webkit [205540] by
-
- 36 edits1 delete in trunk
[GTK] Move some GObject DOM unstable API to stable
https://bugs.webkit.org/show_bug.cgi?id=161681
Reviewed by Žan Doberšek.
Source/WebKit2:
Move unstable API currently used by applications to the stable API in preparation for removing all unused
unstable API.
- PlatformGTK.cmake:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustom.cpp: Removed.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustom.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustomUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
(webkit_dom_dom_window_get_property):
(webkit_dom_dom_window_class_init):
(webkit_dom_dom_window_webkit_message_handlers_post_message):
(webkit_dom_dom_window_set_property): Deleted.
(webkit_dom_dom_window_get_computed_style): Deleted.
(webkit_dom_dom_window_capture_events): Deleted.
(webkit_dom_dom_window_get_frame_element): Deleted.
(webkit_dom_dom_window_get_offscreen_buffering): Deleted.
(webkit_dom_dom_window_get_outer_height): Deleted.
(webkit_dom_dom_window_get_outer_width): Deleted.
(webkit_dom_dom_window_get_inner_height): Deleted.
(webkit_dom_dom_window_get_inner_width): Deleted.
(webkit_dom_dom_window_get_screen_x): Deleted.
(webkit_dom_dom_window_set_status): Deleted.
(webkit_dom_dom_window_get_default_status): Deleted.
(webkit_dom_dom_window_get_window): Deleted.
(webkit_dom_dom_window_get_frames): Deleted.
(webkit_dom_dom_window_get_parent): Deleted.
(webkit_dom_dom_window_get_top): Deleted.
(webkit_dom_dom_window_get_document): Deleted.
(webkit_dom_dom_window_get_device_pixel_ratio): Deleted.
(webkit_dom_dom_window_get_orientation): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp:
(webkit_dom_document_get_property):
(webkit_dom_document_webkit_cancel_fullscreen):
(webkit_dom_document_get_webkit_is_fullscreen):
(webkit_dom_document_get_webkit_fullscreen_keyboard_input_allowed):
(webkit_dom_document_get_webkit_current_fullscreen_element):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp:
(webkit_dom_element_webkit_request_fullscreen): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
(webkit_dom_html_input_element_is_edited):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:
(webkit_dom_html_link_element_set_sizes):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
(webkit_dom_html_text_area_element_is_edited):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangeUnstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.cpp:
(webkit_dom_user_message_handlers_namespace_get_handler):
(webkit_dom_user_message_handlers_namespace_init): Deleted.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.h:
- WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
- WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-docs.sgml:
- WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines-unstable.h:
- WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines.h:
Tools:
Do not use user message handler unstable API in the tests, since we have stable convenient API for that.
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:
(testUserContentManagerScriptMessageFromDOMBindings):
(serverCallback): Deleted.
(beforeAll): Deleted.
- TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(documentLoadedCallback):
(emitURIChanged): Deleted.
- 1:55 AM Changeset in webkit [205539] by
-
- 5 edits in trunk
Using tests-options.json to compute whether tests are slow
https://bugs.webkit.org/show_bug.cgi?id=161626
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-07
Reviewed by Darin Adler.
Tools:
- Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: Updated first test to use a MockHost.
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.init): Loading tests-options.json
(Manager._test_is_slow): Computing timeout value based on tests-options.json.
LayoutTests:
- TestExpectations: Removing slow WPT expectations now that they are handled through tests-options.json.
- 1:20 AM Changeset in webkit [205538] by
-
- 2 edits in trunk/Tools
[EFL] Need the libosmesa to support the software backend drawing.
https://bugs.webkit.org/show_bug.cgi?id=147065
Reviewed by Gyuyoung Kim.
Added the libosmesa to support the software backend drawing.
- efl/install-dependencies:
Sep 6, 2016:
- 11:40 PM Changeset in webkit [205537] by
-
- 7 edits in trunk
[GTK][Threaded Compositor] Several flaky tests
https://bugs.webkit.org/show_bug.cgi?id=161242
Reviewed by Michael Catanzaro.
Source/WebKit2:
Reset the viewport attributes on SimpleViewportController when viewport attributes change and fixed layout is
not used. We were only updating the viewport attributes when fixed layout was used, but not resetting them again
when it's no longer used. That caused that reference tests run after fast/fixed-layout/fixed-layout.html or
compositing/fixed-with-fixed-layout.html in the same worker thread were incorrectly rendered.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): Remove ifdefs and call
WebPage::viewportPropertiesDidChange() unconditionally.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSize): Pass current page viewport arguments to sendViewportAttributesChanged().
(WebKit::WebPage::sendViewportAttributesChanged): It now receives the viewport arguments.
(WebKit::WebPage::viewportPropertiesDidChange): Move the iOS implementation from WebPageIOS.mm and for
coordinated graphics call sendViewportAttributesChanged() when fixed layout is used or reset the viewport
attributes when not used in case of threaded compositor.
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::viewportPropertiesDidChange): Moved out of iOS ifdef.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::viewportPropertiesDidChange): Deleted.
LayoutTests:
Unskip compositing/fixed-with-fixed-layout.html and fast/fixed-layout/fixed-layout.html.
- platform/gtk/TestExpectations:
- 11:14 PM Changeset in webkit [205536] by
-
- 3 edits in trunk/Source/WebKit2
Unreviewed. Fix the GTK+ build after r205524.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
(webkit_dom_html_input_element_get_max_length):
(webkit_dom_html_input_element_set_max_length):
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
(webkit_dom_html_text_area_element_get_max_length):
(webkit_dom_html_text_area_element_set_max_length):
- 7:48 PM Changeset in webkit [205535] by
-
- 6 edits2 adds in trunk
ProxyObject's structure should not have ObjectPrototype as its prototype and it should not have special behavior for intercepting "proto"
https://bugs.webkit.org/show_bug.cgi?id=161558
Reviewed by Benjamin Poulain.
JSTests:
- stress/proxy-get-prototype-of.js:
- stress/proxy-set-prototype-of.js:
(let.handler.setPrototypeOf): Deleted.
- stress/proxy-underscore-proto.js: Added.
(assert):
Source/JavaScriptCore:
ProxyObject had ObjectPrototype as its direct prototype.
This could lead to infinite loops when doing a getDirectPrototype()
loop.
Fixing this bug revealed another bug, which I made when implementing Proxy.
We should not special case "proto" in get and set for Proxy Object's
hooks. "proto" should just go through the normal set and get path.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/ProxyObject.cpp:
(JSC::performProxyGet):
(JSC::ProxyObject::put):
- 7:22 PM Changeset in webkit [205534] by
-
- 2 edits in trunk/Source/JavaScriptCore
Make JSC::PrivateName copyable
https://bugs.webkit.org/show_bug.cgi?id=161666
Reviewed by Ryosuke Niwa.
Define the custom copy constructor to make PrivateName copyable while using Ref<SymbolImpl>.
And since the custom copy constructor deletes the default move constructor, we explcitly define
it by= default;.
- runtime/PrivateName.h:
(JSC::PrivateName::PrivateName):
- 6:43 PM Changeset in webkit [205533] by
-
- 4 edits in trunk
Unreviewed, rolling out r205521, r205526, and r205532.
https://bugs.webkit.org/show_bug.cgi?id=161668
broke API tests (Requested by alexchristensen on #webkit).
Reverted changesets:
"Punycode encode non-ascii hosts in URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161655
http://trac.webkit.org/changeset/205521
"Fix query-only and fragment-only relative URLs when using
URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161657
http://trac.webkit.org/changeset/205526
"URLParser should parse / as a relative URL"
https://bugs.webkit.org/show_bug.cgi?id=161667
http://trac.webkit.org/changeset/205532
- 6:35 PM Changeset in webkit [205532] by
-
- 4 edits in trunk
URLParser should parse / as a relative URL
https://bugs.webkit.org/show_bug.cgi?id=161667
Reviewed by Tim Horton.
Source/WebCore:
Covered by a new API test.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 5:49 PM Changeset in webkit [205531] by
-
- 2 edits in trunk/Source/WebKit2
[iOS] WebKit2 fails to build with iOS 10 beta SDK - "'UIWKTextInteractionAssistant' may not respond to 'selectAll:'"
https://bugs.webkit.org/show_bug.cgi?id=161663
Reviewed by Darin Adler.
The UIResponderStandardEditActions extensions, including the selectAll: message, are now
part of a formal protocol by the same name as of the iOS 10 beta SDK.
- Platform/spi/ios/UIKitSPI.h:
- 5:48 PM Changeset in webkit [205530] by
-
- 3 edits in trunk/Tools
[iOS] DumpRenderTree and WebKitTestRunner fail to build - "Ad Hoc code signing is not allowed with SDK 'Simulator - iOS 10.0'"
https://bugs.webkit.org/show_bug.cgi?id=161661
Reviewed by Darin Adler.
Allow ad-hoc code signing when building the dummy DumpRenderTree and WebKitTestRunner
command line tools for simulator with the iOS 10 beta SDK.
- DumpRenderTree/mac/Configurations/Base.xcconfig:
- WebKitTestRunner/Configurations/Base.xcconfig:
- 5:31 PM Changeset in webkit [205529] by
-
- 4 edits in trunk/Source
Web Inspector: Avoid linkifying some schemes in console logs
https://bugs.webkit.org/show_bug.cgi?id=161648
<rdar://problem/16413270>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-06
Reviewed by Brian Burg.
Source/WebCore:
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::openInNewTab):
If a javascript: link is passed just ignore it.
Source/WebInspectorUI:
- UserInterface/Base/Main.js:
Don't linkify some kinds of links.
- 5:29 PM Changeset in webkit [205528] by
-
- 2 edits in trunk/Source/JavaScriptCore
[iOS] Build fails in JSCLLIntOffsetsExtractor - Ad Hoc code signing is not allowed with SDK 'Simulator - iOS 10.0'
https://bugs.webkit.org/show_bug.cgi?id=161296
Reviewed by Dan Bernstein.
Allow ad-hoc code signing when building JavaScriptCore command line tools for simulator
with the iOS 10 beta SDK.
- Configurations/Base.xcconfig:
- 5:18 PM Changeset in webkit [205527] by
-
- 2 edits in trunk/Source/WebKit2
Enable custom elements API in Safari Technology Preview
https://bugs.webkit.org/show_bug.cgi?id=161518
Reviewed by Chris Dumez.
Re-enable custom elements API in Safari Technology Preview after r203296
now that our implementation has caught up to the latest specification changes.
- Shared/WebPreferencesDefinitions.h:
- 5:10 PM Changeset in webkit [205526] by
-
- 4 edits in trunk
Fix query-only and fragment-only relative URLs when using URLParser
https://bugs.webkit.org/show_bug.cgi?id=161657
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests and progress towards passing the web platform tests when using URLParser.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 5:01 PM Changeset in webkit [205525] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/security/cross-origin-plugin-allowed.html as flaky on mac-wk2 release.
https://bugs.webkit.org/show_bug.cgi?id=161539
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 5:00 PM Changeset in webkit [205524] by
-
- 28 edits in trunk
Add support for input.minLength / textArea.minLength
https://bugs.webkit.org/show_bug.cgi?id=161644
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/html/dom/interfaces-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooShort-expected.txt:
Source/WebCore:
Add support for input.minLength / textArea.minLength:
- https://html.spec.whatwg.org/#dom-input-minlength
- https://html.spec.whatwg.org/#dom-textarea-minlength
Chrome implements this, Firefox does not yet.
No new tests, rebaselined existing tests.
- html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::tooShort):
(WebCore::FormAssociatedElement::valid):
(WebCore::FormAssociatedElement::typeMismatch): Deleted.
- html/FormAssociatedElement.h:
- html/HTMLAttributeNames.in:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::isValidValue):
(WebCore::HTMLInputElement::tooShort):
(WebCore::HTMLInputElement::tooLong):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::effectiveMaxLength):
(WebCore::HTMLInputElement::maxLengthAttributeChanged):
(WebCore::HTMLInputElement::minLengthAttributeChanged):
(WebCore::HTMLInputElement::patternMismatch): Deleted.
(WebCore::parseAcceptAttribute): Deleted.
(WebCore::HTMLInputElement::isEnumeratable): Deleted.
(WebCore::HTMLInputElement::supportLabels): Deleted.
- html/HTMLInputElement.h:
(WebCore::HTMLInputElement::supportsMinLength):
(WebCore::HTMLInputElement::supportsMaxLength): Deleted.
- html/HTMLInputElement.idl:
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::parseAttribute):
(WebCore::HTMLTextAreaElement::maxLengthAttributeChanged):
(WebCore::HTMLTextAreaElement::minLengthAttributeChanged):
(WebCore::HTMLTextAreaElement::validationMessage):
(WebCore::HTMLTextAreaElement::tooShort):
(WebCore::HTMLTextAreaElement::tooLong):
(WebCore::HTMLTextAreaElement::isValidValue):
- html/HTMLTextAreaElement.h:
- html/HTMLTextAreaElement.idl:
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setMaxLength):
(WebCore::HTMLTextFormControlElement::setMinLength):
- html/HTMLTextFormControlElement.h:
(WebCore::HTMLTextFormControlElement::maxLength):
(WebCore::HTMLTextFormControlElement::setMaxLength):
(WebCore::HTMLTextFormControlElement::minLength):
(WebCore::HTMLTextFormControlElement::setMinLength):
- html/InputType.cpp:
(WebCore::InputType::validationMessage):
- html/ValidityState.idl:
- platform/LocalizedStrings.cpp:
(WebCore::validationMessageTooShortText):
- platform/LocalizedStrings.h:
Source/WebKit/mac:
Update ObjC bindings to reflect method renaming.
- DOM/DOMHTMLInputElement.mm:
(-[DOMHTMLInputElement maxLength]):
(-[DOMHTMLInputElement setMaxLength:]):
- DOM/DOMHTMLTextAreaElement.mm:
(-[DOMHTMLTextAreaElement maxLength]):
(-[DOMHTMLTextAreaElement setMaxLength:]):
- 4:55 PM Changeset in webkit [205523] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed build fix for 32-bit platforms after r205520.
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation): Deleted.
- 4:51 PM Changeset in webkit [205522] by
-
- 2 edits in trunk/Source/JavaScriptCore
Member call on NULL pointer in JavaScriptCore/dfg/DFGAbstractInterpretterInlines.h
https://bugs.webkit.org/show_bug.cgi?id=160870
Reviewed by Darin Adler.
Credit goes to Jonathan Bedard for finding this bug using the undefined
behavior sanitizer.
The rule for MaterializeNewObject inside AI was assuming that the graph
is in SSA form. This used to be true when MaterializeNewObject was only
inserted by the allocation sinking phase. However, Filip added more uses
of MaterializeNewObject in his RegExp constant folding patch. This fixes
the bug by using the structure set inside the Node's OpInfo rather than
generating it from m_phiChildren inside AI.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- 4:36 PM Changeset in webkit [205521] by
-
- 4 edits in trunk
Punycode encode non-ascii hosts in URLParser
https://bugs.webkit.org/show_bug.cgi?id=161655
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests based on the web platform tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::containsOnlyASCII):
(WebCore::domainToASCII):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::wideString):
(TestWebKitAPI::TEST_F):
- 4:22 PM Changeset in webkit [205520] by
-
- 65 edits1 copy14 adds in trunk
Make JSMap and JSSet faster
https://bugs.webkit.org/show_bug.cgi?id=160989
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/dense-set.js: Added.
(bench):
- microbenchmarks/large-map-iteration-with-additions.js: Added.
(bar):
(foo):
- microbenchmarks/large-map-iteration-with-mutation.js: Added.
(bar):
(foo):
- microbenchmarks/large-map-iteration.js: Added.
(bar):
(foo):
- microbenchmarks/map-get-get-cse.js: Added.
(bar):
(foo):
- microbenchmarks/map-has-get-cse-opportunity.js: Added.
(bar):
(foo):
- microbenchmarks/sparse-set.js: Added.
(bench):
- stress/map-cse-correctness.js: Added.
(assert):
(testHas):
(testGet):
(foo):
- stress/map-iteration.js: Added.
(assert):
(test1):
(test2):
(test3):
(test4):
(test5):
(test6):
(test7):
(test8):
(test9):
(test10):
(test11):
(test12):
(test13):
(test14):
(test15):
(test16):
(test17):
(test18):
Source/JavaScriptCore:
This patch revamps how we implement Map and Set. It uses
a new hash map implementation. The hash map uses linear
probing and it uses Wang's 64 bit hash function for JSValues
that aren't strings. Strings use StringImpl's hash function.
The reason I wanted to roll our own HashTable is twofold:
I didn't want to inline WTF::HashMap's implementation into our
JIT, since that seems error prone and unmaintainable. Also, I wanted
a different structure for hash map buckets where buckets also exist in
a linked list.
The reason for making buckets part of a linked list is that iteration
is now simple. Iteration works by just traversing a linked list.
This design also allows for a simple implementation when doing iteration
while the hash table is mutating. Whenever we remove a bucket from
the hash table, it is removed from the list, meaning items in the
list don't point to it. However, the removed bucket will still point
to things that are either in the list, or have also been removed.
e.g, from a removed bucket, you can always follow pointers until you
either find an item in the list, or you find the tail of the list.
This is a really nice property because it means that a Map or Set
does not need to reason about the all the iterators that point
into its list. Also, whenever we add items to the Map or Set, we
hijack the tail as the new item, and make the new item point to a newly
created tail. This means that any iterator that pointed to the "tail" now
points to non-tail items. This makes the implementation of adding things
to the Map/Set while iterating easy.
I also made Map.prototype.get, Map.prototype.has, and Set.prototype.has
into intrinsics in the DFG. The IR can now reason about hash map
operations and can even do CSE over Wang's hash function, hash map
bucket lookups, hash map bucket loads, and testing if a key is in
the hash table. This makes code patterns for Map like so, super fast
in the FTL, since we will only be doing a single hash and hash bucket lookup:
`
function getKeyIfPresent(map, key) {
if (map.has(key))
return map.get(key);
}
`
This patch is roughly an 8% speedup on ES6SampleBench.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::not64):
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromClassInfo):
- bytecode/SpeculatedType.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::execute):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGEdge.h:
(JSC::DFG::Edge::shift):
(JSC::DFG::Edge::makeWord):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateMapObject):
(JSC::DFG::SpeculativeJIT::speculateSetObject):
(JSC::DFG::SpeculativeJIT::speculate):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGUseKind.cpp:
(WTF::printInternal):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileMapHash):
(JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::compileLoadFromJSMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::compileIsNonEmptyMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::lowMapObject):
(JSC::FTL::DFG::LowerDFGToB3::lowSetObject):
(JSC::FTL::DFG::LowerDFGToB3::lowMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateMapObject):
(JSC::FTL::DFG::LowerDFGToB3::speculateSetObject):
(JSC::FTL::DFG::LowerDFGToB3::setMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::lowRegExpObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::lowStorage): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::speculateRegExpObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::setStorage): Deleted.
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::wangsInt64Hash):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateDestructibleObject): Deleted.
- jit/JITOperations.h:
- parser/ModuleAnalyzer.cpp:
(JSC::ModuleAnalyzer::ModuleAnalyzer):
- runtime/HashMapImpl.cpp: Added.
(JSC::HashMapBucket<Data>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::copyBackingStore):
- runtime/HashMapImpl.h: Added.
(JSC::HashMapBucket::selectStructure):
(JSC::HashMapBucket::createStructure):
(JSC::HashMapBucket::create):
(JSC::HashMapBucket::HashMapBucket):
(JSC::HashMapBucket::setNext):
(JSC::HashMapBucket::setPrev):
(JSC::HashMapBucket::setKey):
(JSC::HashMapBucket::setValue):
(JSC::HashMapBucket::key):
(JSC::HashMapBucket::value):
(JSC::HashMapBucket::next):
(JSC::HashMapBucket::prev):
(JSC::HashMapBucket::deleted):
(JSC::HashMapBucket::setDeleted):
(JSC::HashMapBucket::offsetOfKey):
(JSC::HashMapBucket::offsetOfValue):
(JSC::HashMapBuffer::allocationSize):
(JSC::HashMapBuffer::buffer):
(JSC::HashMapBuffer::create):
(JSC::areKeysEqual):
(JSC::normalizeMapKey):
(JSC::jsMapHash):
(JSC::HashMapImpl::selectStructure):
(JSC::HashMapImpl::createStructure):
(JSC::HashMapImpl::create):
(JSC::HashMapImpl::HashMapImpl):
(JSC::HashMapImpl::buffer):
(JSC::HashMapImpl::finishCreation):
(JSC::HashMapImpl::emptyValue):
(JSC::HashMapImpl::isEmpty):
(JSC::HashMapImpl::deletedValue):
(JSC::HashMapImpl::isDeleted):
(JSC::HashMapImpl::findBucket):
(JSC::HashMapImpl::get):
(JSC::HashMapImpl::has):
(JSC::HashMapImpl::add):
(JSC::HashMapImpl::remove):
(JSC::HashMapImpl::size):
(JSC::HashMapImpl::clear):
(JSC::HashMapImpl::bufferSizeInBytes):
(JSC::HashMapImpl::offsetOfBuffer):
(JSC::HashMapImpl::offsetOfCapacity):
(JSC::HashMapImpl::head):
(JSC::HashMapImpl::tail):
(JSC::HashMapImpl::approximateSize):
(JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized):
(JSC::HashMapImpl::rehash):
(JSC::HashMapImpl::makeAndSetNewBuffer):
- runtime/Intrinsic.h:
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::sameValue):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSMap.cpp:
(JSC::JSMap::destroy): Deleted.
(JSC::JSMap::estimatedSize): Deleted.
(JSC::JSMap::visitChildren): Deleted.
(JSC::JSMap::copyBackingStore): Deleted.
(JSC::JSMap::has): Deleted.
(JSC::JSMap::size): Deleted.
(JSC::JSMap::get): Deleted.
(JSC::JSMap::set): Deleted.
(JSC::JSMap::clear): Deleted.
(JSC::JSMap::remove): Deleted.
- runtime/JSMap.h:
(JSC::JSMap::createStructure):
(JSC::JSMap::create):
(JSC::JSMap::get):
(JSC::JSMap::set):
(JSC::JSMap::JSMap):
(JSC::JSMap::Entry::key): Deleted.
(JSC::JSMap::Entry::value): Deleted.
(JSC::JSMap::Entry::visitChildren): Deleted.
(JSC::JSMap::Entry::setKey): Deleted.
(JSC::JSMap::Entry::setKeyWithoutWriteBarrier): Deleted.
(JSC::JSMap::Entry::setValue): Deleted.
(JSC::JSMap::Entry::clear): Deleted.
- runtime/JSMapIterator.cpp:
(JSC::JSMapIterator::finishCreation):
(JSC::JSMapIterator::visitChildren):
(JSC::JSMapIterator::clone):
- runtime/JSMapIterator.h:
(JSC::JSMapIterator::advanceIter):
(JSC::JSMapIterator::next):
(JSC::JSMapIterator::nextKeyValue):
(JSC::JSMapIterator::JSMapIterator):
(JSC::JSMapIterator::setIterator):
(JSC::JSMapIterator::finish): Deleted.
(JSC::JSMapIterator::iteratorData): Deleted.
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::finishCreation):
- runtime/JSModuleLoader.h:
(JSC::JSModuleLoader::create):
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::finishCreation):
- runtime/JSModuleRecord.h:
(JSC::JSModuleRecord::create):
- runtime/JSSet.cpp:
(JSC::JSSet::destroy): Deleted.
(JSC::JSSet::estimatedSize): Deleted.
(JSC::JSSet::visitChildren): Deleted.
(JSC::JSSet::copyBackingStore): Deleted.
(JSC::JSSet::has): Deleted.
(JSC::JSSet::size): Deleted.
(JSC::JSSet::add): Deleted.
(JSC::JSSet::clear): Deleted.
(JSC::JSSet::remove): Deleted.
- runtime/JSSet.h:
(JSC::JSSet::createStructure):
(JSC::JSSet::create):
(JSC::JSSet::add):
(JSC::JSSet::JSSet):
(JSC::JSSet::Entry::key): Deleted.
(JSC::JSSet::Entry::value): Deleted.
(JSC::JSSet::Entry::visitChildren): Deleted.
(JSC::JSSet::Entry::setKey): Deleted.
(JSC::JSSet::Entry::setKeyWithoutWriteBarrier): Deleted.
(JSC::JSSet::Entry::setValue): Deleted.
(JSC::JSSet::Entry::clear): Deleted.
- runtime/JSSetIterator.cpp:
(JSC::JSSetIterator::finishCreation):
(JSC::JSSetIterator::visitChildren):
(JSC::JSSetIterator::clone):
- runtime/JSSetIterator.h:
(JSC::JSSetIterator::advanceIter):
(JSC::JSSetIterator::next):
(JSC::JSSetIterator::JSSetIterator):
(JSC::JSSetIterator::setIterator):
(JSC::JSSetIterator::finish): Deleted.
(JSC::JSSetIterator::iteratorData): Deleted.
- runtime/JSType.h:
- runtime/MapBase.cpp: Added.
(JSC::MapBase<HashMapBucketType>::visitChildren):
(JSC::MapBase<HashMapBucketType>::estimatedSize):
- runtime/MapBase.h: Added.
(JSC::MapBase::size):
(JSC::MapBase::has):
(JSC::MapBase::clear):
(JSC::MapBase::remove):
(JSC::MapBase::findBucket):
(JSC::MapBase::offsetOfHashMapImpl):
(JSC::MapBase::impl):
(JSC::MapBase::finishCreation):
(JSC::MapBase::MapBase):
- runtime/MapConstructor.cpp:
(JSC::constructMap):
- runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototypeFuncNext):
- runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
(JSC::getMap):
(JSC::privateFuncIsMap):
(JSC::privateFuncMapIteratorNext):
- runtime/PropertyDescriptor.cpp:
(JSC::sameValue): Deleted.
- runtime/PropertyDescriptor.h:
- runtime/SetConstructor.cpp:
(JSC::constructSet):
- runtime/SetIteratorPrototype.cpp:
(JSC::SetIteratorPrototypeFuncNext):
- runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
(JSC::getSet):
(JSC::privateFuncSetIteratorNext):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
Source/WebCore:
- ForwardingHeaders/runtime/HashMapImpl.h: Added.
- ForwardingHeaders/runtime/MapBase.h: Added.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::deserialize):
Source/WTF:
I made s_flagCount public in StringImpl since JSC's JITs now use this field.
- wtf/text/StringImpl.h:
- 4:12 PM Changeset in webkit [205519] by
-
- 5 edits2 adds in trunk
Strikethrough positions are erroneously snapped twice
https://bugs.webkit.org/show_bug.cgi?id=161647
<rdar://problem/11542470>
Reviewed by Zalan Bujtas.
Source/WebCore:
Because we're using an int for the position of the baseline, the math to calculate the
strikethrough position is snapped. Then, we snap it again inside GraphicsContext.
Test: fast/text/strikethrough-int.html
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintDecoration):
- rendering/TextDecorationPainter.h:
(WebCore::TextDecorationPainter::setBaseline):
LayoutTests:
- fast/css3-text/css3-text-decoration/text-decoration-line-through-mispositioned-expected.html: Updated.
- fast/text/strikethrough-int-expected-mismatch.html: Added.
- fast/text/strikethrough-int.html: Added.
- 4:06 PM Changeset in webkit [205518] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Allow hiding of CSS variables in Computed styles panel
https://bugs.webkit.org/show_bug.cgi?id=161405
Patch by Devin Rousso <Devin Rousso> on 2016-09-06
Reviewed by Brian Burg.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Models/CSSProperty.js:
(WebInspector.CSSProperty.prototype.update):
(WebInspector.CSSProperty.prototype.get variable):
Sets a member variable if the CSS property begins with "--", indicating that it is a variable.
(WebInspector.CSSProperty.prototype.get name):
(WebInspector.CSSProperty.prototype.get value):
(WebInspector.CSSProperty.prototype.get priority):
(WebInspector.CSSProperty.prototype.get overridden):
(WebInspector.CSSProperty.prototype.get anonymous):
(WebInspector.CSSProperty.prototype.get inherited):
(WebInspector.CSSProperty.prototype.get valid):
(WebInspector.CSSProperty.prototype.get styleSheetTextRange):
(WebInspector.CSSProperty.prototype.get relatedShorthandProperty):
(WebInspector.CSSProperty.prototype.get relatedLonghandProperties):
Changed styling to be one line getters.
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.PropertyVisibilityMode):
Dictionary for the three possible states of CSS property visibility:
- ShowAll
- HideVariables
- HideNonVariables
(WebInspector.CSSStyleDeclarationTextEditor):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get shownProperties):
Added member variable that holds the list of properties resulting from the filter inside
WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get propertyVisibilityMode):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.set propertyVisibilityMode):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
Added member variable controlling the visibility of CSS properties.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get delegate):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get style):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get showsImplicitProperties):
(WebInspector.CSSStyleDeclarationTextEditor.prototype.get sortProperties):
Changed styling to be one line getters.
- UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
(WebInspector.ComputedStyleDetailsPanel.prototype.filterDidChange):
(WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout):
(WebInspector.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged):
Added an additional text editor that displays the list of CSS Variables visible to the
selected node. Also ties this new editor into the refresh/collapse/filter event handlers.
(WebInspector.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged):
Renamed from WebInspector.ComputedStyleDetailsPanel.prototype._handleCollapsedStateChanged.
(WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
Changed styling to be one line getters.
- 4:03 PM Changeset in webkit [205517] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: CodeMirror in resource content view should not show 'CR' characters
https://bugs.webkit.org/show_bug.cgi?id=160465
Patch by Devin Rousso <Devin Rousso> on 2016-09-06
Reviewed by Brian Burg.
- UserInterface/Views/CodeMirrorOverrides.css:
(.CodeMirror .cm-invalidchar):
Hide all invalid characters.
- 4:01 PM Changeset in webkit [205516] by
-
- 10 edits in trunk/Source/WebCore
[iOS] Remove soft linking of MobileCoreServices.framework
<https://webkit.org/b/161641>
<rdar://problem/10420118>
Reviewed by Darin Adler.
- Configurations/WebCore.xcconfig: Add hard link to
MobileCoreServices.framework.
- editing/ios/EditorIOS.mm: Change #include to #import.
- platform/graphics/cg/ImageSourceCGMac.mm:
- platform/graphics/mac/ImageMac.mm:
- platform/ios/PasteboardIOS.mm:
- platform/ios/PlatformPasteboardIOS.mm:
- platform/network/ios/WebCoreURLResponseIOS.mm:
- platform/network/mac/UTIUtilities.mm:
- Rearrange import statements as needed.
- Remove soft link to MobileCoreServices.framework.
- Add import of <MobileCoreServices/MobileCoreServices.h> as needed.
- rendering/RenderThemeIOS.mm: Remove unused soft link to
MobileCoreServices.framework.
- 3:59 PM Changeset in webkit [205515] by
-
- 10 edits in trunk
Align srcset attribute parsing with the HTML specification
https://bugs.webkit.org/show_bug.cgi?id=161636
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline a couple of W3C tests now that more checks are passing.
- web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute-expected.txt:
Source/WebCore:
Align srcset attribute parsing with the HTML specification:
The new behavior is also consistent with Firefox and Chrome
as all 3 browsers now pass 100% of the checks at:
No new tests, rebaselined existing tests.
- html/parser/HTMLParserIdioms.cpp:
(WebCore::parseValidHTMLNonNegativeIntegerInternal):
(WebCore::parseValidHTMLNonNegativeInteger):
(WebCore::parseValidHTMLFloatingPointNumberInternal):
(WebCore::parseValidHTMLFloatingPointNumber):
- html/parser/HTMLParserIdioms.h:
Add convenience for parsing *valid* HTML non-negative integers and
*valid* floating point number values.
- html/parser/HTMLSrcsetParser.cpp:
(WebCore::parseDescriptors):
- Use parseValidHTMLFloatingPointNumber() to parse density so that the value is parsed as a valid HTML floating point number value, as per the spec.
- Use parseValidHTMLNonNegativeInteger() to parse width and height so that the value is parsed as a valid HTML non-negative integer value, as per the spec.
- Return false if descriptor does not have a h, w and x at the end as per: https://html.spec.whatwg.org/#parse-a-srcset-attribute (step 13: Anything else)
- Return false if height is set but not width, as per: https://html.spec.whatwg.org/#parse-a-srcset-attribute (step 14)
(WebCore::parseImageCandidatesFromSrcsetAttribute):
- Skip whitespace if URL does not end with a comma instead of assuming there is a single space character, as per: https://html.spec.whatwg.org/#parse-a-srcset-attribute (step 8. Otherwise 1.)
LayoutTests:
Re-sync fast/hidpi/image-srcset-invalid-descriptor.html with Blink.
- fast/hidpi/image-srcset-invalid-descriptor-expected.txt:
- fast/hidpi/image-srcset-invalid-descriptor.html:
- 3:19 PM Changeset in webkit [205514] by
-
- 2 edits in trunk/LayoutTests
Marking storage/indexeddb/objectstore-cursor.html as flaky on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=161633
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:13 PM Changeset in webkit [205513] by
-
- 2 edits in trunk/LayoutTests
Marking media/media-document-audio-repaint.html as flaky on El Capitan WK2.
https://bugs.webkit.org/show_bug.cgi?id=155757
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 3:06 PM Changeset in webkit [205512] by
-
- 4 edits in trunk
[CMake] Decouple generating bindings of WebCore and WebCoreTestSupport
https://bugs.webkit.org/show_bug.cgi?id=161474
Generating bindings of WebCore and WebCoreTestSupport shares a
single supplementalDependencyFile. But, nothing supplements any
IDL of WebCoreTestSupport. This introduces unnecessary
dependencies.
Patch by Fujii Hironori <Fujii Hironori> on 2016-09-06
Reviewed by Alex Christensen.
.:
- Source/cmake/WebKitMacros.cmake:
(GENERATE_BINDINGS): Clear uninitialized variables before
use. This causes a problem in the second time of calling
GENERATE_BINDINGS.
Source/WebCore:
- CMakeLists.txt: Do not input any IDL of WebCoreTestSupport to
preprocess-idls.pl. Do not use supplementalDependencyFile to
generate bindings of WebCoreTestSupport. Add SettingsMacros.h as
a source file of WebCoreDerivedSources to ensure make_settings.pl
is finished before compiling WebCoreDerivedSources.
- 2:54 PM Changeset in webkit [205511] by
-
- 11 edits1 add in trunk
[JSC] Make ArithClz32 work with Cell arguments
https://bugs.webkit.org/show_bug.cgi?id=161369
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-06
Reviewed by Geoffrey Garen.
JSTests:
- stress/arith-clz32-on-various-types.js: Added.
Source/JavaScriptCore:
ArithClz32 was already working with all primitive types
thanks to the magic of ValueToInt32.
This patch adds support for cell arguments through a function
call.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithClz32):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithClz32):
- 2:53 PM Changeset in webkit [205510] by
-
- 3 edits2 adds in trunk
ASSERTION FAILED: !paintInfo.overlapTestRequests->contains(this) in WebCore::RenderWidget::paintContents
https://bugs.webkit.org/show_bug.cgi?id=135602
<rdar://problem/27701733>
Reviewed by Simon Fraser.
Source/WebCore:
ASSERT is updated to support multiple fragments painting. We just have to ensure that the FrameView's rect
has not changed between the 2 paintContents calls.
Test: fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html
- rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paintContents):
LayoutTests:
- fast/layers/assert-on-overlap-testing-with-frames-inside-columns-expected.txt: Added.
- fast/layers/assert-on-overlap-testing-with-frames-inside-columns.html: Added.
- 2:47 PM Changeset in webkit [205509] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: change to use old header guard to appease Win EWS.
Not reviewed.
- runtime/AuxiliaryBarrier.h:
- 2:43 PM Changeset in webkit [205508] by
-
- 13 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r205494.
https://bugs.webkit.org/show_bug.cgi?id=161646
This change broke the Windows build (Requested by ryanhaddad
on #webkit).
Reverted changeset:
"Typed arrays should use MarkedSpace instead of CopiedSpace"
https://bugs.webkit.org/show_bug.cgi?id=161100
http://trac.webkit.org/changeset/205494
Patch by Commit Queue <commit-queue@webkit.org> on 2016-09-06
- 2:35 PM Changeset in webkit [205507] by
-
- 64 edits15 deletes in trunk
Unreviewed, rolling out r205504.
https://bugs.webkit.org/show_bug.cgi?id=161645
Broke the iOS device build (Requested by ryanhaddad on
#webkit).
Reverted changeset:
"Make JSMap and JSSet faster"
https://bugs.webkit.org/show_bug.cgi?id=160989
http://trac.webkit.org/changeset/205504
Patch by Commit Queue <commit-queue@webkit.org> on 2016-09-06
- 2:27 PM Changeset in webkit [205506] by
-
- 3 edits in trunk/Source/WebCore
Remove unused overlap checking functions from FrameView.
https://bugs.webkit.org/show_bug.cgi?id=161635
Reviewed by Simon Fraser.
No change in functionality.
- page/FrameView.cpp:
(WebCore::FrameView::isOverlappedIncludingAncestors): Deleted.
- page/FrameView.h:
- 2:18 PM Changeset in webkit [205505] by
-
- 7 edits6 adds in trunk
Align element.scroll() / scrollTo() / scrollBy() with the CSSOM specification
https://bugs.webkit.org/show_bug.cgi?id=161610
Reviewed by Darin Adler, Chris Dumez.
Source/WebCore:
Implement Element.scroll(), scrollBy() and scrollTo() with x,y and ScrollToOptions
on Element, according to <https://drafts.csswg.org/cssom-view/#element-scrolling-members>
WebKit's behavior of treating scrolls on the body element in both quirks and strict mode
is preserved.
Tests: fast/dom/Element/scrolling-funtions-on-body-quirks.html
fast/dom/Element/scrolling-funtions-on-body.html
fast/dom/Element/scrolling-funtions-on-element.html
- dom/Element.cpp:
(WebCore::Element::scrollBy):
(WebCore::normalizeNonFiniteValue):
(WebCore::Element::scrollTo):
- dom/Element.h:
- dom/Element.idl:
- html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::scrollTo):
- html/HTMLBodyElement.h:
LayoutTests:
- fast/dom/Element/scrolling-funtions-on-body-expected.txt: Added.
- fast/dom/Element/scrolling-funtions-on-body-quirks-expected.txt: Added.
- fast/dom/Element/scrolling-funtions-on-body-quirks.html: Added.
- fast/dom/Element/scrolling-funtions-on-body.html: Added.
- fast/dom/Element/scrolling-funtions-on-element-expected.txt: Added.
- fast/dom/Element/scrolling-funtions-on-element.html: Added.
- 2:13 PM Changeset in webkit [205504] by
-
- 64 edits1 copy14 adds in trunk
Make JSMap and JSSet faster
https://bugs.webkit.org/show_bug.cgi?id=160989
Reviewed by Filip Pizlo.
JSTests:
- microbenchmarks/dense-set.js: Added.
(bench):
- microbenchmarks/large-map-iteration-with-additions.js: Added.
(bar):
(foo):
- microbenchmarks/large-map-iteration-with-mutation.js: Added.
(bar):
(foo):
- microbenchmarks/large-map-iteration.js: Added.
(bar):
(foo):
- microbenchmarks/map-get-get-cse.js: Added.
(bar):
(foo):
- microbenchmarks/map-has-get-cse-opportunity.js: Added.
(bar):
(foo):
- microbenchmarks/sparse-set.js: Added.
(bench):
- stress/map-cse-correctness.js: Added.
(assert):
(testHas):
(testGet):
(foo):
- stress/map-iteration.js: Added.
(assert):
(test1):
(test2):
(test3):
(test4):
(test5):
(test6):
(test7):
(test8):
(test9):
(test10):
(test11):
(test12):
(test13):
(test14):
(test15):
(test16):
(test17):
(test18):
Source/JavaScriptCore:
This patch revamps how we implement Map and Set. It uses
a new hash map implementation. The hash map uses linear
probing and it uses Wang's 64 bit hash function for JSValues
that aren't strings. Strings use StringImpl's hash function.
The reason I wanted to roll our own HashTable is twofold:
I didn't want to inline WTF::HashMap's implementation into our
JIT, since that seems error prone and unmaintainable. Also, I wanted
a different structure for hash map buckets where buckets also exist in
a linked list.
The reason for making buckets part of a linked list is that iteration
is now simple. Iteration works by just traversing a linked list.
This design also allows for a simple implementation when doing iteration
while the hash table is mutating. Whenever we remove a bucket from
the hash table, it is removed from the list, meaning items in the
list don't point to it. However, the removed bucket will still point
to things that are either in the list, or have also been removed.
e.g, from a removed bucket, you can always follow pointers until you
either find an item in the list, or you find the tail of the list.
This is a really nice property because it means that a Map or Set
does not need to reason about the all the iterators that point
into its list. Also, whenever we add items to the Map or Set, we
hijack the tail as the new item, and make the new item point to a newly
created tail. This means that any iterator that pointed to the "tail" now
points to non-tail items. This makes the implementation of adding things
to the Map/Set while iterating easy.
I also made Map.prototype.get, Map.prototype.has, and Set.prototype.has
into intrinsics in the DFG. The IR can now reason about hash map
operations and can even do CSE over Wang's hash function, hash map
bucket lookups, hash map bucket loads, and testing if a key is in
the hash table. This makes code patterns for Map like so, super fast
in the FTL, since we will only be doing a single hash and hash bucket lookup:
`
function getKeyIfPresent(map, key) {
if (map.has(key))
return map.get(key);
}
`
This patch is roughly an 8% speedup on ES6SampleBench.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromClassInfo):
- bytecode/SpeculatedType.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::execute):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGEdge.h:
(JSC::DFG::Edge::shift):
(JSC::DFG::Edge::makeWord):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateMapObject):
(JSC::DFG::SpeculativeJIT::speculateSetObject):
(JSC::DFG::SpeculativeJIT::speculate):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGUseKind.cpp:
(WTF::printInternal):
- dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileMapHash):
(JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::compileLoadFromJSMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::compileIsNonEmptyMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::lowMapObject):
(JSC::FTL::DFG::LowerDFGToB3::lowSetObject):
(JSC::FTL::DFG::LowerDFGToB3::lowMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateMapObject):
(JSC::FTL::DFG::LowerDFGToB3::speculateSetObject):
(JSC::FTL::DFG::LowerDFGToB3::setMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::lowRegExpObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::lowStorage): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::speculateRegExpObject): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::setStorage): Deleted.
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::wangsInt64Hash):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateDestructibleObject): Deleted.
- jit/JITOperations.h:
- parser/ModuleAnalyzer.cpp:
(JSC::ModuleAnalyzer::ModuleAnalyzer):
- runtime/HashMapImpl.cpp: Added.
(JSC::HashMapBucket<Data>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::copyBackingStore):
- runtime/HashMapImpl.h: Added.
(JSC::HashMapBucket::selectStructure):
(JSC::HashMapBucket::createStructure):
(JSC::HashMapBucket::create):
(JSC::HashMapBucket::HashMapBucket):
(JSC::HashMapBucket::setNext):
(JSC::HashMapBucket::setPrev):
(JSC::HashMapBucket::setKey):
(JSC::HashMapBucket::setValue):
(JSC::HashMapBucket::key):
(JSC::HashMapBucket::value):
(JSC::HashMapBucket::next):
(JSC::HashMapBucket::prev):
(JSC::HashMapBucket::deleted):
(JSC::HashMapBucket::setDeleted):
(JSC::HashMapBucket::offsetOfKey):
(JSC::HashMapBucket::offsetOfValue):
(JSC::HashMapBuffer::allocationSize):
(JSC::HashMapBuffer::buffer):
(JSC::HashMapBuffer::create):
(JSC::areKeysEqual):
(JSC::normalizeMapKey):
(JSC::jsMapHash):
(JSC::HashMapImpl::selectStructure):
(JSC::HashMapImpl::createStructure):
(JSC::HashMapImpl::create):
(JSC::HashMapImpl::HashMapImpl):
(JSC::HashMapImpl::buffer):
(JSC::HashMapImpl::finishCreation):
(JSC::HashMapImpl::emptyValue):
(JSC::HashMapImpl::isEmpty):
(JSC::HashMapImpl::deletedValue):
(JSC::HashMapImpl::isDeleted):
(JSC::HashMapImpl::findBucket):
(JSC::HashMapImpl::get):
(JSC::HashMapImpl::has):
(JSC::HashMapImpl::add):
(JSC::HashMapImpl::remove):
(JSC::HashMapImpl::size):
(JSC::HashMapImpl::clear):
(JSC::HashMapImpl::bufferSizeInBytes):
(JSC::HashMapImpl::offsetOfBuffer):
(JSC::HashMapImpl::offsetOfCapacity):
(JSC::HashMapImpl::head):
(JSC::HashMapImpl::tail):
(JSC::HashMapImpl::approximateSize):
(JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized):
(JSC::HashMapImpl::rehash):
(JSC::HashMapImpl::makeAndSetNewBuffer):
- runtime/Intrinsic.h:
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::sameValue):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSMap.cpp:
(JSC::JSMap::destroy): Deleted.
(JSC::JSMap::estimatedSize): Deleted.
(JSC::JSMap::visitChildren): Deleted.
(JSC::JSMap::copyBackingStore): Deleted.
(JSC::JSMap::has): Deleted.
(JSC::JSMap::size): Deleted.
(JSC::JSMap::get): Deleted.
(JSC::JSMap::set): Deleted.
(JSC::JSMap::clear): Deleted.
(JSC::JSMap::remove): Deleted.
- runtime/JSMap.h:
(JSC::JSMap::createStructure):
(JSC::JSMap::create):
(JSC::JSMap::get):
(JSC::JSMap::set):
(JSC::JSMap::JSMap):
(JSC::JSMap::Entry::key): Deleted.
(JSC::JSMap::Entry::value): Deleted.
(JSC::JSMap::Entry::visitChildren): Deleted.
(JSC::JSMap::Entry::setKey): Deleted.
(JSC::JSMap::Entry::setKeyWithoutWriteBarrier): Deleted.
(JSC::JSMap::Entry::setValue): Deleted.
(JSC::JSMap::Entry::clear): Deleted.
- runtime/JSMapIterator.cpp:
(JSC::JSMapIterator::finishCreation):
(JSC::JSMapIterator::visitChildren):
(JSC::JSMapIterator::clone):
- runtime/JSMapIterator.h:
(JSC::JSMapIterator::advanceIter):
(JSC::JSMapIterator::next):
(JSC::JSMapIterator::nextKeyValue):
(JSC::JSMapIterator::JSMapIterator):
(JSC::JSMapIterator::setIterator):
(JSC::JSMapIterator::finish): Deleted.
(JSC::JSMapIterator::iteratorData): Deleted.
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::finishCreation):
- runtime/JSModuleLoader.h:
(JSC::JSModuleLoader::create):
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::finishCreation):
- runtime/JSModuleRecord.h:
(JSC::JSModuleRecord::create):
- runtime/JSSet.cpp:
(JSC::JSSet::destroy): Deleted.
(JSC::JSSet::estimatedSize): Deleted.
(JSC::JSSet::visitChildren): Deleted.
(JSC::JSSet::copyBackingStore): Deleted.
(JSC::JSSet::has): Deleted.
(JSC::JSSet::size): Deleted.
(JSC::JSSet::add): Deleted.
(JSC::JSSet::clear): Deleted.
(JSC::JSSet::remove): Deleted.
- runtime/JSSet.h:
(JSC::JSSet::createStructure):
(JSC::JSSet::create):
(JSC::JSSet::add):
(JSC::JSSet::JSSet):
(JSC::JSSet::Entry::key): Deleted.
(JSC::JSSet::Entry::value): Deleted.
(JSC::JSSet::Entry::visitChildren): Deleted.
(JSC::JSSet::Entry::setKey): Deleted.
(JSC::JSSet::Entry::setKeyWithoutWriteBarrier): Deleted.
(JSC::JSSet::Entry::setValue): Deleted.
(JSC::JSSet::Entry::clear): Deleted.
- runtime/JSSetIterator.cpp:
(JSC::JSSetIterator::finishCreation):
(JSC::JSSetIterator::visitChildren):
(JSC::JSSetIterator::clone):
- runtime/JSSetIterator.h:
(JSC::JSSetIterator::advanceIter):
(JSC::JSSetIterator::next):
(JSC::JSSetIterator::JSSetIterator):
(JSC::JSSetIterator::setIterator):
(JSC::JSSetIterator::finish): Deleted.
(JSC::JSSetIterator::iteratorData): Deleted.
- runtime/JSType.h:
- runtime/MapBase.cpp: Added.
(JSC::MapBase<HashMapBucketType>::visitChildren):
(JSC::MapBase<HashMapBucketType>::estimatedSize):
- runtime/MapBase.h: Added.
(JSC::MapBase::size):
(JSC::MapBase::has):
(JSC::MapBase::clear):
(JSC::MapBase::remove):
(JSC::MapBase::findBucket):
(JSC::MapBase::offsetOfHashMapImpl):
(JSC::MapBase::impl):
(JSC::MapBase::finishCreation):
(JSC::MapBase::MapBase):
- runtime/MapConstructor.cpp:
(JSC::constructMap):
- runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototypeFuncNext):
- runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
(JSC::getMap):
(JSC::privateFuncIsMap):
(JSC::privateFuncMapIteratorNext):
- runtime/PropertyDescriptor.cpp:
(JSC::sameValue): Deleted.
- runtime/PropertyDescriptor.h:
- runtime/SetConstructor.cpp:
(JSC::constructSet):
- runtime/SetIteratorPrototype.cpp:
(JSC::SetIteratorPrototypeFuncNext):
- runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
(JSC::getSet):
(JSC::privateFuncSetIteratorNext):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
Source/WebCore:
- ForwardingHeaders/runtime/HashMapImpl.h: Added.
- ForwardingHeaders/runtime/MapBase.h: Added.
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::deserialize):
Source/WTF:
I made s_flagCount public since JSC's JITs now use this field.
- wtf/text/StringImpl.h:
- 1:57 PM Changeset in webkit [205503] by
-
- 2 edits in trunk/LayoutTests
Skip some asserting Fetch API tests.
https://bugs.webkit.org/show_bug.cgi?id=161632
Unreviewed test gardening.
- 1:50 PM Changeset in webkit [205502] by
-
- 2 edits in trunk/Source/WebKit
[Xcode] WebKitLegacy.framework is re-signed on incremental build even if nothing’s changed
https://bugs.webkit.org/show_bug.cgi?id=161642
Reviewed by Tim Horton.
- WebKit.xcodeproj/project.pbxproj: Removed the output file listed under the
Symlink WebKitPluginHost script build phase, because it doesn’t produce that file on iOS.
With no outputs listed, the script will still run every time, but the fact that it has run
won’t trigger re-signing the framework.
- 1:44 PM Changeset in webkit [205501] by
-
- 3 edits in trunk/LayoutTests
Revert r205491 because it did not resolve the test failures, update bug number in TestExpectations.
https://bugs.webkit.org/show_bug.cgi?id=161366
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 1:39 PM Changeset in webkit [205500] by
-
- 2 edits in trunk/Source/WebKit/mac
<rdar://problem/8064563> Ugly NSLog in DOMInternal.mm
Rubber-stamped by Anders Carlsson.
- DOM/DOMInternal.mm:
(-[WebScriptObject _initializeScriptDOMNodeImp]): Removed useless call to NSLog.
- 12:56 PM Changeset in webkit [205499] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Cannot undo in breakpoint editor
https://bugs.webkit.org/show_bug.cgi?id=152858
Patch by Devin Rousso <Devin Rousso> on 2016-09-06
Reviewed by Brian Burg.
- UserInterface/Controllers/BreakpointPopoverController.js:
(WebInspector.BreakpointPopoverController.prototype._conditionCodeMirrorBeforeChange):
Since the breakpoint editor only allows a single line of JavaScript, it attempts to remove
all "\n" characters. During an "undo" action, this is not possible.
- 11:55 AM Changeset in webkit [205498] by
-
- 2 edits in trunk/Source/WebKit2
Use TemporaryChange<> to maintain m_userIsInteracting
https://bugs.webkit.org/show_bug.cgi?id=161497
Reviewed by Tim Horton.
Replace some error-prone manual set/clear of m_userIsInteracting with
TemporaryChange<>.
No behavior change.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::keyEvent):
(WebKit::WebPage::dispatchTouchEvent):
- 11:55 AM Changeset in webkit [205497] by
-
- 2 edits in trunk/Source/WTF
[Win] Enable strict runtime stack buffer checks.
https://bugs.webkit.org/show_bug.cgi?id=161629
Reviewed by Brent Fulgham.
- wtf/Platform.h:
- 11:38 AM Changeset in webkit [205496] by
-
- 3 edits in trunk/Source/WebKit2
Remove SwipeTransitionStyle; only Overlap has ever been used
https://bugs.webkit.org/show_bug.cgi?id=161617
Reviewed by Alex Christensen.
- UIProcess/mac/ViewGestureController.h:
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
Remove SwipeTransitionStyle::Push, and SwipeTransitionStyle itself entirely,
because we've never used it and it is only supported by the Mac
implementation of ViewGestureController.
- 11:21 AM Changeset in webkit [205495] by
-
- 2 edits in trunk/Source/WebKit/win
[Win] Null pointer crash under WebView::scrollOffset.
https://bugs.webkit.org/show_bug.cgi?id=161620
Reviewed by Darin Adler.
Added null pointer checks.
- WebView.cpp:
(WebView::scrollOffset):
(WebView::scrollBy):
(WebView::visibleContentRect):
- 11:18 AM Changeset in webkit [205494] by
-
- 13 edits in trunk/Source/JavaScriptCore
Typed arrays should use MarkedSpace instead of CopiedSpace
https://bugs.webkit.org/show_bug.cgi?id=161100
Reviewed by Geoffrey Garen.
This moves typed array backing stores out of CopiedSpace and into Auxiliary MarkedSpace.
This is a purely mechanical change since Auxiliary MarkedSpace already knows how to do
everything that typed arrays want.
- dfg/DFGOperations.cpp:
(JSC::DFG::newTypedArrayWithSize):
- dfg/DFGOperations.h:
(JSC::DFG::operationNewTypedArrayWithSizeForType):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage): Deleted.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::initializeArrayElements):
(JSC::FTL::DFG::LowerDFGToB3::splatWords):
(JSC::FTL::DFG::LowerDFGToB3::allocateBasicStorageAndGetEnd): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::allocateBasicStorage): Deleted.
- heap/CopyToken.h:
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::markAuxiliary):
- jit/JITOperations.h:
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
(JSC::JSArrayBufferView::JSArrayBufferView):
- runtime/JSArrayBufferView.h:
- runtime/JSGenericTypedArrayView.h:
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector):
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):
(JSC::JSGenericTypedArrayView<Adaptor>::copyBackingStore): Deleted.
- 11:16 AM Changeset in webkit [205493] by
-
- 5 edits in trunk
Implement relative file urls and begin implementing character encoding in URLParser
https://bugs.webkit.org/show_bug.cgi?id=161618
Reviewed by Tim Horton.
Source/WebCore:
Covered by new API tests.
Also, this is a significant step towards passing the URL web platform tests when using the URLParser,
which is still off by default.
- platform/URLParser.cpp:
(WebCore::isInSimpleEncodeSet):
(WebCore::isInDefaultEncodeSet):
(WebCore::isInUserInfoEncodeSet):
(WebCore::isInvalidDomainCharacter):
(WebCore::shouldCopyFileURL):
(WebCore::percentEncode):
(WebCore::utf8PercentEncode):
(WebCore::encodeQuery):
(WebCore::isDefaultPort):
(WebCore::isPercentEncodedDot):
(WebCore::URLParser::parse):
(WebCore::percentDecode):
(WebCore::domainToASCII):
(WebCore::hasInvalidDomainCharacter):
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHost):
(WebCore::isTabOrNewline): Deleted.
- platform/URLParser.h:
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:02 AM Changeset in webkit [205492] by
-
- 2 edits in trunk/Source/WebCore
Fix the Apple-internal build following <https://trac.webkit.org/changeset/205488>
(https://bugs.webkit.org/show_bug.cgi?id=161090)
Use the default linkage for QuartzCore constants to match the linkage used for such constants
in the Apple-internal SDK.
- platform/spi/cocoa/QuartzCoreSPI.h:
- 10:43 AM Changeset in webkit [205491] by
-
- 3 edits in trunk/LayoutTests
Skipping editing/inserting/smart-link-when-caret-is-moved-before-URL.html.
https://bugs.webkit.org/show_bug.cgi?id=161366
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 10:43 AM Changeset in webkit [205490] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-id-top.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=161631
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 10:20 AM Changeset in webkit [205489] by
-
- 8 edits2 adds in trunk
<table> inside <div align="right"> with large content inside = no scrollbar
https://bugs.webkit.org/show_bug.cgi?id=3352
Reviewed by Brent Fulgham.
Source/WebCore:
Respect "right" text-alignment only if the width of the child does not overflow the
width of its containing block. This makes our margin computation more closely conform
to section "Block-level, non-replaced elements in normal flow" of the CSS 2.1
spec., <http://www.w3.org/TR/CSS21/>, and to the behavior observed in Firefox, Chrome,
IE version 9 or later and Microsoft Edge.
Test: fast/block/align-overflow-child.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeInlineDirectionMargins):
LayoutTests:
Add a new test that is derived from the test LayoutTests/fast/block/align-bigger-child.html included
in <https://src.chromium.org/viewvc/blink?revision=187157&view=revision>.
Also update expected results of existing tests.
- fast/block/align-overflow-child-expected.txt: Added.
- fast/block/align-overflow-child.html: Added.
- platform/efl/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
- platform/gtk/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
- platform/ios-simulator/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
- platform/mac/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
- platform/win/tables/mozilla_expected_failures/marvin/table_overflow_td_align_right-expected.txt:
- 10:17 AM Changeset in webkit [205488] by
-
- 25 edits in trunk/Source
Remove EXTERN_C from WTF
https://bugs.webkit.org/show_bug.cgi?id=161090
Reviewed by Brent Fulgham.
Guard external C declarations in WTF_EXTERN_C_BEGIN, WTF_EXTERN_C_END.
Source/WebCore:
- platform/spi/cf/CFLocaleSPI.h:
- platform/spi/cf/CFNetworkConnectionCacheSPI.h:
- platform/spi/cf/CFNetworkSPI.h: Additionally, remove the workaround for <rdar://problem/18337182>
as this bug was fixed in El Capitan.
- platform/spi/cf/CFUtilitiesSPI.h:
- platform/spi/cocoa/CoreTextSPI.h:
- platform/spi/cocoa/DataDetectorsCoreSPI.h:
- platform/spi/cocoa/IOPMLibSPI.h:
- platform/spi/cocoa/MachVMSPI.h:
- platform/spi/cocoa/QuartzCoreSPI.h:
- platform/spi/ios/MobileGestaltSPI.h:
- platform/spi/ios/QuickLookSPI.h:
- platform/spi/win/CoreTextSPIWin.cpp:
- platform/spi/win/CoreTextSPIWin.h:
Source/WebKit2:
- Platform/spi/ios/ManagedConfigurationSPI.h:
Source/WTF:
- wtf/Compiler.h: Remove macro definition EXTERN_C.
- wtf/spi/cf/CFBundleSPI.h:
- wtf/spi/cocoa/NSMapTableSPI.h:
- wtf/spi/cocoa/SecuritySPI.h:
- wtf/spi/darwin/CommonCryptoSPI.h:
- wtf/spi/darwin/SandboxSPI.h:
- wtf/spi/darwin/XPCSPI.h:
- wtf/spi/darwin/dyldSPI.h:
- 9:55 AM Changeset in webkit [205487] by
-
- 12 edits in trunk/Source
Unreviewed, rolling out r205407.
Not the correct way to implement this functionality
Reverted changeset:
"Consult with the FrameLoaderClient about whether or not
content extensions should be enabled when loading this URL."
https://bugs.webkit.org/show_bug.cgi?id=161441
http://trac.webkit.org/changeset/205407
- 9:45 AM Changeset in webkit [205486] by
-
- 4 edits in trunk
Unreviewed, rolling out r205480.
https://bugs.webkit.org/show_bug.cgi?id=161630
tests-options.json is not known from knockout filesystem
(Requested by youenn on #webkit).
Reverted changeset:
"Using tests-options.json to compute whether tests are slow"
https://bugs.webkit.org/show_bug.cgi?id=161626
http://trac.webkit.org/changeset/205480
- 9:28 AM Changeset in webkit [205485] by
-
- 2 edits in trunk/Source/WebKit2
[GTK][Wayland] evince-browser-plugin prevents viewing PDFs
https://bugs.webkit.org/show_bug.cgi?id=158697
Reviewed by Michael Catanzaro.
Use a different cache file for plugins depending on the current platform display. Plugins can claim to work on
X11 but not on Wayland, for example, if they need XEmebed to work. That's the case of the evince browser plugin.
- UIProcess/Plugins/gtk/PluginInfoCache.cpp:
(WebKit::cacheFilenameForCurrentDisplay):
(WebKit::PluginInfoCache::PluginInfoCache):
- 9:26 AM Changeset in webkit [205484] by
-
- 2 edits in trunk/Source/WebKit2
[Threaded Compositor] Update timer should have lower priority than tasks scheduled in compositing thread
https://bugs.webkit.org/show_bug.cgi?id=161625
Reviewed by Sergio Villar Senin.
This way, if a resize is scheduled, for example, and there are pending updates, the resize will happen first,
and then the updates will happen at the right size.
- Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
(WebKit::CompositingRunLoop::CompositingRunLoop): Use G_PRIORITY_HIGH_IDLE as update timer priority. The actual
priority doesn't really matter as long as it's lower than G_PRIORITY_DEFAULT, because there are only two
possible sources in the compositing run loop, one for the tasks scheduled, and another one for the update timer.
- 9:24 AM Changeset in webkit [205483] by
-
- 2 edits in trunk/Tools
"Redundant argument in sprintf" warning spam from prepare-ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=161606
Reviewed by Darin Adler.
Avoid extra arguments in call to sprintf, hopefully without introducing new warnings this
time.
- Scripts/prepare-ChangeLog:
(statusDescription):
- 9:15 AM Changeset in webkit [205482] by
-
- 2 edits in trunk/LayoutTests
Rebaseline http/tests/cookies/third-party-cookie-relaxing.html for Sierra.
Unreviewed test gardening.
- platform/mac/http/tests/cookies/third-party-cookie-relaxing-expected.txt:
- 9:03 AM Changeset in webkit [205481] by
-
- 5 edits in trunk
http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=161627
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-06
Reviewed by Darin Adler.
Source/WebCore:
Covered by changed expectation.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::redirectReceived): Clearing the resource in lieu of clearing the request. This will stop the resource load.
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse): Adding an ASSERT to ensure that no valid redirect responses is mistakenly processed here.
LayoutTests:
- TestExpectations: Removing flakiness expectation.
- 9:01 AM Changeset in webkit [205480] by
-
- 4 edits in trunk
Using tests-options.json to compute whether tests are slow
https://bugs.webkit.org/show_bug.cgi?id=161626
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-06
Reviewed by Darin Adler.
Tools:
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.init): Loading tests-options.json
(Manager._test_is_slow): Computing timeout value based on tests-options.json.
LayoutTests:
- TestExpectations: Removing slow WPT expectations now that they are handled through tests-options.json.
- 9:00 AM Changeset in webkit [205479] by
-
- 3 edits2 adds in trunk
ASSERTION FAILED: !currBox->needsLayout() in WebCore::RenderBlock::checkPositionedObjectsNeedLayout
https://bugs.webkit.org/show_bug.cgi?id=120291
<rdar://problem/27683456>
Reviewed by David Hyatt.
Source/WebCore:
This patch ensures that we always set the 'positioned child needs layout' bit on the containing block
when a new positioned descendant gets inserted. It fixes cases for simplified layout when
we ended up not laying out the descendant element.
Test: fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out.html
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::insertPositionedObject):
LayoutTests:
- fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out-expected.txt: Added.
- fast/block/positioning/assert-when-positioned-descendant-is-not-getting-laid-out.html: Added.
- 7:32 AM Changeset in webkit [205478] by
-
- 2 edits in trunk/Tools
Unreviewed, rolling out r205461.
https://bugs.webkit.org/show_bug.cgi?id=161628
Introduced "Use of uninitialized value $original in sprintf"
warning (Requested by mcatanzaro on #webkit).
Reverted changeset:
""Redundant argument in sprintf" warning spam from prepare-
ChangeLog"
https://bugs.webkit.org/show_bug.cgi?id=161606
http://trac.webkit.org/changeset/205461
- 7:29 AM Changeset in webkit [205477] by
-
- 2 edits in trunk/Source/JavaScriptCore
Silence GCC warning spam introduced in r205462
Rubber-stamped by Filip Pizlo.
- bytecode/Opcode.h:
(JSC::padOpcodeName):
- 5:30 AM Changeset in webkit [205476] by
-
- 4 edits1 add in trunk
W3C test importer should be able to identify slow test
https://bugs.webkit.org/show_bug.cgi?id=161601
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-06
Reviewed by Darin Adler.
Tools:
Test parser is now identifying slow tests based on "meta element name=timeout content=long" elements.
Test importer is updating test-options.json file according that information.
In case of clean import, the test-options.json is cleaned from 'slow' options for all W3C tests.
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.init):
(TestImporter.find_importable_tests):
(TestImporter.import_tests):
(TestImporter.update_test_options):
(TestImporter):
(TestImporter.remove_slow_from_w3c_test_options):
- Scripts/webkitpy/w3c/test_parser.py:
(TestParser.analyze_test):
(TestParser.is_slow_test):
(TestParser.potential_ref_filename):
LayoutTests:
- tests-options.json: Added.
- 4:28 AM Changeset in webkit [205475] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] glImageTargetTexture2D() is a GL function, rename accordingly
https://bugs.webkit.org/show_bug.cgi?id=161622
Patch by Emanuele Aina <Emanuele Aina> on 2016-09-06
Reviewed by Carlos Garcia Campos.
glImageTargetTexture2D() is a GL function, not EGL, using the 'egl'
prefix is misleading.
- UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::Surface::prepareTextureForPainting):
(WebKit::WaylandCompositor::initializeEGL):
- 4:19 AM Changeset in webkit [205474] by
-
- 5 edits in trunk/Source/WebKit2
[GTK][EFL] Make *_PROCESS_CMD_PREFIX conditional on DEVELOPER_MODE
https://bugs.webkit.org/show_bug.cgi?id=161621
Patch by Emanuele Aina <Emanuele Aina> on 2016-09-06
Reviewed by Carlos Garcia Campos.
Instead of enabling support for the *_PROCESS_CMD_PREFIX set of
environment valiables (eg. WEB_PROCESS_CMD_PREFIX) on debug builds
only, enable it when DEVELOPER_MODE is enabled as it already guards
similar features (eg. WEBKIT_EXEC_PATH).
- UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::getLaunchOptions):
- UIProcess/Launcher/ProcessLauncher.h:
- UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
- UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
- 4:06 AM Changeset in webkit [205473] by
-
- 55 edits17 adds in trunk
CachedResourceLoader is not taking into account fetch options to use or not cached resources
https://bugs.webkit.org/show_bug.cgi?id=161389
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-06
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Updated as new console log messages appear now that cors checks are done at SubresourceLoader level.
- web-platform-tests/XMLHttpRequest/security-consideration.sub-expected.txt:
- web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
- web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-basic.js: Fixing a typo in the test making the test always passing, since the fetch promise was not taken into account.
- web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt:
- web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-origin-expected.txt:
- web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-origin.js:
(corsOrigin): Fixing a typo in the test making the tests always passing, since the fetch promise was not taken into account.
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt:
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt:
Source/WebCore:
Tests: http/tests/fetch/fetching-same-resource-with-diffferent-options.html
http/tests/security/cross-origin-cached-resource-parallel.html
http/tests/security/cross-origin-cached-resource.html
http/tests/security/load-image-after-redirection-2.html
http/tests/security/shape-outside-and-cached-resources.html
Adding CORS checks for the response in case of CORS fetch mode, in SubresourceLoader.
Removing the CORS checks in Image and DocumentThreadableLoader.
The direction of this patch is to make CachedResource origin-specific/fetch mode specific.
This will remove the need for CachedResource clients to do CORS checks when receiving the notifyFinished call.
This will also make the computation of whether a resource is clean or not much easier since the CachedResource knowd its origin and its response tainting.
Removing the CORS checks at ImageLoader creates the risk of using some cached resources loaded from previously no-cors mode without doing the actual CORS check.
Note that the risk was already there in case of a resource loaded through redirections.
Reusing a cached resource for a load with different options also leads to bad computation of the resource tainting.
As a first step, improvements are done but only for CachedImage resources.
This patch limits the direct reuse of cached resources as follow:
- If the request and existing resources have different origins.
- If the fetch mode is different between request and existing resource.
In those cases, a new CachedResource is created with the correct options and origin.
The data and response of the CachedResource found in the cache are copied efficiently in the new CachedResource, if the matching CachedResource finished loading (CachedImage specific).
If the matching CachedResource is still loading, we trigger a reload (with caching=false to not disturb the being loaded resource).
This should be made more efficient at some point, especially if the matching CachedResource already has its response set.
This triggers a change of behavior: previously, the CORS checks were done by the ImageLoader when the resource was finished loading.
The CORS checks were controlled by the crossOrigin attribute, which may be set or unset between the load start and the load end.
Now the crossOrigin attribute is checked at load start. If it is set, the CORS checks will happen even if the attribute is unset before the end of the load.
This is more consistent as the actual request was built with CORS enabled.
- loader/CrossOriginPreflightChecker.cpp:
(WebCore::CrossOriginPreflightChecker::startPreflight): Setting correctly the preflight options as per fetch spec.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse): Removing CORS check.
(WebCore::DocumentThreadableLoader::loadRequest): Adding CORS check in sync mode.
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse): Adding CORS checks to the response
(WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl): Helper routine to do CORS checks
- loader/SubresourceLoader.h:
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::cloneData): Responsible to set image content from another CachedImage.
- loader/cache/CachedImage.h:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::computeOrigin): Helper routine to set the origin and whether the resource is cross-origin or not.
(WebCore::CachedResource::load): Using computeOrigin.
(WebCore::CachedResource::loadFrom): Loading from a CachedResource from the same type and which finished loading.
- loader/cache/CachedResource.h:
(WebCore::CachedResource::cloneData):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest): Helper routine responsible to adapt the CachedResource
that can be reused to the origin and options of a new request.
(WebCore::CachedResourceLoader::requestResource): Calling updateCachedResourceWithCurrentRequest before actually returning the resource.
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Space clean-up.
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedResourceRequest.h:
(WebCore::CachedResourceRequest::setCachingPolicy):
- style/StylePendingResources.cpp:
(WebCore::Style::loadPendingImage): Allowing data URLs for ShapeOutside data.
LayoutTests:
Added specific expectations for fetch cors-origin* tests for mac-wk2 and ios-simulator-wk2 as these tests use
HTTPS, and the connection is refused.
- TestExpectations: Marking http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin.html as flaky.
- http/tests/eventsource/eventsource-cors-basic-expected.txt:
- http/tests/eventsource/eventsource-cors-with-credentials-expected.txt:
- http/tests/fetch/fetching-same-resource-with-diffferent-options-expected.txt: Added.
- http/tests/fetch/fetching-same-resource-with-diffferent-options.html: Added.
- http/tests/loading/cross-origin-XHR-willLoadRequest-expected.txt:
- http/tests/resources/download-json-with-delay.php:
- http/tests/resources/redirect.php:
- http/tests/security/cross-origin-cached-resource-expected.txt: Added.
- http/tests/security/cross-origin-cached-resource-parallel-expected.txt: Added.
- http/tests/security/cross-origin-cached-resource-parallel.html: Added.
- http/tests/security/cross-origin-cached-resource.html: Added.
- http/tests/security/img-with-failed-cors-check-fails-to-load-expected.txt:
- http/tests/security/load-image-after-redirection-2-expected.txt: Added.
- http/tests/security/load-image-after-redirection-2.html: Added.
- http/tests/security/resources/abe-allow-star.php:
- http/tests/security/resources/allow-if-origin.php: Added.
- http/tests/security/resources/cross-origin-cached-resource-iframe.html: Added.
- http/tests/security/resources/rgbalpha.png: Added.
- http/tests/security/shape-outside-and-cached-resources-expected.html: Added.
- http/tests/security/shape-outside-and-cached-resources.html: Added.
- http/tests/security/video-poster-cross-origin-crash-expected.txt:
- http/tests/security/video-poster-cross-origin-crash2-expected.txt:
- http/tests/xmlhttprequest/access-control-and-redirects-async-same-origin-expected.txt:
- http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash-expected.txt:
- http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
- http/tests/xmlhttprequest/cross-origin-no-credential-prompt-expected.txt:
- http/tests/xmlhttprequest/cross-site-denied-response-expected.txt:
- http/tests/xmlhttprequest/onerror-event-expected.txt:
- http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt:
- http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt:
- http/tests/xmlhttprequest/post-blob-content-type-async-expected.txt:
- http/tests/xmlhttprequest/redirect-cross-origin-2-expected.txt:
- http/tests/xmlhttprequest/redirect-cross-origin-expected.txt:
- http/tests/xmlhttprequest/simple-cross-origin-denied-events-expected.txt:
- http/tests/xmlhttprequest/simple-cross-origin-progress-events-expected.txt:
- http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Added.
- 2:48 AM Changeset in webkit [205472] by
-
- 2 edits in trunk/Tools
[Win] Crash logs have incorrect symbols.
https://bugs.webkit.org/show_bug.cgi?id=161603
Reviewed by Darin Adler.
Add build path to _NT_SYMBOL_PATH environment variable.
- Scripts/webkitpy/port/win.py:
(WinPort.setup_crash_log_saving):
- 12:09 AM Changeset in webkit [205471] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening
- platform/gtk/TestExpectations: Mark 2 mediastream tests as crashing
- 12:03 AM WebKitGTK/2.14.x edited by
- (diff)
Sep 5, 2016:
- 10:57 PM Changeset in webkit [205470] by
-
- 3 edits in trunk/Source/WebKit2
Fix ENABLE(GAMEPAD) build errors on non-Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=161596
Reviewed by Darin Adler.
This patch fixes build errors popping up when enabling Gamepad
feature on non-Cocoa platforms.
- CMakeLists.txt: Add the Source/WebCore/platform/gamepad/ directory to
WebKit2_INCLUDE_DIRECTORIES. Add GamepadData.cpp, UIGamepad.cpp files to the build.
- UIProcess/Gamepad/UIGamepadProvider.cpp: Don't include Cocoa-specific
HIDGamepadProvider.h file. Update methods for the UIGamepadProvider class.
(WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput):
(WebKit::UIGamepadProvider::platformStartMonitoringGamepads): Deleted.
(WebKit::UIGamepadProvider::platformStopMonitoringGamepads): Deleted.
(WebKit::UIGamepadProvider::platformGamepads): Deleted.
(WebKit::UIGamepadProvider::platformWebProcessProxyForGamepadInput): Deleted.
- 9:21 PM Changeset in webkit [205469] by
-
- 2 edits in trunk/Source/WebKit2
Remove some dead code in ViewGestureControllerMac
https://bugs.webkit.org/show_bug.cgi?id=161616
Reviewed by Darin Adler.
- UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::endSwipeGesture):
All other LEGACY_SWIPE_SHADOW_STYLE code has been removed, except for this.
- 8:33 PM Changeset in webkit [205468] by
-
- 44 edits in trunk
More bindings improvements, particularly things not needed for JavaScript bindings
https://bugs.webkit.org/show_bug.cgi?id=161572
Reviewed by Sam Weinig.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj: Export a couple of files needed for legacy bindings.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::addCrossOriginWindowPropertyNames): Mark array const.
- bindings/js/JSLocationCustom.cpp:
(WebCore::addCrossOriginLocationPropertyNames): Ditto.
- dom/DOMImplementation.cpp:
(WebCore::addString): Deleted.
(WebCore::isSupportedSVG10Feature): Deleted.
(WebCore::isSupportedSVG11Feature): Deleted.
(WebCore::DOMImplementation::hasFeature): Deleted.
- dom/DOMImplementation.h: Changed hasFeature to take no arguments and to always
return true, as specified in the DOM spec.
- dom/DOMImplementation.idl: Removed the arguments to hasFeature.
- dom/Document.cpp:
(WebCore::Document::defaultCharsetForLegacyBindings): Renamed from
defaultCharsetForBindings, because this function is used only by the
non-JavaScript bindings.
- dom/Document.h: Updated for the above.
- dom/DocumentType.h: Removed entitiesForBindings,
notationsForBindings, and internalSubsetForBindings, all of which were
empty functions. The empty implementations are now in the legacy bindings.
- dom/Element.cpp:
(WebCore::Element::dispatchSimulatedClickForBindings): Deleted.
This code is now at the single call site, in HTMLElement.
- dom/Element.h: Updated for the above change.
- dom/Node.cpp:
(WebCore::Node::isSupportedForBindings): Deleted. This is only used in the
legacy bindings, and since it only returns a value other than "true" for
SVG features, it is now in the SVGTests class.
- dom/Node.h: Updated for the above change.
- html/HTMLElement.cpp:
(WebCore::HTMLElement::click): Call simulateClick with the appropriate
arguments rather than calling dispatchSimulatedClickForBindings.
- svg/SVGTests.cpp:
(WebCore::supportedSVGFeatures): Added. Moved here from DOMImplementation,
but also refactored.
(WebCore::SVGTests::isValid): Changed to use the function above, rather than
calling DOMImplementation::hasFeature. This change fixes a bug where feature names
that do not look like valid SVG feature names, names such as "xxx", were returning
true claiming that the feature was supported. This behavior was helpful in the
general DOMImplementation function, but harmful here. This bug was causing test
failures in some of our SVG tests.
(WebCore::SVGTests::hasFeatureForLegacyBindings): Added. Uses the set above to
implement the legacy behavior of hasFeature. It's better to have this in parallel
with the SVGTests::isValid function rather than having either depend on the other.
- svg/SVGTests.h: Added exported SVGTests::isValid function.
Source/WebKit/mac:
- DOM/DOMDOMImplementation.mm:
(-[DOMImplementation hasFeature:version:]): Call SVGTests::hasFeatureForLegacyBindings
instead of DOMImplementation::hasFeature. Also removed JSMainThreadNullState
since this does not do anything that can invoke JavaScript.
- DOM/DOMDocument.mm:
(-[DOMDocument defaultCharset]): Call defaultCharsetForLegacyBindings. Also removed
JSMainThreadNullState.
- DOM/DOMDocumentType.mm:
(-[DOMDocumentType entities]): Changed to simply return nil; same behavior as before,
but with no dependency on WebCore. Also removed JSMainThreadNullState.
(-[DOMDocumentType notations]): Ditto.
(-[DOMDocumentType internalSubset]): Ditto, except empty string rather than nil.
- DOM/DOMNode.mm:
(-[DOMNode isSupported:version:]): Call SVGTests::hasFeatureForLegacyBindings
instead of Node::isSupportedForBindings. Also removed JSMainThreadNullState.
Source/WebKit2:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMImplementation.cpp:
(webkit_dom_dom_implementation_has_feature): Call SVGTests::hasFeatureForLegacyBindings
instead of DOMImplementation::hasFeature. Also removed JSMainThreadNullState
since this does not do anything that can invoke JavaScript.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDeprecated.cpp:
(webkit_dom_document_get_default_charset): Call defaultCharsetForLegacyBindings.
Also removed JSMainThreadNullState.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
(webkit_dom_document_type_get_entities): Changed to simply return nullptr; same behavior
as before, but with no dependency on WebCore. Also removed JSMainThreadNullState.
(webkit_dom_document_type_get_notations): Ditto.
(webkit_dom_document_type_get_internal_subset): Ditto.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp:
(webkit_dom_node_is_supported): Call SVGTests::hasFeatureForLegacyBindings
instead of Node::isSupportedForBindings. Also removed JSMainThreadNullState.
LayoutTests:
- TestExpectations: Updated to expect success instead of failure for the
imported/mozilla/svg tests named conditions-01.svg, conditions-06.svg,
dynamic-conditions-01.svg, switch-01.svg, and
svg-integration/dynamic-conditions-outer-svg-03.xhtml. These are now all passing,
likely because of a progression due to correctly handling bogus feature strings.
Also, a comment in bug 139115 claims that requiredFeatures it going to be removed
from the SVG specifications and from other implementations. Updated to expect
possible failure for dynamic-conditions-08.svg and dynamic-conditions-12.svg. Before
these were reliably passing because of the incorrect handling of bogus feature strings.
Now, they are sometimes failing because the tests include required code that runs on
a timer, but no code to guarantee the test engine will wait for the timer to fire.
- platform/efl/TestExpectations: Removed now-redundant expectations that these
tests will pass; now expected on all platforms.
- platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
- platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
- platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png:
- platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.png:
- platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt:
- platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.png:
- platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt:
- svg/custom/svg-features-expected.txt:
Updated results for all these tests now that DOMImplementation.hasFeature always
returns true. The tests aren't super-valuable any more, but I don't see a good
reason to locally modify the imported tests from the W3C-SVG-1.1 suite, and
while the svg-features test isn't great, keeping it does provide a little test
coverage for the "always return true" behavior.
- platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
- platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
- platform/win/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
- svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt:
Updated for progression due to correctly handling bogus feature strings.
- 8:16 PM Changeset in webkit [205467] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, update stale variable name
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreateWebPage):
- 7:39 PM Changeset in webkit [205466] by
-
- 2 edits in trunk/Source/JavaScriptCore
Heap::isMarked() should use concurrent lazy flipping
https://bugs.webkit.org/show_bug.cgi?id=161613
Reviewed by Michael Catanzaro.
I found out about this race condition via
https://bugs.webkit.org/show_bug.cgi?id=160125#c233.
The problem is that we use isMarked, and maybe even isLive, inside the concurrent mark
phase. So, they need to lazy-flip in a non-racy way.
- heap/HeapInlines.h:
(JSC::Heap::isLive):
(JSC::Heap::isMarked):
- 7:16 PM Changeset in webkit [205465] by
-
- 15 edits in trunk/Source/JavaScriptCore
Unreviewed, reset generator test results after the butterflies.
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result:
- Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result:
- Scripts/tests/builtins/expected/WebCore-AnotherGuardedInternalBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result:
- Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result:
- 7:08 PM Changeset in webkit [205464] by
-
- 53 edits17 deletes in trunk
Unreviewed, rolling out r205450.
https://bugs.webkit.org/show_bug.cgi?id=161614
Made tests flaky, causing false positives on EWS (Requested by
ap on #webkit).
Reverted changeset:
"CachedResourceLoader is not taking into account fetch options
to use or not cached resources"
https://bugs.webkit.org/show_bug.cgi?id=161389
http://trac.webkit.org/changeset/205450
- 6:11 PM Changeset in webkit [205463] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix cloop build.
- bytecode/SuperSampler.cpp:
- 6:02 PM Changeset in webkit [205462] by
-
- 291 edits23 adds1 delete in trunk
Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression
https://bugs.webkit.org/show_bug.cgi?id=160125
Reviewed by Geoffrey Garen and Keith Miller.
JSTests:
Most of the things I did properly covered by existing tests, but I found some simple cases of
unshifting that had sketchy coverage.
- stress/array-storage-array-unshift.js: Added.
- stress/contiguous-array-unshift.js: Added.
- stress/double-array-unshift.js: Added.
- stress/int32-array-unshift.js: Added.
Source/bmalloc:
I needed to tryMemalign, so I added such a thing.
- bmalloc/Allocator.cpp:
(bmalloc::Allocator::allocate):
(bmalloc::Allocator::tryAllocate):
(bmalloc::Allocator::allocateImpl):
- bmalloc/Allocator.h:
- bmalloc/Cache.h:
(bmalloc::Cache::tryAllocate):
- bmalloc/bmalloc.h:
(bmalloc::api::tryMemalign):
Source/JavaScriptCore:
In order to make the GC concurrent (bug 149432), we would either need to enable concurrent
copying or we would need to not copy. Concurrent copying carries a 1-2% throughput overhead
from the barriers alone. Considering that MarkedSpace does a decent job of avoiding
fragmentation, it's unlikely that it's worth paying 1-2% throughput for copying. So, we want
to get rid of copied space. This change moves copied space's biggest client over to marked
space.
Moving butterflies to marked space means having them use the new Auxiliary HeapCell
allocation path. This is a fairly mechanical change, but it caused performance regressions
everywhere, so this change also fixes MarkedSpace's performance issues.
At a high level the mechanical changes are:
- We use AuxiliaryBarrier instead of CopyBarrier.
- We use tryAllocateAuxiliary instead of tryAllocateStorage. I got rid of the silly CheckedBoolean stuff, since it's so much more trouble than it's worth.
- The JITs have to emit inlined marked space allocations instead of inline copy space allocations.
- Everyone has to get used to zeroing their butterflies after allocation instead of relying on them being pre-zeroed by the GC. Copied space would zero things for you, while marked space doesn't.
That's about 1/3 of this change. But this led to performance problems, which I fixed with
optimizations that amounted to a major MarkedSpace rewrite:
- MarkedSpace always causes internal fragmentation for array allocations because the vector length we choose when we resize usually leads to a cell size that doesn't correspond to any size class. I got around this by making array allocations usually round up vectorLength to the maximum allowed by the size class that we would have allocated in. Also, ensureLengthSlow() and friends first make sure that the requested length can't just be fulfilled with the current allocation size. This safeguard means that not every array allocation has to do size class queries. For example, the fast path of new Array(length) never does any size class queries, under the assumption that (1) the speed gained from avoiding an ensureLengthSlow() call, which then just changes the vectorLength by doing the size class query, is too small to offset the speed lost by doing the query on every allocation and (2) new Array(length) is a pretty good hint that resizing is not very likely.
- Size classes in MarkedSpace were way too precise, which led to external fragmentation. This changes MarkedSpace size classes to use a linear progression for very small sizes followed by a geometric progression that naturally transitions to a hyperbolic progression. We want hyperbolic sizes when we get close to blockSize: for example the largest size we want is payloadSize / 2 rounded down, to ensure we get exactly two cells with minimal slop. The next size down should be payloadSize / 3 rounded down, and so on. After the last precise size (80 bytes), we proceed using a geometric progression, but round up each size to minimize slop at the end of the block. This naturally causes the geometric progression to turn hyperbolic for large sizes. The size class configuration happens at VM start-up, so it can be controlled with runtime options. I found that a base of 1.4 works pretty well.
- Large allocations caused massive internal fragmentation, since the smallest large allocation had to use exactly blockSize, and the largest small allocation used blockSize / 2. The next size up - the first large allocation size to require two blocks - also had 50% internal fragmentation. This is because we required large allocations to be blockSize aligned, so that MarkedBlock::blockFor() would work. I decided to rewrite all of that. Cells no longer have to be owned by a MarkedBlock. They can now alternatively be owned by a LargeAllocation. These two things are abstracted as CellContainer. You know that a cell is owned by a LargeAllocation if the MarkedBlock::atomSize / 2 bit is set. Basically, large allocations are deliberately misaligned by 8 bytes. This actually works out great since (1) typed arrays won't use large allocations anyway since they have their own malloc fallback and (2) large array butterflies already have a 8 byte header, which means that the 8 byte base misalignment aligns the large array payload on a 16 byte boundary. I took extreme care to make sure that the isLargeAllocation bit checks are as rare as possible; for example, ExecState::vm() skips the check because we know that callees must be small allocations. It's also possible to use template tricks to do one check for cell container kind, and then invoke a function specialized for MarkedBlock or a function specialized for LargeAllocation. LargeAllocation includes stubs for all MarkedBlock methods that get used from functions that are template-specialized like this. That's mostly to speed up the GC marking code. Most other code can use CellContainer API or HeapCell API directly. That's another thing: HeapCell, the common base of JSCell and auxiliary allocations, is now smart enough to do a lot of things for you, like HeapCell::vm(), HeapCell::heap(), HeapCell::isLargeAllocation(), and HeapCell::cellContainer(). The size cutoff for large allocations is runtime-configurable, so long as you don't choose something so small that callees end up large. I found that 400 bytes is roughly optimal. This means that the MarkedBlock size classes end up being:
16, 32, 48, 64, 80, 112, 160, 224, 320
The next size class would have been 432, but that's above the 400 byte cutoff. All of this
is configurable with --sizeClassProgression and --largeAllocationCutoff. You can see what
size classes you end up with by doing --dumpSizeClasses=true.
- Copied space uses 64KB blocks, while marked space used to use 16KB blocks. Allocating a lot of stuff in 16KB blocks was slower than allocating it in 64KB blocks because the GC had a lot of per-block overhead. I removed this overhead: It's now 2x faster to scan all MarkedBlocks because the list that contains the interesting meta-data is allocated on the side, for better locality during a sequential walk. It's no longer necessary to scan MarkedBlocks to find WeakSets, since the sets of WeakSets for eden scan and full scan are maintained on-the-fly. It's no longer necessary to scan all MarkedBlocks to clear mark bits because we now use versioned mark bits: to clear then, just increment the 64-bit heap version. It's no longer necessary to scan retired MarkedBlocks while allocating because marking retires them on-the-fly. It's no longer necessary to sort all blocks in the IncrementalSweeper's snapshot because blocks now know if they are in the snapshot. Put together, these optimizations allowed me to reduce block size to 16KB without losing much performance. There is some small perf loss on JetStream/splay, but not enough to hurt JetStream overall. I tried reducing block sizes further, to 4KB, since that is a progression on membuster. That's not possible yet, since there is still enough per-block overhead yet that such a reduction hurts JetStream too much. I filed a bug about improving this further: https://bugs.webkit.org/show_bug.cgi?id=161581.
- Even after all of that, copying butterflies was still faster because it allowed us to skip sweeping dead space. A good GC allocates over dead bytes without explicitly freeing them, so the GC pause is O(size of live), not O(size of live + dead). O(dead) is usually much larger than O(live), especially in an eden collection. Copying satisfies this premise while mark+sweep does not. So, I invented a new kind of allocator: bump'n'pop. Previously, our MarkedSpace allocator was a freelist pop. That's simple and easy to inline but requires that we walk the block to build a free list. This means walking dead space. The new allocator allows totally free MarkedBlocks to simply set up a bump-pointer arena instead. The allocator is a hybrid of bump-pointer and freelist pop. It tries bump first. The bump pointer always bumps by cellSize, so the result of filling a block with bumping looks as if we had used freelist popping to fill it. Additionally, each MarkedBlock now has a bit to quickly tell if the block is entirely free. This makes sweeping O(1) whenever a MarkedBlock is completely empty, which is the common case because of the generational hypothesis: the number of objects that survive an eden collection is a tiny fraction of the number of objects that had been allocated, and this fraction is so small that there are typically fewer than one survivors per MarkedBlock. This change was enough to make this change a net win over tip-of-tree.
- FTL now shares the same allocation fast paths as everything else, which is great, because bump'n'pop has gnarly control flow. We don't really want B3 to have to think about that control flow, since it won't be able to improve the machine code we write ourselves. GC fast paths are best written in assembly. So, I've empowered B3 to have even better support for Patchpoint terminals. It's now totally fine for a Patchpoint terminal to be non-Void. So, the new FTL allocation fast paths are just Patchpoint terminals that call through to AssemblyHelpers::emitAllocate(). B3 still reasons about things like constant-folding the size class calculation and constant-hoisting the allocator. Also, I gave the FTL the ability to constant-fold some allocator logic (in case we first assume that we're doing a variable-length allocation but then realize that the length is known). I think it makes sense to have constant folding rules in FTL::Output, or whatever the B3 IR builder is, since this makes lowering easier (you can constant fold during lowering more easily) and it reduces the amount of malloc traffic. In the future, we could teach B3 how to better constant-fold this code. That would require allowing loads to be constant-folded, which is doable but hella tricky.
- It used to be that if a logical object allocation required two physical allocations (first the butterfly and then the cell), then the JIT would emit the code in such a way that a failure in the second fast path would cause us to forget the successful first physical allocation. This was pointlessly wasteful. It turns out that it's very cheap to devote a register to storing either the butterfly or null, because the butterfly register is anyway going to be free inside the first allocation. The only overhead here is zeroing the butterfly register. With that in place, we can just pass the butterfly-or-null to the slow path, which can then either allocate a butterfly or not. So now we never waste a successful allocation. This patch implements such a solution both in DFG (where it's easy to do this since we control registers already) and in FTL (where it's annoying, because mutable "butterfly-or-null" variables are hard to say in SSA; also I realized that we had code duplicated the JSArray allocation utility, so I deduplicated it). This came up because in one version of this patch, this wastage would resonate with some Kraken benchmark: the benchmark would always allocate N small things followed by one bigger thing. The problem was I accidentally adjusted the various fixed overheads in MarkedBlock in such a way that the JSObject size class, which both the small and big thing shared for their cell, could hold exactly N cells per MarkedBlock. Then the benchmark would always call slow path when it allocated the big thing. So, it would end up having to allocate the big thing's large butterfly twice, every single time! Ouch!
- It used to be that we zeroed CopiedBlocks using memset, and so array allocations enjoyed amortization of the cost of zeroing. This doesn't work anymore - it's now up to the client of the allocator to initialize the object to whatever state they need. It used to be that we would just use a dumb loop. I initially changed this so that we would end up in memset for large allocations, but this didn't actually help performance that much. I got a much better result by playing with different memsets written in assembly. First I wrote one using non-temporal stores. That was a small speed-up over memset. Then I tried the classic "rep stos" approach, and holy cow that version was fast. It's a ~20% speed-up on array allocation microbenchmarks. So, this patch adds code paths to do "rep stos" on x86_64, or memset, or use a loop, as appropriate, for both "contiguous" arrays (holes are zero) and double arrays (holes are PNaN). Note that the JIT always emits either a loop or a flat slab of stores (if the size is known), but those paths in the JIT won't trigger for NewArrayWithSize() if the size is large, since that takes us to the operationNewArrayWithSize() slow path, which calls into JSArray::create(). That's why the optimizations here are all in JSArray::create() - that's the hot place for large arrays that need to be filled with holes.
All of this put together gives us neutral perf on JetStream, membuster, and PLT3, a ~1%
regression on Speedometer, and up to a 4% regression Kraken. The Kraken regression is
because Kraken was allocating exactly 1024 element arrays at a rate of 400MB/sec. This is a
best-case scenario for bump allocation. I think that we should fix bmalloc to make up the
difference, but take the hit for now because it's a crazy corner case. By comparison, the
alternative approach of using a copy barrier would have cost us 1-2%. That's the real
apples-to-apples comparison if your premise is that we should have a concurrent GC. After we
finish removing copied space, we will be barrier-ready for concurrent GC: we already have a
marking barrier and we simply won't need a copying barrier. This change gets us there for
the purposes of our benchmarks, since the remaining clients of copied space are not very
important. On the other hand, if we keep copying, then getting barrier-ready would mean
adding back the copy barrier, which costs more perf.
We might get bigger speed-ups once we remove CopiedSpace altogether. That requires moving
typed arrays and a few other weird things over to Aux MarkedSpace.
This also includes some header sanitization. The introduction of AuxiliaryBarrier, HeapCell,
and CellContainer meant that I had to include those files from everywhere. Fortunately,
just including JSCInlines.h (instead of manually including the files that includes) is
usually enough. So, I made most of JSC's cpp files include JSCInlines.h, which is something
that we were already basically doing. In places where JSCInlines.h would be too much, I just
included HeapInlines.h. This got weird, because we previously included HeapInlines.h from
JSObject.h. That's bad because it led to some circular dependencies, so I fixed it - but that
meant having to manually include HeapInlines.h from the places that previously got it
implicitly via JSObject.h. But that led to more problems for some reason: I started getting
build errors because non-JSC files were having trouble including Opcode.h. That's just silly,
since Opcode.h is meant to be an internal JSC header. So, I made it an internal header and
made it impossible to include it from outside JSC. This was a lot of work, but it was
necessary to get the patch to build on all ports. It's also a net win. There were many places
in WebCore that were transitively including a *ton* of JSC headers just because of the
JSObject.h->HeapInlines.h edge and a bunch of dependency edges that arose from some public
(for WebCore) JSC headers needing Interpreter.h or Opcode.h for bad reasons.
- API/JSManagedValue.mm:
(-[JSManagedValue initWithValue:]):
- API/JSTypedArray.cpp:
- API/ObjCCallbackFunction.mm:
- API/tests/testapi.mm:
(testObjectiveCAPI):
(testWeakValue): Deleted.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/builtins/builtins_generate_combined_implementation.py:
(BuiltinsCombinedImplementationGenerator.generate_secondary_header_includes):
- Scripts/builtins/builtins_generate_internals_wrapper_implementation.py:
(BuiltinsInternalsWrapperImplementationGenerator.generate_secondary_header_includes):
- Scripts/builtins/builtins_generate_separate_implementation.py:
(BuiltinsSeparateImplementationGenerator.generate_secondary_header_includes):
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::JumpList::link):
(JSC::AbstractMacroAssembler::JumpList::linkTo):
- assembler/MacroAssembler.h:
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::add32):
- assembler/MacroAssemblerCodeRef.cpp: Added.
(JSC::MacroAssemblerCodePtr::createLLIntCodePtr):
(JSC::MacroAssemblerCodePtr::dumpWithName):
(JSC::MacroAssemblerCodePtr::dump):
(JSC::MacroAssemblerCodeRef::createLLIntCodeRef):
(JSC::MacroAssemblerCodeRef::dump):
- assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodePtr::createLLIntCodePtr): Deleted.
(JSC::MacroAssemblerCodePtr::dumpWithName): Deleted.
(JSC::MacroAssemblerCodePtr::dump): Deleted.
(JSC::MacroAssemblerCodeRef::createLLIntCodeRef): Deleted.
(JSC::MacroAssemblerCodeRef::dump): Deleted.
- b3/B3BasicBlock.cpp:
(JSC::B3::BasicBlock::appendBoolConstant):
- b3/B3BasicBlock.h:
- b3/B3DuplicateTails.cpp:
- b3/B3StackmapGenerationParams.h:
- b3/testb3.cpp:
(JSC::B3::testPatchpointTerminalReturnValue):
(JSC::B3::run):
- bindings/ScriptValue.cpp:
- bytecode/AdaptiveInferredPropertyValueWatchpointBase.cpp:
- bytecode/BytecodeBasicBlock.cpp:
- bytecode/BytecodeLivenessAnalysis.cpp:
- bytecode/BytecodeUseDef.h:
- bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::callTypeFor):
- bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::callTypeFor): Deleted.
- bytecode/CallLinkStatus.cpp:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::clearLLIntGetByIdCache):
(JSC::CodeBlock::predictedMachineCodeSize):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::jitCodeMap): Deleted.
(JSC::clearLLIntGetByIdCache): Deleted.
- bytecode/ExecutionCounter.h:
- bytecode/Instruction.h:
- bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp:
(JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::fireInternal):
- bytecode/ObjectAllocationProfile.h:
(JSC::ObjectAllocationProfile::isNull):
(JSC::ObjectAllocationProfile::initialize):
- bytecode/Opcode.h:
(JSC::padOpcodeName):
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generateImpl):
(JSC::PolymorphicAccess::regenerate):
- bytecode/PolymorphicAccess.h:
- bytecode/PreciseJumpTargets.cpp:
- bytecode/StructureStubInfo.cpp:
- bytecode/StructureStubInfo.h:
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::vm): Deleted.
- bytecode/UnlinkedCodeBlock.h:
- bytecode/UnlinkedInstructionStream.cpp:
- bytecode/UnlinkedInstructionStream.h:
- dfg/DFGOperations.cpp:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateRawObject):
(JSC::DFG::SpeculativeJIT::compileMakeRope):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::emitAllocateJSCell):
(JSC::DFG::SpeculativeJIT::emitAllocateJSObject):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- ftl/FTLAbstractHeapRepository.h:
- ftl/FTLCompile.cpp:
- ftl/FTLJITFinalizer.cpp:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateRest):
(JSC::FTL::DFG::LowerDFGToB3::allocateArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileMakeRope):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
(JSC::FTL::DFG::LowerDFGToB3::initializeArrayElements):
(JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl):
(JSC::FTL::DFG::LowerDFGToB3::allocateHeapCell):
(JSC::FTL::DFG::LowerDFGToB3::allocateCell):
(JSC::FTL::DFG::LowerDFGToB3::allocateObject):
(JSC::FTL::DFG::LowerDFGToB3::allocatorForSize):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedObject):
(JSC::FTL::DFG::LowerDFGToB3::allocateJSArray):
(JSC::FTL::DFG::LowerDFGToB3::compileAllocateArrayWithSize): Deleted.
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::constBool):
(JSC::FTL::Output::add):
(JSC::FTL::Output::shl):
(JSC::FTL::Output::aShr):
(JSC::FTL::Output::lShr):
(JSC::FTL::Output::zeroExt):
(JSC::FTL::Output::equal):
(JSC::FTL::Output::notEqual):
(JSC::FTL::Output::above):
(JSC::FTL::Output::aboveOrEqual):
(JSC::FTL::Output::below):
(JSC::FTL::Output::belowOrEqual):
(JSC::FTL::Output::greaterThan):
(JSC::FTL::Output::greaterThanOrEqual):
(JSC::FTL::Output::lessThan):
(JSC::FTL::Output::lessThanOrEqual):
(JSC::FTL::Output::select):
(JSC::FTL::Output::appendSuccessor):
(JSC::FTL::Output::addIncomingToPhi):
- ftl/FTLOutput.h:
- ftl/FTLValueFromBlock.h:
(JSC::FTL::ValueFromBlock::operator bool):
(JSC::FTL::ValueFromBlock::ValueFromBlock): Deleted.
- ftl/FTLWeightedTarget.h:
(JSC::FTL::WeightedTarget::frequentedBlock):
- heap/CellContainer.h: Added.
(JSC::CellContainer::CellContainer):
(JSC::CellContainer::operator bool):
(JSC::CellContainer::isMarkedBlock):
(JSC::CellContainer::isLargeAllocation):
(JSC::CellContainer::markedBlock):
(JSC::CellContainer::largeAllocation):
- heap/CellContainerInlines.h: Added.
(JSC::CellContainer::isMarked):
(JSC::CellContainer::isMarkedOrNewlyAllocated):
(JSC::CellContainer::noteMarked):
(JSC::CellContainer::cellSize):
(JSC::CellContainer::weakSet):
(JSC::CellContainer::flipIfNecessary):
- heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::ConservativeRoots):
(JSC::ConservativeRoots::~ConservativeRoots):
(JSC::ConservativeRoots::grow):
(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::genericAddSpan):
- heap/ConservativeRoots.h:
(JSC::ConservativeRoots::roots):
- heap/CopyToken.h:
- heap/FreeList.cpp: Added.
(JSC::FreeList::dump):
- heap/FreeList.h: Added.
(JSC::FreeList::FreeList):
(JSC::FreeList::list):
(JSC::FreeList::bump):
(JSC::FreeList::operator==):
(JSC::FreeList::operator!=):
(JSC::FreeList::operator bool):
(JSC::FreeList::allocationWillFail):
(JSC::FreeList::allocationWillSucceed):
- heap/GCTypeMap.h: Added.
(JSC::GCTypeMap::operator[]):
- heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::finalizeUnconditionalFinalizers):
(JSC::Heap::markRoots):
(JSC::Heap::copyBackingStores):
(JSC::Heap::gatherStackRoots):
(JSC::Heap::gatherJSStackRoots):
(JSC::Heap::gatherScratchBufferRoots):
(JSC::Heap::clearLivenessData):
(JSC::Heap::visitSmallStrings):
(JSC::Heap::visitConservativeRoots):
(JSC::Heap::removeDeadCompilerWorklistEntries):
(JSC::Heap::gatherExtraHeapSnapshotData):
(JSC::Heap::removeDeadHeapSnapshotNodes):
(JSC::Heap::visitProtectedObjects):
(JSC::Heap::visitArgumentBuffers):
(JSC::Heap::visitException):
(JSC::Heap::visitStrongHandles):
(JSC::Heap::visitHandleStack):
(JSC::Heap::visitSamplingProfiler):
(JSC::Heap::traceCodeBlocksAndJITStubRoutines):
(JSC::Heap::converge):
(JSC::Heap::visitWeakHandles):
(JSC::Heap::updateObjectCounts):
(JSC::Heap::clearUnmarkedExecutables):
(JSC::Heap::deleteUnmarkedCompiledCode):
(JSC::Heap::collectAllGarbage):
(JSC::Heap::collect):
(JSC::Heap::collectWithoutAnySweep):
(JSC::Heap::collectImpl):
(JSC::Heap::suspendCompilerThreads):
(JSC::Heap::willStartCollection):
(JSC::Heap::flushOldStructureIDTables):
(JSC::Heap::flushWriteBarrierBuffer):
(JSC::Heap::stopAllocation):
(JSC::Heap::prepareForMarking):
(JSC::Heap::reapWeakHandles):
(JSC::Heap::pruneStaleEntriesFromWeakGCMaps):
(JSC::Heap::sweepArrayBuffers):
(JSC::MarkedBlockSnapshotFunctor::MarkedBlockSnapshotFunctor):
(JSC::MarkedBlockSnapshotFunctor::operator()):
(JSC::Heap::snapshotMarkedSpace):
(JSC::Heap::deleteSourceProviderCaches):
(JSC::Heap::notifyIncrementalSweeper):
(JSC::Heap::writeBarrierCurrentlyExecutingCodeBlocks):
(JSC::Heap::resetAllocators):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didFinishCollection):
(JSC::Heap::resumeCompilerThreads):
(JSC::Zombify::visit):
(JSC::Heap::forEachCodeBlockImpl):
- heap/Heap.h:
(JSC::Heap::allocatorForObjectWithoutDestructor):
(JSC::Heap::allocatorForObjectWithDestructor):
(JSC::Heap::allocatorForAuxiliaryData):
(JSC::Heap::jitStubRoutines):
(JSC::Heap::codeBlockSet):
(JSC::Heap::storageAllocator): Deleted.
- heap/HeapCell.h:
(JSC::HeapCell::isZapped): Deleted.
- heap/HeapCellInlines.h: Added.
(JSC::HeapCell::isLargeAllocation):
(JSC::HeapCell::cellContainer):
(JSC::HeapCell::markedBlock):
(JSC::HeapCell::largeAllocation):
(JSC::HeapCell::heap):
(JSC::HeapCell::vm):
(JSC::HeapCell::cellSize):
(JSC::HeapCell::allocatorAttributes):
(JSC::HeapCell::destructionMode):
(JSC::HeapCell::cellKind):
- heap/HeapInlines.h:
(JSC::Heap::heap):
(JSC::Heap::isLive):
(JSC::Heap::isMarked):
(JSC::Heap::testAndSetMarked):
(JSC::Heap::setMarked):
(JSC::Heap::cellSize):
(JSC::Heap::forEachCodeBlock):
(JSC::Heap::allocateObjectOfType):
(JSC::Heap::subspaceForObjectOfType):
(JSC::Heap::allocatorForObjectOfType):
(JSC::Heap::allocateAuxiliary):
(JSC::Heap::tryAllocateAuxiliary):
(JSC::Heap::tryReallocateAuxiliary):
(JSC::Heap::isPointerGCObject): Deleted.
(JSC::Heap::isValueGCObject): Deleted.
- heap/HeapOperation.cpp: Added.
(WTF::printInternal):
- heap/HeapOperation.h:
- heap/HeapUtil.h: Added.
(JSC::HeapUtil::findGCObjectPointersForMarking):
(JSC::HeapUtil::isPointerGCObjectJSCell):
(JSC::HeapUtil::isValueGCObject):
- heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::sweepNextBlock):
- heap/IncrementalSweeper.h:
- heap/LargeAllocation.cpp: Added.
(JSC::LargeAllocation::tryCreate):
(JSC::LargeAllocation::LargeAllocation):
(JSC::LargeAllocation::lastChanceToFinalize):
(JSC::LargeAllocation::shrink):
(JSC::LargeAllocation::visitWeakSet):
(JSC::LargeAllocation::reapWeakSet):
(JSC::LargeAllocation::flip):
(JSC::LargeAllocation::isEmpty):
(JSC::LargeAllocation::sweep):
(JSC::LargeAllocation::destroy):
(JSC::LargeAllocation::dump):
- heap/LargeAllocation.h: Added.
(JSC::LargeAllocation::fromCell):
(JSC::LargeAllocation::cell):
(JSC::LargeAllocation::isLargeAllocation):
(JSC::LargeAllocation::heap):
(JSC::LargeAllocation::vm):
(JSC::LargeAllocation::weakSet):
(JSC::LargeAllocation::clearNewlyAllocated):
(JSC::LargeAllocation::isNewlyAllocated):
(JSC::LargeAllocation::isMarked):
(JSC::LargeAllocation::isMarkedOrNewlyAllocated):
(JSC::LargeAllocation::isLive):
(JSC::LargeAllocation::hasValidCell):
(JSC::LargeAllocation::cellSize):
(JSC::LargeAllocation::aboveLowerBound):
(JSC::LargeAllocation::belowUpperBound):
(JSC::LargeAllocation::contains):
(JSC::LargeAllocation::attributes):
(JSC::LargeAllocation::flipIfNecessary):
(JSC::LargeAllocation::flipIfNecessaryConcurrently):
(JSC::LargeAllocation::testAndSetMarked):
(JSC::LargeAllocation::setMarked):
(JSC::LargeAllocation::clearMarked):
(JSC::LargeAllocation::noteMarked):
(JSC::LargeAllocation::headerSize):
- heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::isPagedOut):
(JSC::MarkedAllocator::retire):
(JSC::MarkedAllocator::filterNextBlock):
(JSC::MarkedAllocator::setNextBlockToSweep):
(JSC::MarkedAllocator::tryAllocateWithoutCollectingImpl):
(JSC::MarkedAllocator::tryAllocateWithoutCollecting):
(JSC::MarkedAllocator::allocateSlowCase):
(JSC::MarkedAllocator::tryAllocateSlowCase):
(JSC::MarkedAllocator::allocateSlowCaseImpl):
(JSC::blockHeaderSize):
(JSC::MarkedAllocator::blockSizeForBytes):
(JSC::MarkedAllocator::tryAllocateBlock):
(JSC::MarkedAllocator::addBlock):
(JSC::MarkedAllocator::removeBlock):
(JSC::MarkedAllocator::stopAllocating):
(JSC::MarkedAllocator::reset):
(JSC::MarkedAllocator::lastChanceToFinalize):
(JSC::MarkedAllocator::setFreeList):
(JSC::isListPagedOut): Deleted.
(JSC::MarkedAllocator::tryAllocateHelper): Deleted.
(JSC::MarkedAllocator::tryPopFreeList): Deleted.
(JSC::MarkedAllocator::tryAllocate): Deleted.
(JSC::MarkedAllocator::allocateBlock): Deleted.
- heap/MarkedAllocator.h:
(JSC::MarkedAllocator::takeLastActiveBlock):
(JSC::MarkedAllocator::offsetOfFreeList):
(JSC::MarkedAllocator::offsetOfCellSize):
(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::allocate):
(JSC::MarkedAllocator::forEachBlock):
(JSC::MarkedAllocator::offsetOfFreeListHead): Deleted.
(JSC::MarkedAllocator::MarkedAllocator): Deleted.
(JSC::MarkedAllocator::init): Deleted.
(JSC::MarkedAllocator::stopAllocating): Deleted.
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::tryCreate):
(JSC::MarkedBlock::Handle::Handle):
(JSC::MarkedBlock::Handle::~Handle):
(JSC::MarkedBlock::MarkedBlock):
(JSC::MarkedBlock::Handle::specializedSweep):
(JSC::MarkedBlock::Handle::sweep):
(JSC::MarkedBlock::Handle::sweepHelperSelectScribbleMode):
(JSC::MarkedBlock::Handle::sweepHelperSelectStateAndSweepMode):
(JSC::MarkedBlock::Handle::unsweepWithNoNewlyAllocated):
(JSC::SetNewlyAllocatedFunctor::SetNewlyAllocatedFunctor):
(JSC::SetNewlyAllocatedFunctor::operator()):
(JSC::MarkedBlock::Handle::stopAllocating):
(JSC::MarkedBlock::Handle::lastChanceToFinalize):
(JSC::MarkedBlock::Handle::resumeAllocating):
(JSC::MarkedBlock::Handle::zap):
(JSC::MarkedBlock::Handle::forEachFreeCell):
(JSC::MarkedBlock::flipIfNecessary):
(JSC::MarkedBlock::Handle::flipIfNecessary):
(JSC::MarkedBlock::flipIfNecessarySlow):
(JSC::MarkedBlock::flipIfNecessaryConcurrentlySlow):
(JSC::MarkedBlock::clearMarks):
(JSC::MarkedBlock::assertFlipped):
(JSC::MarkedBlock::needsFlip):
(JSC::MarkedBlock::Handle::needsFlip):
(JSC::MarkedBlock::Handle::willRemoveBlock):
(JSC::MarkedBlock::Handle::didConsumeFreeList):
(JSC::MarkedBlock::markCount):
(JSC::MarkedBlock::Handle::isEmpty):
(JSC::MarkedBlock::clearHasAnyMarked):
(JSC::MarkedBlock::noteMarkedSlow):
(WTF::printInternal):
(JSC::MarkedBlock::create): Deleted.
(JSC::MarkedBlock::destroy): Deleted.
(JSC::MarkedBlock::callDestructor): Deleted.
(JSC::MarkedBlock::specializedSweep): Deleted.
(JSC::MarkedBlock::sweep): Deleted.
(JSC::MarkedBlock::sweepHelper): Deleted.
(JSC::MarkedBlock::stopAllocating): Deleted.
(JSC::MarkedBlock::clearMarksWithCollectionType): Deleted.
(JSC::MarkedBlock::lastChanceToFinalize): Deleted.
(JSC::MarkedBlock::resumeAllocating): Deleted.
(JSC::MarkedBlock::didRetireBlock): Deleted.
- heap/MarkedBlock.h:
(JSC::MarkedBlock::VoidFunctor::returnValue):
(JSC::MarkedBlock::CountFunctor::CountFunctor):
(JSC::MarkedBlock::CountFunctor::count):
(JSC::MarkedBlock::CountFunctor::returnValue):
(JSC::MarkedBlock::Handle::hasAnyNewlyAllocated):
(JSC::MarkedBlock::Handle::isOnBlocksToSweep):
(JSC::MarkedBlock::Handle::setIsOnBlocksToSweep):
(JSC::MarkedBlock::Handle::state):
(JSC::MarkedBlock::needsDestruction):
(JSC::MarkedBlock::handle):
(JSC::MarkedBlock::Handle::block):
(JSC::MarkedBlock::firstAtom):
(JSC::MarkedBlock::atoms):
(JSC::MarkedBlock::isAtomAligned):
(JSC::MarkedBlock::Handle::cellAlign):
(JSC::MarkedBlock::blockFor):
(JSC::MarkedBlock::Handle::allocator):
(JSC::MarkedBlock::Handle::heap):
(JSC::MarkedBlock::Handle::vm):
(JSC::MarkedBlock::vm):
(JSC::MarkedBlock::Handle::weakSet):
(JSC::MarkedBlock::weakSet):
(JSC::MarkedBlock::Handle::shrink):
(JSC::MarkedBlock::Handle::visitWeakSet):
(JSC::MarkedBlock::Handle::reapWeakSet):
(JSC::MarkedBlock::Handle::cellSize):
(JSC::MarkedBlock::cellSize):
(JSC::MarkedBlock::Handle::attributes):
(JSC::MarkedBlock::attributes):
(JSC::MarkedBlock::Handle::needsDestruction):
(JSC::MarkedBlock::Handle::destruction):
(JSC::MarkedBlock::Handle::cellKind):
(JSC::MarkedBlock::Handle::markCount):
(JSC::MarkedBlock::Handle::size):
(JSC::MarkedBlock::atomNumber):
(JSC::MarkedBlock::flipIfNecessary):
(JSC::MarkedBlock::flipIfNecessaryConcurrently):
(JSC::MarkedBlock::Handle::flipIfNecessary):
(JSC::MarkedBlock::Handle::flipIfNecessaryConcurrently):
(JSC::MarkedBlock::Handle::flipForEdenCollection):
(JSC::MarkedBlock::assertFlipped):
(JSC::MarkedBlock::Handle::assertFlipped):
(JSC::MarkedBlock::isMarked):
(JSC::MarkedBlock::testAndSetMarked):
(JSC::MarkedBlock::Handle::isNewlyAllocated):
(JSC::MarkedBlock::Handle::setNewlyAllocated):
(JSC::MarkedBlock::Handle::clearNewlyAllocated):
(JSC::MarkedBlock::Handle::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::isMarkedOrNewlyAllocated):
(JSC::MarkedBlock::Handle::isLive):
(JSC::MarkedBlock::isAtom):
(JSC::MarkedBlock::Handle::isLiveCell):
(JSC::MarkedBlock::Handle::forEachCell):
(JSC::MarkedBlock::Handle::forEachLiveCell):
(JSC::MarkedBlock::Handle::forEachDeadCell):
(JSC::MarkedBlock::Handle::needsSweeping):
(JSC::MarkedBlock::Handle::isAllocated):
(JSC::MarkedBlock::Handle::isMarked):
(JSC::MarkedBlock::Handle::isFreeListed):
(JSC::MarkedBlock::hasAnyMarked):
(JSC::MarkedBlock::noteMarked):
(WTF::MarkedBlockHash::hash):
(JSC::MarkedBlock::FreeList::FreeList): Deleted.
(JSC::MarkedBlock::allocator): Deleted.
(JSC::MarkedBlock::heap): Deleted.
(JSC::MarkedBlock::shrink): Deleted.
(JSC::MarkedBlock::visitWeakSet): Deleted.
(JSC::MarkedBlock::reapWeakSet): Deleted.
(JSC::MarkedBlock::willRemoveBlock): Deleted.
(JSC::MarkedBlock::didConsumeFreeList): Deleted.
(JSC::MarkedBlock::markCount): Deleted.
(JSC::MarkedBlock::isEmpty): Deleted.
(JSC::MarkedBlock::destruction): Deleted.
(JSC::MarkedBlock::cellKind): Deleted.
(JSC::MarkedBlock::size): Deleted.
(JSC::MarkedBlock::capacity): Deleted.
(JSC::MarkedBlock::setMarked): Deleted.
(JSC::MarkedBlock::clearMarked): Deleted.
(JSC::MarkedBlock::isNewlyAllocated): Deleted.
(JSC::MarkedBlock::setNewlyAllocated): Deleted.
(JSC::MarkedBlock::clearNewlyAllocated): Deleted.
(JSC::MarkedBlock::isLive): Deleted.
(JSC::MarkedBlock::isLiveCell): Deleted.
(JSC::MarkedBlock::forEachCell): Deleted.
(JSC::MarkedBlock::forEachLiveCell): Deleted.
(JSC::MarkedBlock::forEachDeadCell): Deleted.
(JSC::MarkedBlock::needsSweeping): Deleted.
(JSC::MarkedBlock::isAllocated): Deleted.
(JSC::MarkedBlock::isMarkedOrRetired): Deleted.
- heap/MarkedSpace.cpp:
(JSC::MarkedSpace::initializeSizeClassForStepSize):
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::~MarkedSpace):
(JSC::MarkedSpace::lastChanceToFinalize):
(JSC::MarkedSpace::allocate):
(JSC::MarkedSpace::tryAllocate):
(JSC::MarkedSpace::allocateLarge):
(JSC::MarkedSpace::tryAllocateLarge):
(JSC::MarkedSpace::sweep):
(JSC::MarkedSpace::sweepLargeAllocations):
(JSC::MarkedSpace::zombifySweep):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::visitWeakSets):
(JSC::MarkedSpace::reapWeakSets):
(JSC::MarkedSpace::stopAllocating):
(JSC::MarkedSpace::prepareForMarking):
(JSC::MarkedSpace::resumeAllocating):
(JSC::MarkedSpace::isPagedOut):
(JSC::MarkedSpace::freeBlock):
(JSC::MarkedSpace::freeOrShrinkBlock):
(JSC::MarkedSpace::shrink):
(JSC::MarkedSpace::clearNewlyAllocated):
(JSC::VerifyMarked::operator()):
(JSC::MarkedSpace::flip):
(JSC::MarkedSpace::objectCount):
(JSC::MarkedSpace::size):
(JSC::MarkedSpace::capacity):
(JSC::MarkedSpace::addActiveWeakSet):
(JSC::MarkedSpace::didAddBlock):
(JSC::MarkedSpace::didAllocateInBlock):
(JSC::MarkedSpace::forEachAllocator): Deleted.
(JSC::VerifyMarkedOrRetired::operator()): Deleted.
(JSC::MarkedSpace::clearMarks): Deleted.
- heap/MarkedSpace.h:
(JSC::MarkedSpace::sizeClassToIndex):
(JSC::MarkedSpace::indexToSizeClass):
(JSC::MarkedSpace::version):
(JSC::MarkedSpace::blocksWithNewObjects):
(JSC::MarkedSpace::largeAllocations):
(JSC::MarkedSpace::largeAllocationsNurseryOffset):
(JSC::MarkedSpace::largeAllocationsOffsetForThisCollection):
(JSC::MarkedSpace::largeAllocationsForThisCollectionBegin):
(JSC::MarkedSpace::largeAllocationsForThisCollectionEnd):
(JSC::MarkedSpace::largeAllocationsForThisCollectionSize):
(JSC::MarkedSpace::forEachLiveCell):
(JSC::MarkedSpace::forEachDeadCell):
(JSC::MarkedSpace::allocatorFor):
(JSC::MarkedSpace::destructorAllocatorFor):
(JSC::MarkedSpace::auxiliaryAllocatorFor):
(JSC::MarkedSpace::allocateWithoutDestructor):
(JSC::MarkedSpace::allocateWithDestructor):
(JSC::MarkedSpace::allocateAuxiliary):
(JSC::MarkedSpace::tryAllocateAuxiliary):
(JSC::MarkedSpace::forEachBlock):
(JSC::MarkedSpace::forEachAllocator):
(JSC::MarkedSpace::optimalSizeFor):
(JSC::MarkedSpace::didAddBlock): Deleted.
(JSC::MarkedSpace::didAllocateInBlock): Deleted.
(JSC::MarkedSpace::objectCount): Deleted.
(JSC::MarkedSpace::size): Deleted.
(JSC::MarkedSpace::capacity): Deleted.
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::SlotVisitor):
(JSC::SlotVisitor::didStartMarking):
(JSC::SlotVisitor::reset):
(JSC::SlotVisitor::append):
(JSC::SlotVisitor::appendJSCellOrAuxiliary):
(JSC::SlotVisitor::setMarkedAndAppendToMarkStack):
(JSC::SlotVisitor::appendToMarkStack):
(JSC::SlotVisitor::markAuxiliary):
(JSC::SlotVisitor::noteLiveAuxiliaryCell):
(JSC::SlotVisitor::visitChildren):
- heap/SlotVisitor.h:
- heap/WeakBlock.cpp:
(JSC::WeakBlock::create):
(JSC::WeakBlock::WeakBlock):
(JSC::WeakBlock::visit):
(JSC::WeakBlock::reap):
- heap/WeakBlock.h:
(JSC::WeakBlock::disconnectContainer):
(JSC::WeakBlock::disconnectMarkedBlock): Deleted.
- heap/WeakSet.cpp:
(JSC::WeakSet::~WeakSet):
(JSC::WeakSet::sweep):
(JSC::WeakSet::shrink):
(JSC::WeakSet::addAllocator):
- heap/WeakSet.h:
(JSC::WeakSet::container):
(JSC::WeakSet::setContainer):
(JSC::WeakSet::WeakSet):
(JSC::WeakSet::visit):
(JSC::WeakSet::shrink): Deleted.
- heap/WeakSetInlines.h:
(JSC::WeakSet::allocate):
- inspector/InjectedScriptManager.cpp:
- inspector/JSGlobalObjectInspectorController.cpp:
- inspector/JSJavaScriptCallFrame.cpp:
- inspector/ScriptDebugServer.cpp:
- inspector/agents/InspectorDebuggerAgent.cpp:
- interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
- interpreter/Interpreter.cpp:
(JSC::loadVarargs):
(JSC::StackFrame::sourceID): Deleted.
(JSC::StackFrame::sourceURL): Deleted.
(JSC::StackFrame::functionName): Deleted.
(JSC::StackFrame::computeLineAndColumn): Deleted.
(JSC::StackFrame::toString): Deleted.
- interpreter/Interpreter.h:
(JSC::StackFrame::isNative): Deleted.
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):
(JSC::AssemblyHelpers::emitAllocate):
(JSC::AssemblyHelpers::emitAllocateJSCell):
(JSC::AssemblyHelpers::emitAllocateJSObject):
(JSC::AssemblyHelpers::emitAllocateJSObjectWithKnownSize):
(JSC::AssemblyHelpers::emitAllocateVariableSized):
- jit/GCAwareJITStubRoutine.cpp:
(JSC::GCAwareJITStubRoutine::GCAwareJITStubRoutine):
- jit/JIT.cpp:
(JSC::JIT::compileCTINativeCall):
(JSC::JIT::link):
- jit/JIT.h:
(JSC::JIT::compileCTINativeCall): Deleted.
- jit/JITExceptions.cpp:
(JSC::genericUnwind):
- jit/JITExceptions.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emitWriteBarrier):
- jit/JITThunks.cpp:
- jit/JITThunks.h:
- jsc.cpp:
(functionDescribeArray):
(main):
- llint/LLIntData.cpp:
(JSC::LLInt::Data::performAssertions):
- llint/LLIntExceptions.cpp:
- llint/LLIntThunks.cpp:
- llint/LLIntThunks.h:
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter.cpp:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- parser/ModuleAnalyzer.cpp:
- parser/NodeConstructors.h:
- parser/Nodes.h:
- profiler/ProfilerBytecode.cpp:
- profiler/ProfilerBytecode.h:
- profiler/ProfilerBytecodeSequence.cpp:
- runtime/ArrayConventions.h:
(JSC::indexingHeaderForArrayStorage):
(JSC::baseIndexingHeaderForArrayStorage):
(JSC::indexingHeaderForArray): Deleted.
(JSC::baseIndexingHeaderForArray): Deleted.
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSplice):
(JSC::concatAppendOne):
(JSC::arrayProtoPrivateFuncConcatMemcpy):
- runtime/ArrayStorage.h:
(JSC::ArrayStorage::vectorLength):
(JSC::ArrayStorage::totalSizeFor):
(JSC::ArrayStorage::totalSize):
(JSC::ArrayStorage::availableVectorLength):
(JSC::ArrayStorage::optimalVectorLength):
(JSC::ArrayStorage::sizeFor): Deleted.
- runtime/AuxiliaryBarrier.h: Added.
(JSC::AuxiliaryBarrier::AuxiliaryBarrier):
(JSC::AuxiliaryBarrier::clear):
(JSC::AuxiliaryBarrier::get):
(JSC::AuxiliaryBarrier::slot):
(JSC::AuxiliaryBarrier::operator bool):
(JSC::AuxiliaryBarrier::setWithoutBarrier):
- runtime/AuxiliaryBarrierInlines.h: Added.
(JSC::AuxiliaryBarrier<T>::AuxiliaryBarrier):
(JSC::AuxiliaryBarrier<T>::set):
- runtime/Butterfly.h:
- runtime/ButterflyInlines.h:
(JSC::Butterfly::availableContiguousVectorLength):
(JSC::Butterfly::optimalContiguousVectorLength):
(JSC::Butterfly::createUninitialized):
(JSC::Butterfly::growArrayRight):
- runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createEmpty):
- runtime/CommonSlowPathsExceptions.cpp:
- runtime/CommonSlowPathsExceptions.h:
- runtime/DataView.cpp:
- runtime/DirectArguments.h:
- runtime/ECMAScriptSpecInternalFunctions.cpp:
- runtime/Error.cpp:
- runtime/Error.h:
- runtime/ErrorInstance.cpp:
- runtime/ErrorInstance.h:
- runtime/Exception.cpp:
- runtime/Exception.h:
- runtime/GeneratorFrame.cpp:
- runtime/GeneratorPrototype.cpp:
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::InternalFunction):
- runtime/IntlCollator.cpp:
- runtime/IntlCollatorConstructor.cpp:
- runtime/IntlCollatorPrototype.cpp:
- runtime/IntlDateTimeFormat.cpp:
- runtime/IntlDateTimeFormatConstructor.cpp:
- runtime/IntlDateTimeFormatPrototype.cpp:
- runtime/IntlNumberFormat.cpp:
- runtime/IntlNumberFormatConstructor.cpp:
- runtime/IntlNumberFormatPrototype.cpp:
- runtime/IntlObject.cpp:
- runtime/IteratorPrototype.cpp:
- runtime/JSArray.cpp:
(JSC::JSArray::tryCreateUninitialized):
(JSC::JSArray::setLengthWritable):
(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::appendMemcpy):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::fastSlice):
(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithArrayStorage):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToArguments):
- runtime/JSArray.h:
(JSC::createContiguousArrayButterfly):
(JSC::createArrayButterfly):
(JSC::JSArray::create):
(JSC::JSArray::tryCreateUninitialized): Deleted.
- runtime/JSArrayBufferView.h:
- runtime/JSCInlines.h:
- runtime/JSCJSValue.cpp:
(JSC::JSValue::dumpInContextAssumingStructure):
- runtime/JSCallee.cpp:
(JSC::JSCallee::JSCallee):
- runtime/JSCell.cpp:
(JSC::JSCell::estimatedSize):
- runtime/JSCell.h:
(JSC::JSCell::cellStateOffset): Deleted.
- runtime/JSCellInlines.h:
(JSC::ExecState::vm):
(JSC::JSCell::classInfo):
(JSC::JSCell::callDestructor):
(JSC::JSCell::vm): Deleted.
- runtime/JSFunction.cpp:
(JSC::JSFunction::create):
(JSC::JSFunction::allocateAndInitializeRareData):
(JSC::JSFunction::initializeRareData):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::put):
(JSC::JSFunction::deleteProperty):
(JSC::JSFunction::defineOwnProperty):
(JSC::JSFunction::setFunctionName):
(JSC::JSFunction::reifyLength):
(JSC::JSFunction::reifyName):
(JSC::JSFunction::reifyLazyPropertyIfNeeded):
(JSC::JSFunction::reifyBoundNameIfNeeded):
- runtime/JSFunction.h:
- runtime/JSFunctionInlines.h:
(JSC::JSFunction::createWithInvalidatedReallocationWatchpoint):
(JSC::JSFunction::JSFunction):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):
- runtime/JSInternalPromise.cpp:
- runtime/JSInternalPromiseConstructor.cpp:
- runtime/JSInternalPromiseDeferred.cpp:
- runtime/JSInternalPromisePrototype.cpp:
- runtime/JSJob.cpp:
- runtime/JSMapIterator.cpp:
- runtime/JSModuleNamespaceObject.cpp:
- runtime/JSModuleRecord.cpp:
- runtime/JSObject.cpp:
(JSC::JSObject::visitButterfly):
(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::createInitialIndexedStorage):
(JSC::JSObject::createInitialUndecided):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::createInitialArrayStorage):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLength):
(JSC::JSObject::getNewVectorLength):
(JSC::JSObject::increaseVectorLength):
(JSC::JSObject::ensureLengthSlow):
(JSC::JSObject::growOutOfLineStorage):
(JSC::JSObject::copyButterfly): Deleted.
(JSC::JSObject::copyBackingStore): Deleted.
- runtime/JSObject.h:
(JSC::JSObject::globalObject):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::setStructureAndReallocateStorageIfNecessary): Deleted.
- runtime/JSObjectInlines.h:
- runtime/JSPromise.cpp:
- runtime/JSPromiseConstructor.cpp:
- runtime/JSPromiseDeferred.cpp:
- runtime/JSPromisePrototype.cpp:
- runtime/JSPropertyNameIterator.cpp:
- runtime/JSScope.cpp:
(JSC::JSScope::resolve):
- runtime/JSScope.h:
(JSC::JSScope::globalObject):
(JSC::JSScope::vm): Deleted.
- runtime/JSSetIterator.cpp:
- runtime/JSStringIterator.cpp:
- runtime/JSTemplateRegistryKey.cpp:
- runtime/JSTypedArrayViewConstructor.cpp:
- runtime/JSTypedArrayViewPrototype.cpp:
- runtime/JSWeakMap.cpp:
- runtime/JSWeakSet.cpp:
- runtime/MapConstructor.cpp:
- runtime/MapIteratorPrototype.cpp:
- runtime/MapPrototype.cpp:
- runtime/NativeErrorConstructor.cpp:
- runtime/NativeStdFunctionCell.cpp:
- runtime/Operations.h:
(JSC::scribbleFreeCells):
(JSC::scribble):
- runtime/Options.h:
- runtime/PropertyTable.cpp:
- runtime/ProxyConstructor.cpp:
- runtime/ProxyObject.cpp:
- runtime/ProxyRevoke.cpp:
- runtime/RegExp.cpp:
(JSC::RegExp::match):
(JSC::RegExp::matchConcurrently):
(JSC::RegExp::matchCompareWithInterpreter):
- runtime/RegExp.h:
- runtime/RegExpConstructor.h:
- runtime/RegExpInlines.h:
(JSC::RegExp::matchInline):
- runtime/RegExpMatchesArray.h:
(JSC::tryCreateUninitializedRegExpMatchesArray):
(JSC::createRegExpMatchesArray):
- runtime/RegExpPrototype.cpp:
(JSC::genericSplit):
- runtime/RuntimeType.cpp:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):
- runtime/SetConstructor.cpp:
- runtime/SetIteratorPrototype.cpp:
- runtime/SetPrototype.cpp:
- runtime/StackFrame.cpp: Added.
(JSC::StackFrame::sourceID):
(JSC::StackFrame::sourceURL):
(JSC::StackFrame::functionName):
(JSC::StackFrame::computeLineAndColumn):
(JSC::StackFrame::toString):
- runtime/StackFrame.h: Added.
(JSC::StackFrame::isNative):
- runtime/StringConstructor.cpp:
- runtime/StringIteratorPrototype.cpp:
- runtime/StructureInlines.h:
(JSC::Structure::propertyTable):
- runtime/TemplateRegistry.cpp:
- runtime/TestRunnerUtils.cpp:
(JSC::finalizeStatsAtEndOfTesting):
- runtime/TestRunnerUtils.h:
- runtime/TypeProfilerLog.cpp:
- runtime/TypeSet.cpp:
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::ensureStackCapacityForCLoop):
(JSC::VM::isSafeToRecurseSoftCLoop):
- runtime/VM.h:
- runtime/VMEntryScope.h:
- runtime/VMInlines.h:
(JSC::VM::ensureStackCapacityFor):
(JSC::VM::isSafeToRecurseSoft):
- runtime/WeakMapConstructor.cpp:
- runtime/WeakMapData.cpp:
- runtime/WeakMapPrototype.cpp:
- runtime/WeakSetConstructor.cpp:
- runtime/WeakSetPrototype.cpp:
- testRegExp.cpp:
(testOneRegExp):
- tools/JSDollarVM.cpp:
- tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::isInObjectSpace):
Source/WebCore:
No new tests because no new WebCore behavior.
Just rewiring #includes.
- ForwardingHeaders/heap/HeapInlines.h: Added.
- ForwardingHeaders/interpreter/Interpreter.h: Removed.
- ForwardingHeaders/runtime/AuxiliaryBarrierInlines.h: Added.
- Modules/indexeddb/IDBCursorWithValue.cpp:
- Modules/indexeddb/client/TransactionOperation.cpp:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
- bindings/js/JSApplePayPaymentAuthorizedEventCustom.cpp:
- bindings/js/JSApplePayPaymentMethodSelectedEventCustom.cpp:
- bindings/js/JSApplePayShippingContactSelectedEventCustom.cpp:
- bindings/js/JSApplePayShippingMethodSelectedEventCustom.cpp:
- bindings/js/JSClientRectCustom.cpp:
- bindings/js/JSDOMBinding.cpp:
- bindings/js/JSDOMBinding.h:
- bindings/js/JSDeviceMotionEventCustom.cpp:
- bindings/js/JSDeviceOrientationEventCustom.cpp:
- bindings/js/JSErrorEventCustom.cpp:
- bindings/js/JSIDBCursorWithValueCustom.cpp:
- bindings/js/JSIDBIndexCustom.cpp:
- bindings/js/JSPopStateEventCustom.cpp:
- bindings/js/JSWebGL2RenderingContextCustom.cpp:
- bindings/js/JSWorkerGlobalScopeCustom.cpp:
- bindings/js/WorkerScriptController.cpp:
- contentextensions/ContentExtensionParser.cpp:
- dom/ErrorEvent.cpp:
- html/HTMLCanvasElement.cpp:
- html/MediaDocument.cpp:
- inspector/CommandLineAPIModule.cpp:
- loader/EmptyClients.cpp:
- page/CaptionUserPreferences.cpp:
- page/Frame.cpp:
- page/PageGroup.cpp:
- page/UserContentController.cpp:
- platform/mock/mediasource/MockBox.cpp:
- testing/GCObservation.cpp:
Source/WebKit2:
Just rewiring some #includes.
- UIProcess/ViewGestureController.cpp:
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebProcessPool.cpp:
- UIProcess/WebProcessProxy.cpp:
- WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
- WebProcess/Plugins/Netscape/JSNPObject.cpp:
Source/WTF:
I needed tryFastAlignedMalloc() so I added it.
- wtf/FastMalloc.cpp:
(WTF::tryFastAlignedMalloc):
- wtf/FastMalloc.h:
- wtf/ParkingLot.cpp:
(WTF::ParkingLot::forEachImpl):
(WTF::ParkingLot::forEach): Deleted.
- wtf/ParkingLot.h:
(WTF::ParkingLot::parkConditionally):
(WTF::ParkingLot::unparkOne):
(WTF::ParkingLot::forEach):
- wtf/ScopedLambda.h:
(WTF::scopedLambdaRef):
- wtf/SentinelLinkedList.h:
(WTF::SentinelLinkedList::forEach):
(WTF::RawNode>::takeFrom):
- wtf/SimpleStats.h:
(WTF::SimpleStats::operator bool):
(WTF::SimpleStats::operator!): Deleted.
Tools:
- DumpRenderTree/TestRunner.cpp:
- DumpRenderTree/mac/DumpRenderTree.mm:
(DumpRenderTreeMain):
- Scripts/run-jsc-stress-tests:
- TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):
- 5:03 PM Changeset in webkit [205461] by
-
- 2 edits in trunk/Tools
"Redundant argument in sprintf" warning spam from prepare-ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=161606
Reviewed by Darin Adler.
Avoid extra arguments in call to sprintf.
- Scripts/prepare-ChangeLog:
(statusDescription):
- 4:57 PM Changeset in webkit [205460] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed error message typo fix
- WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::removeUserContentWorlds):
- 1:54 PM Changeset in webkit [205459] by
-
- 10 edits in trunk/Source/WebKit2
[Cocoa] Drop ".Development" suffix from XPC service bundle IDs, leave it only on the executable
https://bugs.webkit.org/show_bug.cgi?id=161575
Reviewed by Sam Weinig.
Append the ".Development" suffix to the executable names, but not to the bundle names and
bundle IDs.
- Configurations/BaseTarget.xcconfig: No need for a preprocessor definition anymore.
- Configurations/BaseXPCService.xcconfig: Set EXECUTABLE_SUFFIX.
- Configurations/DatabaseService.xcconfig: No need to suffix the service name and bundle ID.
- Configurations/NetworkService.xcconfig: Ditto.
- Configurations/PluginService.32.xcconfig: Ditto.
- Configurations/PluginService.64.xcconfig: Ditto.
- Configurations/WebContentService.xcconfig: Ditto.
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::serviceName): Service names are no longer suffixed.
- WebKit2.xcodeproj/project.pbxproj: Ditto.
- 10:25 AM Changeset in webkit [205458] by
-
- 49 edits in trunk/Source/WebCore
run-bindings-tests fails since r205422
https://bugs.webkit.org/show_bug.cgi?id=161595
Patch by Fujii Hironori <Fujii Hironori> on 2016-09-05
Reviewed by Darin Adler.
Rebaseline binding tests after r205422.
- bindings/scripts/test/JS/JSInterfaceName.cpp:
- bindings/scripts/test/JS/JSInterfaceName.h:
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
- bindings/scripts/test/JS/JSTestEventConstructor.h:
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
- bindings/scripts/test/JS/JSTestEventTarget.h:
- bindings/scripts/test/JS/JSTestException.cpp:
- bindings/scripts/test/JS/JSTestException.h:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
- bindings/scripts/test/JS/JSTestGlobalObject.h:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestIterable.cpp:
- bindings/scripts/test/JS/JSTestIterable.h:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
- bindings/scripts/test/JS/JSTestNode.cpp:
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
- bindings/scripts/test/JS/JSTestNondeterministic.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
- bindings/scripts/test/JS/JSTestTypedefs.h:
- bindings/scripts/test/JS/JSattribute.cpp:
- bindings/scripts/test/JS/JSattribute.h:
- bindings/scripts/test/JS/JSreadonly.cpp:
- bindings/scripts/test/JS/JSreadonly.h:
- 10:21 AM Changeset in webkit [205457] by
-
- 3 edits in trunk/Source/WebCore
[CMake] Duplicated IDL files in WebCore_IDL_FILES
https://bugs.webkit.org/show_bug.cgi?id=161592
Patch by Fujii Hironori <Fujii Hironori> on 2016-09-05
Reviewed by Darin Adler.
- CMakeLists.txt: Removed duplicated IDL files.
- DerivedSources.cpp: Added #if ENABLE(USER_MESSAGE_HANDLERS)
- 10:19 AM Changeset in webkit [205456] by
-
- 3 edits in trunk/Source/WebCore
[Mac] Static Analyzer warnings about unused values in CDMSessionAVStreamSession.mm
https://bugs.webkit.org/show_bug.cgi?id=161598
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-05
Reviewed by Darin Adler.
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage):
Make this parameter a reference again, accidentally lost in r195410.
Now assignments to the parameter make sense.
- 9:58 AM Changeset in webkit [205455] by
-
- 14 edits1 add in trunk
Clean CSS stylesheets should be accessible from JavaScript
https://bugs.webkit.org/show_bug.cgi?id=158728
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-05
Reviewed by Darin Adler.
Source/WebCore:
Covered by updated tests.
Making use of the resource response type to evaluate whether to make the CSS stylesheets visible
for stylesheet link elements and for stylesheet processing instructions.
Ideally, the origin flag should be a boolean.
To keep behavior consistent in cors-check-unaware cases, the flag might remain unset.
In that case, the behavior remains the same (checking of the stylesheet URL).
The origin flag is set to true or false only in case of fetch mode being set to cors using the crossorigin attribute.
Updated CSSStyleSheet::create to take a Node reference. Updated callers accordingly.
- contentextensions/ContentExtensionStyleSheet.cpp:
(WebCore::ContentExtensions::ContentExtensionStyleSheet::ContentExtensionStyleSheet): Updated to pass a Node reference and not pointer.
- css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::create): Makes origin flag undefined if boolean parameter is not passed.
Otherwise origin flag is set according given boolean value.
(WebCore::CSSStyleSheet::createInline): Makes origin flag set to true.
(WebCore::CSSStyleSheet::CSSStyleSheet): Adding origin flag initialization.
(WebCore::CSSStyleSheet::canAccessRules): Returning according the origin flag if set.
Returning as before in case the flag is not set.
- css/CSSStyleSheet.h: Adding origin clean flag.
- dom/ExtensionStyleSheets.cpp:
(WebCore::ExtensionStyleSheets::addUserStyleSheet):
(WebCore::ExtensionStyleSheets::addAuthorStyleSheetForTesting):
(WebCore::ExtensionStyleSheets::maybeAddContentExtensionSheet):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::initializeStyleSheet): Helper routine used in setCSSStyleSheet.
Sets origin clean flag if the resource is clean.
(WebCore::HTMLLinkElement::setCSSStyleSheet): Making use of initializeStyleSheet.
- html/HTMLLinkElement.h:
LayoutTests:
- http/tests/security/cannot-read-cssrules-expected.txt:
- http/tests/security/cannot-read-cssrules-redirect-expected.txt:
- http/tests/security/cannot-read-cssrules-redirect.html:
- http/tests/security/cannot-read-cssrules.html:
- http/tests/security/cross-origin-css-9.html:
- http/tests/security/resources/xorigincss1-allow-star.php: Added.
- 9:42 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 9:42 AM Changeset in webkit [205454] by
-
- 2 edits in trunk/Tools
[GTK] Skip several failing API tests
Unfortunately we don't have any form of test expectations for API tests, so we'll just skip
them after bugs are filed.
- Scripts/run-gtk-tests:
(TestRunner):
- 8:13 AM WebKitGTK/DependenciesPolicy edited by
- (diff)
- 8:07 AM WebKitGTK/Dependencies edited by
- (diff)
- 7:34 AM Changeset in webkit [205453] by
-
- 2 edits in trunk/Tools
Fix W3C test importer unit tests after r205447
https://bugs.webkit.org/show_bug.cgi?id=161604
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-05
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.init): Skip cleaning test_resource_files files if resource-files.json cannot be read.
- 7:22 AM Changeset in webkit [205452] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] GL_PACK_ROW_LENGTH is not available in GLES2
https://bugs.webkit.org/show_bug.cgi?id=161484
Reviewed by Carlos Garcia Campos.
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp:
(WebKit::AcceleratedBackingStoreWayland::paint): when under GLES2 we cannot rely on
GL_PACK_ROW_LENGTH; use glReadPixel directly when stride matches width, read line
by line manually otherwise. Colour conversion is also required to get the data out
correctly.
- 6:54 AM Changeset in webkit [205451] by
-
- 4 edits in trunk
WebRTC: Several media stream tests crashing
https://bugs.webkit.org/show_bug.cgi?id=161582
Reviewed by Alejandro G. Castro.
Tools:
- gtk/jhbuild.modules: Bump to latest OpenWebRTC master fixing the crash on missing
glvideoflip GStreamer element.
LayoutTests:
- platform/gtk/TestExpectations: Unskip now-passing tests.
- 4:02 AM Changeset in webkit [205450] by
-
- 53 edits17 adds in trunk
CachedResourceLoader is not taking into account fetch options to use or not cached resources
https://bugs.webkit.org/show_bug.cgi?id=161389
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-05
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Updated as new console log messages appear now that cors checks are done at SubresourceLoader level.
- web-platform-tests/XMLHttpRequest/security-consideration.sub-expected.txt:
- web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
- web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt:
- web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-origin-expected.txt:
- web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-origin.js:
(corsOrigin): Fixing a typo in the test making the tests always passing, since the fetch promise was not taken into account.
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt:
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt:
Source/WebCore:
Tests: http/tests/fetch/fetching-same-resource-with-diffferent-options.html
http/tests/security/cross-origin-cached-resource-parallel.html
http/tests/security/cross-origin-cached-resource.html
http/tests/security/load-image-after-redirection-2.html
http/tests/security/shape-outside-and-cached-resources.html
Adding CORS checks for the response in case of CORS fetch mode, in SubresourceLoader.
Removing the CORS checks in Image and DocumentThreadableLoader.
The direction of this patch is to make CachedResource origin-specific/fetch mode specific.
This will remove the need for CachedResource clients to do CORS checks when receiving the notifyFinished call.
This will also make the computation of whether a resource is clean or not much easier since the CachedResource knowd its origin and its response tainting.
Removing the CORS checks at ImageLoader creates the risk of using some cached resources loaded from previously no-cors mode without doing the actual CORS check.
Note that the risk was already there in case of a resource loaded through redirections.
Reusing a cached resource for a load with different options also leads to bad computation of the resource tainting.
As a first step, improvements are done but only for CachedImage resources.
This patch limits the direct reuse of cached resources as follow:
- If the request and existing resources have different origins.
- If the fetch mode is different between request and existing resource.
In those cases, a new CachedResource is created with the correct options and origin.
The data and response of the CachedResource found in the cache are copied efficiently in the new CachedResource, if the matching CachedResource finished loading (CachedImage specific).
If the matching CachedResource is still loading, we trigger a reload (with caching=false to not disturb the being loaded resource).
This should be made more efficient at some point, especially if the matching CachedResource already has its response set.
This triggers a change of behavior: previously, the CORS checks were done by the ImageLoader when the resource was finished loading.
The CORS checks were controlled by the crossOrigin attribute, which may be set or unset between the load start and the load end.
Now the crossOrigin attribute is checked at load start. If it is set, the CORS checks will happen even if the attribute is unset before the end of the load.
This is more consistent as the actual request was built with CORS enabled.
- loader/CrossOriginPreflightChecker.cpp:
(WebCore::CrossOriginPreflightChecker::startPreflight): Setting correctly the preflight options as per fetch spec.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse): Removing CORS check.
(WebCore::DocumentThreadableLoader::loadRequest): Adding CORS check in sync mode.
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didReceiveResponse): Adding CORS checks to the response
(WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl): Helper routine to do CORS checks
- loader/SubresourceLoader.h:
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::cloneData): Responsible to set image content from another CachedImage.
- loader/cache/CachedImage.h:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::computeOrigin): Helper routine to set the origin and whether the resource is cross-origin or not.
(WebCore::CachedResource::load): Using computeOrigin.
(WebCore::CachedResource::loadFrom): Loading from a CachedResource from the same type and which finished loading.
- loader/cache/CachedResource.h:
(WebCore::CachedResource::cloneData):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest): Helper routine responsible to adapt the CachedResource
that can be reused to the origin and options of a new request.
(WebCore::CachedResourceLoader::requestResource): Calling updateCachedResourceWithCurrentRequest before actually returning the resource.
(WebCore::CachedResourceLoader::determineRevalidationPolicy): Space clean-up.
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedResourceRequest.h:
(WebCore::CachedResourceRequest::setCachingPolicy):
- style/StylePendingResources.cpp:
(WebCore::Style::loadPendingImage): Allowing data URLs for ShapeOutside data.
LayoutTests:
Added specific expectations for fetch cors-origin* tests for mac-wk2 and ios-simulator-wk2 as these tests use
HTTPS, and the connection is refused.
- http/tests/eventsource/eventsource-cors-basic-expected.txt:
- http/tests/eventsource/eventsource-cors-with-credentials-expected.txt:
- http/tests/fetch/fetching-same-resource-with-diffferent-options-expected.txt: Added.
- http/tests/fetch/fetching-same-resource-with-diffferent-options.html: Added.
- http/tests/loading/cross-origin-XHR-willLoadRequest-expected.txt:
- http/tests/resources/download-json-with-delay.php:
- http/tests/resources/redirect.php:
- http/tests/security/cross-origin-cached-resource-expected.txt: Added.
- http/tests/security/cross-origin-cached-resource-parallel-expected.txt: Added.
- http/tests/security/cross-origin-cached-resource-parallel.html: Added.
- http/tests/security/cross-origin-cached-resource.html: Added.
- http/tests/security/img-with-failed-cors-check-fails-to-load-expected.txt:
- http/tests/security/load-image-after-redirection-2-expected.txt: Added.
- http/tests/security/load-image-after-redirection-2.html: Added.
- http/tests/security/resources/abe-allow-star.php:
- http/tests/security/resources/allow-if-origin.php: Added.
- http/tests/security/resources/cross-origin-cached-resource-iframe.html: Added.
- http/tests/security/resources/rgbalpha.png: Added.
- http/tests/security/shape-outside-and-cached-resources-expected.html: Added.
- http/tests/security/shape-outside-and-cached-resources.html: Added.
- http/tests/security/video-poster-cross-origin-crash-expected.txt:
- http/tests/security/video-poster-cross-origin-crash2-expected.txt:
- http/tests/xmlhttprequest/access-control-and-redirects-async-same-origin-expected.txt:
- http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash-expected.txt:
- http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
- http/tests/xmlhttprequest/cross-origin-no-credential-prompt-expected.txt:
- http/tests/xmlhttprequest/cross-site-denied-response-expected.txt:
- http/tests/xmlhttprequest/onerror-event-expected.txt:
- http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt:
- http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt:
- http/tests/xmlhttprequest/post-blob-content-type-async-expected.txt:
- http/tests/xmlhttprequest/redirect-cross-origin-2-expected.txt:
- http/tests/xmlhttprequest/redirect-cross-origin-expected.txt:
- http/tests/xmlhttprequest/simple-cross-origin-denied-events-expected.txt:
- http/tests/xmlhttprequest/simple-cross-origin-progress-events-expected.txt:
- http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Added.
- platform/ios-simulator-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-expected.txt: Added.
- platform/mac-wk2/imported/w3c/web-platform-tests/fetch/api/cors/cors-origin-worker-expected.txt: Added.
- 3:31 AM Changeset in webkit [205449] by
-
- 1 copy in releases/WebKitGTK/webkit-2.12.5
WebKitGTK+ 2.12.5
- 3:31 AM Changeset in webkit [205448] by
-
- 4 edits in releases/WebKitGTK/webkit-2.12
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.12.5 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.12.5.
- 3:30 AM Changeset in webkit [205447] by
-
- 4 edits in trunk
W3C test importer should generate the list of resource files
https://bugs.webkit.org/show_bug.cgi?id=161578
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-05
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
- resources/resource-files.json: Reformatting the file.
Tools:
Generating LayoutTests/imported/w3c/resources/resource-files.json when importing tests.
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.init): Reading test resource files configuration file.
(TestImporter.find_importable_tests):
(TestImporter.import_tests): Update the test resource files based on test parsed files.
(TestImporter):
(TestImporter._already_identified_as_resource_file): Helper routine to know whether a file is already set as a resource file.
(TestImporter._is_in_resources_directory: Helper routine to know whether a file is in a resources directory.
- 2:53 AM Changeset in webkit [205446] by
-
- 2 edits3 adds in releases/WebKitGTK/webkit-2.12
Merge r204699 - [DFG] Should not fixup AnyIntUse in 32_64
https://bugs.webkit.org/show_bug.cgi?id=161029
Reviewed by Saam Barati.
JSTests:
- typeProfiler/int52-dfg.js: Added.
(test):
Source/JavaScriptCore:
DFG fixup phase uses AnyIntUse even in 32bit DFG. This patch removes this incorrect filtering.
If the 32bit DFG see the TypeAnyInt, it should fallback to the NumberUse case.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- 2:52 AM WebKitGTK/2.12.x edited by
- (diff)
- 2:35 AM Changeset in webkit [205445] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r205392 - Should never be reached failure in WebCore::floatValueForLength
https://bugs.webkit.org/show_bug.cgi?id=139397
<rdar://problem/27704376>
Reviewed by Simon Fraser.
Source/WebCore:
floatValueForLength can't resolve unspecified Length types. Filter them out and return 0 as if they were auto.
Test: svg/css/assert-on-non-resolvable-dimension.html
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::valueForLength):
LayoutTests:
- svg/css/assert-on-non-resolvable-dimension-expected.txt: Added.
- svg/css/assert-on-non-resolvable-dimension.html: Added.
- 2:34 AM Changeset in webkit [205444] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r205384 - ASSERT_NOT_REACHED() is touched in WebCore::valueForLength
https://bugs.webkit.org/show_bug.cgi?id=123337
<rdar://problem/27684121>
Reviewed by Simon Fraser.
Source/WebCore:
Do not try to use unspecified height value while resolving logical height for table row.
Test: fast/table/assert-on-non-resolvable-row-dimension.html
- rendering/RenderTableCell.h:
(WebCore::RenderTableCell::logicalHeightForRowSizing):
LayoutTests:
- fast/table/assert-on-non-resolvable-row-dimension-expected.txt: Added.
- fast/table/assert-on-non-resolvable-row-dimension.html: Added.
- 2:33 AM Changeset in webkit [205443] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r205374 - ASSERTION FAILED: !m_committedWidth in WebCore::LineWidth::fitBelowFloats
https://bugs.webkit.org/show_bug.cgi?id=149462
<rdar://problem/27710841>
Reviewed by David Hyatt.
Source/WebCore:
In certain cases (multiple spans on the same line with negativ marings), the LineWidth::m_committedWidth > 0
check is not sufficient to decide if some content has already been committed to the current line.
This patch adds a flag to indicate if we ever committed to the current line.
Test: fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit.html
- rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):
- rendering/line/LineWidth.h:
(WebCore::LineWidth::hasCommitted):
LayoutTests:
- fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit-expected.txt: Added.
- fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit.html: Added.
- 2:27 AM Changeset in webkit [205442] by
-
- 5 edits4 adds in releases/WebKitGTK/webkit-2.12
Merge r205277 - ASSERTION FAILED: !flow->layer() && !flow->isInlineElementContinuation() in WebCore::RenderBlock::addContinuationWithOutline
https://bugs.webkit.org/show_bug.cgi?id=151022
<rdar://problem/27710993>
Reviewed by Simon Fraser.
Source/WebCore:
Certain CSS properties like opacity, mask etc (graphical group members) require the layer to be a non-normal flow,
self painting layer so that we can manage painting properly. However in addition to those CSS properties, some of the will-change
values (again, graphical group members) also require the layer to be non-normal flow, self painting.
This patch ensures that when deciding whether a layer should be a normal flow layer, we take the will-change values into account as well.
Tests: compositing/layer-creation/assert-on-inline-element-with-will-change.html
compositing/layer-creation/will-change-on-normal-flow-content.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
- rendering/style/WillChangeData.cpp:
(WebCore::propertyCreatesGraphicalGroup):
(WebCore::WillChangeData::addFeature):
- rendering/style/WillChangeData.h:
(WebCore::WillChangeData::canCreateGraphicalGroup):
(WebCore::WillChangeData::canTriggerCompositingOnInline): Deleted.
LayoutTests:
- compositing/layer-creation/assert-on-inline-element-with-will-change-expected.txt: Added.
- compositing/layer-creation/assert-on-inline-element-with-will-change.html: Added.
- compositing/layer-creation/will-change-on-normal-flow-content-expected.txt: Added.
- compositing/layer-creation/will-change-on-normal-flow-content.html: Added.
- 2:19 AM Changeset in webkit [205441] by
-
- 3 edits in trunk/Source/WebCore
More refactoring of RenderMathMLScripts
https://bugs.webkit.org/show_bug.cgi?id=161371
Patch by Frederic Wang <fwang@igalia.com> on 2016-09-05
Reviewed by Darin Adler.
This is a follow-up of bug 161084. The function getScriptMetricsAndLayoutIfNeeded was quite
complicated and it was not obvious that we have to call it twice with the same reference
to a struture holding vertical metrics. We extract the part retrieving layout parameters
into verticalParameters and move its layoutIfNeeded calls into layoutBlock. Then it can
be reduced to a simple function that retrieve the vertical metrics in one call.
We also improve getBaseAndScripts to make clear that it is performing validation. It returns
a ReferenceChildren structure encapsulating pointers to important children so that we no
longer pass these pointers as function parameters. We continue to need them to browse the
list of prescripts & postscripts but we refactor a bit the loop to avoid explicit mention
of RenderBox*.
No new tests, already covered by existing tests.
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::validateAndGetReferenceChildren): We now store the pointers to
the base, firstPostScript and firstPreScript children in the ReferenceChildren structure. We
also add a pointer to the prescriptDelimiter for convenience.
(WebCore::RenderMathMLScripts::italicCorrection): Use the ReferenceChildren structure so that
we are sure the base has been validated before calling this function.
(WebCore::RenderMathMLScripts::computePreferredLogicalWidths): Retrieve the reference
children with validateAndGetReferenceChildren instead of calling getBaseAndScripts and use
ReferenceChildren to handle these children and to call italicCorrection. The loops for
SubSup, UnderOver, Multiscripts are also rewritten a bit to avoid declaring a null RenderBox*
outside of them and hence allow to use auto.
(WebCore::RenderMathMLScripts::verticalParameters): This part to extract the layout
parameters is extracted from getScriptMetricsAndLayoutIfNeeded. The parameters are returned
as a VerticalParameters struct.
(WebCore::RenderMathMLScripts::verticalMetrics): This is the remaining part of
getScriptMetricsAndLayoutIfNeeded It used to call layoutIfNeeded on children and to
calculate maximum vertical metrics. For Multiscripts it was called twice: We did a first
call to handle the prescripts and then pass the result again in the second call to handle
the postscripts. We modify a bit the loop so that all the scripts are handled in one call and
hence we can directly return a VerticalMetrics. Again, the reference children are now handled
using the ReferenceChildren structure passed as a parameter.
(WebCore::RenderMathMLScripts::layoutBlock): We retrieve the reference children with
validateAndGetReferenceChildren instead of calling getBaseAndScripts and use
ReferenceChildren to handle these children and to call italicCorrection. We layout all the
children if needed in one loop at the beginning instead of doing that when their vertical
metrics are needed. We can now also retrieve vertical metrics with a single call.
(WebCore::RenderMathMLScripts::getBaseAndScripts): Renamed validateAndGetReferenceChildren.
(WebCore::RenderMathMLScripts::getScriptMetricsAndLayoutIfNeeded): Deleted. Split into
verticalParameters and verticalMetrics.
- rendering/mathml/RenderMathMLScripts.h: New structure to handle the pointers to reference
children. Update the signature of getBaseAndScripts to use this struture and give a clearer
name. Update the signature of italicCorrection to use this structure too. Add a new structure
VerticalParameters and declare the helper function to retrieve them. Rename ScriptMetrics
to VerticalMetrics and update the signature of the function needed to retrieve it.
- 2:18 AM Changeset in webkit [205440] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r205056 - ASSERT_NOT_REACHED() is touched in WebCore::minimumValueForLength
https://bugs.webkit.org/show_bug.cgi?id=125781
<rdar://problem/27684457>
Reviewed by Simon Fraser.
Source/WebCore:
RenderTableSection::calcRowLogicalHeight misused minimumValueForLength to fallback to 0 for non-fixed values.
While this patch fixes the assertion, the table section code needs works to support calc values. See webkit.org/b/161273.
Test: fast/table/assert-on-min-max-content-values.html
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
LayoutTests:
- fast/table/assert-on-min-max-content-values-expected.txt: Added.
- fast/table/assert-on-min-max-content-values.html: Added.
- 2:17 AM Changeset in webkit [205439] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r204951 - ASSERTION FAILED: contentSize >= 0 in WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax
https://bugs.webkit.org/show_bug.cgi?id=155700
<rdar://problem/27720727>
Reviewed by David Hyatt.
Source/WebCore:
RenderBox::m_minPreferredLogicalWidth/m_maxPreferredLogicalWidth don't need special initial value since
preferredLogicalWidthsDirty flag guards them. -1 as initial value can cause problems for renderers that don't
override RenderBox::computePreferredLogicalWidths().
Test: fast/ruby/assert-when-content-size-is-negative.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::RenderBox):
(WebCore::RenderBox::dirtyLineBoxes):
(WebCore::RenderBox::deleteLineBoxWrapper):
- rendering/RenderBox.h:
LayoutTests:
- fast/ruby/assert-when-content-size-is-negative-expected.txt: Added.
- fast/ruby/assert-when-content-size-is-negative.html: Added.
- 2:09 AM Changeset in webkit [205438] by
-
- 5 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r204908 - ASSERTION FAILED: childrenInline() in WebCore::RenderBlockFlow::hasLines
https://bugs.webkit.org/show_bug.cgi?id=139396
<rdar://problem/27704339>
Reviewed by David Hyatt.
Source/WebCore:
RenderBlockFlow::hasLines() should be able to handle the block-children case.
Test: fast/ruby/assert-with-block-rt-child-and-emphasis.html
- rendering/RenderBlock.h:
(WebCore::RenderBlock::hasLines): Deleted.
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::hasLines):
- rendering/RenderBlockFlow.h:
LayoutTests:
- fast/ruby/assert-with-block-rt-child-and-emphasis-expected.txt: Added.
- fast/ruby/assert-with-block-rt-child-and-emphasis.html: Added.
- 2:03 AM Changeset in webkit [205437] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r204880 - ASSERTION FAILED: !view().layoutStateEnabled() style().styleType() == FIRST_LETTER in WebCore::RenderInline::clippedOverflowRectForRepaint https://bugs.webkit.org/show_bug.cgi?id=155363
<rdar://problem/27720434>
Reviewed by David Hyatt.
Source/WebCore:
Loosen ASSERT to include calls when the inline has a self painting layer. It's valid to end up here during layout when
the layer's composite state changes.
Test: fast/layers/assert-on-self-painting-inline-with-scrolling.html
- rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):
LayoutTests:
- fast/layers/assert-on-self-painting-inline-with-scrolling-expected.txt: Added.
- fast/layers/assert-on-self-painting-inline-with-scrolling.html: Added.
- 2:02 AM Changeset in webkit [205436] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r204860 - ASSERTION FAILED: hasOverflowingCell == this->hasOverflowingCell() in WebCore::RenderTableSection::computeOverflowFromCells
https://bugs.webkit.org/show_bug.cgi?id=155702
<rdar://problem/27720731>
Reviewed by David Hyatt.
Source/WebCore:
The simplified layout path for table/section should also clear the slow path flag for visual overflow (since it recomputes
the overflow for the descendant cells).
Test: fast/table/assert-when-visual-overflow-is-cleared.html
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::layout):
LayoutTests:
- fast/table/assert-when-visual-overflow-is-cleared-expected.txt: Added.
- fast/table/assert-when-visual-overflow-is-cleared.html: Added.
- 1:56 AM Changeset in webkit [205435] by
-
- 3 edits in releases/WebKitGTK/webkit-2.12
Merge r204936 - Assertion hit: ASSERT(!m_parserScheduler) in ~HTMLDocumentParser()
https://bugs.webkit.org/show_bug.cgi?id=161083
<rdar://problem/27986937>
Reviewed by Darin Adler.
Source/WebCore:
Call cancelParsing() right before re-creating the new parser in
Document::implicitOpen(). We would previously call removeChildren()
in between which is was an issue because it can cause JS to be
executed and therefore the parser to be re-created after we have
cancelled parsing.
No new tests, unskipped html/browsers/browsing-the-web/unloading-documents/004.html
which was consistently crashing.
- dom/Document.cpp:
(WebCore::Document::implicitOpen):
LayoutTests:
Unskip html/browsers/browsing-the-web/unloading-documents/004.html as
it is no longer crashing.
- 1:55 AM Changeset in webkit [205434] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.12
Merge r204980 - Infinite recursion crash in WebCore::RenderBlockFlow::layoutBlock
https://bugs.webkit.org/show_bug.cgi?id=139474
<rdar://problem/27705190>
Reviewed by David Hyatt.
Source/WebCore:
We should just give up trying to avoid widow when the page is too small to break line.
Test: fast/multicol/assert-on-small-page-height-with-widow.html
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::clearShouldBreakAtLineToAvoidWidowIfNeeded):
(WebCore::RenderBlockFlow::adjustLinePositionForPagination):
- rendering/RenderBlockFlow.h:
LayoutTests:
- fast/multicol/assert-on-small-page-height-with-widow-expected.txt: Added.
- fast/multicol/assert-on-small-page-height-with-widow.html: Added.
- 1:49 AM Changeset in webkit [205433] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebKit2
Merge r205182 - REGRESSION(r194846): [GTK] UI process crash visiting sites protected with HTTP auth when using GTK+ < 3.14
https://bugs.webkit.org/show_bug.cgi?id=161385
Reviewed by Antonio Gomes.
Since r194846, we are chaining up webkitWebViewBaseMotionNotifyEvent, but before GTK+ 3.14
GtkWidget::motion_notify_event was nullptr, so it can't be used unconditionally.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseMotionNotifyEvent):
- 1:31 AM Changeset in webkit [205432] by
-
- 2 edits in releases/WebKitGTK/webkit-2.12/Source/WebKit2
Merge r202940 - Followup to r202939.
https://bugs.webkit.org/show_bug.cgi?id=159526
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didFailLoading):
We need the correct destination id when sending a message.
- 12:57 AM Changeset in webkit [205431] by
-
- 11 edits in trunk/Source/WebKit2
[GTK] SetNativeSurfaceHandleForCompositing should not be compiled in for wayland build
https://bugs.webkit.org/show_bug.cgi?id=161483
Reviewed by Žan Doberšek.
SetNativeSurfaceHandleForCompositing and DestroyNativeSurfaceHandleForCompositing messages should only be used
for GTK+ port when compiled with OpenGL and X11 enabled and redirected XComposite window disabled. So, we should
use USE(TEXTURE_MAPPER) && PLATFORM(GTK) && PLATFORM(X11) && !USE(REDIRECTED_XCOMPOSITE_WINDOW) consistently.
This fixes the build when building the GTK+ port with Wayland enabled and X11 disabled.
- UIProcess/AcceleratedDrawingAreaProxy.cpp:
(WebKit::AcceleratedDrawingAreaProxy::didUpdateBackingStoreState):
- UIProcess/AcceleratedDrawingAreaProxy.h:
- WebProcess/WebPage/AcceleratedDrawingArea.cpp:
(WebKit::AcceleratedDrawingArea::enterAcceleratedCompositingMode):
- WebProcess/WebPage/AcceleratedDrawingArea.h:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
- WebProcess/WebPage/DrawingArea.h:
- WebProcess/WebPage/DrawingArea.messages.in:
- WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
- WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
- 12:15 AM Changeset in webkit [205430] by
-
- 2 edits in trunk/Source/WebCore
MediaPlayerPrivateGStreamerBase: improve build guards in nativeImageForCurrentTime()
https://bugs.webkit.org/show_bug.cgi?id=161594
Reviewed by Philippe Normand.
Guard the uses of cairo-gl API in nativeImageForCurrentTime() with the
USE(CAIRO) && ENABLE(ACCELERATED_2D_CANVAS) pair of build guards. This
API is only made available when the ACCELERATED_2D_CANVAS option is
enabled. Placing the guards this way thus avoids compilation errors
when compiling USE_GSTREAMER_GL code without the accelerated 2D canvas
support enabled.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime):
- 12:14 AM Changeset in webkit [205429] by
-
- 2 edits in trunk/Source/WebKit2
[GObject bindings] override handleEvent() method in GObjectEventListener
https://bugs.webkit.org/show_bug.cgi?id=161593
Reviewed by Carlos Garcia Campos.
- WebProcess/InjectedBundle/API/gtk/DOM/GObjectEventListener.h: Override
the handleMethod() which is inherited from the WebCore EventListener class.
Suppresses the -Winconsistent-missing-override warning that Clang propagates.
Sep 4, 2016:
- 11:49 PM Changeset in webkit [205428] by
-
- 2 edits in trunk/LayoutTests
http/tests/fetch/clone-response-body.html uses an incorrect URL
https://bugs.webkit.org/show_bug.cgi?id=161382
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-04
Reviewed by Darin Adler.
- http/tests/fetch/clone-response-body.html: Fixing url, increasing delay to ensure non-flakiness.
Adding assertions to ensure load is successful.
- 11:41 PM Changeset in webkit [205427] by
-
- 4 edits in trunk/Source
Remove unnecessary RetainPtr.
Review comments on earlier change.
Source/WebKit/mac:
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]):
Source/WebKit2:
- UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _defaultAnimationController]):
- 10:02 PM Changeset in webkit [205426] by
-
- 32 edits in trunk/Source/WebInspectorUI
Web Inspector: Enable and enforce some recommended and stylistic ESLint rules
https://bugs.webkit.org/show_bug.cgi?id=161567
Reviewed by Brian Burg.
- .eslintrc:
- UserInterface/Base/EventListener.js:
- UserInterface/Base/EventListenerSet.js:
- UserInterface/Base/MIMETypeUtilities.js:
- UserInterface/Base/Main.js:
- UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
- UserInterface/Controllers/DOMTreeManager.js:
- UserInterface/Controllers/TimelineManager.js:
- UserInterface/Models/CSSKeywordCompletions.js:
- UserInterface/Models/DOMNode.js:
- UserInterface/Models/DOMNodeStyles.js:
- UserInterface/Models/Frame.js:
- UserInterface/Models/Geometry.js:
- UserInterface/Models/ProfileNode.js:
- UserInterface/Models/RenderingFrameTimelineRecord.js:
- UserInterface/Models/SourceCodeLocation.js:
- UserInterface/Protocol/RemoteObject.js:
- UserInterface/Views/ApplicationCacheFrameContentView.js:
- UserInterface/Views/ContextMenu.js:
- UserInterface/Views/DOMTreeContentView.js:
- UserInterface/Views/DOMTreeElement.js:
- UserInterface/Views/DataGrid.js:
- UserInterface/Views/GeneralTreeElement.js:
- UserInterface/Views/HeapAllocationsTimelineDataGridNode.js:
- UserInterface/Views/LogContentView.js:
- UserInterface/Views/OpenResourceDialog.js:
- UserInterface/Views/StyleDetailsPanel.js:
- UserInterface/Views/VisualStyleDetailsPanel.js:
- UserInterface/Views/VisualStyleKeywordPicker.js:
- UserInterface/Views/VisualStylePropertyEditor.js:
- UserInterface/Workers/Formatter/FormatterWorker.js:
- 10:02 PM Changeset in webkit [205425] by
-
- 65 edits in trunk/Source/WebInspectorUI
Web Inspector: Run ESLint over UserInterface/Views
https://bugs.webkit.org/show_bug.cgi?id=161564
Reviewed by Brian Burg.
- .eslintrc:
- UserInterface/Views/BoxModelDetailsSectionRow.js:
- UserInterface/Views/ButtonNavigationItem.js:
- UserInterface/Views/CSSStyleDeclarationSection.js:
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
- UserInterface/Views/CodeMirrorAdditions.js:
- UserInterface/Views/CodeMirrorEditor.js:
- UserInterface/Views/CodeMirrorFormatters.js:
- UserInterface/Views/ColorWheel.js:
- UserInterface/Views/ComputedStyleDetailsPanel.js:
- UserInterface/Views/ConsoleMessageView.js:
- UserInterface/Views/ContentViewContainer.js:
- UserInterface/Views/CookieStorageContentView.js:
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
- UserInterface/Views/DOMStorageContentView.js:
- UserInterface/Views/DOMTreeElement.js:
- UserInterface/Views/DOMTreeOutline.js:
- UserInterface/Views/DashboardContainerView.js:
- UserInterface/Views/DataGrid.js:
- UserInterface/Views/DataGridNode.js:
- UserInterface/Views/DebuggerSidebarPanel.js:
- UserInterface/Views/DefaultDashboardView.js:
- UserInterface/Views/FontResourceContentView.js:
- UserInterface/Views/FormattedValue.js:
- UserInterface/Views/GradientEditor.js:
- UserInterface/Views/GradientSlider.js:
- UserInterface/Views/HeapSnapshotContentView.js:
- UserInterface/Views/HeapSnapshotDataGridTree.js:
- UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
- UserInterface/Views/HoverMenu.js:
- UserInterface/Views/LogContentView.js:
- UserInterface/Views/MemoryTimelineOverviewGraph.js:
- UserInterface/Views/MemoryTimelineView.js:
- UserInterface/Views/NavigationSidebarPanel.js:
- UserInterface/Views/NetworkTimelineOverviewGraph.js:
- UserInterface/Views/NewTabContentView.js:
- UserInterface/Views/ObjectPreviewView.js:
- UserInterface/Views/ObjectTreeBaseTreeElement.js:
- UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
- UserInterface/Views/OverviewTimelineView.js:
- UserInterface/Views/Popover.js:
- UserInterface/Views/ProbeSetDetailsSection.js:
- UserInterface/Views/ProfileDataGridNode.js:
- UserInterface/Views/ProfileDataGridTree.js:
- UserInterface/Views/ProfileView.js:
- UserInterface/Views/ResourceSidebarPanel.js:
- UserInterface/Views/RulesStyleDetailsPanel.js:
- UserInterface/Views/ScopeRadioButtonNavigationItem.js:
- UserInterface/Views/ScriptClusterTimelineView.js:
- UserInterface/Views/ScriptDetailsTimelineView.js:
- UserInterface/Views/ScriptProfileTimelineView.js:
- UserInterface/Views/StackedLineChart.js:
- UserInterface/Views/StorageSidebarPanel.js:
- UserInterface/Views/TabBrowser.js:
- UserInterface/Views/TextEditor.js:
- UserInterface/Views/TimelineDataGridNode.js:
- UserInterface/Views/TimelineOverview.js:
- UserInterface/Views/TimelineRecordFrame.js:
- UserInterface/Views/TimelineRecordingContentView.js:
- UserInterface/Views/TimelineTabContentView.js:
- UserInterface/Views/TreeOutline.js:
- UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
- UserInterface/Views/VisualStylePropertyEditor.js:
- UserInterface/Views/VisualStyleSelectorSection.js:
- 10:01 PM Changeset in webkit [205424] by
-
- 50 edits in trunk/Source/WebInspectorUI
Web Inspector: Update ESLint rules and run it over most of UserInterface
https://bugs.webkit.org/show_bug.cgi?id=161561
Reviewed by Brian Burg.
- .eslintrc:
Updated ESLint rules.
- UserInterface/Base/InspectorFrontendHostStub.js:
- UserInterface/Base/Main.js:
- UserInterface/Base/Object.js:
- UserInterface/Base/Platform.js:
- UserInterface/Base/Setting.js:
- UserInterface/Controllers/CSSStyleManager.js:
- UserInterface/Controllers/CodeMirrorCompletionController.js:
- UserInterface/Controllers/CodeMirrorTextKillController.js:
- UserInterface/Controllers/DebuggerManager.js:
- UserInterface/Controllers/DragToAdjustController.js:
- UserInterface/Controllers/ReplayManager.js:
- UserInterface/Controllers/SourceMapManager.js:
- UserInterface/Controllers/TimelineManager.js:
- UserInterface/Controllers/TypeTokenAnnotator.js:
- UserInterface/Controllers/VisualStyleCompletionsController.js:
- UserInterface/Debug/Bootstrap.js:
- UserInterface/Debug/UncaughtExceptionReporter.js:
- UserInterface/Models/CSSRule.js:
- UserInterface/Models/CallingContextTree.js:
- UserInterface/Models/CallingContextTreeNode.js:
- UserInterface/Models/ConsoleCommandResultMessage.js:
- UserInterface/Models/CookieStorageObject.js:
- UserInterface/Models/Frame.js:
- UserInterface/Models/Geometry.js:
- UserInterface/Models/IssueMessage.js:
- UserInterface/Models/LayoutTimelineRecord.js:
- UserInterface/Models/MemoryTimeline.js:
- UserInterface/Models/NativeFunctionParameters.js:
- UserInterface/Models/ProfileNode.js:
- UserInterface/Models/RenderingFrameTimelineRecord.js:
- UserInterface/Models/Resource.js:
- UserInterface/Models/ScriptSyntaxTree.js:
- UserInterface/Models/ScriptTimelineRecord.js:
- UserInterface/Models/StackTrace.js:
- UserInterface/Models/TypeSet.js:
- UserInterface/Models/WrappedPromise.js:
- UserInterface/Protocol/InspectorBackend.js:
- UserInterface/Protocol/InspectorFrontendAPI.js:
- UserInterface/Protocol/RemoteObject.js:
- UserInterface/Protocol/ScriptProfilerObserver.js:
- UserInterface/Test/FrontendTestHarness.js:
- UserInterface/Test/InspectorProtocol.js:
- UserInterface/Test/ProtocolTestHarness.js:
- UserInterface/Test/Test.js:
- UserInterface/Test/TestHarness.js:
- UserInterface/Test/TestSuite.js:
- UserInterface/Workers/Formatter/EsprimaFormatter.js:
- UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js:
- 8:14 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 8:13 PM Changeset in webkit [205423] by
-
- 5 edits1 add in trunk/LayoutTests
Miscellaneous unreviewed GTK test gardening
- platform/gtk/TestExpectations:
- platform/gtk/accessibility/math-multiscript-attributes-expected.txt:
- platform/gtk/css1/box_properties/float_on_text_elements-expected.txt:
- platform/gtk/editing/pasteboard/image-in-iframe-expected.txt: Added.
- platform/gtk/editing/pasteboard/onpaste-text-html-expected.txt:
- 8:11 PM Changeset in webkit [205422] by
-
- 29 edits in trunk/Source/WebCore
Remove the CREATE_DOM_WRAPPER macro
https://bugs.webkit.org/show_bug.cgi?id=161580
Reviewed by Dan Bernstein.
The CREATE_DOM_WRAPPER has irritated me for too long! Replace it
with direct calls to createWrapper<ImplementationType>, which has
been upgraded to not require specifying both the implementation type
and the wrapper type by way of the new JSDOMWrapperConverterTraits
struct which provides mapping from ImplementationType -> JSWrapper.
createWrapper<ImplementationType> has also been upgraded to have a
specialization for when the object being passed in needs to be casted.
- bindings/js/JSAnimationTimelineCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSBlobCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::constructJSBlob):
- bindings/js/JSCSSRuleCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSCSSValueCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSDataCueCustom.cpp:
(WebCore::constructJSDataCue):
- bindings/js/JSDocumentCustom.cpp:
(WebCore::createNewDocumentWrapper):
- bindings/js/JSDocumentFragmentCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSElementCustom.cpp:
(WebCore::createNewElementWrapper):
- bindings/js/JSEventCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSFileCustom.cpp:
(WebCore::constructJSFile):
- bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSIDBCursorCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSImageDataCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSNodeCustom.cpp:
(WebCore::createWrapperInline):
- bindings/js/JSNodeListCustom.cpp:
(WebCore::createWrapper):
- bindings/js/JSPerformanceEntryCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSSVGPathSegCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSStyleSheetCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSTextCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSXMLDocumentCustom.cpp:
(WebCore::toJSNewlyCreated):
- dom/make_names.pl:
(printWrapperFunctions):
(printWrapperFactoryCppFile):
Replace CREATE_DOM_WRAPPER with direct calls to createWrapper.
- bindings/js/JSWorkerGlobalScopeBase.h:
Add #include of JSDOMWrapper.h to allow generated subclasses to use
JSDOMWrapperConverterTraits.
- bindings/js/JSDOMBinding.h:
(WebCore::castDOMObjectForWrapperCreation): Deleted.
Remove CREATE_DOM_WRAPPER and castDOMObjectForWrapperCreation and
specialize createWrapper.
- bindings/js/JSDOMWrapper.h:
Forward declare JSDOMWrapperConverterTraits.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
Add specialization of JSDOMWrapperConverterTraits for each header.
(GenerateImplementation):
(GenerateConstructorDefinition):
Replace CREATE_DOM_WRAPPER with direct calls to createWrapper.
- 11:50 AM Changeset in webkit [205421] by
-
- 13 edits in trunk/Source/WebCore
Remove Style::PendingResources
https://bugs.webkit.org/show_bug.cgi?id=161574
Reviewed by Andreas Kling.
RenderStyle contains all the information needed to initialize resource loads. There is no need for this side structure.
- css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::loadSubimages):
Load external SVG resources along with any image resources.
- css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::styleImage):
(WebCore::CSSToStyleMap::mapFillImage):
(WebCore::CSSToStyleMap::mapNinePieceImage):
- css/CSSToStyleMap.h:
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertStyleImage):
(WebCore::StyleBuilderConverter::convertShapeValue):
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueCursor):
(WebCore::StyleBuilderCustom::applyValueContent):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::createFilterOperations):
(WebCore::StyleResolver::loadPendingResources):
(WebCore::StyleResolver::State::ensurePendingResources): Deleted.
(WebCore::StyleResolver::styleCachedImageFromValue): Deleted.
(WebCore::StyleResolver::styleGeneratedImageFromValue): Deleted.
- css/StyleResolver.h:
(WebCore::StyleResolver::State::takePendingResources): Deleted.
- platform/graphics/filters/FilterOperation.cpp:
(WebCore::ReferenceFilterOperation::loadExternalDocumentIfNeeded):
(WebCore::ReferenceFilterOperation::getOrCreateCachedSVGDocumentReference): Deleted.
- platform/graphics/filters/FilterOperation.h:
(WebCore::ReferenceFilterOperation::cachedSVGDocumentReference):
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::StyleCachedImage):
- style/StylePendingResources.cpp:
(WebCore::Style::loadPendingResources):
Trigger resource loads by checking pending resources in RenderStyle unconditionally. Keeping track of them
separately wasn't necessary or a meaningful optimization.
(WebCore::Style::loadPendingImages): Deleted.
(WebCore::Style::loadPendingSVGFilters): Deleted.
- style/StylePendingResources.h:
- 11:11 AM Changeset in webkit [205420] by
-
- 5 edits in trunk/Source/WebKit2
[Cocoa] Wrapping XPC service execution in os_activity is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=161577
Reviewed by Sam Weinig.
Removed code that created an os_activity around the execution of the XPC service
code, because this workaround is no longer needed.
- DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:
(DatabaseServiceInitializer):
- NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:
(NetworkServiceInitializer):
- PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
(PluginServiceInitializer):
- WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
(WebContentServiceInitializer):
- 6:42 AM Changeset in webkit [205419] by
-
- 19 edits in trunk/Source/WebCore
Reverse ownership relation of StyleCachedImage and CSSImageValue
https://bugs.webkit.org/show_bug.cgi?id=161447
Reviewed by Andreas Kling.
Currently StyleCachedImage (which represents an image in RenderStyle) has a weak ref to the
underlying CSSImageValue/CSSImageSetValue which actually owns it. This is awkwards especially since
StyleGeneratedImage, the other StyleImage subclass has reversed relationship where it refs
the underlying CSSImageGeneratorValue.
This patch makes StyleCachedImage similar to StyleGeneratedImage. StyleCachedImage now refs the
underlying CSSImageValue/CSSImageSetValue. CSSImageValues no longer need to know about StyleCachedImage.
Instead they reference CachedImages (memory cache objects) directly. StyleCachedImage instances are now
conceptually unique to RenderStyle instances. Actual resources are shared as before by sharing CachedImages.
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::loadImage):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::styleImage): Deleted.
- css/CSSCursorImageValue.h:
- css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::loadBestFitImage):
(WebCore::CSSImageSetValue::traverseSubresources):
(WebCore::CSSImageSetValue::styleImage): Deleted.
- css/CSSImageSetValue.h:
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::CSSImageValue):
(WebCore::CSSImageValue::~CSSImageValue):
(WebCore::CSSImageValue::isPending):
(WebCore::CSSImageValue::loadImage):
(WebCore::CSSImageValue::traverseSubresources):
(WebCore::CSSImageValue::knownToBeOpaque):
(WebCore::CSSImageValue::styleImage): Deleted.
- css/CSSImageValue.h:
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueContent):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::styleCachedImageFromValue):
(WebCore::StyleResolver::styleGeneratedImageFromValue):
(WebCore::StyleResolver::cachedOrPendingFromValue): Deleted.
(WebCore::StyleResolver::generatedOrPendingFromValue): Deleted.
(WebCore::StyleResolver::setOrPendingFromValue): Deleted.
(WebCore::StyleResolver::cursorOrPendingFromValue): Deleted.
- css/StyleResolver.h:
- editing/TextIterator.cpp:
(WebCore::fullyClipsContents):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
- rendering/style/FillLayer.cpp:
(WebCore::FillLayer::imagesIdentical):
Compare data equality instead of pointer equality for StyleImages (since StyleImages are no longer shared).
(WebCore::layerImagesIdentical): Deleted.
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::StyleCachedImage):
(WebCore::StyleCachedImage::~StyleCachedImage):
(WebCore::StyleCachedImage::cachedImage):
(WebCore::StyleCachedImage::cssValue):
(WebCore::StyleCachedImage::canRender):
(WebCore::StyleCachedImage::isPending):
(WebCore::StyleCachedImage::isLoaded):
(WebCore::StyleCachedImage::errorOccurred):
(WebCore::StyleCachedImage::imageSize):
(WebCore::StyleCachedImage::imageHasRelativeWidth):
(WebCore::StyleCachedImage::imageHasRelativeHeight):
(WebCore::StyleCachedImage::computeIntrinsicDimensions):
(WebCore::StyleCachedImage::usesImageContainerSize):
(WebCore::StyleCachedImage::setContainerSizeForRenderer):
(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):
(WebCore::StyleCachedImage::image):
(WebCore::StyleCachedImage::knownToBeOpaque):
(WebCore::StyleCachedImage::setCachedImage): Deleted.
- rendering/style/StyleCachedImage.h:
- 12:10 AM Changeset in webkit [205418] by
-
- 16 edits1 move3 adds5 deletes in trunk
Unreviewed, rolling out r205415.
https://bugs.webkit.org/show_bug.cgi?id=161573
Many bots see inspector test failures, rolling out now and
investigating later. (Requested by brrian on #webkit).
Reverted changeset:
"Web Inspector: unify Main.html and Test.html sources and
generate different copies with the preprocessor"
https://bugs.webkit.org/show_bug.cgi?id=161212
http://trac.webkit.org/changeset/205415
Sep 3, 2016:
- 10:45 PM Changeset in webkit [205417] by
-
- 16 edits1 add in trunk
Media controls behave strangely when videos mute from within a playing handler
https://bugs.webkit.org/show_bug.cgi?id=161559
<rdar://problem/28018438>
Reviewed by Darin Adler.
Source/WebCore:
Defer showing media controls until after the media element has fired its onplaying handler. This handles cases
where videos that autoplay may initially meet the criteria for main content, but once the video begins to play,
the page may change the media in some way (e.g. muting) that makes the video no longer main content. This causes
media controls to flicker in and out.
These changes are covered by existing unit tests, which have been refactored to check media controller state
after all autoplaying videos have begun playing. Also adds an additional unit test.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::notifyAboutPlaying):
(WebCore::HTMLMediaElement::hasEverNotifiedAboutPlaying):
- html/HTMLMediaElement.h:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canShowControlsManager):
Tools:
Accounts for changes when determining whether or not to show media controls for autoplaying videos that have not
begun playing yet. Rather than check for a controlled media element upon page load, we force tests to wait until
all autoplaying videos have actually begun playing. This extends to tests that involve interaction, such as
clicking or scrolling.
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(-[VideoControlsManagerTestWebView callJavascriptFunction:]):
(-[VideoControlsManagerTestWebView expectControlsManager:afterReceivingMessage:]):
(-[VideoControlsManagerTestWebView performAfterReceivingMessage:action:]):
(-[VideoControlsManagerTestWebView waitForPageToLoadWithAutoplayingVideos:]):
(TestWebKitAPI::TEST):
(-[VideoControlsManagerTestWebView loadTestPageNamed:andExpectControlsManager:afterReceivingMessage:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/autoplaying-video-with-audio.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-hides-controls-after-seek-to-end.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-playing-scroll-away.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-click-to-pause.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-scroll-to-video.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-paused-video-hides-controls.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-muted-video-hides-controls.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-video-keeps-controls.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-with-audio-autoplay.html:
- 10:09 PM Changeset in webkit [205416] by
-
- 20 edits in trunk
Update the semantics of defined-ness of custom elements per spec changes
https://bugs.webkit.org/show_bug.cgi?id=161570
Reviewed by Darin Adler.
Source/WebCore:
This patch adds the notion of a custom element that failed to construct or upgrade so that :defined
doesn't apply to such an element. We also set the defined flag inside the HTMLElement constructor in
the case of synchronous construction instead of waiting for the custom element constructor to finish.
https://dom.spec.whatwg.org/#concept-create-element
Conceptually, there are four distinct states for an element:
- The element is a built-in element
- The element is a custom element yet to be defined (an upgrade candidate).
- The element is a well-defined custom element (constructed or upgraded).
- The element has failed to construct or upgrade as a custom element (because the custom element
constructor threw an exception or returned an unexpected object).
In the latest DOM/HTML specifications, these states are called as 1. "uncustomized", 2. "undefined",
- "custom", and 4. "failed": https://dom.spec.whatwg.org/#concept-element-defined
This patch refactors Node flags to introduce these distinct states as the following:
- Neither IsCustomElement nor IsEditingTextOrUnresolvedCustomElementFlag is set.
- IsCustomElement and IsEditingTextOrUnresolvedCustomElementFlag are set.
isCustomElementUpgradeCandidate() and isUndefinedCustomElement() return true.
- IsCustomElement is set and IsEditingTextOrUnresolvedCustomElementFlag is unset.
isDefinedCustomElement() returns true.
- IsCustomElement is unset and IsEditingTextOrUnresolvedCustomElementFlag is set.
isFailedCustomElement() and isUndefinedCustomElement() return true.
Per a spec change, this patch also makes :defined applied to a synchronously constructed custom element
immediately after super() call in the constructor. When the constructor throws an exception or fails to
return the right element, the HTML parser marks the fallback element with setIsUndefinedCustomElement.
Tests: fast/custom-elements/defined-pseudo-class.html
fast/custom-elements/defined-rule.html
fast/custom-elements/upgrading/Node-cloneNode.html
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::constructElement): Don't set :defined flag here since that's done
in the HTMLElement constructor now.
(WebCore::JSCustomElementInterface::upgradeElement): Mark the element as failed-to-upgrade as needed.
- bindings/js/JSElementCustom.cpp:
(WebCore::toJSNewlyCreated):
- bindings/js/JSHTMLElementCustom.cpp:
(WebCore::constructJSHTMLElement):
- css/SelectorCheckerTestFunctions.h:
(WebCore::isDefinedElement):
- dom/CustomElementReactionQueue.cpp:
(WebCore::CustomElementReactionQueue::enqueueElementUpgradeIfDefined): Enqueue custom element reactions
only if the element is well defined (successfully constructed or upgraded).
(WebCore::CustomElementReactionQueue::enqueueConnectedCallbackIfNeeded): Ditto.
(WebCore::CustomElementReactionQueue::enqueueDisconnectedCallbackIfNeeded): Ditto.
(WebCore::CustomElementReactionQueue::enqueueAdoptedCallbackIfNeeded): Ditto.
(WebCore::CustomElementReactionQueue::enqueueAttributeChangedCallbackIfNeeded): Ditto.
- dom/CustomElementRegistry.cpp:
(WebCore::enqueueUpgradeInShadowIncludingTreeOrder):
- dom/Document.cpp:
(WebCore::createUpgradeCandidateElement):
(WebCore::createFallbackHTMLElement):
- dom/Element.cpp:
(WebCore::Element::attributeChanged):
(WebCore::Element::didMoveToNewDocument):
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::setCustomElementIsResolved): Deleted.
(WebCore::Element::setIsDefinedCustomElement): Renamed from setCustomElementIsResolved.
(WebCore::Element::setIsFailedCustomElement): Added.
(WebCore::Element::setIsCustomElementUpgradeCandidate): Added.
(WebCore::Element::customElementInterface):
- dom/Element.h:
- dom/Node.h:
(WebCore::Node::setIsCustomElement): Deleted.
(WebCore::Node::isUndefinedCustomElement): Renamed from isUnresolvedCustomElement.
(WebCore::Node::setIsUnresolvedCustomElement): Deleted.
(WebCore::Node::isCustomElementUpgradeCandidate): Added.
(WebCore::Node::isDefinedCustomElement): Renamed from isCustomElement.
(WebCore::Node::isFailedCustomElement): Added.
- dom/make_names.pl:
(printWrapperFactoryCppFile): Use the HTMLElement wrapper on upgrade candidates. When a custom element
failed to upgrade, the HTMLElement constructor would have created the wrapper so we never run this code.
- html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::createHTMLElementOrFindCustomElementInterface):
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::runScriptsForPausedTreeBuilder): Mark the HTMLUnknownElement created when
the custom element constructor failed to run successfully as a failed custom element so that :define
wouldn't apply to this element.
LayoutTests:
Added a new test cases to defined-pseudo-class.html, defined-rule.html, and Node-cloneNode.html
and rebaselined the tests.
- fast/custom-elements/defined-pseudo-class-expected.txt:
- fast/custom-elements/defined-pseudo-class.html:
(MyElement): Made matchInsideConstructor an instance variable so that there won't be inter-test dependency.
Added test cases for :defined not being not applying to a failed-to-upgrade custom element. Finally, updated
test expectation to reflect the fact :defined now applies inside custom element constructors immediately after
super() call.
- fast/custom-elements/defined-rule.html: Added a test case for :defined not applying to a failed-to-upgrade
custom element. Also adjusted the height of the last box so that the green box is still 100px by 100px.
- fast/custom-elements/upgrading/Node-cloneNode-expected.txt:
- fast/custom-elements/upgrading/Node-cloneNode.html: Added a test to make sure we don't try to upgrade
a custom element for the second time when the first attempt resulted in the constructor throwing an exception.
- 9:34 PM Changeset in webkit [205415] by
-
- 16 edits1 copy1 move4 adds3 deletes in trunk
Web Inspector: unify Main.html and Test.html sources and generate different copies with the preprocessor
https://bugs.webkit.org/show_bug.cgi?id=161212
<rdar://problem/28017961>
Reviewed by Joseph Pecoraro.
.:
Rearrange some CMake rules so most Inspector UI work is done in WebInspectorUI.
- Source/CMakeLists.txt: Add 'WebInspectorUI' subdirectory.
- Source/PlatformEfl.cmake:
- Move the rule to copy InspectorBackendCommands.js into WebInspectorUI/CMakeLists.txt.
- Add a FIXME to use the cross-port list of Inspector resources instead of copying everything.
- Add new dependency so generated WebInspectorUI files are made by web-inspector-resources.
- Copy over generated files Main.html and Test.html.
- Source/PlatformWin.cmake:
- Add a FIXME to use the cross-port list of Inspector resources instead of copying everything.
- Add new dependency so generated WebInspectorUI files are made by web-inspector-resources.
- Copy over generated files Main.html and Test.html.
- Source/cmake/WebKitFS.cmake:
- Set up WEBINSPECTORUI_DIR and use it.
- Move directory creation commands here from JavaScriptCore.
- Source/cmake/WebKitMacros.cmake:
Add a helper to turn a CMake list into a space-delimited string of elements.
Source/JavaScriptCore:
- CMakeLists.txt: Remove some unnecessary MAKE_DIRECTORY commands.
Source/WebInspectorUI:
Add a Derived Sources build phase to WebInspectorUI project. Generate
Test.html and Main.html from a combined Inspector.html.in which has preprocessor
macros to include/exclude files not needed by all main resource versions.
Similarly, start generating these Inspector files in WebInspectorUI/CMakeLists.txt.
Move platform-specific bundling commands into PlatformGTK.cmake.
- CMakeLists.txt: Added.
Set up a list of common frontend resources that specific ports can extend, such as
with their own port-specific image resources. This list is the input to port-specific
packaging/bundling scripts. Eventually, minification and concatenation should happen
independently of the specific port by constructing the list of resources dynamically.
To ensure resources are always generated in WebInspectorUI and accessible from WebKit2,
add a dummy target that is always out of date and depends on generated files, causing
them to be built.
Also create a macro to run the preprocessor over Inspector.html.in using various
preprocessor macro definitions. These are customizable by ports to control the
appearance of ENGINEERING_BUILD, which guards resources not meant for shipping builds.
- Configurations/WebInspectorUIFramework.xcconfig:
We need to use preprocessor.pm from WebCore. On Mac, this is a private header.
Teach xcodebuild how to compute WEBCORE_PRIVATE_HEADERS_DIR. This is copied
from WebKit2's configuration files.
- PlatformGTK.cmake: Added.
Add GTK image resources to the resource list. Generate GResource catalog and embedded
C file into DerivedSources. WebKit2 will copy over this file and compile it.
- Scripts/combine-resources.pl:
(concatenateFiles):
Remove the --strip option as this patch removes the only use of it.
- DerivedSources.make: Added.
Generate Test.html and Main.html from the new combined Inspector.html.in.
The 'preprocess_main_resource' rule was copied from WebCore's DerivedSources.make.
- Scripts/cssmin.py: Removed.
- Scripts/jsmin.py: Removed.
These scripts are copied from JavaScriptCore but nobody uses these copies. Remove them.
- Scripts/copy-user-interface-resources-dryrun.rb: Do some cleanup.
- Stage scripts from SRCROOT into the tmpdir so dryrun doesn't require a previous build to process WebInspectorUI resources.
- Run DerivedSources.make before copying/processing resources.
- Add some environment variables for new phase and group by script affected.
- Add a comment to clarify what this script is simulating.
- Scripts/copy-user-interface-resources.pl:
- Use Main.html and Test.html from DerivedSources/ instead of SRCROOT.
- Copy over Main.html and Test.html manually if not combining resources.
- Remove the command to strip files from Debug/ for production. This is now redundant with ENGINEERING_BUILD guards in Inspector.html.in.
- Use jsmin.py from JavaScriptCore instead of the local copy.
- Wrap all multi-argument 'system' invocations so they are readable.
- Scripts/generate-webinspectorui-derived-sources: Added.
Added boilerplate script to run DerivedSources.make for Mac port.
- Scripts/preprocess-main-resource.pl: Added.
Trivially invoke the preprocessor on $0 using the given defines.
- UserInterface/Inspector.html.in: Renamed from Source/WebInspectorUI/UserInterface/Main.html.
- UserInterface/Test.html: Removed.
Combine Test.html and Main.html into Inspector.html.in. Add these guards:
- INCLUDE_TEST_RESOURCES: for resources excluded from Main.html.
- INCLUDE_UI_RESOURCES: for resources excluded from model tests.
- ENGINEERING_BUILD: for resources not to be shipped (Debug/ directory).
- WebInspectorUI.xcodeproj/project.pbxproj:
- Add new aggregate target 'Derived Sources' to project 'WebInspectorUI'.
- Add dependency on 'Derived Sources' to WebInspectorUI.framework.
- Remove unused copies of jsmin.py and cssmin.py.
Source/WebKit2:
Rearrange CMake rules so that most Inspector UI work is done in WebInspectorUI.
- PlatformGTK.cmake:
- Move the list of Inspector resources into WebInspectorUI/CMakeLists.txt.
- Move generation of InspectorGResourceBundle into WebInspectorUI.
- Copy over InspectorGResourceBundle.c into WebKit2's Derived Sources before compiling.
- 5:38 PM Changeset in webkit [205414] by
-
- 5 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: Change Cmd-D from kill line to selecting next occurrence
https://bugs.webkit.org/show_bug.cgi?id=161514
Patch by Devin Rousso <Devin Rousso> on 2016-09-03
Reviewed by Brian Burg.
- UserInterface/Controllers/CodeMirrorTextKillController.js:
(WebInspector.CodeMirrorTextKillController):
(WebInspector.CodeMirrorTextKillController.prototype._handleTextChange):
Remove Cmd-D mapping.
- UserInterface/External/CodeMirror/sublime.js:
- UserInterface/Main.html:
Add Sublime Text keybinding support.
- UserInterface/Views/CodeMirrorAdditions.js:
Use Sublime text selectNextOccurrence for Cmd-D instead of deleteLine.
- 5:27 PM Changeset in webkit [205413] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Add keyboard shortcut for switching to last used dock configuration
https://bugs.webkit.org/show_bug.cgi?id=110328
Patch by Devin Rousso <Devin Rousso> on 2016-09-03
Reviewed by Brian Burg.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector.updateDockedState):
(WebInspector._togglePreviousDockConfiguration):
Added variable for saving the previous dock state, which is used by the new Cmd+Shift+D
shortcut to toggle the docked state between the current and previous states.
(WebInspector._undock):
(WebInspector._dockBottom):
(WebInspector._dockRight):
(WebInspector._updateDockNavigationItems):
(WebInspector._dockedResizerMouseDown):
(WebInspector._dockedResizerMouseDown.dockedResizerDrag):
Make use of new WebInspector.DockConfiguration instead of hardcoded strings.
(WebInspector.DockConfiguration):
Create enum for different WebInspector dock modes:
- Right
- Bottom
- Undocked
- 5:24 PM Changeset in webkit [205412] by
-
- 26 edits6 adds in trunk
Refactor the heuristic for showing media controls to take all media sessions into account
https://bugs.webkit.org/show_bug.cgi?id=161503
<rdar://problem/28033783>
Reviewed by Darin Adler.
Source/WebCore:
Currently, when selecting a media session to show playback controls for, we grab the first media session that
passes our heuristic. Using this method, we are unable to take additional factors into account, such as whether
another media session's element is scrolled in view, or if another media session has been interacted with more
recently. To address this, we make the following changes:
- Consider the list of all MediaElementSessions.
- Select only the MediaElementSessions capable of showing media controls and sort the list by a special
heuristic that takes visibility and time of last user interaction into account. The first element on
this list is the strongest candidate for main content.
- If this strongest candidate is visible in the viewport, or it is playing with audio, we return this
as the chosen candidate. Otherwise, we return this session only if no other non-candidate video could be
confused as the main content (i.e. the non-candidate video is not only visible in the viewport, but also
large enough to be considered main content).
Using this new method of determining the video to show controls for, we retain previous behavior for pages with
a single video. On pages with multiple videos, the above logic ensures that if the current controlled video is
paused, scrolled out of view, and then a new video is scrolled into view, we will either hide media controls to
avoid confusion if that video could be confused for main content (using the mechanism in step 3), or we
hook up the media controls to the new video if it satisfies main content (using the mechanism in step 2).
This patch also adds 6 new TestWebKitAPI unit tests.
- html/HTMLMediaElement.cpp:
(WebCore::mediaElementSessionInfoForSession):
(WebCore::preferMediaControlsForCandidateSessionOverOtherCandidateSession):
(WebCore::mediaSessionMayBeConfusedWithMainContent):
(WebCore::bestMediaSessionForShowingPlaybackControlsManager):
(WebCore::HTMLMediaElement::didAttachRenderers):
(WebCore::HTMLMediaElement::layoutSizeChanged):
(WebCore::HTMLMediaElement::isVisibleInViewportChanged):
(WebCore::HTMLMediaElement::resetPlaybackSessionState):
(WebCore::HTMLMediaElement::isVisibleInViewport):
(WebCore::HTMLMediaElement::updatePlaybackControlsManager):
- html/HTMLMediaElement.h:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::removeBehaviorRestriction):
(WebCore::MediaElementSession::canShowControlsManager):
(WebCore::MediaElementSession::isLargeEnoughForMainContent):
(WebCore::MediaElementSession::mostRecentUserInteractionTime):
(WebCore::MediaElementSession::wantsToObserveViewportVisibilityForMediaControls):
(WebCore::MediaElementSession::wantsToObserveViewportVisibilityForAutoplay):
(WebCore::MediaElementSession::resetPlaybackSessionState):
(WebCore::MediaElementSession::canControlControlsManager): Deleted.
- html/MediaElementSession.h:
- platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSession::resetPlaybackSessionState):
(WebCore::PlatformMediaSession::canControlControlsManager): Deleted.
- platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::currentSessionsMatching):
(WebCore::PlatformMediaSessionManager::currentSessionMatching): Deleted.
- platform/audio/PlatformMediaSessionManager.h:
- platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
(WebPlaybackSessionModelMediaElement::setMediaElement):
Source/WebKit2:
Adds an SPI testing hook for sending the element ID of the currently controlled video element from the web
process to the UI process. See VideoControlsManager.mm in Tools/TestWebKitAPI/ for usage.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _requestControlledElementID]):
(-[WKWebView _handleControlledElementIDResponse:]):
(-[WKWebView _hasActiveVideoForControlsManager]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in:
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
(WebKit::WebPlaybackSessionManagerProxy::handleControlledElementIDResponse):
(WebKit::WebPlaybackSessionManagerProxy::requestControlledElementID):
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestControlledElementID):
(WebKit::WebPageProxy::handleControlledElementIDResponse):
- UIProcess/WebPageProxy.h:
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::handleControlledElementIDResponse):
- WebProcess/cocoa/WebPlaybackSessionManager.h:
- WebProcess/cocoa/WebPlaybackSessionManager.messages.in:
- WebProcess/cocoa/WebPlaybackSessionManager.mm:
(WebKit::WebPlaybackSessionManager::handleControlledElementIDRequest):
Tools:
Adds new unit tests verifying the behavior of media playback controls when scrolling another video into view.
Please see the WebCore ChangeLog for more details about this change. Also refactors existing
VideoControlsManager tests by folding duplicated setup and testing logic into helper methods to make the unit
tests more readable.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(-[MessageHandler initWithMessage:handler:]):
(-[MessageHandler userContentController:didReceiveScriptMessage:]):
(-[VideoControlsManagerTestWebView performAfterLoading:]):
(-[VideoControlsManagerTestWebView loadTestPageNamed:]):
(-[VideoControlsManagerTestWebView loadTestPageNamed:andExpectControlsManager:afterReceivingMessage:]):
(-[VideoControlsManagerTestWebView performAfterReceivingMessage:action:]):
(-[VideoControlsManagerTestWebView controlledElementID]):
(-[VideoControlsManagerTestWebView _handleControlledElementIDResponse:]):
(TestWebKitAPI::setUpWebViewForTestingVideoControlsManager):
(TestWebKitAPI::TEST):
(-[MediaPlaybackMessageHandler initWithWKWebView:finalMessageString:]): Deleted.
(-[MediaPlaybackMessageHandler userContentController:didReceiveScriptMessage:]): Deleted.
(-[OnLoadMessageHandler initWithWKWebView:handler:]): Deleted.
(-[OnLoadMessageHandler userContentController:didReceiveScriptMessage:]): Deleted.
(-[WKWebView performAfterLoading:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-video-playing-scroll-away.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-click-to-pause.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-scroll-to-video.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-paused-video-hides-controls.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-muted-video-hides-controls.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-video-keeps-controls.html: Added.
- 4:34 PM Changeset in webkit [205411] by
-
- 33 edits2 adds in trunk/Source
Streamline DOMImplementation, and move it to our new DOM exception system
https://bugs.webkit.org/show_bug.cgi?id=161295
Reviewed by Ryosuke Niwa.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj: Added new headers to project.
- bindings/js/JSDOMBinding.h:
(WebCore::toJS): Added an overload for ExceptionOr<>; this handles the
exception case here so it doesn't need to be handled in generated code
for the binding. Implemented here so that ExceptionOr.h does not know
about bindings. But since this is a template, it will only compile when
instantiated and there is no need to include ExceptionOr.h and indirectly
the Variant.h header in this header.
(WebCore::toJSNewlyCreated): Ditto.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallbackImplementation): Refer to JSC::Exception with explicit
namespace to avoid ambiguity with WebCore::Exception.
- dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocumentType): Changed to return
ExceptionOr.
(WebCore::createXMLDocument): Added. Helper used in createDocument.
(WebCore::DOMImplementation::getInterface): Deleted. This was unused.
(WebCore::DOMImplementation::createDocument): Changed to return
ExceptionOr.
(WebCore::DOMImplementation::createCSSStyleSheet): Removed the unused
ExceptionCode out argument.
(WebCore::isValidXMLMIMETypeChar): Deleted. Moved to MIMETypeRegistry.
(WebCore::DOMImplementation::isXMLMIMEType): Ditto.
(WebCore::DOMImplementation::isTextMIMEType): Ditto.
- dom/DOMImplementation.h: Changed functions as described above to
return ExceptionOr values. Also removed unused getInterface function,
and isXMLMIMEType and isTextMIMEType, which both moved to the
MIMETypeRegistry class alongside all the other similar MIME type
functions.
- dom/DOMImplementation.idl: Reorganized this to match the IDL files
in the specifications a little better. Also removed [RaisesException]
since that is only needed for the old legacy ExceptionCode& style.
- dom/Document.cpp:
(WebCore::Document::setXMLVersion): Removed call to the
DOMImplementation::hasFeature function since the values passed in
unconditionally result in the return value "true". This is left over
either from specification language, or from an ancient version of this
code that worked in a "no XML supported" mode.
(WebCore::Document::setXMLStandalone): Ditto.
- dom/Document.h: Removed the ExceptionCode& out argument from setXMLStandalone.
- dom/Document.idl: Removed [SetterRaisesException] from xmlStandalone.
- dom/Exception.h: Added.
- dom/ExceptionOr.h: Added.
- html/HTMLTemplateElement.cpp: Removed unneeded include of DOMImplementation.h.
- inspector/InspectorPageAgent.cpp:
(WebCore::createXHRTextDecoder): Use isXMLMIMEType in its new location in
MIMETypeRegistry.
- inspector/NetworkResourcesData.cpp:
(WebCore::createOtherResourceTextDecoder): Ditto.
- loader/FrameLoader.cpp: Removed unneeded include of DOMImplementation.h.
- loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::determineContentType): Use isXMLMIMEType in its
new location in MIMETypeRegistry.
- platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::isTextMIMEType): Added. Moved here from
DOMImplementation.
(WebCore::isValidXMLMIMETypeChar): Ditto.
(WebCore::MIMETypeRegistry::isXMLMIMEType): Ditto.
- platform/MIMETypeRegistry.h: Added isXMLMIMEType and isTextMIMEType.
Made isUnsupportedTextMIMEType private.
- svg/SVGElement.cpp:
(WebCore::SVGElement::isSupported): Deleted. This function was never called.
- svg/SVGElement.h: Updated for the above change.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseIsXML): Use isXMLMIMEType in its new
location in MIMETypeRegistry.
- xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::startDocument): Updated since setXMLStandalone
no longer can raise an exception.
Source/WebKit/mac:
- DOM/DOMDOMImplementation.mm:
(unwrap): Added. Use this instead of the IMPL macro.
(-[DOMImplementation dealloc]): Updated to use unwrap.
(-[DOMImplementation hasFeature:version:]): Ditto.
(-[DOMImplementation createDocumentType:publicId:systemId:]): Updated to work with
ExceptionOr.
(-[DOMImplementation createDocument:qualifiedName:doctype:]): Ditto.
(-[DOMImplementation createCSSStyleSheet:media:]): Removed exception logic since
this function can no longer raise an exception.
(-[DOMImplementation createHTMLDocument:]): Updated to use unwrap.
(-[DOMImplementation hasFeature::]): Changed to call the non-deprecated version
rather than duplicating its implementation. Also moved into the category as defined
in the header.
(-[DOMImplementation createDocumentType:::]): Ditto.
(-[DOMImplementation createDocument:::]): Ditto.
(-[DOMImplementation createCSSStyleSheet::]): Ditto.
- DOM/DOMDocument.mm: Removed unneeded include of DOMImplementation.h.
(-[DOMDocument setXmlStandalone:]): Updated since setXMLStandalone no longer can
raise an exception.
- WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]): Updated to use isTextMIMEType in its new
location in MIMETypeRegistry instead of in DOMImplementation.
Source/WebKit/win:
- WebFrame.cpp:
(WebFrame::canProvideDocumentSource): Updated to use isXMLMIMEType in its new
location in MIMETypeRegistry instead of in DOMImplementation.
Source/WebKit2:
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::isDisplayingMarkupDocument): Use isXMLMIMEType in its
new location in MIMETypeRegistry rather than in DOMImplementation.
(WebKit::WebFrameProxy::isDisplayingPDFDocument): Removed unneeded redundant
check for empty string, already done by MIMETypeRegistry.
- 4:25 PM Changeset in webkit [205410] by
-
- 7 edits in trunk
Unbreak customElements.whenDefined after r205383 with a crash fix
https://bugs.webkit.org/show_bug.cgi?id=161562
Reviewed by Darin Adler.
Source/WebCore:
The crash was caused by DeferredWrapper::contextDestroyed not calling ContextDestructionObserver::contextDestroyed.
This caused m_scriptExecutionContext to not being set to nullptr when the Document was destroyed before DOMWindow
during a single GC sweeping, and resulted in a use-after-free in ContextDestructionObserver's destructor.
Fixed the crash and reverted r205383.
Tests: fast/custom-elements/CustomElementRegistry.html
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::whenDefinedPromise):
- bindings/js/JSDOMPromise.cpp:
(WebCore::DeferredWrapper::contextDestroyed): Fixed the crash.
- dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::addElementDefinition):
- dom/CustomElementRegistry.h:
(WebCore::CustomElementRegistry::promiseMap):
LayoutTests:
Revert r205383 now that all test cases pass.
- fast/custom-elements/CustomElementRegistry-expected.txt:
- 3:50 PM Changeset in webkit [205409] by
-
- 6 edits in trunk
Align cross-Origin Object.getOwnPropertyNames() with the HTML specification
https://bugs.webkit.org/show_bug.cgi?id=161457
Reviewed by Darin Adler.
Source/WebCore:
Align cross-Origin Object.getOwnPropertyNames() with the HTML specification:
- https://html.spec.whatwg.org/#windowproxy-ownpropertykeys
- https://html.spec.whatwg.org/#location-ownpropertykeys
- https://html.spec.whatwg.org/#crossoriginproperties-(-o-)
We should list cross origin properties.
Firefox complies with the specification. However, WebKit was returning an
empty array and logs a security error message.
No new tests, updated existing test.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::addCrossOriginPropertyNames):
(WebCore::JSDOMWindow::getOwnPropertyNames):
- bindings/js/JSLocationCustom.cpp:
(WebCore::addCrossOriginPropertyNames):
(WebCore::JSLocation::getOwnPropertyNames):
LayoutTests:
Add test coverage.
- http/tests/security/cross-frame-access-enumeration-expected.txt:
- http/tests/security/cross-frame-access-enumeration.html:
- 2:32 PM Changeset in webkit [205408] by
-
- 5 edits in trunk/Source/WebCore
Constructors of MathML renderers should only accept MathMLPresentationElement-derived classes
https://bugs.webkit.org/show_bug.cgi?id=161378
Patch by Frédéric Wang <fwang@igalia.com> on 2016-09-03
Reviewed by Darin Adler.
We update constructors of RenderMathMLBlock, to only accept MathMLPresentationElement
instances as a parameter. Similarly, we make the constructor of RenderMathMLToken only
accept MathMLTokenElement instances.
No new tests, behavior is unchanged.
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
- rendering/mathml/RenderMathMLBlock.h:
- rendering/mathml/RenderMathMLToken.cpp:
(WebCore::RenderMathMLToken::RenderMathMLToken):
- rendering/mathml/RenderMathMLToken.h:
- 12:58 PM Changeset in webkit [205407] by
-
- 12 edits in trunk/Source
Source/WebCore:
Consult with the FrameLoaderClient about whether or not content extensions should be enabled when loading this URL.
https://bugs.webkit.org/show_bug.cgi?id=161441
Reviewed by Darin Adler.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource): If content extensions aren't already disabled, consult with the
FrameLoaderClient about whether or not we should use content extensions for this URL.
- loader/FrameLoaderClient.h: Add the FrameLoaderClient call to determine if we should use content extensions for a given
URL...
- loader/EmptyClients.h: ... And add a stub implementation.
Source/WebKit/mac:
Implement a stub version of FrameLoaderClient::shouldUseContentExtensionsForURL.
https://bugs.webkit.org/show_bug.cgi?id=16144
Reviewed by Darin Adler.
- WebCoreSupport/WebFrameLoaderClient.h:
Source/WebKit2:
Implement WebFrameLoaderClient::shouldUseContentExtensionsForURL and consult the InjectedBundlePageLoaderClient.
https://bugs.webkit.org/show_bug.cgi?id=161441
Reviewed by Darin Adler.
WebFrameLoaderClient::shouldUseContentExtensionsForURL only consults the injected bundle, because we don't want to
defer the loading of every main resource to consult with the UI Process about whether or not we should use content
extensions for the load.
- WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Bump the latest version to WKBundlePageLoaderClientV9 and
add WKBundlePageShouldUseContentExtensionsForURLCallback.
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::shouldUseContentExtensionsForURL): Ask the client if we should use content
extensions for this URL.
- WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::shouldUseContentExtensionsForURL): Only consult with the injected bundle about whether
or not we should use content extensions for this URL.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- 8:21 AM Changeset in webkit [205406] by
-
- 2 edits in trunk/Source/WebCore
Silence -Wparentheses warning triggered by r205266
Unreviewed
- platform/URL.cpp:
(WebCore::URL::URL):
- 7:52 AM Changeset in webkit [205405] by
-
- 12 edits in trunk/Source
Use ASCIILiteral in some more places
https://bugs.webkit.org/show_bug.cgi?id=161557
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-03
Reviewed by Darin Adler.
Source/JavaScriptCore:
- runtime/TypeSet.h:
(JSC::StructureShape::setConstructorName):
Source/WebCore:
- Modules/indexeddb/IDBDatabaseException.cpp:
(WebCore::IDBDatabaseException::getErrorName):
(WebCore::IDBDatabaseException::getErrorDescription):
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::binaryType):
- css/FontFace.cpp:
(WebCore::FontFace::stretch):
(WebCore::FontFace::unicodeRange):
(WebCore::FontFace::featureSettings):
- html/canvas/WebGLRenderingContextBase.cpp:
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::initiatorFor):
- loader/FormSubmission.cpp:
(WebCore::FormSubmission::Attributes::parseEncodingType):
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::toRawString):
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::CGImageToDataURL):
(WebCore::ImageBuffer::toDataURL):
(WebCore::ImageDataToDataURL):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::filenameExtension):
- 7:44 AM Changeset in webkit [205404] by
-
- 5 edits in trunk
Object.preventExtensions(window) should throw a TypeError
https://bugs.webkit.org/show_bug.cgi?id=161554
Reviewed by Darin Adler.
Source/WebCore:
Object.preventExtensions(window) should throw a TypeError.
PreventExtensions should return false for Window:
EcmaScript says that Object.preventExtensions() should throw a TypeError
if PreventExtension returns false:
No new tests, updated existing test.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::preventExtensions):
LayoutTests:
- http/tests/security/preventExtensions-window-location-expected.txt:
- http/tests/security/preventExtensions-window-location.html:
- 7:42 AM Changeset in webkit [205403] by
-
- 8 edits in trunk/Source/WebKit2
Web Inspector: Move WebKit2 WebInspector files to #pragma once
https://bugs.webkit.org/show_bug.cgi?id=161550
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-03
Reviewed by Darin Adler.
- UIProcess/InspectorServer/WebInspectorServer.h:
- UIProcess/WebInspectorProxy.h:
- UIProcess/gtk/WebInspectorClientGtk.h:
- WebProcess/WebCoreSupport/WebInspectorClient.h:
- WebProcess/WebPage/WebInspector.h:
- WebProcess/WebPage/WebInspectorFrontendAPIDispatcher.h:
- WebProcess/WebPage/WebInspectorUI.h:
- 7:40 AM Changeset in webkit [205402] by
-
- 7 edits in trunk
Web Inspector: Address ESLint undefined variable errors
https://bugs.webkit.org/show_bug.cgi?id=161563
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-03
Reviewed by Darin Adler.
Source/WebInspectorUI:
- UserInterface/Controllers/CSSStyleManager.js:
(WebInspector.CSSStyleManager.protocolMediaSourceToEnum):
- UserInterface/Models/IssueMessage.js:
(WebInspector.IssueMessage):
- UserInterface/Protocol/InspectorBackend.js:
LayoutTests:
- inspector/protocol/inspector-backend-invocation-return-value-expected.txt:
- inspector/protocol/inspector-backend-invocation-return-value.html:
- 7:38 AM Changeset in webkit [205401] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Address ESLint undefined variable errors in UserInterface/Views
https://bugs.webkit.org/show_bug.cgi?id=161565
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-03
Reviewed by Darin Adler.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.columnWidthsMap):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
- UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView.prototype._togglePrettyPrint):
- 7:09 AM Changeset in webkit [205400] by
-
- 10 edits15 adds in trunk
Align meta element http-equiv="refresh" parsing with the HTML specification
https://bugs.webkit.org/show_bug.cgi?id=161543
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Import corresponding test from W3C.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing-expected.txt: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/;url=foo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/dir.headers: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/foo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/foo'bar: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/refresh.sub.html: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/ufoo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/urfoo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/url foo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/urlfoo: Added.
- web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/support/x;url=foo: Added.
Source/WebCore:
Align meta element http-equiv="refresh" parsing with the HTML specification:
Tests: imported/w3c/web-platform-tests/html/semantics/document-metadata/the-meta-element/pragma-directives/attr-meta-http-equiv-refresh/parsing.html
- dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
- html/parser/HTMLParserIdioms.cpp:
(WebCore::parseHTTPRefreshInternal):
(WebCore::parseMetaHTTPEquivRefresh):
- html/parser/HTMLParserIdioms.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData):
- platform/network/HTTPParsers.cpp:
(WebCore::skipWhiteSpace):
(WebCore::skipEquals):
(WebCore::parseHTTPRefresh):
(WebCore::parseXSSProtectionHeader):
(WebCore::skipValue): Deleted.
- platform/network/HTTPParsers.h:
LayoutTests:
Update layout test to only use HTML spaces in http-equiv="refresh"
content value.
- http/tests/misc/refresh-meta-with-newline.html:
- 2:44 AM Changeset in webkit [205399] by
-
- 6 edits1 add in trunk
run-webkit-tests should detect w3c test resource files
https://bugs.webkit.org/show_bug.cgi?id=161307
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-03
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
- resources/resource-files.json: Added.
Tools:
- Scripts/webkitpy/port/base.py:
(Port.init): Adding self._w3c_resource_files to store the list of resource files.
(Port.potential_test_names_from_expected_file):
(Port._real_tests):
(Port.is_w3c_resource_file): Computing whether a file is a resource file based on imported/w3c/resources/resource-files.json.
(Port._is_test_file): Updated to call Port.is_w3c_resource_file. _is_test_file is no longer static.
(Port): Deleted.
- Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_additional_platform_directory):
(PortTest.test_find_no_paths_specified):
(PortTest.test_is_test_file): Updated to use non-static version of _is_test_file.
(PortTest.test_is_w3c_resource_file): Adding tests.
LayoutTests:
- TestExpectations: Removing resource files skip expectations.
- 12:40 AM Changeset in webkit [205398] by
-
- 7 edits6 deletes in trunk/LayoutTests
[Cocoa] Distinguish between paint advances and base advances
https://bugs.webkit.org/show_bug.cgi?id=160892
Unreviewed.
Update test results.
- platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.png: Removed.
- platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.txt: Removed.
- platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.png: Removed.
- platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.txt: Removed.
- platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.png: Removed.
- platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt: Removed.
- platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png:
- platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
- platform/mac/css2.1/t1508-c527-font-00-b-expected.png:
- platform/mac/css2.1/t1508-c527-font-00-b-expected.txt:
- platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png:
- platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt:
Sep 2, 2016:
- 11:04 PM Changeset in webkit [205397] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] -Wmissing-field-initializers on WaylandCompositor.cpp:295
https://bugs.webkit.org/show_bug.cgi?id=161524
Reviewed by Carlos Garcia Campos.
- UIProcess/gtk/WaylandCompositor.cpp:
- 10:52 PM Changeset in webkit [205396] by
-
- 13 edits5 copies4 adds in trunk
[Cocoa] Distinguish between paint advances and base advances
https://bugs.webkit.org/show_bug.cgi?id=160892
Reviewed by Simon Fraser.
Source/WebCore:
This patch introduces the concept of a layout (or "base") advance which is distinct
from a painting advance. In extremely complicated scripts such as Urdu, it is common
for a glyph advance to be negative in the horizontal direction, and have large advances
in the vertical direction. In particular, in cursive scripts, the glyph placement is
only indirectly related to where the actual characters lie. Conceptually, these glyph
locations are correct for painting, but are not correct when performing width
measurements.
In many text engines, glyph shaping actually can be split into two phases: adjusting
advances, and then placing glyphs relative to those advances. The secondary glyph
placement step is much more context-sensitive than the first step. In addition, when
multiple glyphs combine to form a character, it is common for one glyph to own the
full base advance for the character, and for the other glyphs in the character to
have zero base advances. (Then, in the glyph placement phase, the other glyphs get
placed all around.)
Because of the context-insensitivity of the base advances, it is valuable to use
these for text measurement. Then, when we want to paint, we should add in the extra
origins. This dramatically improves the layout of complex fonts like Noto Nastaliq.
This patch migrates WebKit to use this two-phase shaping.
No new tests just yet, because I have to create a font which exercises the
advanced glyph placement support.
- platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBufferAdvance::setHeight):
(WebCore::GlyphBufferAdvance::setWidth): Deleted.
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::shouldDisableLayoutSpecificAdvances):
(WebCore::TextRun::setShouldDisableLayoutSpecificAdvances):
(WebCore::TextRun::spacingDisabled): Deleted.
(WebCore::TextRun::setCharacterScanForCodePath): Deleted.
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::ComplexTextController):
(WebCore::ComplexTextController::offsetForPosition):
(WebCore::ComplexTextController::collectComplexTextRuns):
(WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
(WebCore::ComplexTextController::runWidthSoFarFraction):
(WebCore::ComplexTextController::advance):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
- platform/graphics/mac/ComplexTextController.h:
(WebCore::ComplexTextController::ComplexTextRun::create):
(WebCore::ComplexTextController::ComplexTextRun::baseAdvances):
(WebCore::ComplexTextController::ComplexTextRun::glyphOrigins):
(WebCore::ComplexTextController::useLayoutSpecificAdvances):
(WebCore::ComplexTextController::finalRoundingWidth): Deleted.
(WebCore::ComplexTextController::ComplexTextRun::advances): Deleted.
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(SOFT_LINK):
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
- platform/spi/cocoa/CoreTextSPI.h:
LayoutTests:
Update tests. There are some expected (small) changes in metrics due to this patch.
- platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.png: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png.
- platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.txt: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt.
- platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.png: Copied from LayoutTests/platform/mac/css2.1/t1508-c527-font-00-b-expected.png.
- platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.txt: Added.
- platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.png: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png.
- platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt.
- platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png:
- platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
- platform/mac/css2.1/t1508-c527-font-00-b-expected.png:
- platform/mac/css2.1/t1508-c527-font-00-b-expected.txt: Added.
- platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png:
- platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt:
- 10:45 PM Changeset in webkit [205395] by
-
- 8 edits in trunk/Source/WebKit2
[Threaded Compositor] Move the viewport controller off the compositing thread
https://bugs.webkit.org/show_bug.cgi?id=161532
Reviewed by Michael Catanzaro.
While working on bug #161242 I've realized that having the view port controller in the compositing thread makes
everything more complex. The viewport controller receives changes about things like contents size, viewport
size, etc. and uses that information to compute the visible contents rect and page scale factor. Then it
notifies back to main thread about the computed visible contents rect and page scale. Those computations are not
heave at all, so they could be done in the main thread and we would avoid communications between the main and
compositing thread in both directions. The main thread needs the visible contents rect to notify the compositing
coordinator and the page cale to scale the page in case of pixed layout. But the compositing thread only needs
to know the effective scale and scroll position. So, instead of going to the compositing thread after every
change that might update the visible contents rect and page scale factor, we could do those calculations in the
main thread and only notify the compositing thread about the actual changes in the scroll position and effective scale.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::createTilesIfNeeded): Return early if backingStore is nullptr, which can
happen if the layer shouldn't have a backing store and was removed by the previous call to prepareContentBackingStore().
(WebKit::CoordinatedGraphicsScene::updateTilesIfNeeded): Ditto.
- Shared/CoordinatedGraphics/SimpleViewportController.cpp:
(WebKit::SimpleViewportController::SimpleViewportController): Remove the client since we no longer need to
notify about changes.
(WebKit::SimpleViewportController::didChangeViewportSize): Remove call to syncVisibleContents().
(WebKit::SimpleViewportController::didChangeContentsSize): Ditto.
(WebKit::SimpleViewportController::didChangeViewportAttributes): Ditto.
(WebKit::SimpleViewportController::didScroll): Removed unused scrollBy methods and renamed scrollTo as
didiScroll for consistency. Save the position without calling boundContentsPosition, because that's already
donde when the position is used to compute the contents visible rectangle.
(WebKit::SimpleViewportController::visibleContentsRect): No need to notify about the changes.
(WebKit::SimpleViewportController::visibleContentsSize): Deleted.
- Shared/CoordinatedGraphics/SimpleViewportController.h:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::create): Pass a reference to the client instead of a pointer. It's no longer
possible to have a valid pointer when the object has been destroyed, so we can better use a reference now.
(WebKit::ThreadedCompositor::ThreadedCompositor): Ditto.
(WebKit::ThreadedCompositor::~ThreadedCompositor): Remove assert.
(WebKit::ThreadedCompositor::invalidate): No need to invalidate the client.
(WebKit::ThreadedCompositor::setScaleFactor): Set the effective scale factor that should be used for rendering.
(WebKit::ThreadedCompositor::setScrollPosition): Set the current scroll position and effective scale factor.
(WebKit::ThreadedCompositor::setViewportSize): Set the viewport size and effective scale factor.
(WebKit::ThreadedCompositor::renderNextFrame): Update m_client use that is no longer a pointer.
(WebKit::ThreadedCompositor::commitScrollOffset): Ditto.
(WebKit::ThreadedCompositor::renderLayerTree): Call glViewport after a resize and use m_viewportSize,
m_scrollPosition and m_scaleFactor members.
(WebKit::ThreadedCompositor::didChangeVisibleRect): Deleted.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): Pass the compositor client as a
reference to ThreadedCompositor constructor.
(WebKit::ThreadedCoordinatedLayerTreeHost::scrollNonCompositedContents): Update the viewport and call didChangeViewport().
(WebKit::ThreadedCoordinatedLayerTreeHost::contentsSizeChanged): Ditto.
(WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged): Pass the effective scale factor to
the compositor.
(WebKit::ThreadedCoordinatedLayerTreeHost::sizeDidChange): Update the viewport, the compositor and call didChangeViewport().
(WebKit::ThreadedCoordinatedLayerTreeHost::didChangeViewportProperties): Update the viewport and call didChangeViewport().
(WebKit::ThreadedCoordinatedLayerTreeHost::didChangeViewport): Notify the compositing coordinator about the new
visible contents rectangle, and update the threaded compositor if needed.
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
- 10:24 PM Changeset in webkit [205394] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix archive-built-product step in GTK+ bots after r205280.
- BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct): Do not copy to the archive the files needed to run GObject DOM bindings API breaks tests
that no longer exist.
- 7:11 PM Changeset in webkit [205393] by
-
- 2 edits in trunk/Source/WebKit/win
Build fix attempt after r205381.
- WebCoreSupport/WebEditorClient.h:
- 5:53 PM Changeset in webkit [205392] by
-
- 3 edits2 adds in trunk
Should never be reached failure in WebCore::floatValueForLength
https://bugs.webkit.org/show_bug.cgi?id=139397
<rdar://problem/27704376>
Reviewed by Simon Fraser.
Source/WebCore:
floatValueForLength can't resolve unspecified Length types. Filter them out and return 0 as if they were auto.
Test: svg/css/assert-on-non-resolvable-dimension.html
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::valueForLength):
LayoutTests:
- svg/css/assert-on-non-resolvable-dimension-expected.txt: Added.
- svg/css/assert-on-non-resolvable-dimension.html: Added.
- 5:34 PM Changeset in webkit [205391] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Remove unnecessary RetainPtr in NeverDestroyed value
https://bugs.webkit.org/show_bug.cgi?id=161553
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-02
Reviewed by Daniel Bates.
- platform/ios/WebCoreMotionManager.mm:
(+[WebCoreMotionManager sharedManager]):
- 5:32 PM Changeset in webkit [205390] by
-
- 5 edits in trunk
URLParser should parse file URLs
https://bugs.webkit.org/show_bug.cgi?id=161556
Reviewed by Tim Horton.
Source/WebCore:
Added new API tests.
- platform/URLParser.cpp:
(WebCore::isWindowsDriveLetter):
(WebCore::shouldCopyFileURL):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseHost):
- platform/URLParser.h:
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::checkURLDifferences):
- 5:22 PM Changeset in webkit [205389] by
-
- 2 edits in trunk/JSTests
Unreviewed fix after importing Chakra test
- ChakraCore.yaml: Skipped ChakraCore/test/UnifiedRegex/crazy.js because the original
test contained tab characters. I removed the tabs before landing. This test depended
on the tab characters and now fails after they were removed.
test.
- 5:21 PM Changeset in webkit [205388] by
-
- 2 edits1 copy2 adds in trunk/LayoutTests
Rebaseline editing/secure-input/removed-password-input.html after r205381.
Unreviewed test gardening.
- editing/secure-input/removed-password-input-expected.txt:
- platform/wk2/editing/secure-input/removed-password-input-expected.txt: Copied from LayoutTests/editing/secure-input/removed-password-input-expected.txt.
- 5:12 PM Changeset in webkit [205387] by
-
- 5 edits3955 adds in trunk
Import Chakra tests to JSC
https://bugs.webkit.org/show_bug.cgi?id=154697
Reviewed by Saam Barati.
Added Chakra tests. All these tests are under Chakra/test. This is the same layout
for tests in the Chakra tree.
Created a ChakraCore.yaml file to be used with run-jsc-stress-tests. This file contains
the tests that are run when the original Chakra runtests.py script is run. That script
is the test driver for *nix platforms and does not attempt to run all tests or all
variations of tests. The runtest.py driver consults rlexe.xml files in each test
subdirectory to determine the test to run, the options to pass to the test and how to
determine pass/fail of the test. With runtests.py as the start, tests that didn't
pass directly where either skipped, with a message describing why or through
adjustments to the test infrastructure, as described below, where made to pass.
The only modification to the test infrastrucutre are:
1) Added simple mapping of Chakra expected exception text to JSC expected text in
test/UnitTestFramework/UnitTestFramework.js. It would make sense to also
map some JSC specific exception text to more generic text for the cases where
that text contains indetifier names or other source specific strings and the
Chakra equivolent exception texts are generic.
2) Created JSC specific expected text files where it is clear that the text work
as expected on JSC but the test output is different. Typically the differences
fall into three categories, different exception output, different output from
toString() of a function, slight numeric differences, and test that rely on
iteration order.
3) Stripped the CR's from the CR-LF line terminations of the files.
No actual test .js files were modified.
- 5:09 PM Changeset in webkit [205386] by
-
- 7 edits in trunk
Add validations for a synchronously constructed custom element
https://bugs.webkit.org/show_bug.cgi?id=161528
Reviewed by Yusuke Suzuki.
Source/WebCore:
The latest DOM specification has sanity checks when creating an element with the synchronous custom elements flag set
in 6.1.3 through 10:
- If result does not implement the HTMLElement interface, throw a TypeError.
- If result's attribute list is not empty, then throw a NotSupportedError.
- If result has children, then throw a NotSupportedError.
- If result's parent is not null, then throw a NotSupportedError.
- If result's node document is not document, then throw a NotSupportedError.
- If result's namespace is not the HTML namespace, then throw a NotSupportedError.
- If result's local name is not equal to localName, then throw a NotSupportedError.
Add all these checks to JSCustomElementInterface::constructElement.
Tests: fast/custom-elements/Document-createElement.html
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::constructElement): Report the exception thrown during parsing instead of just
clearing and ignoring it.
(WebCore::constructCustomElementSynchronously): Extracted out of constructElement so that we can also catch TypeError
and NotSupportedError we throw in constructElement for the parser.
LayoutTests:
Added test cases for sanity checks in step 6.1. of https://dom.spec.whatwg.org/#concept-create-element
and updated other test cases per those changes.
- fast/custom-elements/Document-createElement-expected.txt:
- fast/custom-elements/Document-createElement.html:
- fast/custom-elements/defined-pseudo-class-expected.txt: Rebaselined now that exceptions thrown while constructing
a custom element is reported in the console.
- fast/custom-elements/parser/parser-fallsback-to-unknown-element-expected.txt: Ditto.
- 5:04 PM Changeset in webkit [205385] by
-
- 2 edits in trunk/LayoutTests
Marking two editing/mac/spelling tests as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161411
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 4:35 PM Changeset in webkit [205384] by
-
- 3 edits2 adds in trunk
ASSERT_NOT_REACHED() is touched in WebCore::valueForLength
https://bugs.webkit.org/show_bug.cgi?id=123337
<rdar://problem/27684121>
Reviewed by Simon Fraser.
Source/WebCore:
Do not try to use unspecified height value while resolving logical height for table row.
Test: fast/table/assert-on-non-resolvable-row-dimension.html
- rendering/RenderTableCell.h:
(WebCore::RenderTableCell::logicalHeightForRowSizing):
LayoutTests:
- fast/table/assert-on-non-resolvable-row-dimension-expected.txt: Added.
- fast/table/assert-on-non-resolvable-row-dimension.html: Added.
- 4:25 PM Changeset in webkit [205383] by
-
- 6 edits in trunk
Temporarily break customElements.whenDefined to remove flaky crashes
https://bugs.webkit.org/show_bug.cgi?id=161555
Reviewed by Chris Dumez.
Source/WebCore:
Remove HashMap of DeferredWrapper which causes a crash during destruction.
This breaks the semantics of "whenDefined" for now.
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::whenDefinedPromise):
- dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::addElementDefinition):
- dom/CustomElementRegistry.h:
(WebCore::CustomElementRegistry::promiseMap): Deleted.
LayoutTests:
Rebaseline the test now that some test cases are failing due to the partial rollout.
- fast/custom-elements/CustomElementRegistry-expected.txt:
- 4:18 PM Changeset in webkit [205382] by
-
- 13 edits3 deletes in trunk
Unreviewed, rolling out r205373.
This change causes LayoutTest crashes under GuardMalloc
Reverted changeset:
"[Cocoa] Distinguish between paint advances and base advances"
https://bugs.webkit.org/show_bug.cgi?id=160892
http://trac.webkit.org/changeset/205373
- 4:14 PM Changeset in webkit [205381] by
-
- 14 edits in trunk
Need to updateEditorState if an element change edit-ability without changing
selection
https://bugs.webkit.org/show_bug.cgi?id=161546
-and corresponding-
rdar://problem/27806012
Reviewed by Ryosuke Niwa.
Source/WebCore:
Call into the client in case edited state needs to be updated.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::updateAppearanceAfterLayout):
- loader/EmptyClients.h:
- page/EditorClient.h:
Source/WebKit/mac:
Every time WebEditorClient::respondToChangedSelection is called, we now save
whether the last state was contentEditable. That way in
updateEditorStateAfterLayoutIfNeeded() we can assess whether or not edit-ability
has changed.
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::respondToChangedSelection):
(WebEditorClient:: updateEditorStateAfterLayoutIfEditabilityChanged):
Source/WebKit2:
Every time WebPage::editorState() is called, we now save whether the last state
was contentEditable. That way in updateEditorStateAfterLayoutIfNeeded() we can
assess whether or not edit-ability has changed.
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient:: updateEditorStateAfterLayoutIfEditabilityChanged):
- WebProcess/WebCoreSupport/WebEditorClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):
(WebKit::WebPage:: updateEditorStateAfterLayoutIfEditabilityChanged):
(WebKit::WebPage::didStartPageTransition):
- WebProcess/WebPage/WebPage.h:
LayoutTests:
This patch seems to have fixed a bug!
- editing/secure-input/removed-password-input-expected.txt:
- 4:13 PM Changeset in webkit [205380] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Remove some more useless cases from FTL Capabilities
https://bugs.webkit.org/show_bug.cgi?id=161466
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-02
Reviewed by Geoffrey Garen.
Some cases do not make sense:
-In: Fixup only generate CellUse.
-PutByIdXXX: same.
-GetIndexedPropertyStorage: those cases are the only ones supported
by DFG. We would have crashed in SpeculativeJIT if other modes
were generated.
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compilePutById):
(JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
- 3:52 PM Changeset in webkit [205379] by
-
- 14 edits in trunk
WebKitTestRunner needs layoutTestController.setDashboardCompatibilityMode
https://bugs.webkit.org/show_bug.cgi?id=42547
Source/WebKit2:
Reviewed by Darin Adler.
Added access to setUseDashBoardCompatibilityMode for WebKit2.
Note: this bug mistakenly called this function setDashboardCompatibilityMode, it is actually setUseDashboardCompatibilityMode.
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetUseDashboardCompatibilityMode): Added dashboard compatiblity mode setter.
- WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Ditto.
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setUseDashboardCompatibilityMode): Ditto.
- WebProcess/InjectedBundle/InjectedBundle.h: Ditto.
Tools:
Reviewed by Darin Adler.
Added JavaScript bindings and C++ implementation of setUseDashboardCompatibilityMode for the WebKit2 sTestRunner.
Note: this bug mistakenly called this function setDashboardCompatibilityMode, it is actually setUseDashboardCompatibilityMode.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Added dashboard compatiblity mode setter.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting): Reset dashboard compatibility mode.
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setJavaScriptCanAccessClipboard): Code style changes.
(WTR::TestRunner::setPrivateBrowsingEnabled): Code style changes.
(WTR::TestRunner::setUseDashboardCompatibilityMode): Added dashboard compatiblity mode setter.
(WTR::TestRunner::setPopupBlockingEnabled): Code style changes.
(WTR::TestRunner::setAuthorAndUserStylesEnabled): Code style changes.
(WTR::TestRunner::addOriginAccessWhitelistEntry): Code style changes.
- WebKitTestRunner/InjectedBundle/TestRunner.h: Added dashboard compatiblity mode setter.
LayoutTests:
Reviewed by Darin Adler.
The addition of setUseDashboardCompatibilityMode to the WebKit2 TestRunner means the set of tests removed from the expected failures list now pass.
Note: this bug mistakenly called this function setDashboardCompatibilityMode, it is actually setUseDashboardCompatibilityMode.
- platform/ios-simulator-wk2/TestExpectations: Changed reason test was excluded.
- platform/wk2/TestExpectations: Remove tests which use setUseDashboardCompatibilityMode from expected failures.
- 3:44 PM Changeset in webkit [205378] by
-
- 4 edits in trunk/Source
[Mac] RetainPtr misuse, AnimationController leaks
https://bugs.webkit.org/show_bug.cgi?id=161552
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-02
Reviewed by Tim Horton.
Source/WebKit/mac:
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]):
Source/WebKit2:
- UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _defaultAnimationController]):
- 3:42 PM Changeset in webkit [205377] by
-
- 2 edits in trunk/Source/WebKit2
[Mac] RetainPtr misuse, DDActionContext leaks
https://bugs.webkit.org/show_bug.cgi?id=161551
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-02
Reviewed by Tim Horton.
- Platform/mac/MenuUtilities.mm:
(WebKit::menuItemForTelephoneNumber):
(WebKit::menuForTelephoneNumber):
- 3:29 PM Changeset in webkit [205376] by
-
- 2 edits in trunk/LayoutTests
Marking editing/pasteboard/5478250.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161366
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 2:52 PM Changeset in webkit [205375] by
-
- 2 edits in trunk/Source/WebKit2
Fix Mac CMake build, missing _WKRemoteWebInspectorViewController.mm
Unreviewed build fix.
- PlatformMac.cmake:
- 2:50 PM Changeset in webkit [205374] by
-
- 5 edits2 adds in trunk
ASSERTION FAILED: !m_committedWidth in WebCore::LineWidth::fitBelowFloats
https://bugs.webkit.org/show_bug.cgi?id=149462
<rdar://problem/27710841>
Reviewed by David Hyatt.
Source/WebCore:
In certain cases (multiple spans on the same line with negativ marings), the LineWidth::m_committedWidth > 0
check is not sufficient to decide if some content has already been committed to the current line.
This patch adds a flag to indicate if we ever committed to the current line.
Test: fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit.html
- rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):
- rendering/line/LineWidth.h:
(WebCore::LineWidth::hasCommitted):
LayoutTests:
- fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit-expected.txt: Added.
- fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit.html: Added.
- 2:43 PM Changeset in webkit [205373] by
-
- 13 edits5 copies4 adds in trunk
[Cocoa] Distinguish between paint advances and base advances
https://bugs.webkit.org/show_bug.cgi?id=160892
Reviewed by Simon Fraser.
Source/WebCore:
This patch introduces the concept of a layout (or "base") advance which is distinct
from a painting advance. In extremely complicated scripts such as Urdu, it is common
for a glyph advance to be negative in the horizontal direction, and have large advances
in the vertical direction. In particular, in cursive scripts, the glyph placement is
only indirectly related to where the actual characters lie. Conceptually, these glyph
locations are correct for painting, but are not correct when performing width
measurements.
In many text engines, glyph shaping actually can be split into two phases: adjusting
advances, and then placing glyphs relative to those advances. The secondary glyph
placement step is much more context-sensitive than the first step. In addition, when
multiple glyphs combine to form a character, it is common for one glyph to own the
full base advance for the character, and for the other glyphs in the character to
have zero base advances. (Then, in the glyph placement phase, the other glyphs get
placed all around.)
Because of the context-insensitivity of the base advances, it is valuable to use
these for text measurement. Then, when we want to paint, we should add in the extra
origins. This dramatically improves the layout of complex fonts like Noto Nastaliq.
This patch migrates WebKit to use this two-phase shaping.
No new tests just yet, because I have to create a font which exercises the
advanced glyph placement support.
- platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBufferAdvance::setHeight):
(WebCore::GlyphBufferAdvance::setWidth): Deleted.
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::shouldDisableLayoutSpecificAdvances):
(WebCore::TextRun::setShouldDisableLayoutSpecificAdvances):
(WebCore::TextRun::spacingDisabled): Deleted.
(WebCore::TextRun::setCharacterScanForCodePath): Deleted.
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::ComplexTextController):
(WebCore::ComplexTextController::offsetForPosition):
(WebCore::ComplexTextController::collectComplexTextRuns):
(WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
(WebCore::ComplexTextController::runWidthSoFarFraction):
(WebCore::ComplexTextController::advance):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
- platform/graphics/mac/ComplexTextController.h:
(WebCore::ComplexTextController::ComplexTextRun::create):
(WebCore::ComplexTextController::ComplexTextRun::baseAdvances):
(WebCore::ComplexTextController::ComplexTextRun::glyphOrigins):
(WebCore::ComplexTextController::useLayoutSpecificAdvances):
(WebCore::ComplexTextController::finalRoundingWidth): Deleted.
(WebCore::ComplexTextController::ComplexTextRun::advances): Deleted.
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(SOFT_LINK):
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
- platform/spi/cocoa/CoreTextSPI.h:
LayoutTests:
Update tests. There are some expected (small) changes in metrics due to this patch.
- platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.png: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png.
- platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.txt: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt.
- platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.png: Copied from LayoutTests/platform/mac/css2.1/t1508-c527-font-00-b-expected.png.
- platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.txt: Added.
- platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.png: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png.
- platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt.
- platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png:
- platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
- platform/mac/css2.1/t1508-c527-font-00-b-expected.png:
- platform/mac/css2.1/t1508-c527-font-00-b-expected.txt: Added.
- platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png:
- platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt:
- 2:41 PM Changeset in webkit [205372] by
-
- 41 edits3 adds2 deletes in trunk
Unreviewed, roll out r205354 because it caused JSC test failures
Source/JavaScriptCore:
- jsc.cpp:
- runtime/JSGlobalObject.cpp:
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::allowsAccessFrom):
(JSC::JSGlobalObject::setDebugger): Deleted.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::GlobalFuncProtoGetterFunctor::GlobalFuncProtoGetterFunctor):
(JSC::GlobalFuncProtoGetterFunctor::result):
(JSC::GlobalFuncProtoGetterFunctor::operator()):
(JSC::globalFuncProtoGetter):
(JSC::GlobalFuncProtoSetterFunctor::GlobalFuncProtoSetterFunctor):
(JSC::GlobalFuncProtoSetterFunctor::allowsAccess):
(JSC::GlobalFuncProtoSetterFunctor::operator()):
(JSC::checkProtoSetterAccessAllowed):
(JSC::globalFuncProtoSetter):
- runtime/JSGlobalObjectFunctions.h:
- runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::JSObject::allowsAccessFrom):
- runtime/JSObject.h:
- runtime/JSProxy.cpp:
- runtime/JSProxy.h:
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructorGetPrototypeOfFunctor::ObjectConstructorGetPrototypeOfFunctor):
(JSC::ObjectConstructorGetPrototypeOfFunctor::result):
(JSC::ObjectConstructorGetPrototypeOfFunctor::operator()):
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorSetPrototypeOf):
- runtime/ObjectConstructor.h:
- runtime/ReflectObject.cpp:
(JSC::reflectObjectGetPrototypeOf):
(JSC::reflectObjectSetPrototypeOf):
Source/WebCore:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::shouldAllowAccessFrom):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::preventExtensions): Deleted.
(WebCore::JSDOMWindow::setLocation): Deleted.
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::preventExtensions): Deleted.
(WebCore::JSLocationPrototype::putDelegate): Deleted.
(WebCore::JSLocationPrototype::defineOwnProperty): Deleted.
- bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::allowsAccessFrom):
- bindings/js/JSWorkerGlobalScopeBase.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- bindings/scripts/IDLAttributes.txt:
- page/DOMWindow.idl:
- page/Location.idl:
LayoutTests:
- fast/dom/Window/script-tests/window-custom-prototype.js: Added.
- fast/dom/Window/window-custom-prototype-crash-expected.txt:
- fast/dom/Window/window-custom-prototype-expected.txt: Added.
- fast/dom/Window/window-custom-prototype.html: Added.
- http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf.html:
- http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-setPrototypeOf.html:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto.html:
- http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-method-with-iframe-proto.html:
- http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto.html:
- http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto.html:
- js/dom/setPrototypeOf-location-window-expected.txt: Removed.
- js/dom/setPrototypeOf-location-window.html: Removed.
- js/object-literal-shorthand-construction-expected.txt:
- js/script-tests/object-literal-shorthand-construction.js:
- js/script-tests/sloppy-getter-setter-global-object.js:
- js/sloppy-getter-setter-global-object-expected.txt:
- 2:23 PM Changeset in webkit [205371] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed build fix; partial roll out of r205365 to remove unintentional change in WKWebView.mm.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- 1:57 PM Changeset in webkit [205370] by
-
- 6 edits in trunk/Source/WebKit2
Web Inspector: If inspector process crashes, re-inspecting the page does not work
https://bugs.webkit.org/show_bug.cgi?id=161502
<rdar://problem/28120368>
Reviewed by Brian Burg.
This is an issue on Mac because WebInspectorProxyMac's platformDidClose
doesn't immediately get rid of the WKWebView for the inspector. This is
intended so that a quick close and reopen of Web Inspector is faster,
however in the case where the WebPage under the WKWebView crashed, we
actually should clear things instead of using the timer path. Provide
a stronger platform close handler when the inspector page crashed.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::closeForCrash):
(WebKit::webProcessDidCrash):
(WebKit::WebInspectorProxy::platformDidCloseForCrash):
Go through a stronger path when the web process crashes.
Some platforms may want to handle this differently then the user
closing a web inspector window.
- UIProcess/WebInspectorProxy.h:
- UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformDidCloseForCrash):
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformDidCloseForCrash):
These platforms do not need to do anything special.
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::closeTimerFired):
Loosen this code. There is no need for it to be so strict.
(WebKit::WebInspectorProxy::platformDidCloseForCrash):
If the inspector page crashed, close our handles immediately.
- 1:57 PM Changeset in webkit [205369] by
-
- 26 edits2 copies11 adds in trunk/Source
Web Inspector: Provide a way to open an inspector frontend for a remote target
https://bugs.webkit.org/show_bug.cgi?id=161515
<rdar://problem/13182127>
Reviewed by Brian Burg.
Source/WebCore:
Previously WebKit inspector frontend clients could only
create a frontend for a web page with the latest protocol.
Now it may create a frontend for a "javascript" or "web"
debuggable that may be current or an older protocol.
The frontend already supports these configurations by
checking and calling InspectorFrontendHost methods
that may or may not have existed previously:
- debuggableType was always "web" but frontend supports "javascript"
- inspectorBackendCommandsURLs was absent so the frontend used the most current
- rename this to backendCommandsURL
Formalize the methods and have them delegate to the
frontend client opening the frontend.
- inspector/InspectorFrontendClient.h:
(WebCore::InspectorFrontendClient::backendCommandsURL):
(WebCore::InspectorFrontendClient::debuggableType):
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::localizedStringsURL):
(WebCore::InspectorFrontendHost::backendCommandsURL):
(WebCore::InspectorFrontendHost::debuggableType):
- inspector/InspectorFrontendHost.h:
- inspector/InspectorFrontendHost.idl:
Formalize and give default values to InspectorFrontentHost methods.
Source/WebInspectorUI:
- UserInterface/Base/InspectorFrontendHostStub.js:
(WebInspector.InspectorFrontendHostStub.prototype.backendCommandsURL):
Stub new InspectorFrontendHost methods. This value causes the
frontend to load the latest protocol.
- UserInterface/Protocol/LoadInspectorBackendCommands.js:
Use formalized backendCommandsURL, and if empty load the latest protocol.
Source/WebKit2:
Provide an interface to open a Web Inspector window/webView for a
remote debuggable. Unlike the local Web Inspector, the remote
debuggable may be either a JSContext or WebPage, and may only
support an older version of the protocol. The Inspector frontend
already supports these configurations.
This adds new RemoteWebInspector/Proxy classes that mirror the
WebInspector/Proxy classes for local inspection, but have
slightly different behavior as the inspected target is not
directly available (and may not be a web page).
The remote and local classes share a lot of inspector
frontend implementation:
- share most of the inspector frontend host implementation
- share much of the frontend webview/window handling
- use an inspector process for the frontend page
But remains separate in some ways:
- inspected target is unavailable
- docking is never available
- a few inspector frontend host methods are duplicated
- some of the webview/window handling is duplicated
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h: Added.
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm: Added.
(-[_WKRemoteWebInspectorViewController init]):
(-[_WKRemoteWebInspectorViewController window]):
(-[_WKRemoteWebInspectorViewController webView]):
(-[_WKRemoteWebInspectorViewController loadForDebuggableType:backendCommandsURL:]):
(-[_WKRemoteWebInspectorViewController close]):
(-[_WKRemoteWebInspectorViewController show]):
(-[_WKRemoteWebInspectorViewController sendMessageToFrontend:]):
(-[_WKRemoteWebInspectorViewController sendMessageToBackend:]):
(-[_WKRemoteWebInspectorViewController closeFromFrontend]):
The interface that may be used to open an inspector window for
a remote debuggable. There are only a few delegates to handle
sending messages to the backend and knowing if the frontend
closed itself (InspectorFrontendHost.closeWindow() or crashed).
- UIProcess/WebInspectorUtilities.h:
- UIProcess/WebInspectorUtilities.cpp: Added.
(WebKit::pageLevelMap):
(WebKit::inspectorLevelForPage):
(WebKit::inspectorPageGroupIdentifierForPage):
(WebKit::trackInspectorPage):
(WebKit::untrackInspectorPage):
(WebKit::inspectorProcessPool):
(WebKit::isInspectorProcessPool):
(WebKit::isInspectorPage):
Extract utilities for determining if a page contains an inspector frontend.
Previously this was part of WebInspectorProxy and subclasses but can
now be used by multiple classes.
- UIProcess/WebInspectorProxy.h:
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::inspectionLevel):
(WebKit::WebInspectorProxy::invalidate):
(WebKit::WebInspectorProxy::isMainOrTestInspectorPage):
(WebKit::decidePolicyForNavigationAction):
(WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
(WebKit::WebInspectorProxy::didClose):
(WebKit::pageLevelMap): Deleted.
(WebKit::WebInspectorProxy::inspectorPageGroupIdentifier): Deleted.
(WebKit::WebInspectorProxy::inspectorProcessPool): Deleted.
(WebKit::WebInspectorProxy::isInspectorProcessPool): Deleted.
(WebKit::WebInspectorProxy::isInspectorPage): Deleted.
(WebKit::isMainOrTestInspectorPage): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getLaunchOptions):
- UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Extract methods to utilities and use them.
Also address an issue where WebInspectorProxy was untracking
the wrong page. It should have been untracking the inspector
page but was untracking the inspected page.
- UIProcess/RemoteWebInspectorProxy.cpp: Added.
(WebKit::RemoteWebInspectorProxy::RemoteWebInspectorProxy):
(WebKit::RemoteWebInspectorProxy::~RemoteWebInspectorProxy):
(WebKit::RemoteWebInspectorProxy::invalidate):
(WebKit::RemoteWebInspectorProxy::load):
(WebKit::RemoteWebInspectorProxy::closeFromBackend):
(WebKit::RemoteWebInspectorProxy::closeFromCrash):
(WebKit::RemoteWebInspectorProxy::show):
(WebKit::RemoteWebInspectorProxy::sendMessageToFrontend):
(WebKit::RemoteWebInspectorProxy::frontendDidClose):
(WebKit::RemoteWebInspectorProxy::bringToFront):
(WebKit::RemoteWebInspectorProxy::save):
(WebKit::RemoteWebInspectorProxy::append):
(WebKit::RemoteWebInspectorProxy::startWindowDrag):
(WebKit::RemoteWebInspectorProxy::openInNewTab):
(WebKit::RemoteWebInspectorProxy::sendMessageToBackend):
(WebKit::RemoteWebInspectorProxy::createFrontendPageAndWindow):
(WebKit::RemoteWebInspectorProxy::closeFrontendPageAndWindow):
This class behaves like WebInspectorProxy but without having a
reference to the inspected target. It communicates with
RemoteInspectorUI in an Inspector process to send and receive
frontend messages. What can't be easily shared is duplicated.
- UIProcess/mac/RemoteWebInspectorProxyMac.mm: Added.
(-[WKRemoteWebInspectorProxyObjCAdapter initWithRemoteWebInspectorProxy:]):
(-[WKRemoteWebInspectorProxyObjCAdapter webViewWebContentProcessDidTerminate:]):
(-[WKRemoteWebInspectorProxyObjCAdapter webView:decidePolicyForNavigationAction:decisionHandler:]):
(WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):
(WebKit::RemoteWebInspectorProxy::platformCloseFrontendPageAndWindow):
(WebKit::RemoteWebInspectorProxy::platformBringToFront):
(WebKit::RemoteWebInspectorProxy::platformSave):
(WebKit::RemoteWebInspectorProxy::platformAppend):
(WebKit::RemoteWebInspectorProxy::platformStartWindowDrag):
(WebKit::RemoteWebInspectorProxy::platformOpenInNewTab):
Platform implementation for the bits that are platform specific.
What can't be easily shared is duplicated. Ideally we will
eventually share this with WebInspectorProxyMac.
- UIProcess/mac/WKWebInspectorWKWebView.h:
- UIProcess/mac/WKWebInspectorWKWebView.mm: Added.
(WebKit::getWindowFrame):
(WebKit::setWindowFrame):
(WebKit::exceededDatabaseQuota):
(WebKit::runOpenPanel):
(-[WKWebInspectorWKWebView initWithFrame:configuration:]):
(-[WKWebInspectorWKWebView tag]):
Extract Mac platform code for the inspector webview from WebInspectorProxyMac.
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::closeTimerFired):
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::createFrontendConfiguration):
(WebKit::WebInspectorProxy::createFrontendWindow):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(-[WKWebInspectorWKWebView tag]): Deleted.
(WebKit::getWindowFrame): Deleted.
(WebKit::setWindowFrame): Deleted.
(WebKit::exceededDatabaseQuota): Deleted.
(WebKit::runOpenPanel): Deleted.
Extact Mac platform code to be shared for construction of a
WKWebViewConfiguration, WKWebView, and NSWindow for an inspector webview.
- WebProcess/WebPage/RemoteWebInspectorUI.cpp: Added.
(WebKit::RemoteWebInspectorUI::create):
(WebKit::RemoteWebInspectorUI::RemoteWebInspectorUI):
(WebKit::RemoteWebInspectorUI::initialize):
(WebKit::RemoteWebInspectorUI::didSave):
(WebKit::RemoteWebInspectorUI::didAppend):
(WebKit::RemoteWebInspectorUI::sendMessageToFrontend):
(WebKit::RemoteWebInspectorUI::sendMessageToBackend):
(WebKit::RemoteWebInspectorUI::windowObjectCleared):
(WebKit::RemoteWebInspectorUI::frontendLoaded):
(WebKit::RemoteWebInspectorUI::startWindowDrag):
(WebKit::RemoteWebInspectorUI::moveWindowBy):
(WebKit::RemoteWebInspectorUI::bringToFront):
(WebKit::RemoteWebInspectorUI::closeWindow):
(WebKit::RemoteWebInspectorUI::openInNewTab):
(WebKit::RemoteWebInspectorUI::save):
(WebKit::RemoteWebInspectorUI::append):
(WebKit::RemoteWebInspectorUI::inspectedURLChanged):
- WebProcess/WebPage/RemoteWebInspectorUI.h: Added.
- WebProcess/WebPage/RemoteWebInspectorUI.messages.in: Added.
- UIProcess/RemoteWebInspectorProxy.messages.in: Added.
- UIProcess/RemoteWebInspectorProxy.mm: Added.
Inspector frontend client that knows to talk
with a RemoteWebInspectorProxy instead of a WebInspectorProxy.
- WebProcess/WebPage/WebInspectorUI.cpp:
- WebProcess/WebPage/WebInspectorUI.h:
- WebProcess/WebPage/mac/WebInspectorUIMac.mm:
(WebKit::webInspectorUILocalizedStringsURL):
(WebKit::WebInspectorUI::localizedStringsURL):
(WebKit::RemoteWebInspectorUI::localizedStringsURL):
Simplify localized string URL lookup.
- DerivedSources.make:
- WebKit2.xcodeproj/project.pbxproj:
New files.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::remoteInspectorUI):
(WebKit::WebPage::didReceiveMessage):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::isInspectorPage):
An InspectorProcess WebPage may have either a WebInspectorUI or a RemoteWebInspectorUI.
- 1:49 PM Changeset in webkit [205368] by
-
- 6 edits5 adds in trunk/Source/WebCore
Add support for media query parsing using new CSS Parser
https://bugs.webkit.org/show_bug.cgi?id=161537
Reviewed by Dean Jackson.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/MediaQueryExp.cpp:
(WebCore::featureWithValidIdent):
(WebCore::featureWithValidDensity):
(WebCore::featureWithValidPositiveLength):
(WebCore::featureWithPositiveInteger):
(WebCore::featureWithPositiveNumber):
(WebCore::featureWithZeroOrOne):
(WebCore::isFeatureValidWithIdentifier):
(WebCore::MediaQueryExpression::MediaQueryExpression):
- css/MediaQueryExp.h:
- css/parser/CSSParserIdioms.cpp: Added.
(WebCore::convertToASCIILowercaseInPlace):
- css/parser/CSSParserIdioms.h:
- css/parser/CSSParserToken.cpp:
(WebCore::convertToASCIILowercaseInPlace):
- css/parser/MediaQueryBlockWatcher.cpp: Added.
(WebCore::MediaQueryBlockWatcher::MediaQueryBlockWatcher):
(WebCore::MediaQueryBlockWatcher::handleToken):
- css/parser/MediaQueryBlockWatcher.h: Added.
(WebCore::MediaQueryBlockWatcher::blockLevel):
- css/parser/MediaQueryParser.cpp: Added.
(WebCore::MediaQueryParser::parseMediaQuerySet):
(WebCore::MediaQueryParser::parseMediaCondition):
(WebCore::MediaQueryParser::MediaQueryParser):
(WebCore::MediaQueryParser::~MediaQueryParser):
(WebCore::MediaQueryParser::setStateAndRestrict):
(WebCore::MediaQueryParser::readRestrictor):
(WebCore::MediaQueryParser::readMediaNot):
(WebCore::isRestrictorOrLogicalOperator):
(WebCore::MediaQueryParser::readMediaType):
(WebCore::MediaQueryParser::commitMediaQuery):
(WebCore::MediaQueryParser::readAnd):
(WebCore::MediaQueryParser::readFeatureStart):
(WebCore::MediaQueryParser::readFeature):
(WebCore::MediaQueryParser::readFeatureColon):
(WebCore::MediaQueryParser::readFeatureValue):
(WebCore::MediaQueryParser::readFeatureEnd):
(WebCore::MediaQueryParser::skipUntilComma):
(WebCore::MediaQueryParser::skipUntilBlockEnd):
(WebCore::MediaQueryParser::done):
(WebCore::MediaQueryParser::handleBlocks):
(WebCore::MediaQueryParser::processToken):
(WebCore::MediaQueryParser::parseInternal):
(WebCore::MediaQueryData::MediaQueryData):
(WebCore::MediaQueryData::clear):
(WebCore::MediaQueryData::addExpression):
(WebCore::MediaQueryData::tryAddParserToken):
(WebCore::MediaQueryData::setMediaType):
- css/parser/MediaQueryParser.h: Added.
(WebCore::MediaQueryData::restrictor):
(WebCore::MediaQueryData::expressions):
(WebCore::MediaQueryData::mediaType):
(WebCore::MediaQueryData::currentMediaQueryChanged):
(WebCore::MediaQueryData::setRestrictor):
(WebCore::MediaQueryData::setMediaFeature):
- 1:22 PM Changeset in webkit [205367] by
-
- 3 edits in trunk/Tools
Unreviewed build fix: restore storyboard files to Xcode 7-compatability.
- MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard:
- MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard:
- 1:07 PM Changeset in webkit [205366] by
-
- 2 edits in trunk/LayoutTests
Rebaseline fast/mediastream/MediaStreamTrack-getSettings.html after r205348.
Unreviewed test gardening.
- fast/mediastream/MediaStreamTrack-getSettings-expected.txt:
- 1:06 PM Changeset in webkit [205365] by
-
- 33 edits in trunk/Source
Refactor WebPlaybackSessionModelMediaElement to be client based.
https://bugs.webkit.org/show_bug.cgi?id=159580
Reviewed by Eric Carlson.
Source/WebCore:
Add client callback interfaces to both WebPlaybackSessionModel and WebVideoFullscreenModel, where each object
can have multiple clients, and so the object will both store current values and also notify those clients
when the values change. After this change, there is no need to have the models know about their associated
interfaces explicitly.
- platform/cocoa/WebPlaybackSessionInterface.h:
- platform/cocoa/WebPlaybackSessionModel.h:
(WebCore::WebPlaybackSessionModelClient::~WebPlaybackSessionModelClient):
(WebCore::WebPlaybackSessionModelClient::durationChanged):
(WebCore::WebPlaybackSessionModelClient::currentTimeChanged):
(WebCore::WebPlaybackSessionModelClient::bufferedTimeChanged):
(WebCore::WebPlaybackSessionModelClient::rateChanged):
(WebCore::WebPlaybackSessionModelClient::seekableRangesChanged):
(WebCore::WebPlaybackSessionModelClient::canPlayFastReverseChanged):
(WebCore::WebPlaybackSessionModelClient::audioMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionModelClient::legibleMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionModelClient::externalPlaybackChanged):
(WebCore::WebPlaybackSessionModelClient::wirelessVideoPlaybackDisabledChanged):
- platform/cocoa/WebPlaybackSessionModelMediaElement.h:
- platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
(WebPlaybackSessionModelMediaElement::setMediaElement):
(WebPlaybackSessionModelMediaElement::updateForEventName):
(WebPlaybackSessionModelMediaElement::addClient):
(WebPlaybackSessionModelMediaElement::removeClient):
(WebPlaybackSessionModelMediaElement::updateLegibleOptions):
(WebPlaybackSessionModelMediaElement::observedEventNames):
(WebPlaybackSessionModelMediaElement::eventNameAll):
(WebPlaybackSessionModelMediaElement::audioMediaSelectionOptions):
(WebPlaybackSessionModelMediaElement::audioMediaSelectedIndex):
(WebPlaybackSessionModelMediaElement::legibleMediaSelectedIndex):
(WebPlaybackSessionModelMediaElement::externalPlaybackEnabled):
(WebPlaybackSessionModelMediaElement::externalPlaybackTargetType):
(WebPlaybackSessionModelMediaElement::externalPlaybackLocalizedDeviceName):
(WebPlaybackSessionModelMediaElement::wirelessVideoPlaybackDisabled):
(WebPlaybackSessionModelMediaElement::setWebPlaybackSessionInterface): Deleted.
- platform/cocoa/WebVideoFullscreenInterface.h:
- platform/cocoa/WebVideoFullscreenModel.h:
(WebCore::WebVideoFullscreenModelClient::~WebVideoFullscreenModelClient):
- platform/cocoa/WebVideoFullscreenModelVideoElement.h:
(WebCore::WebVideoFullscreenModelVideoElement::create):
(WebCore::WebVideoFullscreenModelVideoElement::playbackSessionModel): Deleted.
- platform/cocoa/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::WebVideoFullscreenModelVideoElement):
(WebVideoFullscreenModelVideoElement::setVideoElement):
(WebVideoFullscreenModelVideoElement::updateForEventName):
(WebVideoFullscreenModelVideoElement::addClient):
(WebVideoFullscreenModelVideoElement::removeClient):
(WebVideoFullscreenModelVideoElement::setHasVideo):
(WebVideoFullscreenModelVideoElement::setVideoDimensions):
(WebVideoFullscreenModelVideoElement::setWebVideoFullscreenInterface): Deleted.
- platform/ios/WebAVPlayerController.h:
- platform/ios/WebAVPlayerController.mm:
(-[WebAVPlayerController resetState]): Deleted.
- platform/ios/WebPlaybackSessionInterfaceAVKit.h:
(WebCore::WebPlaybackSessionInterfaceAVKitClient::~WebPlaybackSessionInterfaceAVKitClient): Deleted.
- platform/ios/WebPlaybackSessionInterfaceAVKit.mm:
(WebCore::WebPlaybackSessionInterfaceAVKit::WebPlaybackSessionInterfaceAVKit):
(WebCore::WebPlaybackSessionInterfaceAVKit::~WebPlaybackSessionInterfaceAVKit):
(WebCore::WebPlaybackSessionInterfaceAVKit::resetMediaState):
(WebCore::WebPlaybackSessionInterfaceAVKit::durationChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::currentTimeChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::bufferedTimeChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::rateChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::seekableRangesChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::canPlayFastReverseChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::audioMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::legibleMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::externalPlaybackChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::wirelessVideoPlaybackDisabledChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::invalidate):
(WebCore::WebPlaybackSessionInterfaceAVKit::setWebPlaybackSessionModel): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setDuration): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setCurrentTime): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setBufferedTime): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setRate): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setSeekableRanges): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setCanPlayFastReverse): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setAudioMediaSelectionOptions): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setLegibleMediaSelectionOptions): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setExternalPlayback): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setWirelessVideoPlaybackDisabled): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::wirelessVideoPlaybackDisabled): Deleted.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::didSetupFullscreen):
(WebVideoFullscreenControllerContext::didExitFullscreen):
(WebVideoFullscreenControllerContext::didCleanupFullscreen):
(WebVideoFullscreenControllerContext::durationChanged):
(WebVideoFullscreenControllerContext::currentTimeChanged):
(WebVideoFullscreenControllerContext::bufferedTimeChanged):
(WebVideoFullscreenControllerContext::rateChanged):
(WebVideoFullscreenControllerContext::hasVideoChanged):
(WebVideoFullscreenControllerContext::videoDimensionsChanged):
(WebVideoFullscreenControllerContext::seekableRangesChanged):
(WebVideoFullscreenControllerContext::canPlayFastReverseChanged):
(WebVideoFullscreenControllerContext::audioMediaSelectionOptionsChanged):
(WebVideoFullscreenControllerContext::legibleMediaSelectionOptionsChanged):
(WebVideoFullscreenControllerContext::externalPlaybackChanged):
(WebVideoFullscreenControllerContext::wirelessVideoPlaybackDisabledChanged):
(WebVideoFullscreenControllerContext::addClient):
(WebVideoFullscreenControllerContext::removeClient):
(WebVideoFullscreenControllerContext::requestFullscreenMode):
(WebVideoFullscreenControllerContext::setVideoLayerFrame):
(WebVideoFullscreenControllerContext::setVideoLayerGravity):
(WebVideoFullscreenControllerContext::fullscreenModeChanged):
(WebVideoFullscreenControllerContext::isVisible):
(WebVideoFullscreenControllerContext::hasVideo):
(WebVideoFullscreenControllerContext::videoDimensions):
(WebVideoFullscreenControllerContext::play):
(WebVideoFullscreenControllerContext::pause):
(WebVideoFullscreenControllerContext::togglePlayState):
(WebVideoFullscreenControllerContext::beginScrubbing):
(WebVideoFullscreenControllerContext::endScrubbing):
(WebVideoFullscreenControllerContext::seekToTime):
(WebVideoFullscreenControllerContext::fastSeek):
(WebVideoFullscreenControllerContext::beginScanningForward):
(WebVideoFullscreenControllerContext::beginScanningBackward):
(WebVideoFullscreenControllerContext::endScanning):
(WebVideoFullscreenControllerContext::selectAudioMediaOption):
(WebVideoFullscreenControllerContext::selectLegibleMediaOption):
(WebVideoFullscreenControllerContext::duration):
(WebVideoFullscreenControllerContext::currentTime):
(WebVideoFullscreenControllerContext::bufferedTime):
(WebVideoFullscreenControllerContext::isPlaying):
(WebVideoFullscreenControllerContext::playbackRate):
(WebVideoFullscreenControllerContext::seekableRanges):
(WebVideoFullscreenControllerContext::canPlayFastReverse):
(WebVideoFullscreenControllerContext::audioMediaSelectionOptions):
(WebVideoFullscreenControllerContext::audioMediaSelectedIndex):
(WebVideoFullscreenControllerContext::legibleMediaSelectionOptions):
(WebVideoFullscreenControllerContext::legibleMediaSelectedIndex):
(WebVideoFullscreenControllerContext::externalPlaybackEnabled):
(WebVideoFullscreenControllerContext::externalPlaybackTargetType):
(WebVideoFullscreenControllerContext::externalPlaybackLocalizedDeviceName):
(WebVideoFullscreenControllerContext::wirelessVideoPlaybackDisabled):
(WebVideoFullscreenControllerContext::setUpFullscreen):
(WebVideoFullscreenControllerContext::exitFullscreen):
(WebVideoFullscreenControllerContext::requestHideAndExitFullscreen):
(WebVideoFullscreenControllerContext::resetMediaState): Deleted.
(WebVideoFullscreenControllerContext::setDuration): Deleted.
(WebVideoFullscreenControllerContext::setCurrentTime): Deleted.
(WebVideoFullscreenControllerContext::setBufferedTime): Deleted.
(WebVideoFullscreenControllerContext::setRate): Deleted.
(WebVideoFullscreenControllerContext::setVideoDimensions): Deleted.
(WebVideoFullscreenControllerContext::setSeekableRanges): Deleted.
(WebVideoFullscreenControllerContext::setCanPlayFastReverse): Deleted.
(WebVideoFullscreenControllerContext::setAudioMediaSelectionOptions): Deleted.
(WebVideoFullscreenControllerContext::setLegibleMediaSelectionOptions): Deleted.
(WebVideoFullscreenControllerContext::setExternalPlayback): Deleted.
(WebVideoFullscreenControllerContext::setWirelessVideoPlaybackDisabled): Deleted.
(WebVideoFullscreenSessionModel::play): Deleted.
(WebVideoFullscreenSessionModel::pause): Deleted.
(WebVideoFullscreenSessionModel::togglePlayState): Deleted.
(WebVideoFullscreenSessionModel::beginScrubbing): Deleted.
(WebVideoFullscreenSessionModel::endScrubbing): Deleted.
(WebVideoFullscreenSessionModel::seekToTime): Deleted.
(WebVideoFullscreenSessionModel::fastSeek): Deleted.
(WebVideoFullscreenSessionModel::beginScanningForward): Deleted.
(WebVideoFullscreenSessionModel::beginScanningBackward): Deleted.
(WebVideoFullscreenSessionModel::endScanning): Deleted.
(WebVideoFullscreenSessionModel::selectAudioMediaOption): Deleted.
(WebVideoFullscreenSessionModel::selectLegibleMediaOption): Deleted.
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit):
(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenChangeObserver):
(WebVideoFullscreenInterfaceAVKit::hasVideoChanged):
(WebVideoFullscreenInterfaceAVKit::videoDimensionsChanged):
(WebVideoFullscreenInterfaceAVKit::externalPlaybackChanged):
(WebVideoFullscreenInterfaceAVKit::resetMediaState): Deleted.
(WebVideoFullscreenInterfaceAVKit::setDuration): Deleted.
(WebVideoFullscreenInterfaceAVKit::setCurrentTime): Deleted.
(WebVideoFullscreenInterfaceAVKit::setBufferedTime): Deleted.
(WebVideoFullscreenInterfaceAVKit::setRate): Deleted.
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions): Deleted.
(WebVideoFullscreenInterfaceAVKit::setSeekableRanges): Deleted.
(WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse): Deleted.
(WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions): Deleted.
(WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions): Deleted.
(WebVideoFullscreenInterfaceAVKit::setExternalPlayback): Deleted.
(WebVideoFullscreenInterfaceAVKit::externalPlaybackEnabledChanged): Deleted.
(WebVideoFullscreenInterfaceAVKit::setWirelessVideoPlaybackDisabled): Deleted.
(WebVideoFullscreenInterfaceAVKit::wirelessVideoPlaybackDisabled): Deleted.
- platform/mac/WebPlaybackSessionInterfaceMac.h:
(WebCore::WebPlaybackSessionInterfaceMacClient::~WebPlaybackSessionInterfaceMacClient): Deleted.
- platform/mac/WebPlaybackSessionInterfaceMac.mm:
(WebCore::WebPlaybackSessionInterfaceMac::create):
(WebCore::WebPlaybackSessionInterfaceMac::WebPlaybackSessionInterfaceMac):
(WebCore::WebPlaybackSessionInterfaceMac::~WebPlaybackSessionInterfaceMac):
(WebCore::WebPlaybackSessionInterfaceMac::durationChanged):
(WebCore::WebPlaybackSessionInterfaceMac::currentTimeChanged):
(WebCore::WebPlaybackSessionInterfaceMac::rateChanged):
(WebCore::WebPlaybackSessionInterfaceMac::seekableRangesChanged):
(WebCore::WebPlaybackSessionInterfaceMac::audioMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionInterfaceMac::legibleMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionInterfaceMac::invalidate):
(WebCore::WebPlaybackSessionInterfaceMac::setWebPlaybackSessionModel): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setClient): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setDuration): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setCurrentTime): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setRate): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setSeekableRanges): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setAudioMediaSelectionOptions): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setLegibleMediaSelectionOptions): Deleted.
- platform/mac/WebVideoFullscreenInterfaceMac.h:
- platform/mac/WebVideoFullscreenInterfaceMac.mm:
(WebCore::WebVideoFullscreenInterfaceMac::WebVideoFullscreenInterfaceMac):
(WebCore::WebVideoFullscreenInterfaceMac::~WebVideoFullscreenInterfaceMac):
(WebCore::WebVideoFullscreenInterfaceMac::setWebVideoFullscreenModel):
(WebCore::WebVideoFullscreenInterfaceMac::externalPlaybackChanged):
(WebCore::WebVideoFullscreenInterfaceMac::hasVideoChanged):
(WebCore::WebVideoFullscreenInterfaceMac::videoDimensionsChanged):
(WebCore::WebVideoFullscreenInterfaceMac::setDuration): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setCurrentTime): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setRate): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setSeekableRanges): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setAudioMediaSelectionOptions): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setLegibleMediaSelectionOptions): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setExternalPlayback): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setVideoDimensions): Deleted.
Source/WebKit/mac:
No longer necessary to tell the models and interfaces about each other.
- WebView/WebView.mm:
(-[WebView _setUpPlaybackControlsManagerForMediaElement:]):
(-[WebView _clearPlaybackControlsManager]):
Source/WebKit2:
Adopt the changes made in the WebPlaybackSessionModel,Interface and WebVideoFullscreenModel,Interface
in the WebPlaybackSessionManager,Proxy classes.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]): Deleted.
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
(WebKit::WebPlaybackSessionModelContext::addClient):
(WebKit::WebPlaybackSessionModelContext::removeClient):
(WebKit::WebPlaybackSessionModelContext::setDuration):
(WebKit::WebPlaybackSessionModelContext::setCurrentTime):
(WebKit::WebPlaybackSessionModelContext::setBufferedTime):
(WebKit::WebPlaybackSessionModelContext::setRate):
(WebKit::WebPlaybackSessionModelContext::setSeekableRanges):
(WebKit::WebPlaybackSessionModelContext::setCanPlayFastReverse):
(WebKit::WebPlaybackSessionModelContext::setAudioMediaSelectionOptions):
(WebKit::WebPlaybackSessionModelContext::setLegibleMediaSelectionOptions):
(WebKit::WebPlaybackSessionModelContext::setExternalPlayback):
(WebKit::WebPlaybackSessionModelContext::setWirelessVideoPlaybackDisabled):
(WebKit::WebPlaybackSessionManagerProxy::createModelAndInterface):
(WebKit::WebPlaybackSessionManagerProxy::removeClientForContext):
(WebKit::WebPlaybackSessionManagerProxy::setCurrentTime):
(WebKit::WebPlaybackSessionManagerProxy::setBufferedTime):
(WebKit::WebPlaybackSessionManagerProxy::setSeekableRangesVector):
(WebKit::WebPlaybackSessionManagerProxy::setCanPlayFastReverse):
(WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionOptions):
(WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionOptions):
(WebKit::WebPlaybackSessionManagerProxy::setExternalPlaybackProperties):
(WebKit::WebPlaybackSessionManagerProxy::setWirelessVideoPlaybackDisabled):
(WebKit::WebPlaybackSessionManagerProxy::setDuration):
(WebKit::WebPlaybackSessionManagerProxy::setRate):
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenModelContext::addClient):
(WebKit::WebVideoFullscreenModelContext::removeClient):
(WebKit::WebVideoFullscreenManagerProxy::setHasVideo):
(WebKit::WebVideoFullscreenManagerProxy::setVideoDimensions):
- WebProcess/cocoa/WebPlaybackSessionManager.h:
- WebProcess/cocoa/WebPlaybackSessionManager.mm:
(WebKit::WebPlaybackSessionInterfaceContext::durationChanged):
(WebKit::WebPlaybackSessionInterfaceContext::currentTimeChanged):
(WebKit::WebPlaybackSessionInterfaceContext::bufferedTimeChanged):
(WebKit::WebPlaybackSessionInterfaceContext::rateChanged):
(WebKit::WebPlaybackSessionInterfaceContext::seekableRangesChanged):
(WebKit::WebPlaybackSessionInterfaceContext::canPlayFastReverseChanged):
(WebKit::WebPlaybackSessionInterfaceContext::audioMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionInterfaceContext::legibleMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionInterfaceContext::externalPlaybackChanged):
(WebKit::WebPlaybackSessionInterfaceContext::wirelessVideoPlaybackDisabledChanged):
(WebKit::WebPlaybackSessionManager::~WebPlaybackSessionManager):
(WebKit::WebPlaybackSessionManager::createModelAndInterface):
(WebKit::WebPlaybackSessionManager::removeContext):
(WebKit::WebPlaybackSessionManager::durationChanged):
(WebKit::WebPlaybackSessionManager::currentTimeChanged):
(WebKit::WebPlaybackSessionManager::bufferedTimeChanged):
(WebKit::WebPlaybackSessionManager::rateChanged):
(WebKit::WebPlaybackSessionManager::seekableRangesChanged):
(WebKit::WebPlaybackSessionManager::canPlayFastReverseChanged):
(WebKit::WebPlaybackSessionManager::audioMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionManager::legibleMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionManager::externalPlaybackChanged):
(WebKit::WebPlaybackSessionManager::wirelessVideoPlaybackDisabledChanged):
(WebKit::WebPlaybackSessionInterfaceContext::setDuration): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setCurrentTime): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setBufferedTime): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setRate): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setSeekableRanges): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setCanPlayFastReverse): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setAudioMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setLegibleMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setExternalPlayback): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setWirelessVideoPlaybackDisabled): Deleted.
(WebKit::WebPlaybackSessionManager::setDuration): Deleted.
(WebKit::WebPlaybackSessionManager::setCurrentTime): Deleted.
(WebKit::WebPlaybackSessionManager::setBufferedTime): Deleted.
(WebKit::WebPlaybackSessionManager::setRate): Deleted.
(WebKit::WebPlaybackSessionManager::setSeekableRanges): Deleted.
(WebKit::WebPlaybackSessionManager::setCanPlayFastReverse): Deleted.
(WebKit::WebPlaybackSessionManager::setAudioMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionManager::setLegibleMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionManager::setExternalPlayback): Deleted.
(WebKit::WebPlaybackSessionManager::setWirelessVideoPlaybackDisabled): Deleted.
- WebProcess/cocoa/WebVideoFullscreenManager.h:
(WebKit::WebVideoFullscreenInterfaceContext::create):
- WebProcess/cocoa/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenInterfaceContext::WebVideoFullscreenInterfaceContext):
(WebKit::WebVideoFullscreenInterfaceContext::hasVideoChanged):
(WebKit::WebVideoFullscreenInterfaceContext::videoDimensionsChanged):
(WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager):
(WebKit::WebVideoFullscreenManager::createModelAndInterface):
(WebKit::WebVideoFullscreenManager::removeContext):
(WebKit::WebVideoFullscreenManager::hasVideoChanged):
(WebKit::WebVideoFullscreenManager::videoDimensionsChanged):
(WebKit::WebVideoFullscreenInterfaceContext::resetMediaState): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setDuration): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setCurrentTime): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setBufferedTime): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setRate): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setVideoDimensions): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setSeekableRanges): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setCanPlayFastReverse): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setAudioMediaSelectionOptions): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setLegibleMediaSelectionOptions): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setExternalPlayback): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setWirelessVideoPlaybackDisabled): Deleted.
(WebKit::WebVideoFullscreenManager::setVideoDimensions): Deleted.
- 12:49 PM Changeset in webkit [205364] by
-
- 7 edits in trunk/Source/JavaScriptCore
Register usage optimization in mathIC when LHS and RHS are constants isn't configured correctly
https://bugs.webkit.org/show_bug.cgi?id=160802
Patch by Caio Lima <Caio Lima> on 2016-09-02
Reviewed by Saam Barati.
This patch is fixing a broken mechanism of MathIC that avoids allocate
a register to LHS or RHS if one of these operands are proven as valid
constant for JIT*Generator. In previous implementation, even if the
JIT*Generator was not using an operand register because it was proven as a
constant, compileMathIC and emitICFast were allocating a register for
it. This was broken because mathIC->isLeftOperandValidConstant and
mathIC->isLeftOperandValidConstant were being called before its Generator be
properly initialized. We changed this mechanism to enable Generators write
their validConstant rules using static methods isLeftOperandValidConstant(SnippetOperand)
and isRightOperandValidConstant(SnippetOperand).
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMathIC):
- jit/JITAddGenerator.h:
(JSC::JITAddGenerator::JITAddGenerator):
(JSC::JITAddGenerator::isLeftOperandValidConstant):
(JSC::JITAddGenerator::isRightOperandValidConstant):
- jit/JITArithmetic.cpp:
(JSC::JIT::emitMathICFast):
- jit/JITMathIC.h:
- jit/JITMulGenerator.h:
(JSC::JITMulGenerator::JITMulGenerator):
(JSC::JITMulGenerator::isLeftOperandValidConstant):
(JSC::JITMulGenerator::isRightOperandValidConstant):
- jit/JITSubGenerator.h:
(JSC::JITSubGenerator::isLeftOperandValidConstant):
(JSC::JITSubGenerator::isRightOperandValidConstant):
- 12:42 PM Changeset in webkit [205363] by
-
- 2 edits in trunk/Tools
REGRESSION (r205329): Two API tests time out on iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=161542
Reviewed by Brady Eidson.
- TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
(createAnimatedResizeWebView):
(createFirstVisuallyNonEmptyWatchingNavigationDelegate):
(TEST):
(animatedResizeWebView): Deleted.
The navigation delegate was being stored in a local and went out of scope
before the test was over. Keep it around, instead.
- 12:39 PM Changeset in webkit [205362] by
-
- 2 edits in trunk/Source/WTF
bitwise_cast infinite loops if called from the default constructor in ToType
https://bugs.webkit.org/show_bug.cgi?id=161365
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-02
Reviewed by Saam Barati.
- wtf/StdLibExtras.h:
(WTF::bitwise_cast): use aggregate initialization to avoid ctor
- 12:17 PM Changeset in webkit [205361] by
-
- 2 edits in trunk/Source/JavaScriptCore
GetByValWithThis: fix opInfo in DFG creation
https://bugs.webkit.org/show_bug.cgi?id=161541
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-02
Reviewed by Saam Barati.
super-get-by-val-with-this-monomorphic might be 1.0148x faster after this change.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock): fix OpInfo
- 12:14 PM Changeset in webkit [205360] by
-
- 10 edits1 delete in trunk
REGRESSION (r204839): [mac-wk1] LayoutTest webgl/max-active-contexts-webglcontextlost-prevent-default.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=161205
Reviewed by Geoffrey Garen.
Source/WebCore:
Fixes several issues:
- Add missing isReachableFromOpaqueRoots() implementation for JSWebGLRenderingContextBase. It used to rely on the one from its JSCanvasRenderingContext base. However, that base was dropped in r204839.
- Update JSWebGLRenderingContextBase::visitAdditionalChildren() to add its canvas object as opaque root as well. This used to be taken care of by JSCanvasRenderingContext::visitAdditionalChildren() but it got dropped in r204839.
This also refactors the code a bit for clarity.
No new tests, unskipped existing test.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCanvasRenderingContext.h: Removed.
- bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::getCSSCanvasContext):
- bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSWebGLRenderingContextBaseOwner::isReachableFromOpaqueRoots):
(WebCore::JSWebGLRenderingContextBase::visitAdditionalChildren):
- html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::is3d):
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLRenderingContextBase.idl:
LayoutTests:
Unskip test case now that it is no longer flaky.
- platform/mac-wk1/TestExpectations:
- 12:10 PM Changeset in webkit [205359] by
-
- 11 edits2 adds in trunk
Object.preventExtensions() should throw cross-origin
https://bugs.webkit.org/show_bug.cgi?id=161486
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Update JSProxy to forward preventExtensions() calls to its target.
- runtime/JSProxy.cpp:
(JSC::JSProxy::preventExtensions):
- runtime/JSProxy.h:
Source/WebCore:
Object.preventExtensions() should throw cross-origin:
- https://html.spec.whatwg.org/#windowproxy-preventextensions
- https://html.spec.whatwg.org/#location-preventextensions
- http://www.ecma-international.org/ecma-262/6.0/#sec-object.preventextensions
Firefox and Chrome both throw in the cross-origin case. Firefox also throws
a TypeError in the same-origin case for Window, as per the specification.
However, Firefox does not seem to throw yet in the same-origin case for
Location yet.
Test: http/tests/security/preventExtensions-window-location.html
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::preventExtensions):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::preventExtensions):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- bindings/scripts/IDLAttributes.txt:
- page/DOMWindow.idl:
- page/Location.idl:
LayoutTests:
Add layout test coverage. We have a few failures in the same origin case
because we don't fully match the specification yet:
- Object.preventExtensions() should throw a TypeError. However, our implementation currently does not throw if PreventExtensions returns false.
- We do not ignore calls to Object.preventExtensions() for the Location object yet because other browsers do not seem to either.
- http/tests/security/preventExtensions-window-location-expected.txt: Added.
- http/tests/security/preventExtensions-window-location.html: Added.
- 12:00 PM Changeset in webkit [205358] by
-
- 8 edits2 adds in trunk
Object.defineProperty() should throw cross-origin
https://bugs.webkit.org/show_bug.cgi?id=161460
Reviewed by Geoffrey Garen.
Source/WebCore:
Object.defineProperty() should throw cross-origin to match Firefox and
Chrome.
The specification is in the process of being updated to match the
behavior of browsers.
Test: http/tests/security/window-defineProperty-crossOrigin.html
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::defineOwnProperty):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::defineOwnProperty):
LayoutTests:
Add test coverage.
- http/tests/security/cross-frame-access-object-prototype-expected.txt:
- http/tests/security/location-cross-origin-expected.txt:
- http/tests/security/location-cross-origin.html:
- http/tests/security/window-defineProperty-crossOrigin-expected.txt: Added.
- http/tests/security/window-defineProperty-crossOrigin.html: Added.
- http/tests/security/xss-DENIED-defineProperty-expected.txt:
- 11:14 AM Changeset in webkit [205357] by
-
- 2 edits in trunk/Source/WebCore
Weak link the GameController.framework on macOS but differently than before.
Reviewed by Dan Bernstein.
- Configurations/WebCore.xcconfig:
- 11:06 AM Changeset in webkit [205356] by
-
- 2 edits in tags/Safari-603.1.4.1/Source/WebCore
Merged r205347. rdar://problem/28127212
- 11:05 AM Changeset in webkit [205355] by
-
- 12 edits in tags/Safari-603.1.4.1
Merged r205333. rdar://problem/28129826
- 11:04 AM Changeset in webkit [205354] by
-
- 41 edits2 adds3 deletes in trunk
Align proto getter / setter behavior with other browsers
https://bugs.webkit.org/show_bug.cgi?id=161455
Reviewed by Mark Lam.
Source/JavaScriptCore:
Drop allowsAccessFrom from the methodTable and delegate cross-origin
checking to the DOM bindings for SetPrototypeOf / GetPrototypeOf.
This is more consistent with other operations (e.g. GetOwnProperty).
- jsc.cpp:
- runtime/JSGlobalObject.cpp:
- runtime/JSGlobalObject.h:
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
(JSC::globalFuncBuiltinLog): Deleted.
- runtime/JSGlobalObjectFunctions.h:
- runtime/JSObject.h:
(JSC::JSObject::getArrayLength): Deleted.
- runtime/JSProxy.cpp:
(JSC::JSProxy::setPrototype):
(JSC::JSProxy::getPrototype):
- runtime/JSProxy.h:
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorSetPrototypeOf):
(JSC::objectConstructorGetOwnPropertyDescriptor): Deleted.
(JSC::objectConstructorGetOwnPropertyDescriptors): Deleted.
- runtime/ObjectConstructor.h:
- runtime/ReflectObject.cpp:
(JSC::reflectObjectGetPrototypeOf):
(JSC::reflectObjectSetPrototypeOf):
- runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeWithCycleCheck):
Comment out check added in r197648. This check was added to match
the latest EcmaScript spec:
This check allowed for Prototype chain cycles if the prototype
chain includes objects that do not use the ordinary object definitions
for GetPrototypeOf and SetPrototypeOf.
The issue is that the rest of our code base does not properly handle
such cycles and we can end up in infinite loops. This became obvious
because this patch updates Window / Location so that they no longer
use the default GetPrototypeOf / SetPrototypeOf. If I do not
comment out this check, I get an infinite loop in
Structure::anyObjectInChainMayInterceptIndexedAccesses(), which is
called from JSObject::setPrototypeDirect(), when running the following
layout test:
- html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub.html
I filed https://bugs.webkit.org/show_bug.cgi?id=161534 to track this
issue.
Source/WebCore:
Align cross-origin proto getter / setter behavior with other
browsers and the specification:
SetPrototypeOf should throw a TypeError:
- https://html.spec.whatwg.org/#windowproxy-setprototypeof
- https://html.spec.whatwg.org/#location-setprototypeof
- https://tc39.github.io/ecma262/#sec-object.setprototypeof (step 5)
GetPrototypeOf should return null cross-origin:
- https://html.spec.whatwg.org/#windowproxy-getprototypeof
- https://html.spec.whatwg.org/#location-getprototypeof
Test: js/dom/setPrototypeOf-location-window.html
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase): Deleted.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setPrototype):
(WebCore::JSDOMWindow::getPrototype):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::setPrototype):
(WebCore::JSLocation::getPrototype):
- bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::supportsRichSourceInfo): Deleted.
- bindings/js/JSWorkerGlobalScopeBase.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- bindings/scripts/IDLAttributes.txt:
- page/DOMWindow.idl:
- page/Location.idl:
LayoutTests:
Add layout test coverage and update a few existing test to reflect
behavior change.
- http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf.html:
- http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-setPrototypeOf.html:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto.html:
- http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-method-with-iframe-proto.html:
- http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto.html:
- http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto.html:
- js/dom/setPrototypeOf-location-window-expected.txt: Added.
- js/dom/setPrototypeOf-location-window.html: Added.
- 11:01 AM Changeset in webkit [205353] by
-
- 9 edits2 copies7 moves9 adds1 delete in trunk/Tools
Refactor MobileMiniBrowser into an application framework to allow external XCTesting
https://bugs.webkit.org/show_bug.cgi?id=161462
Reviewed by Eric Carlson.
XCTest targets need to be in the same project as the application which they're testing. To facilitate
having external projects with XCTest targets, move the application's implementation into a framework
that can be included with a bare-bones application shell for testing.
Simultaneously, add the ability to load files from within the new framework's bundle by using a
'bundle:/' URL scheme. Update the tests to use this new bundle URL and remove the dependency on
an external server for testing.
- MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
- MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard:
- MobileMiniBrowser/MobileMiniBrowser/Info.plist:
- MobileMiniBrowser/MobileMiniBrowser/main.m:
- MobileMiniBrowser/MobileMiniBrowserFramework/AppDelegate.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/AppDelegate.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.m.
(-[AppDelegate application:didFinishLaunchingWithOptions:]): Manually instantiate the main view
controller from the framework's bundle.
- MobileMiniBrowser/MobileMiniBrowserFramework/Assets.xcassets/AppIcon.appiconset/Contents.json: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/Assets.xcassets/AppIcon.appiconset/Contents.json.
- MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/Base.lproj/Main.storyboard.
- MobileMiniBrowser/MobileMiniBrowserFramework/Info.plist: Added.
- MobileMiniBrowser/MobileMiniBrowserFramework/MobileMiniBrowser.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/TabViewController.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/TabViewController.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/TabViewController.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/TabViewController.m.
- MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/WebViewController.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/WebViewController.m.
(+[NSURL bundleURLForFileURL:bundle:]): Add utility method.
(+[NSURL fileURLForBundleURL:bundle:]): Ditto.
(-[WebViewController navigateTo:]): Support loading "bundle:/" URLs which are really just "file:" URLs
pointing to the framework's resources directory.
(-[WebViewController observeValueForKeyPath:ofObject:change:context:]): Ditto.
- MobileMiniBrowser/MobileMiniBrowserUITests/MobileMiniBrowserUITests.m:
(-[MobileMiniBrowserUITests testBasicVideoPlayback]):
- 11:00 AM Changeset in webkit [205352] by
-
- 5 edits in tags/Safari-603.1.4.1/Source
Versioning.
- 10:59 AM Changeset in webkit [205351] by
-
- 5 edits in trunk/Tools
Fix --no-sample-on-timeout command line argument
https://bugs.webkit.org/show_bug.cgi?id=161507
Reviewed by Alexey Proskuryakov.
This patch fixes the —no-sample-on-timeout flag and correctly names spindumps as spindump.txt.
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Fixed —-no-sample-on-timeout.
- Scripts/webkitpy/port/apple.py:
(ApplePort.sample_process): Use correct file name.
(ApplePort.spindump_file_path): Spindump and sample file names are different.
- Scripts/webkitpy/port/driver.py:
(Driver._check_for_driver_timeout): Check “sample_on_timeout” flag.
- Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_spindump): Modified for correct filename.
- 10:58 AM Changeset in webkit [205350] by
-
- 1 copy in tags/Safari-603.1.4.1
New tag.
- 10:46 AM Changeset in webkit [205349] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: NetworkTimelineOverviewGraph.MinimumBarPaddingTime is undefined
https://bugs.webkit.org/show_bug.cgi?id=161510
Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-09-02
Reviewed by Brian Burg.
- UserInterface/Views/NetworkTimelineOverviewGraph.js:
(WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded):
(WebInspector.NetworkTimelineOverviewGraph):
Calculate the minimumBarPaddingTime in similar ways to TimelineRecordBar,
by using MinimumWidthPixel, MinimumMarginPixel and MinimumDurationPerPixel as the secondsPerPixel value.
- UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
Make Minimum/MaximumDurationPerPixel public properties.
- 10:36 AM Changeset in webkit [205348] by
-
- 31 edits6 adds in trunk
[MediaStream] applyConstraints pt. 1 - mandatory constraints
https://bugs.webkit.org/show_bug.cgi?id=161469
<rdar://problem/28109325>
Reviewed by Jer Noble.
Source/WebCore:
Tests: fast/mediastream/apply-constraints-audio.html
fast/mediastream/apply-constraints-video.html
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack): Initialize the weak pointer factory.
(WebCore::MediaStreamTrack::applyConstraints): Make it work.
- Modules/mediastream/MediaStreamTrack.h:
- Modules/mediastream/MediaStreamTrack.idl:
- WebCore.xcodeproj/project.pbxproj: Add JSMediaDevicesCustom.h.
- bindings/js/JSMediaDevicesCustom.cpp:
(WebCore::createStringConstraint): Add name parameter.
(WebCore::createBooleanConstraint): Ditto.
(WebCore::createDoubleConstraint): Ditto.
(WebCore::createIntConstraint): Ditto.
(WebCore::parseMediaTrackConstraintSetForKey): Drop type parameter because we don't need to
filter by source media type.
(WebCore::parseAdvancedConstraints): Ditto.
(WebCore::parseMediaConstraintsDictionary): Renamed from parseConstraints.
(WebCore::JSMediaDevices::getUserMedia): Don't throw exceptions, always return a promise.
(WebCore::parseConstraints): Deleted.
- bindings/js/JSMediaDevicesCustom.h: Added.
- bindings/js/JSMediaStreamTrackCustom.cpp:
(WebCore::JSMediaStreamTrack::getSettings): Don't include aspect ratio if the value is 0.
(WebCore::capabilityValue): asULong -> asInt.
(WebCore::JSMediaStreamTrack::applyConstraints): New.
(WebCore::JSMediaStreamTrack::getConstraints): New.
- bindings/js/WebCoreBuiltinNames.h: Add "mediaStreamTrackConstraints".
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setSrcObject): Drive by fix: don't call DOMURL::createPublicURL(null).
- platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaConstraint::create): Pass name to constructors.
(WebCore::StringConstraint::find): New.
- platform/mediastream/MediaConstraints.h:
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::applyConstraints): Add callback parameters.
- platform/mediastream/MediaStreamTrackPrivate.h:
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::RealtimeMediaSource): Initialize weak pointer factory.
(WebCore::RealtimeMediaSource::settingsDidChange): Don't call observers immediately so we can
coalesce multiple changes in the same runloop cycle.
(WebCore::RealtimeMediaSource::supportsConstraint): New.
(WebCore::value): Return the most appropriate value from a numeric constraint.
(WebCore::RealtimeMediaSource::applyConstraint): New, apply one constraint.
(WebCore::RealtimeMediaSource::applyConstraints): New, validate and apply constraints.
(WebCore::RealtimeMediaSource::setWidth): New.
(WebCore::RealtimeMediaSource::setHeight): New.
(WebCore::RealtimeMediaSource::setFrameRate): New.
(WebCore::RealtimeMediaSource::setAspectRatio): New.
(WebCore::RealtimeMediaSource::setFacingMode): New.
(WebCore::RealtimeMediaSource::setVolume): New.
(WebCore::RealtimeMediaSource::setSampleRate): New.
(WebCore::RealtimeMediaSource::setSampleSize): New.
(WebCore::RealtimeMediaSource::setEchoCancellation) New.:
(WebCore::RealtimeMediaSource::scheduleDeferredTask): New.
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/RealtimeMediaSourceCapabilities.h:
(WebCore::CapabilityValueOrRange::CapabilityValueOrRange): "unsigned long" -> "int"
- platform/mediastream/RealtimeMediaSourceSettings.cpp:
(WebCore::userFacing): New.
(WebCore::environmentFacing): New.
(WebCore::leftFacing): New.
(WebCore::rightFacing): New.
(WebCore::RealtimeMediaSourceSettings::facingMode):
(WebCore::RealtimeMediaSourceSettings::videoFacingModeEnum):
- platform/mediastream/RealtimeMediaSourceSettings.h:
- platform/mediastream/mac/AVAudioCaptureSource.mm:
(WebCore::AVAudioCaptureSource::initializeCapabilities): Volume range is 0.0 .. 1.0.
- platform/mediastream/mac/AVMediaCaptureSource.h:
(WebCore::AVMediaCaptureSource::createWeakPtr): Deleted.
- platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::AVMediaCaptureSource): Don't need the weak ptr factory, it is
in the base class.
(WebCore::AVMediaCaptureSource::scheduleDeferredTask): Deleted.
- platform/mediastream/mac/AVVideoCaptureSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::applySize): New.
(WebCore::AVVideoCaptureSource::applyFrameRate): New.
(WebCore::AVVideoCaptureSource::setupCaptureSession):
(WebCore::AVVideoCaptureSource::setFrameRateConstraint): Deleted.
(WebCore::AVVideoCaptureSource::applyConstraints): Deleted.
- platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::updateSettings): Set volume and echoCancellation to the
current values.
(WebCore::MockRealtimeAudioSource::initializeCapabilities): Volume takes a float, not an int.
- platform/mock/MockRealtimeAudioSource.h:
- platform/mock/MockRealtimeMediaSource.cpp: Minor cleanup.
- platform/mock/MockRealtimeMediaSource.h:
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource): Initialize frame rate.
(WebCore::MockRealtimeVideoSource::startProducingData): m_size -> size().
(WebCore::MockRealtimeVideoSource::updateSettings): Use accessors because instance variables
have been moved to the base class.
(WebCore::MockRealtimeVideoSource::initializeCapabilities): Ditto.
(WebCore::MockRealtimeVideoSource::applyFrameRate): New.
(WebCore::MockRealtimeVideoSource::applySize):
(WebCore::MockRealtimeVideoSource::drawAnimation):
(WebCore::MockRealtimeVideoSource::drawBoxes):
(WebCore::MockRealtimeVideoSource::drawText):
(WebCore::MockRealtimeVideoSource::generateFrame):
(WebCore::MockRealtimeVideoSource::imageBuffer):
(WebCore::MockRealtimeVideoSource::setFrameRate): Deleted.
(WebCore::MockRealtimeVideoSource::setSize): Deleted.
- platform/mock/MockRealtimeVideoSource.h:
(WebCore::MockRealtimeVideoSource::size): Deleted.
LayoutTests:
- fast/mediastream/apply-constraints-audio-expected.txt: Added.
- fast/mediastream/apply-constraints-audio.html: Added.
- fast/mediastream/apply-constraints-video-expected.txt: Added.
- fast/mediastream/apply-constraints-video.html: Added.
- fast/mediastream/resources/apply-constraints-utils.js: Added.
- 10:36 AM WebKitGTK/2.14.x edited by
- (diff)
- 10:28 AM Changeset in webkit [205347] by
-
- 2 edits in trunk/Source/WebCore
Weak link the GameController.framework on macOS.
Reviewed by Tim Horton.
- Configurations/WebCore.xcconfig:
- 9:26 AM Changeset in webkit [205346] by
-
- 17 edits in trunk/Source/WebCore
Unreviewed, rolling out r205344.
https://bugs.webkit.org/show_bug.cgi?id=161533
Hitting assertions under CachedResource::removeClient in a few
tests (Requested by anttik on #webkit).
Reverted changeset:
"Reverse ownership relation of StyleCachedImage and
CSSImageValue"
https://bugs.webkit.org/show_bug.cgi?id=161447
http://trac.webkit.org/changeset/205344
- 8:54 AM Changeset in webkit [205345] by
-
- 2 edits in trunk/Tools
Unreviewed: moved myself to the reviewers list.
- Scripts/webkitpy/common/config/contributors.json:
- 7:27 AM Changeset in webkit [205344] by
-
- 17 edits in trunk/Source/WebCore
Reverse ownership relation of StyleCachedImage and CSSImageValue
https://bugs.webkit.org/show_bug.cgi?id=161447
Reviewed by Andreas Kling.
Currently StyleCachedImage (which represents an image in RenderStyle) has a weak ref to the
underlying CSSImageValue/CSSImageSetValue which actually owns it. This is awkwards especially since
StyleGeneratedImage, the other StyleImage subclass has reversed relationship where it refs
the underlying CSSImageGeneratorValue.
This patch makes StyleCachedImage similar to StyleGeneratedImage. StyleCachedImage now refs the
underlying CSSImageValue/CSSImageSetValue. CSSImageValues no longer need to know about StyleCachedImage.
Instead they reference CachedImages (memory cache objects) directly. StyleCachedImage instances are now
conceptually unique to RenderStyle instances. Actual resources are shared as before by sharing CachedImages.
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::loadImage):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::styleImage): Deleted.
- css/CSSCursorImageValue.h:
- css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::loadBestFitImage):
(WebCore::CSSImageSetValue::traverseSubresources):
(WebCore::CSSImageSetValue::styleImage): Deleted.
- css/CSSImageSetValue.h:
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::CSSImageValue):
(WebCore::CSSImageValue::~CSSImageValue):
(WebCore::CSSImageValue::isPending):
(WebCore::CSSImageValue::loadImage):
(WebCore::CSSImageValue::traverseSubresources):
(WebCore::CSSImageValue::knownToBeOpaque):
(WebCore::CSSImageValue::styleImage): Deleted.
- css/CSSImageValue.h:
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueContent):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::styleCachedImageFromValue):
(WebCore::StyleResolver::styleGeneratedImageFromValue):
(WebCore::StyleResolver::cachedOrPendingFromValue): Deleted.
(WebCore::StyleResolver::generatedOrPendingFromValue): Deleted.
(WebCore::StyleResolver::setOrPendingFromValue): Deleted.
(WebCore::StyleResolver::cursorOrPendingFromValue): Deleted.
- css/StyleResolver.h:
- editing/TextIterator.cpp:
(WebCore::fullyClipsContents):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
- rendering/style/FillLayer.cpp:
(WebCore::FillLayer::imagesIdentical):
Compare data equality instead of pointer equality for StyleImages (since StyleImages are no longer shared).
(WebCore::layerImagesIdentical): Deleted.
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::StyleCachedImage):
(WebCore::StyleCachedImage::~StyleCachedImage):
(WebCore::StyleCachedImage::cachedImage):
(WebCore::StyleCachedImage::cssValue):
(WebCore::StyleCachedImage::canRender):
(WebCore::StyleCachedImage::isPending):
(WebCore::StyleCachedImage::isLoaded):
(WebCore::StyleCachedImage::errorOccurred):
(WebCore::StyleCachedImage::imageSize):
(WebCore::StyleCachedImage::imageHasRelativeWidth):
(WebCore::StyleCachedImage::imageHasRelativeHeight):
(WebCore::StyleCachedImage::computeIntrinsicDimensions):
(WebCore::StyleCachedImage::usesImageContainerSize):
(WebCore::StyleCachedImage::setContainerSizeForRenderer):
(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):
(WebCore::StyleCachedImage::image):
(WebCore::StyleCachedImage::knownToBeOpaque):
(WebCore::StyleCachedImage::setCachedImage): Deleted.
- rendering/style/StyleCachedImage.h:
- 1:54 AM Changeset in webkit [205343] by
-
- 3 edits in trunk/Tools
[GTK] Fix compiler warning in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=161529
We were missing a return statement in decidePermissionRequest() and
also there was unused variable in browserWindowConstructed().
Patch by Tomas Popela <tpopela@redhat.com> on 2016-09-02
Reviewed by Carlos Garcia Campos.
- MiniBrowser/gtk/BrowserTab.c:
(decidePermissionRequest):
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowConstructed):
- 12:23 AM Changeset in webkit [205342] by
-
- 2 edits in trunk/Source/WebKit2
Fix GObject bindings build breakage when compiling with ENABLE_USER_TIMING disabled.
Rubber-stamped by Carlos Garcia Campos.
Add additional ENABLE(USER_TIMING) build guards to WebKitDOMPerformance bindings,
avoiding build errors when building with that feature disabled. Previously this
wasn't a problem because the four amended binding functions weren't generated
when the feature was disabled due to the similar use of guards in the Performance.idl
file.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformance.cpp:
(webkit_dom_performance_webkit_mark):
(webkit_dom_performance_webkit_clear_marks):
(webkit_dom_performance_webkit_measure):
(webkit_dom_performance_webkit_clear_measures):
- 12:17 AM Changeset in webkit [205341] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed GTK+ build fix when compiling with Clang.
- WebProcess/WebPage/gtk/AcceleratedSurface.cpp: Include WebPage.h.
Sep 1, 2016:
- 11:17 PM Changeset in webkit [205340] by
-
- 17 edits2 adds in trunk
Only update connected custom elements
https://bugs.webkit.org/show_bug.cgi?id=161480
Reviewed by Yusuke Suzuki.
Source/WebCore:
In the latest specs, creating an element only upgrades an element if the custom element had already been defined:
https://dom.spec.whatwg.org/#concept-create-element
Otherwise, an element remains unresolved until it gets connected to the document associated with the global object:
https://dom.spec.whatwg.org/#concept-node-insert
This patch removes the upgrade candidate map in CustomElementRegistry, and traverses the entire document associated
with global object (DOMWindow) in addElementDefinition: https://html.spec.whatwg.org/#dom-customelementregistry-define
The traversal is done in the shadow-including tree order (different from depth-first preorder traversal of flat tree)
since it doesn't enter slots and children of shadow hosts are always visited even if they are not assigned to a slot:
https://dom.spec.whatwg.org/#concept-shadow-including-tree-order
Test: fast/custom-elements/enqueue-custom-element-upgrade-reaction.html
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::upgradeElement): Assert that the element being upgraded as the same qualified name
as the custom element interface.
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::JSCustomElementRegistry::define): Moved the code to resolve the promise from here to addElementDefinition.
Also cleaned up the code to extract callbacks a little.
- dom/CustomElementReactionQueue.cpp:
(WebCore::CustomElementReactionQueue::enqueueElementUpgrade): Added an assertion.
(WebCore::CustomElementReactionQueue::enqueueElementUpgradeIfDefined): Added. Upgrade an element if the custom element
had already been defined.
- dom/CustomElementReactionQueue.h:
- dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::create): Stores the reference to DOMWindow to find its document in addElementDefinition.
(WebCore::CustomElementRegistry::CustomElementRegistry): Ditto.
(WebCore::enqueueUpgradeInShadowIncludingTreeOrder): Added. Enqueue upgrade reactions in shadow-including tree order.
(WebCore::CustomElementRegistry::addElementDefinition): Upgrade all unresolved elements that matches this definition and
resolve the the promise returned by "whenDefined" if there is any.
(WebCore::CustomElementRegistry::addUpgradeCandidate): Deleted.
(WebCore::CustomElementRegistry::findInterface): Added a new variant that takes an element.
- dom/CustomElementRegistry.h:
- dom/Document.cpp:
(WebCore::createUpgradeCandidateElement): No longer takes DOMWindow since we don't upgrade synchronously here. It's also
wrong not to mark the element as unresolved custom element in a document without a browsing context per new semantics.
(WebCore::createHTMLElementWithNameValidation): Ditto.
(WebCore::createFallbackHTMLElement): Ditto.
- dom/Element.cpp:
(WebCore::Element::insertedInto): Enqueue an upgrade reaction if this is an unsolved custom element and there is now
a definition for it (the latter condition is checked in enqueueElementUpgradeIfDefined).
- html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::createHTMLElementOrFindCustomElementInterface): Don't upgrade this element until it gets
connected to a document in Element::insertedInto.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::ensureCustomElementRegistry):
LayoutTests:
Added a W3c-style testharness.js test for https://html.spec.whatwg.org/#enqueue-a-custom-element-upgrade-reaction
and added more test cases for :defined and customElements.define.
- fast/custom-elements/CustomElementRegistry.html: Revised descriptions for "get" and "whenDefined" test cases consistent
with ones for "define".
- fast/custom-elements/defined-pseudo-class-expected.txt:
- fast/custom-elements/defined-pseudo-class.html:
- fast/custom-elements/enqueue-custom-element-upgrade-reaction-expected.txt: Added.
- fast/custom-elements/enqueue-custom-element-upgrade-reaction.html: Added.
- fast/custom-elements/resources/document-types.js:
(create):
- 9:41 PM Changeset in webkit [205339] by
-
- 2 edits in trunk/LayoutTests
[EFL] Mark failing tests to failure
Unreviewed EFL gardening.
Failing tests of security, hyphenation, and form are marked to failure.
- platform/efl/TestExpectations:
- 9:02 PM Changeset in webkit [205338] by
-
- 12 edits in tags/Safari-603.1.4.0.1
Merged r205333. rdar://problem/28129826
- 8:59 PM Changeset in webkit [205337] by
-
- 5 edits in tags/Safari-603.1.4.0.1/Source
Versioning.
- 8:57 PM Changeset in webkit [205336] by
-
- 1 copy in tags/Safari-603.1.4.0.1
New tag.
- 8:42 PM Changeset in webkit [205335] by
-
- 11 edits in trunk/Source
Add toJS for JSC::PrivateName
https://bugs.webkit.org/show_bug.cgi?id=161522
Reviewed by Ryosuke Niwa.
Source/JavaScriptCore:
Add the export annotation.
And we perform refactoring RefPtr<SymbolImpl> => Ref<SymbolImpl> for PrivateName,
since PrivateName never holds null SymbolImpl pointer. And along with this change,
we changed SymbolImpl* to SymbolImpl& in PrivateName::uid() callers.
- runtime/Completion.cpp:
(JSC::createSymbolForEntryPointModule):
- runtime/IdentifierInlines.h:
(JSC::Identifier::fromUid):
- runtime/JSFunction.cpp:
(JSC::JSFunction::setFunctionName):
- runtime/PrivateName.h:
(JSC::PrivateName::PrivateName):
(JSC::PrivateName::uid): Ugly const_cast. But const annotation is meaningless for SymbolImpl.
StringImpl should be observed as an immutable object. (Of course, its hash members etc. are mutable.
But most of the users (One of the exceptions is the concurrent JIT compiling thread!) should not care about this.)
(JSC::PrivateName::operator==):
(JSC::PrivateName::operator!=):
- runtime/PropertyName.h:
(JSC::PropertyName::PropertyName):
- runtime/Symbol.cpp:
(JSC::Symbol::finishCreation):
- runtime/Symbol.h:
- runtime/SymbolConstructor.cpp:
(JSC::symbolConstructorKeyFor):
Source/WebCore:
JSC::PrivateName is the wrapper to create and hold the ES6 Symbol instance.
This patch adds toJS support for JSC::PrivateName.
Later, the module integration patch will use this feature to call
DeferredWrapper::{resolve,reject} with JSC::PrivateName.
- bindings/js/JSDOMBinding.h:
(WebCore::toJS):
- 8:37 PM Changeset in webkit [205334] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, build fix after r205327
- UIProcess/API/gtk/WebKitUIClient.cpp:
- 8:25 PM Changeset in webkit [205333] by
-
- 12 edits in trunk
Build fix.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
- Configurations/WebCore.xcconfig:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 7:43 PM Changeset in webkit [205332] by
-
- 3 edits in trunk/Source/JavaScriptCore
jsc: fix cmake build missing symbol getPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=161521
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Saam Barati.
- runtime/IntlDateTimeFormat.cpp: include JSCInlines.h
- runtime/IntlNumberFormat.cpp: include JSCInlines.h
- 6:22 PM Changeset in webkit [205331] by
-
- 2 edits in trunk/LayoutTests
[EFL] Gardening faliure and timeout tests on 2th Sep.
Unreviewed EFL gardening.
- platform/efl/TestExpectations:
- 6:19 PM Changeset in webkit [205330] by
-
- 12 edits1 copy1 add in trunk/Source/JavaScriptCore
jsc: provide printErr()
https://bugs.webkit.org/show_bug.cgi?id=161513
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Mark Lam.
- jsc.cpp:
(GlobalObject::finishCreation):
(printInternal): renamed from functionPrint, add error checking
(functionPrintStdOut): punt to printInternal
(functionPrintStdErr): punt to printInternal
(functionPrint): Deleted.
- 6:16 PM Changeset in webkit [205329] by
-
- 21 edits2 copies in trunk/Tools
Provide a TestWebKitAPI-wide WKNavigationDelegate to simplify tests
https://bugs.webkit.org/show_bug.cgi?id=161413
Reviewed by Simon Fraser.
Add TestNavigationDelegate, which provides block properties to make
writing tests feel a little more natural (the callbacks can be inline),
and also add WKWebView _test_waitForDidFinishNavigation, so that many
tests don't even need to manually allocate a navigation delegate at all.
Adopt in some of the simpler tests; there are a few navigation delegates
left behind, which we can move to the new model in the future.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/WKBackForwardList.mm:
(TEST):
(-[WKBackForwardListTestNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/AlwaysRevalidatedURLSchemes.mm:
(TEST):
(-[AlwaysRevalidatedURLSchemesDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
(animatedResizeWebView):
(-[AnimatedResizeNavigationDelegate _webView:renderingProgressDidChange:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:
(-[AutoLayoutWKWebView initWithFrame:configuration:]):
(-[AutoLayoutWKWebView load:withWidth:expectingContentSize:resettingWidth:]):
(TEST):
(-[AutoLayoutNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresource.mm:
(TEST):
(-[CancelFontSubresourceNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/CommandBackForward.mm:
(WebKit2_CommandBackForwardTestWKWebView::SetUp):
(WebKit2_CommandBackForwardTestWKWebView::loadFiles):
(TEST_F):
(-[CommandBackForwardNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
(expectLinkCount):
(TEST):
(-[DataDetectionNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm:
(TEST):
(-[FindInPageNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/FixedLayoutSize.mm:
(TEST):
(-[FixedLayoutSizeNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill.mm:
(TEST):
(-[DatabaseProcessKillNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence.mm:
(-[IndexedDBNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/ProvisionalURLNotChange.mm:
(TEST):
(-[ProvisionalURLNotChangeController webView:didFinishNavigation:]): Deleted.
(-[ProvisionalURLNotChangeController webView:didFailProvisionalNavigation:withError:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm:
(RequiresUserActionForPlaybackTest::createWebView):
(RequiresUserActionForPlaybackTest::testVideoWithAudio):
(RequiresUserActionForPlaybackTest::testVideoWithoutAudio):
(RequiresUserActionForPlaybackTest::testAudioOnly):
(-[RequiresUserActionForPlaybackNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/ShrinkToFit.mm:
(TEST):
(-[ShrinkToFitNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
(TEST):
(webViewForScriptMessageHandlerMultipleHandlerRemovalTest):
- TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorld.mm:
(TEST):
(-[SimpleDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewResizeCrash.mm:
(TEST):
(-[WKPDFViewResizeNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewEvaluateJavaScript.mm:
(TEST):
(-[EvaluateJavaScriptNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewTextInput.mm:
(TEST):
(-[DummyNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/cocoa/TestNavigationDelegate.h: Added.
- TestWebKitAPI/cocoa/TestNavigationDelegate.mm: Added.
(-[TestNavigationDelegate webView:didFailProvisionalNavigation:withError:]):
(-[TestNavigationDelegate webView:didFinishNavigation:]):
(-[TestNavigationDelegate _webView:renderingProgressDidChange:]):
(-[TestNavigationDelegate waitForDidFinishNavigation]):
(-[WKWebView _test_waitForDidFinishNavigation]):
- 6:01 PM Changeset in webkit [205328] by
-
- 2 edits in trunk/Source/JavaScriptCore
jsc: provide printErr()
https://bugs.webkit.org/show_bug.cgi?id=161513
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Mark Lam.
- jsc.cpp:
(GlobalObject::finishCreation):
(printInternal): renamed from functionPrint, add error checking
(functionPrintStdOut): punt to printInternal
(functionPrintStdErr): punt to printInternal
(functionPrint): Deleted.
- 4:43 PM Changeset in webkit [205327] by
-
- 5 edits in trunk/Source/WebKit2
Use WTF::Function for completion handlers in API::UIClient
https://bugs.webkit.org/show_bug.cgi?id=161516
Reviewed by Tim Horton.
- UIProcess/API/APIUIClient.h:
(API::UIClient::runJavaScriptAlert):
(API::UIClient::runJavaScriptConfirm):
(API::UIClient::runJavaScriptPrompt):
(API::UIClient::runBeforeUnloadConfirmPanel):
(API::UIClient::exceededDatabaseQuota):
(API::UIClient::reachedApplicationCacheOriginQuota):
- UIProcess/API/C/WKPage.cpp:
(WebKit::RunBeforeUnloadConfirmPanelResultListener::create):
(WebKit::RunBeforeUnloadConfirmPanelResultListener::RunBeforeUnloadConfirmPanelResultListener):
(WebKit::RunJavaScriptAlertResultListener::create):
(WebKit::RunJavaScriptAlertResultListener::RunJavaScriptAlertResultListener):
(WebKit::RunJavaScriptConfirmResultListener::create):
(WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener):
(WebKit::RunJavaScriptPromptResultListener::create):
(WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener):
(WKPageSetPageUIClient):
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
(WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota):
- 4:04 PM Changeset in webkit [205326] by
-
- 8 edits in trunk
YouTube Flash plug-in replacement facility should not insert showinfo=0 into iframe URLs
https://bugs.webkit.org/show_bug.cgi?id=161478
<rdar://problem/28050847>
Patch by Ricky Mondello <Ricky Mondello> on 2016-09-01
Reviewed by Eric Carlson.
Source/WebCore:
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL): Stop adding the query parameter.
Tools:
- TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
(TestWebKitAPI::TEST_F): Update expected results.
LayoutTests:
- platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-expected.txt: Update the URL that was blocked.
- platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-no-height-or-width-expected.txt: Ditto.
- security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement-expected.txt: Ditto.
- 3:45 PM Changeset in webkit [205325] by
-
- 4 edits in trunk/Source/WTF
Use BlockPtr::fromCallable in WorkQueue::dispatch and WorkQueue::dispatchAfter
https://bugs.webkit.org/show_bug.cgi?id=161512
Reviewed by Chris Dumez.
This lets us get rid of leakCallable and adoptCallable.
- wtf/BlockPtr.h:
- wtf/Function.h:
- wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):
- 3:34 PM Changeset in webkit [205324] by
-
- 26 edits1 add in trunk/Source
Move some JSObject and JSArray inline functions to their respective Inlines.h files.
https://bugs.webkit.org/show_bug.cgi?id=161499
Reviewed by Saam Barati.
Source/JavaScriptCore:
This is just a refactoring patch to move some inline functions to their Inlines.h
files. This will be needed to enable https://bugs.webkit.org/show_bug.cgi?id=161498
later.
- bindings/ScriptValue.cpp:
- interpreter/Interpreter.cpp:
- runtime/IntlDateTimeFormatPrototype.cpp:
- runtime/IntlNumberFormatPrototype.cpp:
- runtime/JSArray.cpp:
- runtime/JSArray.h:
(JSC::getLength): Deleted.
(JSC::toLength): Deleted.
- runtime/JSArrayInlines.h:
(JSC::JSArray::mergeIndexingTypeForCopying):
(JSC::JSArray::canFastCopy):
(JSC::getLength):
(JSC::toLength):
- runtime/JSInternalPromise.cpp:
- runtime/JSInternalPromiseDeferred.cpp:
- runtime/JSJob.cpp:
- runtime/JSModuleRecord.cpp:
- runtime/JSObject.h:
(JSC::JSObject::getPropertySlot): Deleted.
(JSC::JSObject::getNonIndexPropertySlot): Deleted.
- runtime/JSObjectInlines.h:
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):
- runtime/JSPromiseDeferred.cpp:
- runtime/JSTypedArrayViewPrototype.cpp:
- runtime/MapConstructor.cpp:
- runtime/SamplingProfiler.cpp:
- runtime/SetConstructor.cpp:
- runtime/WeakMapConstructor.cpp:
- runtime/WeakSetConstructor.cpp:
Source/WebCore:
No new tests because there is no behavior change.
- ForwardingHeaders/runtime/JSObjectInlines.h: Added.
- bindings/js/JSDOMBinding.h:
- bindings/js/JSSQLTransactionCustom.cpp:
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
- contentextensions/ContentExtensionParser.cpp:
- 3:13 PM Changeset in webkit [205323] by
-
- 2 edits in trunk/Source/WebCore
Fix ENABLE(CSS_GRID_LAYOUT) guards harder after r205102/r205292
Unreviewed. Silence unused function warning.
- css/CSSComputedStyleDeclaration.cpp:
- 3:11 PM Changeset in webkit [205322] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Add visual indicator for shadow content in DOM tree
https://bugs.webkit.org/show_bug.cgi?id=160874
Patch by Devin Rousso <Devin Rousso> on 2016-09-01
Reviewed by Brian Burg.
- UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
(WebInspector.DOMTreeElement.prototype._buildTagDOM):
Moved "shadow" class to parent element to allow easier styling.
- UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom):
(.tree-outline.dom li):
(.tree-outline.dom .shadow):
(.tree-outline.dom li.parent.shadow::after):
(.tree-outline.dom li.parent.shadow + ol.children.expanded):
(.tree-outline.dom .html-fragment.shadow): Deleted.
- 3:08 PM Changeset in webkit [205321] by
-
- 10 edits4 adds in trunk
GetByIdWithThis/GetByValWithThis should have ValueProfiles so that they can predict their result types
https://bugs.webkit.org/show_bug.cgi?id=160922
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Keith Miller.
JSTests:
Benchmark GetBy{Id,Val}WithThis in monomorphic and polymorphic uses.
The value profile is used by the calc functions, which do some mild math with the result.
These benchmarks get ~4% faster with value profiling.
- microbenchmarks/super-get-by-id-with-this-monomorphic.js: Added.
(A):
(A.prototype.set value):
(A.prototype.get value):
(B.prototype.set value):
(B.prototype.get value):
(B):
(const.bench):
- microbenchmarks/super-get-by-id-with-this-polymorphic.js: Added.
(A):
(A.prototype.set value):
(A.prototype.get value):
(B.prototype.set value):
(B.prototype.get value):
(B):
(const.bench):
- microbenchmarks/super-get-by-val-with-this-monomorphic.js: Added.
(value):
(A):
(A.prototype.set v):
(A.prototype.get v):
(B.prototype.set v):
(B.prototype.get v):
(B):
(const.bench):
- microbenchmarks/super-get-by-val-with-this-polymorphic.js: Added.
(value):
(A):
(A.prototype.set v):
(A.prototype.get v):
(B.prototype.set v):
(B.prototype.get v):
(B):
(const.bench):
Source/JavaScriptCore:
Add value profiling to GetBy{Id,Val}WithThis.
- bytecode/BytecodeList.json:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finishCreation):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::emitGetByVal):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
- dfg/DFGPredictionPropagationPhase.cpp:
- llint/LowLevelInterpreter.asm:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- 3:05 PM Changeset in webkit [205320] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Value checks of secondsPerPixel cause errors
https://bugs.webkit.org/show_bug.cgi?id=161304
<rdar://problem/28050070>
Reviewed by Brian Burg.
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype.reset):
Clear resource node map, which is used to determine which nodes
to refresh during layout.
(WebInspector.NetworkTimelineView.prototype.layout):
Like OverviewTimelineView, only refresh node graphs when times change.
This prevents refreshing nodes when (endTime - startTime) === 0.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._recordingReset):
TimelineViews must be cleared before calling _updateTimes to avoid
doing layouts in timeline views containing stale data.
- 3:03 PM Changeset in webkit [205319] by
-
- 5 edits in trunk
Web Inspector: add Object.awaitEvent which is like singleFireEventListener but returns a promise
https://bugs.webkit.org/show_bug.cgi?id=161451
Patch by Devin Rousso <Devin Rousso> on 2016-09-01
Reviewed by Brian Burg.
Source/WebInspectorUI:
- UserInterface/Base/Object.js:
(WebInspector.Object.awaitEvent):
(WebInspector.Object.prototype.awaitEvent):
LayoutTests:
- inspector/unit-tests/object-expected.txt:
- inspector/unit-tests/object.html:
- 2:50 PM Changeset in webkit [205318] by
-
- 3 edits in trunk/Source/WebCore
Avoid unneeded string copy when parsing URL hosts
https://bugs.webkit.org/show_bug.cgi?id=161511
Reviewed by Tim Horton.
No change in behavior. Covered by existing API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::parseAuthority):
(WebCore::URLParser::parseHost):
(WebCore::URLParser::authorityEndReached): Deleted.
(WebCore::URLParser::hostEndReached): Deleted.
- platform/URLParser.h:
- 2:45 PM Changeset in webkit [205317] by
-
- 2 edits in trunk/JSTests
arith-abs-on-various-types.js is flaky
Unreviewed.
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-01
- stress/arith-abs-on-various-types.js:
Two compilation is too small for the worst case.
Math.abs() can be typed integer->number->untyped if we are very unlucky.
- 2:18 PM Changeset in webkit [205316] by
-
- 3 edits in trunk/LayoutTests
Fix a typo in the previous commit. I didn't mean to comment out this test case I added per a review comment.
- fast/custom-elements/CustomElementRegistry-expected.txt:
- fast/custom-elements/CustomElementRegistry.html:
- 2:16 PM Changeset in webkit [205315] by
-
- 8 edits in trunk
Add "whenDefined" to CustomElementRegistry
https://bugs.webkit.org/show_bug.cgi?id=161425
Reviewed by Yusuke Suzuki.
Source/WebCore:
Add the support for "whenDefined" method on CustomElementRegistry:
https://html.spec.whatwg.org/#dom-customelementregistry-whendefined
Because it needs to store the newly created promise when the queried custom element has not been defined yet,
we need to write custom binding code instead of relying on the binding generator.
Tests: fast/custom-elements/CustomElementRegistry.html
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::validateCustomElementNameAndThrowIfNeeded): Extracted out of JSCustomElementRegistry::define.
(WebCore::JSCustomElementRegistry::define): Fulfill the "whenDefined" promise when the definition succeeds.
(WebCore::whenDefinedPromise): Added. Return an existing promise if there is one, or create a new promise.
We cache the created promise only if the custom element had not been defined yet since we'll indefinitely
retain the resolved promise otherwise.
(WebCore::JSCustomElementRegistry::whenDefined): Added. Calls whenDefinedPromise and returns a rejected
promise when there was an exception.
- dom/CustomElementRegistry.cpp:
- dom/CustomElementRegistry.h:
(WebCore::CustomElementRegistry::promiseMap): Added.
- dom/CustomElementRegistry.idl:
LayoutTests:
Added test cases for "whenDefined" method.
- fast/custom-elements/CustomElementRegistry-expected.txt:
- fast/custom-elements/CustomElementRegistry.html:
- 2:04 PM Changeset in webkit [205314] by
-
- 4 edits2 adds in trunk
Web Inspector: Minification detection produces false positives for small resources
https://bugs.webkit.org/show_bug.cgi?id=161159
<rdar://problem/27995306>
Reviewed by Brian Burg.
Source/WebInspectorUI:
Improve minification detection algorithm. Minified resources rarely have tabs and usually
have a very few line breaks. Counting tabs as 4 spaces and line breaks as 8 makes minification
detection heuristic more accurate. Increase ratio thresholds to accommodate for the changes in
whitespaceScore.
- UserInterface/Base/Utilities.js:
(isTextLikelyMinified):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._prepareEditorForInitialContent):
(WebInspector.SourceCodeTextEditor.prototype._isLikelyMinified): Deleted.
LayoutTests:
- inspector/formatting/is-text-likely-minified-expected.txt: Added.
- inspector/formatting/is-text-likely-minified.html: Added.
- 1:40 PM Changeset in webkit [205313] by
-
- 4 edits1 add in trunk
add BlockPtr::fromCallable
https://bugs.webkit.org/show_bug.cgi?id=161504
Reviewed by Tim Horton.
Source/WTF:
BlockPtr::fromCallable lets you create an Objective-C block from any callable object - including lambdas that contain move-only types.
The block will be allocated on the heap so it doesn't ever need to be copied (which is how it can work with move-only types).
- wtf/BlockPtr.h:
Tools:
Add a test.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/BlockPtr.mm: Added.
(TestWebKitAPI::TEST):
- 1:33 PM Changeset in webkit [205312] by
-
- 5 edits in trunk
URLParser should handle . and .. in URL paths
https://bugs.webkit.org/show_bug.cgi?id=161443
Reviewed by Brady Eidson.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::isSingleDotPathSegment):
(WebCore::isDoubleDotPathSegment):
(WebCore::consumeSingleDotPathSegment):
(WebCore::consumeDoubleDotPathSegment):
(WebCore::URLParser::parse):
(WebCore::URLParser::copyURLPartsUntil): Deleted.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::eq):
(TestWebKitAPI::TEST_F):
- 1:23 PM WebKitGTK/2.12.x edited by
- r202940 (diff)
- 1:17 PM Changeset in webkit [205311] by
-
- 6 edits8 copies2 adds1 delete in trunk/Tools
Unreviewed, rolling out r205295 and r205303.
https://bugs.webkit.org/show_bug.cgi?id=161505
Broke the iOS build (Requested by ryanhaddad on #webkit).
Reverted changesets:
"Refactor MobileMiniBrowser into an application framework to
allow external XCTesting"
https://bugs.webkit.org/show_bug.cgi?id=161462
http://trac.webkit.org/changeset/205295
"Unreviewed build-fix; don't specify an explicit deployment
target."
http://trac.webkit.org/changeset/205303
Patch by Commit Queue <commit-queue@webkit.org> on 2016-09-01
- 1:14 PM Changeset in webkit [205310] by
-
- 2 edits in trunk
Update root .gitignore for latest WebKitLibraries
https://bugs.webkit.org/show_bug.cgi?id=161501
Reviewed by Alex Christensen.
- .gitignore:
- 1:04 PM Changeset in webkit [205309] by
-
- 14 edits in trunk/Source/JavaScriptCore
Rename WASM classes dropping the WASM prefix
https://bugs.webkit.org/show_bug.cgi?id=161500
Reviewed by Mark Lam.
Having to write WASM::WASMModule seems silly. Also, this patch
merges WASMFunctionReturnType and WASMValueType into one type
that is a typedef of B3::Type. Using B3::Type as the WASM
primitive type makes it trivial to convert a Vector of WASM
types into a Vector of B3 types.
- b3/B3Type.h:
- wasm/JSWASMModule.h:
(JSC::JSWASMModule::signatures):
(JSC::JSWASMModule::functionImports):
(JSC::JSWASMModule::functionImportSignatures):
(JSC::JSWASMModule::globalVariableTypes):
(JSC::JSWASMModule::functionDeclarations):
(JSC::JSWASMModule::functionPointerTables):
- wasm/WASMB3IRGenerator.cpp:
(JSC::WASM::toB3Op):
(JSC::WASM::B3IRGenerator::addLocal):
(JSC::WASM::B3IRGenerator::unaryOp):
(JSC::WASM::B3IRGenerator::binaryOp):
(JSC::WASM::B3IRGenerator::addConstant):
(JSC::WASM::parseAndCompile):
- wasm/WASMB3IRGenerator.h:
- wasm/WASMFormat.h:
- wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser<Context>::FunctionParser):
(JSC::WASM::FunctionParser<Context>::parse):
(JSC::WASM::FunctionParser<Context>::parseBlock):
(JSC::WASM::FunctionParser<Context>::parseExpression):
(JSC::WASM::WASMFunctionParser<Context>::WASMFunctionParser): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::parse): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::parseBlock): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::parseExpression): Deleted.
- wasm/WASMModuleParser.cpp:
(JSC::WASM::ModuleParser::parse):
(JSC::WASM::ModuleParser::parseFunctionTypes):
(JSC::WASM::ModuleParser::parseFunctionSignatures):
(JSC::WASM::ModuleParser::parseFunctionDefinitions):
(JSC::WASM::WASMModuleParser::parse): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionTypes): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionSignatures): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionDefinitions): Deleted.
- wasm/WASMModuleParser.h:
(JSC::WASM::ModuleParser::ModuleParser):
(JSC::WASM::ModuleParser::functionInformation):
(JSC::WASM::WASMModuleParser::WASMModuleParser): Deleted.
(JSC::WASM::WASMModuleParser::functionInformation): Deleted.
- wasm/WASMOps.h:
- wasm/WASMParser.h:
(JSC::WASM::Parser::Parser):
(JSC::WASM::Parser::consumeCharacter):
(JSC::WASM::Parser::consumeString):
(JSC::WASM::Parser::parseUInt32):
(JSC::WASM::Parser::parseUInt7):
(JSC::WASM::Parser::parseVarUInt1):
(JSC::WASM::Parser::parseValueType):
(JSC::WASM::WASMParser::WASMParser): Deleted.
(JSC::WASM::WASMParser::consumeCharacter): Deleted.
(JSC::WASM::WASMParser::consumeString): Deleted.
(JSC::WASM::WASMParser::parseUInt32): Deleted.
(JSC::WASM::WASMParser::parseUInt7): Deleted.
(JSC::WASM::WASMParser::parseVarUInt1): Deleted.
(JSC::WASM::WASMParser::parseValueType): Deleted.
- wasm/WASMPlan.cpp:
(JSC::WASM::Plan::Plan):
- wasm/WASMSections.cpp:
(JSC::WASM::Sections::lookup):
(JSC::WASM::WASMSections::lookup): Deleted.
- wasm/WASMSections.h:
(JSC::WASM::Sections::validateOrder):
(JSC::WASM::WASMSections::validateOrder): Deleted.
- 12:48 PM Changeset in webkit [205308] by
-
- 2 edits in trunk/Source/WebCore
Fix Mac CMake build.
- PlatformMac.cmake:
- 12:32 PM Changeset in webkit [205307] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION (r201454): Web Inspector: Text caret isn't visible when editing an attribute
https://bugs.webkit.org/show_bug.cgi?id=160986
<rdar://problem/27916207>
Reviewed by Brian Burg.
- UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom li .selection-area):
(.tree-outline.dom li > span):
Place selection area under the edited field, the way it was before r201454.
- 12:27 PM Changeset in webkit [205306] by
-
- 4 edits in trunk
YouTube Flash plug-in replacement facility should more gracefully handle malformed queries
https://bugs.webkit.org/show_bug.cgi?id=161476
<rdar://problem/28050847>
Patch by Ricky Mondello <Ricky Mondello> on 2016-09-01
Reviewed by Eric Carlson.
Source/WebCore:
Some YouTube Flash embeds use '&' instead of '?' to start the query portion of the URL. Before this patch,
our implementation discards all parts of the path after the '&', which could drop important query information
like the start time for the video. This patch treats anything after that '&' as a "malformed query" and uses
it as the query to restore to the transformed URL if there was no actual query in the original URL.
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::processAndCreateYouTubeURL): Add an out-parameter for the path after the first ampersand.
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL): If the input URL had no query, append
the possibly malformed one found after the first ampersand to the replacement URL.
Tools:
- TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
(TestWebKitAPI::TEST_F): New tests. The first two and second-to-last test cases cover the "malformed" query
logic. A few other tests are added, too.
- 12:23 PM Changeset in webkit [205305] by
-
- 2 edits in trunk/Source/WebKit2
Fix cmake build, missing SecItemShim.messages.in
https://bugs.webkit.org/show_bug.cgi?id=161496
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Alex Christensen.
- PlatformMac.cmake:
- 11:55 AM Changeset in webkit [205304] by
-
- 3 edits2 adds in trunk
ObjectAllocationSinkingPhase::insertOSRHintsForUpdate() fails to emit updated hints in some cases
https://bugs.webkit.org/show_bug.cgi?id=161492
Reviewed by Mark Lam.
JSTests:
This bug affected function->activation references but not object->object field references,
because object->object field references are !neededForMaterialization(). So, the object
test always passed but the activation/function test used to always fail. It passes now.
- stress/materialize-activation-referenced-from-phantom-function.js: Added.
(bar):
(inc):
(dec):
(foo):
(test):
- stress/materialize-object-referenced-from-phantom-object.js: Added.
(bar):
(foo):
(test):
Source/JavaScriptCore:
If you materialize a sunken object that is referenced from another sunken object, then you
have to emit a PutHint to tell OSR that the latter object now refers to a materialized
object rather than to the old sunken one.
The ObjectAllocationSinkingPhase totally knows how to do this, but for some reason it only
did it when the PromotedLocationDescriptor for the field used for referring to the other
object is !neededForMaterialization(), i.e. it's a NamedPropertyPLoc or a ClosureVarPLoc.
I can sort of imagine why we thought that would be right - neededForMaterialization() means
it's a special meta-data field initialized on construction. But just because it's immutable
and special doesn't mean that materialization can't change its physical representation.
Removing the requirement that it's !neededForMaterialization() fixes the test and doesn't
regress anything.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- 11:44 AM Changeset in webkit [205303] by
-
- 2 edits in trunk/Tools
Unreviewed build-fix; don't specify an explicit deployment target.
- MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
- 11:38 AM Changeset in webkit [205302] by
-
- 2 edits1 delete in trunk/Source/WebCore
Fix Mac CMake build after r205266.
- PlatformMac.cmake:
- platform/cocoa/URLParserCocoa.mm: Removed.
- 11:34 AM Changeset in webkit [205301] by
-
- 7 edits in trunk
Unreviewed, rolling out r205297.
Caused some JSC test failures
Reverted changeset:
"Align cross-origin proto getter / setter behavior with the
specification"
https://bugs.webkit.org/show_bug.cgi?id=161455
http://trac.webkit.org/changeset/205297
- 11:19 AM Changeset in webkit [205300] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: tweak one UIString for "reasons for compositing"
https://bugs.webkit.org/show_bug.cgi?id=161495
<rdar://problem/13718387>
Reviewed by Simon Fraser.
Change "Element establishes a stacking context" to "Element may overlap other compositing element".
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons):
(WebInspector.LayerTreeDetailsSidebarPanel):
- 11:08 AM Changeset in webkit [205299] by
-
- 4 edits in trunk/Source/WebKit2
[Mac] Web Inspector: Remove stale inspector process termination code
https://bugs.webkit.org/show_bug.cgi?id=161465
<rdar://problem/28106584>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-01
Reviewed by Brian Burg.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess): Deleted.
- UIProcess/WebInspectorProxy.h:
- UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter didRelaunchProcess]): Deleted.
(-[WKWebInspectorWKWebView _didRelaunchProcess]): Deleted.
This code doesn't appear to be run when the WebContent process inside
of an Inspector process crashes. The general WebInspectorProxy has its
own handling of when the page inside an inspector process crashes, so
this Mac specific path appears to be unused and stale.
- 11:00 AM Changeset in webkit [205298] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 10:48 AM Changeset in webkit [205297] by
-
- 7 edits in trunk
Align cross-origin proto getter / setter behavior with the specification
https://bugs.webkit.org/show_bug.cgi?id=161455
Reviewed by Mark Lam.
Source/JavaScriptCore:
Align cross-origin proto getter / setter behavior with the specification:
The setter should throw a TypeError:
- https://html.spec.whatwg.org/#windowproxy-setprototypeof
- https://html.spec.whatwg.org/#location-setprototypeof
- https://tc39.github.io/ecma262/#sec-object.setprototypeof (step 5)
The getter should return null:
- https://html.spec.whatwg.org/#windowproxy-getprototypeof
- https://html.spec.whatwg.org/#location-getprototypeof
I have verified that this aligns our behavior with Firefox and Chrome.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::GlobalFuncProtoGetterFunctor::operator()):
(JSC::globalFuncProtoSetter):
LayoutTests:
Add layout test coverage.
- http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf.html:
- http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-setPrototypeOf.html:
- 10:33 AM Changeset in webkit [205296] by
-
- 2 edits in trunk/LayoutTests
Marking media/video-main-content-allow-then-scroll.html as flaky on ios-simulator-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161491
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 10:32 AM Changeset in webkit [205295] by
-
- 6 edits2 copies7 moves9 adds1 delete in trunk/Tools
Refactor MobileMiniBrowser into an application framework to allow external XCTesting
https://bugs.webkit.org/show_bug.cgi?id=161462
Reviewed by Eric Carlson.
XCTest targets need to be in the same project as the application which they're testing. To facilitate
having external projects with XCTest targets, move the application's implementation into a framework
that can be included with a bare-bones application shell for testing.
Simultaneously, add the ability to load files from within the new framework's bundle by using a
'bundle:/' URL scheme. Update the tests to use this new bundle URL and remove the dependency on
an external server for testing.
- MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
- MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard:
- MobileMiniBrowser/MobileMiniBrowser/Info.plist:
- MobileMiniBrowser/MobileMiniBrowser/main.m:
- MobileMiniBrowser/MobileMiniBrowserFramework/AppDelegate.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/AppDelegate.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.m.
(-[AppDelegate application:didFinishLaunchingWithOptions:]): Manually instantiate the main view
controller from the framework's bundle.
- MobileMiniBrowser/MobileMiniBrowserFramework/Assets.xcassets/AppIcon.appiconset/Contents.json: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/Assets.xcassets/AppIcon.appiconset/Contents.json.
- MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/Base.lproj/Main.storyboard.
- MobileMiniBrowser/MobileMiniBrowserFramework/Info.plist: Added.
- MobileMiniBrowser/MobileMiniBrowserFramework/MobileMiniBrowser.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/TabViewController.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/TabViewController.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/TabViewController.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/TabViewController.m.
- MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/WebViewController.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/WebViewController.m.
(+[NSURL bundleURLForFileURL:bundle:]): Add utility method.
(+[NSURL fileURLForBundleURL:bundle:]): Ditto.
(-[WebViewController navigateTo:]): Support loading "bundle:/" URLs which are really just "file:" URLs
pointing to the framework's resources directory.
(-[WebViewController observeValueForKeyPath:ofObject:change:context:]): Ditto.
- MobileMiniBrowser/MobileMiniBrowserUITests/MobileMiniBrowserUITests.m:
(-[MobileMiniBrowserUITests testBasicVideoPlayback]):
- 10:31 AM Changeset in webkit [205294] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Fix configuration without wayland support
https://bugs.webkit.org/show_bug.cgi?id=161475
WebKit2WaylandClientProtocol.c is a derived source that is created
conditionally on ENABLE_WAYLAND_TARGET. It was being included
in the sources list unconditionally, so configure failed whenever
wayland support was unavailable.
Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-09-01
Reviewed by Žan Doberšek.
- PlatformGTK.cmake: Include WebKit2WaylandClientProtocol.c in source list conditional on ENABLE_WAYLAND_TARGET
- 10:10 AM Changeset in webkit [205293] by
-
- 1 edit1 add in trunk/LayoutTests
Add ios-simulator baseline for compositing/layer-creation/will-change-on-normal-flow-content.html.
https://bugs.webkit.org/show_bug.cgi?id=161490
Unreviewed test gardening.
- platform/ios-simulator/compositing/layer-creation/will-change-on-normal-flow-content-expected.txt:
- Added.
- 9:51 AM Changeset in webkit [205292] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed build fix after r205102.
The change made in r205102 caused compilation failures on
builds with the CSS_GRID_LAYOUT compilation flag disabled.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::resolveJustifySelfAuto): Deleted.
- css/CSSPropertyNames.in:
- css/parser/CSSParser.cpp:
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
- 7:54 AM Changeset in webkit [205291] by
-
- 2 edits in trunk/Source/WebCore
Fix the Mac cmake clean build issue
https://bugs.webkit.org/show_bug.cgi?id=157261
Patch by Fujii Hironori <Fujii Hironori> on 2016-09-01
Reviewed by Michael Catanzaro.
Building WebCoreDerivedSources target failed due to the race
condition with building ForwardingHeaders of JavaScriptCore.
- CMakeLists.txt: Make WebCoreDerivedSources depends on JavaScriptCore.
- 7:22 AM Changeset in webkit [205290] by
-
- 4 edits in trunk/Source/WebCore
FocusController should pass KeyboardEvent around by reference.
<https://webkit.org/b/161461>
Reviewed by Sam Weinig.
Clean up FocusController to pass KeyboardEvent& around internally.
Also make FocusController::setInitialFocus() synthesize a dummy KeyboardEvent
if one isn't provided, just like nextFocusableElement()/previousFocusableElement() does.
This way we can feel confident about dereferencing the formerly KeyboardEvent* everywhere.
- page/EventHandler.cpp:
(WebCore::EventHandler::defaultArrowEventHandler):
(WebCore::EventHandler::defaultTabEventHandler):
- page/FocusController.cpp:
(WebCore::isFocusableElementOrScopeOwner):
(WebCore::isNonFocusableScopeOwner):
(WebCore::isFocusableScopeOwner):
(WebCore::shadowAdjustedTabIndex):
(WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
(WebCore::FocusController::setInitialFocus):
(WebCore::FocusController::advanceFocus):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableElementAcrossFocusScope):
(WebCore::FocusController::findFocusableElementWithinScope):
(WebCore::FocusController::nextFocusableElementWithinScope):
(WebCore::FocusController::previousFocusableElementWithinScope):
(WebCore::FocusController::findFocusableElementOrScopeOwner):
(WebCore::FocusController::findElementWithExactTabIndex):
(WebCore::nextElementWithGreaterTabIndex):
(WebCore::previousElementWithLowerTabIndex):
(WebCore::FocusController::nextFocusableElement):
(WebCore::FocusController::previousFocusableElement):
(WebCore::FocusController::nextFocusableElementOrScopeOwner):
(WebCore::FocusController::previousFocusableElementOrScopeOwner):
(WebCore::FocusController::findFocusCandidateInContainer):
(WebCore::FocusController::advanceFocusDirectionallyInContainer):
(WebCore::FocusController::advanceFocusDirectionally):
- page/FocusController.h:
- 7:14 AM Changeset in webkit [205289] by
-
- 8 edits in trunk
[Streams API] Align internal structure of ReadableStream with spec
https://bugs.webkit.org/show_bug.cgi?id=160299
Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2016-09-01
Reviewed by Xabier Rodriguez-Calvar.
LayoutTests/imported/w3c:
Aligned internal structure of ReadableStream with spec. Fixed one expectation
that was set to FAIL while it is now PASSing.
- web-platform-tests/streams/readable-streams/general.https-expected.txt:
Source/WebCore:
Aligned internal structure of ReadableStream with spec. Various
internal properties have been moved to ReadableStreamDefaultController.
In addition, various behaviors had to be updated. Several other changes
will have to be performed in order to align with spec, e.g. changing
functions names. This patch does not change them in order to make the
structural changes easier to follow.
No change in functionality except support for 1 specific case where
an error was not thrown while it should have been. Changed corresponding
test expectation (now PASS instead of FAIL).
Modified test expectation: web-platform-tests/streams/readable-streams/general.https-expected.txt
- Modules/fetch/FetchResponse.js:
(initializeFetchResponse): Replaced reference to underlyingSource as no
more a property of readableStream (use readableStreamController instead,
as defined by spec).
- Modules/streams/ReadableStream.js:
(initializeReadableStream): Removed various properties now hanlded by
ReadableStreamDefaultController.
- Modules/streams/ReadableStreamDefaultController.js:
(enqueue): Updated based on new properties repartition between reader and controller.
(error): Updated based on new properties repartition between reader and controller.
(close): Updated based on new properties repartition between reader and controller.
(desiredSize): Updated based on new properties repartition between reader and controller.
- Modules/streams/ReadableStreamInternals.js:
(privateInitializeReadableStreamDefaultController): Added various properties now handled by
ReadableStreamDefaultController, as well as an internal pull function defined by spec.
(readableStreamDefaultControllerError): Added based on spec (error handling at controller level).
(teeReadableStream): Fixed typo and use readableStreamDefaultControllerError instead of errorReadableStream.
(doStructuredClone): Added "use strict";.
(teeReadableStreamPullFunction): Use readableStreamDefaultControllerClose instead of closeReadableStream.
(isReadableStream): Replaced check of underlyingSource by check that object is actually an instance of
ReadableStream (spec requires checking that readableStreamController slot is present, but this cannot
be checked).
(isReadableStreamDefaultReader): Replaced check of ownerReadableStream presence by check of readRequests,
in line with spec.
(isReadableStreamDefaultController): Replaced check of controlledReadableStream presence by check of unerlyingSource,
in line with spec.
(errorReadableStream): Updated based on new properties repartition between reader and controller.
(requestReadableStreamPull): Updated based on new properties repartition between reader and controller.
(readableStreamDefaultControllerGetDesiredSize): Replaces getReadableStreamDesiredSize (size now depends
on controller; new function name aligned with spec).
(cancelReadableStream): Updated based on new properties repartition between reader and controller.
(readableStreamDefaultControllerClose): Added based on spec (closing controller).
(closeReadableStream): Updated based on new properties repartition between reader and controller.
(enqueueInReadableStream): Updated based on new properties repartition between reader and controller.
(readFromReadableStreamDefaultReader): Updated based on new properties repartition between reader and controller.
- bindings/js/WebCoreBuiltinNames.h: Added pull (internal function of ReadableStreamDefaultController)
and readableStreamController (defined by spec)
- 5:01 AM Changeset in webkit [205288] by
-
- 2 edits in trunk/LayoutTests
Unreviewed. Skip fixed layout tests in GTK+
They are causing a lot of flaky tests because of changes in the viewport controller that are never reset. Once
the actual bug is properly fixed I'll unskip these tests again.
- platform/gtk/TestExpectations:
- 5:00 AM WebKitGTK/2.12.x edited by
- (diff)
- 3:37 AM Changeset in webkit [205287] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix the !ENABLE(SVG_FONTS) and !ENABLE(XSLT) build after r205269.
- loader/LinkLoader.cpp:
(WebCore::createLinkPreloadResourceClient):
- 3:11 AM Changeset in webkit [205286] by
-
- 2 edits in trunk/Source/WebCore
URTBF after r205161 to fix !ENABLE(WEB_TIMING) build.
- bindings/js/JSPerformanceTimingCustom.cpp:
- 2:10 AM Changeset in webkit [205285] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed ARM buildfix after r205283.
- assembler/ARMAssembler.h:
(JSC::ARMAssembler::patchableJumpSize):
- assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::patchableJumpSize):
- 1:26 AM Changeset in webkit [205284] by
-
- 2 edits in trunk/LayoutTests
Calling then on promise in Workers may crash in Debug builds
https://bugs.webkit.org/show_bug.cgi?id=156737
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-01
- TestExpectations: Activating previously skipped fetch api tests in Debug bots
- 1:22 AM Changeset in webkit [205283] by
-
- 8 edits in trunk/Source/JavaScriptCore
JITMathIC was misusing maxJumpReplacementSize
https://bugs.webkit.org/show_bug.cgi?id=161356
<rdar://problem/28065560>
Reviewed by Benjamin Poulain.
JITMathIC was assuming that maxJumpReplacementSize is the size
you'd get if you emitted a patchableJump() using the macro assembler.
This is not true, however. It happens to be true on arm64, x86 and x86-64,
however, it is not true on armv7. This patch introduces an alternative to
maxJumpReplacementSize called patchableJumpSize, and switches JITMathIC
to use that number instead.
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::patchableJumpSize):
(JSC::ARM64Assembler::maxJumpReplacementSize): Deleted.
- assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::patchableJumpSize):
(JSC::ARMv7Assembler::maxJumpReplacementSize): Deleted.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::patchableJumpSize):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::patchableJumpSize):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::patchableJumpSize):
- assembler/X86Assembler.h:
(JSC::X86Assembler::patchableJumpSize):
(JSC::X86Assembler::maxJumpReplacementSize): Deleted.
- jit/JITMathIC.h:
(JSC::JITMathIC::generateInline):
- 12:37 AM Changeset in webkit [205282] by
-
- 18 edits in trunk/Source
Clean up TextRun-related code
https://bugs.webkit.org/show_bug.cgi?id=161473
Reviewed by Simon Fraser.
Source/WebCore:
Some assorted cleanup, including:
- Renaming "AllowTrailingExpansion | ForbidLeadingExpansion" to "DefaultExpansion"
- Migrating from pointers to references
- Migrating from ints to unsigneds
- Using proper character names from CharacterNames.h
- Simplifying CoreTextSPI.h
No new tests because there is no behavior change.
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::TextLayout::isNeeded):
(WebCore::TextLayout::constructTextRun):
- platform/spi/cocoa/CoreTextSPI.h:
- platform/text/TextFlags.h:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
- rendering/RenderBlock.h:
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::getRelativeMarkerRect):
- rendering/RenderMenuList.cpp:
(RenderMenuList::updateOptionsWidth):
- rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::trimmedPrefWidths):
(WebCore::hyphenWidth):
(WebCore::maxWordFragmentWidth):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::width):
- rendering/RenderText.h:
- rendering/RenderThemeIOS.mm:
- rendering/line/BreakingContext.h:
(WebCore::textWidth):
(WebCore::tryHyphenating):
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::offsetForPositionInFragment):
(WebCore::SVGInlineTextBox::selectionRectForTextFragment):
(WebCore::SVGInlineTextBox::localSelectionRect):
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::paint):
(WebCore::SVGInlineTextBox::acquirePaintingResource):
(WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting):
(WebCore::SVGInlineTextBox::constructTextRun):
(WebCore::SVGInlineTextBox::paintDecorationWithStyle):
(WebCore::SVGInlineTextBox::paintTextWithShadows):
(WebCore::SVGInlineTextBox::paintText):
- rendering/svg/SVGInlineTextBox.h:
Source/WebKit/mac:
Remove unused #includes.
- WebCoreSupport/WebDragClient.mm:
- WebView/WebView.mm:
- 12:31 AM Changeset in webkit [205281] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix webkitpy unit tests after r205280.
- Scripts/webkitpy/style/checker_unittest.py:
(GlobalVariablesTest.test_path_rules_specifier):
Aug 31, 2016:
- 11:45 PM Changeset in webkit [205280] by
-
- 65 edits218 copies350 adds5 deletes in trunk
[GTK] Move GObject DOM bindings to WebKit2 layer and stop auto generating them
https://bugs.webkit.org/show_bug.cgi?id=161438
Reviewed by Michael Catanzaro.
.:
- Source/PlatformGTK.cmake:
- Source/cmake/OptionsGTK.cmake:
Source/WebCore:
Remove the scripts to generate GObject DOM bindings and the tests. Also remove all GObject ifdefs from the idl files.
- PlatformGTK.cmake:
- bindings/gobject: Removed.
- bindings/scripts/CodeGeneratorGObject.pm: Removed.
- bindings/scripts/test/GObject: Removed.
- css/CSSStyleSheet.idl:
- css/RGBColor.idl:
- dom/DOMCoreException.idl:
- dom/DOMImplementation.idl:
- dom/Document.idl:
- dom/DocumentType.idl:
- dom/Element.idl:
- dom/Event.idl:
- dom/EventTarget.idl:
- dom/KeyboardEvent.idl:
- dom/MessageEvent.idl:
- dom/MessagePort.idl:
- dom/MouseEvent.idl:
- dom/NamedNodeMap.idl:
- dom/Node.idl:
- dom/Range.idl:
- dom/Slotable.idl:
- dom/WheelEvent.idl:
- fileapi/FileException.idl:
- html/HTMLAppletElement.idl:
- html/HTMLCanvasElement.idl:
- html/HTMLCollection.idl:
- html/HTMLDocument.idl:
- html/HTMLElement.idl:
- html/HTMLEmbedElement.idl:
- html/HTMLFieldSetElement.idl:
- html/HTMLFormElement.idl:
- html/HTMLIFrameElement.idl:
- html/HTMLInputElement.idl:
- html/HTMLMediaElement.idl:
- html/HTMLOptionElement.idl:
- html/HTMLOptionsCollection.idl:
- html/HTMLSelectElement.idl:
- html/HTMLTableCellElement.idl:
- html/HTMLTableColElement.idl:
- html/HTMLTextAreaElement.idl:
- html/HTMLVideoElement.idl:
- html/ImageData.idl:
- html/URLUtils.idl:
- html/track/TextTrack.idl:
- page/DOMSelection.idl:
- page/DOMWindow.idl:
- svg/SVGDocument.idl:
- svg/SVGElement.idl:
- svg/SVGException.idl:
- workers/DedicatedWorkerGlobalScope.idl:
- workers/Worker.idl:
- workers/WorkerGlobalScope.idl:
- xml/XPathException.idl:
Source/WebKit2:
Move all GObject bindings code to WebProcess/InjectedBundle/API/gtk/DOM.
- PlatformGTK.cmake:
- WebProcess/InjectedBundle/API/gtk/DOM:
Tools:
Remove scripts related to the GObject DOM bindings auto-generation.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunGtkAPITests.getText2):
(TestFactory.init):
(RunWebKit1Tests): Deleted.
(RunWebKit1Tests.start): Deleted.
(RunWebKit1LeakTests): Deleted.
(RunWebKit1LeakTests.start): Deleted.
(RunAndUploadPerfTests): Deleted.
(RunAndUploadPerfTests.start): Deleted.
(BuildAndRemoteJSCTestsFactory.init): Deleted.
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
(BuildStepsTest.test_unnecessary_expected_results):
(RunAndUploadPerfTestsTest): Deleted.
(RunAndUploadPerfTestsTest.assertResults): Deleted.
(RunAndUploadPerfTestsTest.test_success): Deleted.
(RunAndUploadPerfTestsTest.test_tests_failed): Deleted.
(RunAndUploadPerfTestsTest.test_build_bad_build): Deleted.
(RunAndUploadPerfTestsTest.test_build_bad_source_json): Deleted.
(RunAndUploadPerfTestsTest.test_build_bad_marge): Deleted.
(RunAndUploadPerfTestsTest.test_build_bad_failed_uploading): Deleted.
(RunAndUploadPerfTestsTest.test_build_bad_preparation): Deleted.
(RunAndUploadPerfTestsTest.test_buildbot_timeout): Deleted.
(RunBenchmarkTest): Deleted.
(RunBenchmarkTest.assertResults): Deleted.
(RunBenchmarkTest.test_success): Deleted.
- Scripts/run-bindings-tests:
(main):
- Scripts/webkitpy/style/checker.py:
- gtk/check-for-webkitdom-api-breaks: Removed.
- gtk/generate-gtkdoc:
- gtk/webkitdom.py: Removed.
- 10:47 PM Changeset in webkit [205279] by
-
- 2 edits in trunk/Tools
[EFL] Small clean up in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=161428
Reviewed by Yusuke Suzuki.
This patch resizes MiniBrowser, add *char* constants for scheme,
does line breaking, and remove unnecessary spaces.
- MiniBrowser/efl/main.c:
(on_mouse_wheel):
(history_list_hide):
(script_execute_callback):
(on_key_down):
(on_url_changed):
(on_error):
(on_color_picker_request):
(url_from_user_input):
(url_load_from_user_input):
(on_back_button_clicked):
(on_search_case_option_changed):
(on_search_word_start_option_changed):
(on_list_item_select):
(navigation_button_longpress_process):
(on_navigation_policy_decision):
(window_create):
(parse_cookies_policy):
- 8:48 PM Changeset in webkit [205278] by
-
- 20 edits2 moves in trunk/Source
[JSC] Add initiator parameter to module pipeline
https://bugs.webkit.org/show_bug.cgi?id=161470
Reviewed by Saam Barati.
Source/JavaScriptCore:
The fetching semantics of the <script type="module"> tag has per module-tag context.
For example, "nonce", "crossorigin" etc. attributes are shared in the fetching requests
issued from the module-tag. To transfer this information, we add a new parameter "initiator"
to the module loader pipeline. We are planning to transfer information by this parameter.
At the same time, we also perform some clean up.
- Use arrow function in ModuleLoaderPrototype.js.
- Rename "ResolveDependencies" to "Satisfy" to align to the loader spec.
- builtins/ModuleLoaderPrototype.js:
(newRegistryEntry):
(commitInstantiated):
(requestFetch):
(requestTranslate):
(requestInstantiate):
(requestSatisfy):
(requestInstantiateAll):
(requestLink):
(moduleEvaluation):
(provide):
(loadAndEvaluateModule):
(requestResolveDependencies.): Deleted.
(requestResolveDependencies): Deleted.
(requestReady): Deleted.
(link): Deleted.
(loadModule): Deleted.
(linkAndEvaluateModule): Deleted.
- bytecode/BytecodeIntrinsicRegistry.cpp:
(JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry):
- bytecode/BytecodeIntrinsicRegistry.h:
- jsc.cpp:
(GlobalObject::moduleLoaderResolve):
(GlobalObject::moduleLoaderFetch):
- runtime/Completion.cpp:
(JSC::loadAndEvaluateModule):
(JSC::loadModule):
(JSC::linkAndEvaluateModule):
- runtime/Completion.h:
- runtime/JSGlobalObject.h:
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::loadAndEvaluateModule):
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::linkAndEvaluateModule):
(JSC::JSModuleLoader::resolve):
(JSC::JSModuleLoader::fetch):
(JSC::JSModuleLoader::translate):
(JSC::JSModuleLoader::instantiate):
(JSC::JSModuleLoader::evaluate):
- runtime/JSModuleLoader.h:
- runtime/ModuleLoaderPrototype.cpp:
(JSC::moduleLoaderPrototypeResolve):
(JSC::moduleLoaderPrototypeFetch):
(JSC::moduleLoaderPrototypeTranslate):
(JSC::moduleLoaderPrototypeInstantiate):
(JSC::moduleLoaderPrototypeEvaluate):
Source/WebCore:
No user-observable behavior change.
We rename JSModuleLoader to ScriptModuleLoader.
The name "JSModuleLoader" is misleading since it seems like this is a JS object.
"ModuleLoader" is not good since there is CSS modules.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSBindingsAllInOne.cpp:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::moduleLoaderResolve):
(WebCore::JSDOMWindowBase::moduleLoaderFetch):
(WebCore::JSDOMWindowBase::moduleLoaderEvaluate):
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::loadModule):
(WebCore::JSMainThreadExecState::linkAndEvaluateModule):
- bindings/js/JSModuleLoader.cpp:
(WebCore::JSModuleLoader::JSModuleLoader): Deleted.
(WebCore::JSModuleLoader::resolve): Deleted.
(WebCore::JSModuleLoader::fetch): Deleted.
(WebCore::JSModuleLoader::evaluate): Deleted.
- bindings/js/JSModuleLoader.h:
(WebCore::JSModuleLoader::document): Deleted.
- bindings/js/ScriptModuleLoader.cpp: Renamed from Source/WebCore/bindings/js/JSModuleLoader.cpp.
(WebCore::ScriptModuleLoader::ScriptModuleLoader):
(WebCore::ScriptModuleLoader::resolve):
(WebCore::ScriptModuleLoader::fetch):
(WebCore::ScriptModuleLoader::evaluate):
- bindings/js/ScriptModuleLoader.h: Renamed from Source/WebCore/bindings/js/JSModuleLoader.h.
(WebCore::ScriptModuleLoader::document):
- dom/Document.cpp:
(WebCore::Document::Document):
- dom/Document.h:
(WebCore::Document::moduleLoader):
- 8:34 PM Changeset in webkit [205277] by
-
- 5 edits4 adds in trunk
ASSERTION FAILED: !flow->layer() && !flow->isInlineElementContinuation() in WebCore::RenderBlock::addContinuationWithOutline
https://bugs.webkit.org/show_bug.cgi?id=151022
<rdar://problem/27710993>
Reviewed by Simon Fraser.
Source/WebCore:
Certain CSS properties like opacity, mask etc (graphical group members) require the layer to be a non-normal flow,
self painting layer so that we can manage painting properly. However in addition to those CSS properties, some of the will-change
values (again, graphical group members) also require the layer to be non-normal flow, self painting.
This patch ensures that when deciding whether a layer should be a normal flow layer, we take the will-change values into account as well.
Tests: compositing/layer-creation/assert-on-inline-element-with-will-change.html
compositing/layer-creation/will-change-on-normal-flow-content.html
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
- rendering/style/WillChangeData.cpp:
(WebCore::propertyCreatesGraphicalGroup):
(WebCore::WillChangeData::addFeature):
- rendering/style/WillChangeData.h:
(WebCore::WillChangeData::canCreateGraphicalGroup):
(WebCore::WillChangeData::canTriggerCompositingOnInline): Deleted.
LayoutTests:
- compositing/layer-creation/assert-on-inline-element-with-will-change-expected.txt: Added.
- compositing/layer-creation/assert-on-inline-element-with-will-change.html: Added.
- compositing/layer-creation/will-change-on-normal-flow-content-expected.txt: Added.
- compositing/layer-creation/will-change-on-normal-flow-content.html: Added.
- 7:11 PM Changeset in webkit [205276] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC] linking and evaluating the modules are done in a sync manner
https://bugs.webkit.org/show_bug.cgi?id=161467
Reviewed by Saam Barati.
While the fetching and the other stages are done in an asynchronous manner,
linking and evaluating are done in a sync manner.
Just return the result value and do not wrap them with the internal promise.
- builtins/ModuleLoaderPrototype.js:
(linkAndEvaluateModule):
- runtime/Completion.cpp:
(JSC::linkAndEvaluateModule):
- runtime/Completion.h:
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::linkAndEvaluateModule):
- runtime/JSModuleLoader.h:
- 6:33 PM Changeset in webkit [205275] by
-
- 48 edits in trunk/Source
WebKit should set a subsystem for os_log so it's easier to filter for WebKit log messages
https://bugs.webkit.org/show_bug.cgi?id=160969
<rdar://problem/26068734>
Reviewed by Simon Fraser.
Source/WebCore:
- Specify a channel when using RELEASE_LOG macros
- Add a new channel so that we have something to pass to the RELEASE_LOG macros (Layers).
- Enable subsystem- and channel-related data and functions when using RELEASE_LOG macros.
- Use the DECLARE_LOG_CHANNEL, DEFINE_LOG_CHANNEL, and LOG_CHANNEL_ADDRESS macros that are now defined in WTF.
No new tests. There are no tests for logging.
- loader/FrameLoader.cpp:
- platform/LogInitialization.h:
- platform/LogMacros.h:
- platform/Logging.cpp:
- platform/Logging.h:
- platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::ReliefLogger::logMemoryUsageChange):
- platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawNativeImage):
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::IOSurface):
- platform/mac/LoggingMac.mm:
- platform/unix/LoggingUnix.cpp:
- platform/win/LoggingWin.cpp:
- testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::initializeLogChannelsIfNecessary):
Source/WebKit/mac:
Enable subsystem- and channel-related data and functions when using
RELEASE_LOG macros. Use the DECLARE_LOG_CHANNEL, DEFINE_LOG_CHANNEL,
and LOG_CHANNEL_ADDRESS macros that are now defined in WTF.
- Misc/WebKitLogging.h:
- Misc/WebKitLogging.m:
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Source/WebKit/win:
Enable subsystem- and channel-related data and functions when using
RELEASE_LOG macros. Use the DECLARE_LOG_CHANNEL, DEFINE_LOG_CHANNEL,
and LOG_CHANNEL_ADDRESS macros that are now defined in WTF.
- WebKitLogging.cpp:
- WebKitLogging.h:
- WebView.cpp:
(WebView::initWithFrame):
Source/WebKit2:
- Specify a channel when using RELEASE_LOG macros.
- Add some new channels so that we have something to pass to the RELEASE_LOG macros (ProcessSuspension, IPC, Layers).
- Enable subsystem- and channel-related data and functions when using RELEASE_LOG macros.
- Use the DECLARE_LOG_CHANNEL, DEFINE_LOG_CHANNEL, and LOG_CHANNEL_ADDRESS macros that are now defined in WTF.
- NetworkProcess/Downloads/Download.cpp:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::cancelPrepareToSuspend):
(WebKit::NetworkProcess::processDidResume):
- NetworkProcess/NetworkResourceLoader.cpp:
- Platform/IPC/Connection.cpp:
(IPC::Connection::waitForSyncReply):
- Platform/LogInitialization.h:
- Platform/Logging.cpp:
(WebKit::initializeLogChannelsIfNecessary):
- Platform/Logging.h:
- Platform/foundation/LoggingFoundation.mm:
- Platform/unix/LoggingUnix.cpp:
- Shared/ChildProcess.cpp:
(WebKit::didCloseOnConnectionWorkQueue):
- Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2):
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::releaseNetworkActivityToken):
(WebKit::NavigationState::didChangeIsLoading):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::fetchWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcessProxy::setIsHoldingLockedFiles):
- UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::updateAssertionNow):
(WebKit::ProcessThrottler::updateAssertion):
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebProcessPool.cpp:
(WebKit::m_hiddenPageThrottlingTimer):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::fetchWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::WebProcessProxy::didSetAssertionState):
(WebKit::WebProcessProxy::setIsHoldingLockedFiles):
- UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
(WebKit::ProcessAssertion::ProcessAssertion):
- WebProcess/Network/WebLoaderStrategy.cpp:
- WebProcess/Network/WebResourceLoader.cpp:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::layerVolatilityTimerFired):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::actualPrepareToSuspend):
(WebKit::WebProcess::processWillSuspendImminently):
(WebKit::WebProcess::prepareToSuspend):
(WebKit::WebProcess::cancelPrepareToSuspend):
(WebKit::WebProcess::markAllLayersVolatile):
(WebKit::WebProcess::processDidResume):
Source/WTF:
Add support for attaching a subsystem and category when logging via
the RELEASE_LOG macros. This support is provided by adding subsystem
and category information to WTFLogChannel. An os_log_t object is then
created to enacpsulate that information. When using RELEASE_LOG to log
through that channel, the associated log object is used when calling
os_log.
To help support the inclusion of the subsystem and category
information in WTFLogChannel, the DECLARE_LOG_CHANNEL,
DEFINE_LOG_CHANNEL, and LOG_CHANNEL_ADDRESS macros that were defined
in various modules are consolidated and moved to Assertions.h.
DEFINE_LOG_CHANNEL is now defined to initialize the subsystem and
category.
- wtf/Assertions.cpp:
- wtf/Assertions.h:
- wtf/RefCountedLeakCounter.cpp:
- 6:23 PM Changeset in webkit [205274] by
-
- 2 edits in trunk/Source/WebCore
Enable the YouTube Flash plug-in replacement behavior on all Cocoa ports
https://bugs.webkit.org/show_bug.cgi?id=161453
<rdar://problem/28050847>
Patch by Ricky Mondello <Ricky Mondello> on 2016-08-31
Reviewed by Eric Carlson.
Now that we have some tests for the URL transformation logic (r205212) and the ability to enable the YouTube
Flash plug-in replacement behavior independently from the QuickTime plug-in replacement behavior (r205214 and
r205271), enable the YouTube Flash plug-in replacement behavior for Cocoa ports. We can and will continue to
improve it.
- page/Settings.cpp: Enable the feature for PLATFORM(COCOA), rather than just PLATFORM(IOS).
- 5:23 PM Changeset in webkit [205273] by
-
- 6 edits in trunk
Implement IPv6 parsing in URLParser
https://bugs.webkit.org/show_bug.cgi?id=161390
Reviewed by Darin Adler.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::zeroSequenceLength):
(WebCore::findLongestZeroSequence):
(WebCore::nibbleToHex):
(WebCore::serializeIPv6Piece):
(WebCore::serializeIPv6):
(WebCore::parseIPv6Host):
(WebCore::URLParser::hostEndReached):
Source/WTF:
- wtf/ASCIICType.h:
(WTF::lowerNibbleToLowercaseASCIIHexDigit):
(WTF::upperNibbleToLowercaseASCIIHexDigit):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::checkURLDifferences):
- 5:17 PM Changeset in webkit [205272] by
-
- 1 copy in tags/Safari-602.2.4
New tag.
- 4:59 PM Changeset in webkit [205271] by
-
- 22 edits in trunk
Break pluginReplacementEnabled into youTubeFlashPluginReplacementEnabled and quickTimePluginReplacementEnabled
https://bugs.webkit.org/show_bug.cgi?id=161424
<rdar://problem/28050847>
Patch by Ricky Mondello <Ricky Mondello> on 2016-08-31
Reviewed by Dean Jackson.
Source/WebCore:
Replace the single pluginReplacementEnabled setting with individual settings for the YouTube Flash plug-in
behavior and the QuickTime plug-in behavior. Unless otherwise noted, this change copies the existing plumbing
for pluginReplacementEnabled and renames it twice. The default values for these settings remain the same.
- Modules/plugins/PluginReplacement.h:
(WebCore::ReplacementPlugin::ReplacementPlugin): Augment the constructor.
(WebCore::ReplacementPlugin::isEnabledBySettings): Added.
- Modules/plugins/QuickTimePluginReplacement.h: Declare a static member function.
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::registerPluginReplacement): Properly create a ReplacementPlugin instance.
(WebCore::QuickTimePluginReplacement::isEnabledBySettings): Added.
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::registerPluginReplacement): Properly create a ReplacementPlugin instance.
(WebCore::YouTubePluginReplacement::isEnabledBySettings): Added.
- Modules/plugins/YouTubePluginReplacement.h: Declare a static member function.
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::requestObject): Ask the ReplacementPlugin whether it's enabled, rather than assume
all plug-in replacement is guarded by a single run-time setting.
- page/Settings.cpp: Declare values for defaults for both settings.
- page/Settings.in: Declare two settings.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup): Handle both settings.
(WebCore::InternalSettings::Backup::restoreTo): Ditto.
(WebCore::InternalSettings::setQuickTimePluginReplacementEnabled): Added.
(WebCore::InternalSettings::setYouTubeFlashPluginReplacementEnabled): Added.
(WebCore::InternalSettings::setPluginReplacementEnabled): Deleted.
- testing/InternalSettings.h: Duplicate and rename.
- testing/InternalSettings.idl: Ditto.
LayoutTests:
- plugins/quicktime-plugin-replacement.html: Updated for the internal setting rename.
- security/contentSecurityPolicy/object-src-none-blocks-quicktime-plugin-replacement.html: Ditto.
- security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement.html: Ditto.
- security/contentSecurityPolicy/plugins-types-allows-quicktime-plugin-replacement.html: Ditto.
- security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement.html: Ditto.
- security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement-without-mime-type.html: Ditto.
- security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement.html: Ditto.
- security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type.html: Ditto.
- security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement.html: Ditto.
- 4:58 PM Changeset in webkit [205270] by
-
- 2 edits in trunk/LayoutTests
Gardening: skipping a flaky test from the JSC test suite.
https://bugs.webkit.org/show_bug.cgi?id=161437
Not reviewed.
- js/script-tests/regress-141098.js:
- 3:41 PM Changeset in webkit [205269] by
-
- 21 edits17 adds in trunk
Add event support for link preload.
https://bugs.webkit.org/show_bug.cgi?id=158466
Reviewed by Alex Christensen.
Source/WebCore:
Add onload/onerror support for link rel preload to align it with the spec
and enable various resource loading use-cases.
This patch also fixes XHR matching issues by replacing LinkPreload with RawResource.
Tests: http/tests/misc/script_onload_delays_window_onload.html
http/tests/preload/delaying_onload_link_preload_after_discovery.html
http/tests/preload/delaying_onload_link_preload_after_discovery_image.html
http/tests/preload/not_delaying_window_onload_before_discovery.html
http/tests/preload/onerror_event.html
http/tests/preload/onload_event.html
- CMakeLists.txt: Add LinkPreloadResourceClients.{h,cpp}
- WebCore.xcodeproj/project.pbxproj: Add LinkPreloadResourceClients.{h,cpp}.
- html/HTMlLinkElement.cpp:
(WebCore::linkErrorEventSender): Add an eventSender for the error event.
(WebCore::HTMLLinkElement::HTMLLinkElement): s/m_loadedSheet/m_loadedResource/
(WebCore::HTMLLinkElement::~HTMLLinkElement): Cancel the error event when the element gets destructed.
(WebCore::HTMLLinkElement::linkLoaded): dispatch the event in an async manner.
(WebCore::HTMLLinkElement::linkLoadingErrored): dispatch the event in an async manner.
(WebCore::HTMLLinkElement::dispatchPendingEvent): Call dispatchEvent directly.
(WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources): s/m_loadedSheet/m_loadedResource/
- html/HTMLLinkElement.h: s/m_loadedSheet/m_loadedResource/
- html/parser/HTMLResourcePreloader.cpp:
(WebCore::HTMLResourcePreloader::preload): Call preload as ImplicitPreload, to distinguish it from declarative preload.
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::LinkLoader): Get rid of unnecessary event timers and add a weakPtrFactory.
(WebCore::LinkLoader::triggerEvents): Add a triggerEvents function that can be called from notifyFinished as well as the
LinkPreloadResourceClients.
(WebCore::LinkLoader::notifyFinished): Call the triggerEvents function.
(WebCore::LinkLoader::resourceTypeFromAsAttribute): Replace LinkPreload with RawResource to avoid XHR resource matching issues.
(WebCore::createLinkPreloadResourceClient): Create a resource client for link preload.
(WebCore::LinkLoader::preloadIfNeeded): Trigger an error whenasis unknown. Make sure that preload resources don't delay window.onload
before discovery. Get the resource back from calling preload and create a client for that resource.
(WebCore::LinkLoader::linkLoadTimerFired): Deleted.
(WebCore::LinkLoader::linkLoadingErrorTimerFired): Deleted.
(WebCore::preloadIfNeeded): Deleted.
- loader/LinkLoader.h:
(WebCore::LinkLoader::createWeakPtr):
- loader/LinkPreloadResourceClients.cpp: Added.
(WebCore::LinkPreloadResourceClient::LinkPreloadResourceClient): Create a LinkPreloadResourceClient and assign with with a weakPtr of
LinkLoader.
(WebCore::LinkPreloadResourceClient::triggerEvents): Call LinkLoader's triggerEvents.
- loader/LinkPreloadResourceClients.h: Added.
(WebCore::LinkPreloadResourceClient::~LinkPreloadResourceClient):
(WebCore::LinkPreloadResourceClient::addResource): Add as resource's client.
(WebCore::LinkPreloadResourceClient::clearResource): Remove as resource's client and clear ref to resource.
(WebCore::LinkPreloadResourceClient::ownedResource): Return ref to resource.
- loader/ResourceLoadInfo.cpp:
(WebCore::toResourceType): Removed LinkPreload.
- loader/SubresourceLoader.cpp:
(WebCore::logResourceLoaded): Removed LinkPreload.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::defaultPriorityForResourceType): Removed LinkPreload.
- loader/cache/CachedResource.h: Removed LinkPreload.
(WebCore::CachedResource::ignoreForRequestCount): Don't delay window.onload for requests that opted out of that.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::checkInsecureContent): Removed LinkPreload.
(WebCore::CachedResourceLoader::requestResource): Make sure that discovered preload resources do block window.onload.
(WebCore::CachedResourceLoader::preload): Make sure that explicitly preloaded subresources can be fetched even if there are parser
blocking resources still in flight. Return the preloaded resource.
(WebCore::CachedResourceLoader::requestPreload): Make sure that preloaded fonts get requested. Return preloaded resource.
(WebCore::createResource): Removed LinkPreload.
(WebCore::contentTypeFromResourceType): Removed LinkPreload.
(WebCore::CachedResourceLoader::canRequest): Removed LinkPreload.
- loader/cache/CachedResourceLoader.h:
- platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::ignoreForRequestCount): Get the flag saying if a resource should block window.onload.
(WebCore::ResourceRequestBase::setIgnoreForRequestCount): Set the flag saying if a resource should block window.onload.
Source/WebKit2:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::maximumBufferingTime): Removed LinkPreload.
LayoutTests:
Add tests that make sure that event handling with regarding to link preload
is working as it should.
- http/tests/misc/script_onload_delays_window_onload-expected.txt: Added.
- http/tests/misc/script_onload_delays_window_onload.html: Added.
- http/tests/preload/delaying_onload_link_preload_after_discovery-expected.txt: Added.
- http/tests/preload/delaying_onload_link_preload_after_discovery.html: Added.
- http/tests/preload/delaying_onload_link_preload_after_discovery_image-expected.txt: Added.
- http/tests/preload/delaying_onload_link_preload_after_discovery_image.html: Added.
- http/tests/preload/dynamic_remove_preload_href-expected.txt:
- http/tests/preload/dynamic_remove_preload_href.html:
- http/tests/preload/not_delaying_window_onload_before_discovery-expected.txt: Added.
- http/tests/preload/not_delaying_window_onload_before_discovery.html: Added.
- http/tests/preload/onerror_event-expected.txt: Added.
- http/tests/preload/onerror_event.html: Added.
- http/tests/preload/onload_event-expected.txt: Added.
- http/tests/preload/onload_event.html: Added.
- http/tests/preload/resources/single_download_preload.html:
- http/tests/resources/dummy.css: Added.
- http/tests/resources/dummy.js: Added.
- http/tests/resources/dummy.xml: Added.
- http/tests/resources/slow-image.php: Added.
- 3:16 PM Changeset in webkit [205268] by
-
- 7 edits4 adds in trunk
Web Inspector: XHR with text but responseType = "blob" shows blank content
https://bugs.webkit.org/show_bug.cgi?id=161422
<rdar://problem/28066869>
Reviewed by Brian Burg.
Source/WebCore:
Test: inspector/network/xhr-json-blob-has-content.html
When an XMLHttpRequest finished loading it was always setting the Inspector's
content for that load at the end. However, if the XHR was loading binary data
then it was passing an empty string to the inspector and overwriting the
data the inspector already had for the resource. Avoid this overwriting.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFinishLoading):
When loading binary content we have no decoded text to send to the inspector.
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl):
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didFinishXHRLoading):
Switch to an Optional string, and if it is not available don't
call through to the NetworkAgent expecting decoded text.
- inspector/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::didFinishXHRLoading):
- inspector/InspectorNetworkAgent.h:
Improve variable name.
LayoutTests:
- inspector/network/resources/data.json: Added.
- inspector/network/xhr-json-blob-has-content-expected.txt: Added.
- inspector/network/xhr-json-blob-has-content.html: Added.
- 2:03 PM Changeset in webkit [205267] by
-
- 5 edits in trunk
stress/random-53bit.js.ftl-no-cjit-no-inline-validate sometimes fails
https://bugs.webkit.org/show_bug.cgi?id=161436
Reviewed by Filip Pizlo.
JSTests:
The test checks Math.random() correctly produces 53bit random values.
The test can fail by design, but this should be fairly rare.
However, when introducing, we wrap the
test()with 1e4 to ensure the FTL compilation, and this
increases the failure rate. By increasing the MAX in the test, we make the failures much more rare case.
And we also add getRandomSeed() and setRandomSeed(seed) JSC shell helpers to dump more useful information
and reproduce the situation easily.
- stress/random-53bit.js:
(test):
Source/JavaScriptCore:
- jsc.cpp:
(GlobalObject::finishCreation):
(functionGetRandomSeed):
(functionSetRandomSeed):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::weakRandom):
(JSC::JSGlobalObject::weakRandomInteger): Deleted.
- 1:19 PM Changeset in webkit [205266] by
-
- 22 edits4 adds in trunk/Source
Add runtime flag for using URLParser
https://bugs.webkit.org/show_bug.cgi?id=161363
Reviewed by Sam Weinig.
Source/WebCore:
No new tests. No change in default behavior.
- PlatformMac.cmake:
- platform/URL.cpp:
(WebCore::URL::URL):
(WebCore::URL::init):
(WebCore::URL::setProtocol):
(WebCore::URL::setHost):
(WebCore::URL::removePort):
(WebCore::URL::setPort):
(WebCore::URL::setHostAndPort):
(WebCore::URL::setUser):
(WebCore::URL::setPass):
(WebCore::URL::setFragmentIdentifier):
(WebCore::URL::removeFragmentIdentifier):
(WebCore::URL::setQuery):
(WebCore::URL::setPath):
(WebCore::URL::parse):
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::setEnabled):
(WebCore::URLParser::enabled):
- platform/URLParser.h:
- platform/cf/URLCF.cpp:
(WebCore::URL::URL):
- platform/cocoa/URLParserCocoa.mm: Added.
(WebCore::URLParser::URLParserEnabled):
- platform/mac/URLMac.mm:
(WebCore::URL::URL):
Source/WebKit2:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- Shared/Cocoa/WebKit2InitializeCocoa.mm: Added.
(WebKit::platformInitializeWebKit2):
- Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
(WebKit::XPCServiceInitializer):
- Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2):
- Shared/WebKit2Initialize.h:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- Shared/efl/WebKit2InitializeEFL.cpp: Added.
(WebKit::platformInitializeWebKit2):
- Shared/gtk/WebKit2InitializeGTK.cpp: Added.
(WebKit::platformInitializeWebKit2):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::createNewWebProcess):
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
- 1:18 PM Changeset in webkit [205265] by
-
- 13 edits5 adds in trunk
[Fetch API] Fetch API should be able to load data URL in Same Origin mode
https://bugs.webkit.org/show_bug.cgi?id=161434
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-31
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/basic/scheme-data-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-data.js:
(checkFetchResponse):
- web-platform-tests/fetch/api/redirect/redirect-to-dataurl-expected.txt: Added.
- web-platform-tests/fetch/api/redirect/redirect-to-dataurl-worker-expected.txt: Added.
- web-platform-tests/fetch/api/redirect/redirect-to-dataurl-worker.html: Added.
- web-platform-tests/fetch/api/redirect/redirect-to-dataurl.html: Added.
- web-platform-tests/fetch/api/redirect/redirect-to-dataurl.js: Added.
(redirectDataURL):
Source/WebCore:
Tests: imported/w3c/web-platform-tests/fetch/api/redirect/redirect-to-dataurl-worker.html
imported/w3c/web-platform-tests/fetch/api/redirect/redirect-to-dataurl.html
Covered also by added sub-test.
Moving SameDataURLOrigin option from ThreadableLoaderOptions to ResourceLoaderOptions.
This allows doing some of the checks in CachedResourceLoader/CachedResource.
This also allows setting this options in CachedResourceLoader clients, ImageLoader in that case.
- Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::start): Setting sameOriginDataURL as ResourceLoader option.
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement): Setting sameOriginDataURL as specificied in
https://html.spec.whatwg.org/multipage/embedded-content.html#the-img-element.
- loader/ResourceLoaderOptions.h: Adding sameOriginDataURL as ResourceLoader option.
- loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Removing sameOriginDataURL option.
- loader/ThreadableLoader.h:
- loader/WorkerThreadableLoader.cpp: Setting sameOriginDataURL as ResourceLoader option.
(WebCore::LoaderTaskOptions::LoaderTaskOptions):
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load): If resource URL is a data url, we previously marked the resource as same origin.
We only do that now if the sameOriginDataURL flag is set as per fetch specification.
See https://fetch.spec.whatwg.org/#main-fetch.
- loader/cache/CachedResourceLoader.cpp:
(WebCore::isSameOriginDataURL): Helper function.
(WebCore::CachedResourceLoader::canRequest): Allowing same origin loads of data URLs if flag is set and no redirection happens.
See https://fetch.spec.whatwg.org/#http-redirect-fetch for why we check redirection.
- 12:54 PM Changeset in webkit [205264] by
-
- 13 edits1 delete in trunk/Source/WebKit2
Use Connection::sendWithReply for the SecItem shim messages
https://bugs.webkit.org/show_bug.cgi?id=161419
Reviewed by Tim Horton.
- DerivedSources.make:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeConnection):
- NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
- Shared/mac/SecItemShim.cpp:
(WebKit::workQueue):
(WebKit::sendSecItemRequest):
(WebKit::webSecItemCopyMatching):
(WebKit::webSecItemAdd):
(WebKit::webSecItemUpdate):
(WebKit::webSecItemDelete):
(WebKit::initializeSecItemShim):
(WebKit::responseMap): Deleted.
(WebKit::SecItemShim::singleton): Deleted.
(WebKit::SecItemShim::SecItemShim): Deleted.
(WebKit::generateSecItemRequestID): Deleted.
(WebKit::SecItemShim::secItemResponse): Deleted.
(WebKit::SecItemShim::initialize): Deleted.
(WebKit::SecItemShim::initializeConnection): Deleted.
- Shared/mac/SecItemShim.h:
- Shared/mac/SecItemShim.messages.in: Removed.
- UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didReceiveMessage):
(WebKit::SecItemShimProxy::secItemRequest):
- UIProcess/mac/SecItemShimProxy.h:
- UIProcess/mac/SecItemShimProxy.messages.in:
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeConnection):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeProcess):
- 12:53 PM Changeset in webkit [205263] by
-
- 7 edits in trunk
HTML constructor must throw when newTarget is itself
https://bugs.webkit.org/show_bug.cgi?id=161430
Reviewed by Antti Koivisto.
Source/WebCore:
Per https://github.com/w3c/webcomponents/issues/541, we must throw a TypeError when the HTMLElement constructor
is called with new.target set to itself (i.e. new HTMLElement after registering it with a custom element).
Note that we can't check this at the time of customElements.define because it could be a Proxy object.
Also see: https://html.spec.whatwg.org/#html-element-constructors
Tests: fast/custom-elements/CustomElementRegistry.html
fast/custom-elements/HTMLElement-constructor.html
- bindings/js/JSHTMLElementCustom.cpp:
(WebCore::constructJSHTMLElement): Throw a TypeError when NewTarget is HTMLElement constructor itself.
LayoutTests:
Added test cases for defining a custom element with the HTMLElement constructor,
and making sure the HTMLElement constructor throws an exception when newTarget is itself.
- fast/custom-elements/CustomElementRegistry-expected.txt:
- fast/custom-elements/CustomElementRegistry.html:
- fast/custom-elements/HTMLElement-constructor-expected.txt:
- fast/custom-elements/HTMLElement-constructor.html:
- 12:39 PM Changeset in webkit [205262] by
-
- 2 edits in trunk/Source/WebCore
Rebaseline binding tests after r205257.
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionPromise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionPromise):
- 12:31 PM Changeset in webkit [205261] by
-
- 6 edits in trunk
Add the check for reentrancy to CustomElementRegistry
https://bugs.webkit.org/show_bug.cgi?id=161423
Reviewed by Antti Koivisto.
Source/WebCore:
Added the "element definition is running" flag to JSCustomElementRegistry:
https://html.spec.whatwg.org/multipage/scripting.html#element-definition-is-running
And added an exception for when this flag is set during JSCustomElementRegistry::define:
https://html.spec.whatwg.org/multipage/scripting.html#dom-customelementregistry-define
Tests: fast/custom-elements/CustomElementRegistry.html
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::JSCustomElementRegistry::define): Throw NotSupportedError when m_elementDefinitionIsRunning is true.
- dom/CustomElementRegistry.h:
(WebCore::CustomElementRegistry::elementDefinitionIsRunning): Added.
LayoutTests:
Add test cases for reentrancy during customElements.define.
- fast/custom-elements/CustomElementRegistry-expected.txt:
- fast/custom-elements/CustomElementRegistry.html:
- 12:15 PM Changeset in webkit [205260] by
-
- 5 edits in trunk/Source
Versioning.
- 12:10 PM Changeset in webkit [205259] by
-
- 1 copy in tags/Safari-603.1.4
New tag.
- 12:03 PM Changeset in webkit [205258] by
-
- 5 edits in trunk
Object.getPrototypeOf() should return null cross-origin
https://bugs.webkit.org/show_bug.cgi?id=161393
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Object.getPrototypeOf() should return null cross-origin:
- https://html.spec.whatwg.org/#windowproxy-getprototypeof
- https://html.spec.whatwg.org/#location-getprototypeof
Firefox and Chrome return null. However, WebKit was returning undefined.
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructorGetPrototypeOfFunctor::operator()):
LayoutTests:
Add layout test coverage.
- http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf.html:
- 11:36 AM Changeset in webkit [205257] by
-
- 28 edits in trunk/Source
Avoid using strong reference in JSDOMPromise’s DeferredWrapper
https://bugs.webkit.org/show_bug.cgi?id=161426
<rdar://problem/28091123>
Reviewed by Geoffrey Garen.
Replace JSC::Strong in DeferredWrapper by JSC::Weak, and make the global object own JSPromiseDeferred.
DeferredWrapper adds itself to JSDOMGlobalObject's newly added HashSet when it's created and clears itself
from the HashSet inside its destructor as well as when the promise is resolved or rejected.
This is so that JSDOMGlobalObject's visitChildren can visit every live DeferredWrapper.
Because this operation is rather expense, this patch turns DeferredWrapper into a RefCounted object to avoid
HashMap churns. Most of code changes in this patch is due to this type change, and the fact lambda cannot
capture Ref<DeferredWrapper> since its copy constructor doesn't exist.
We also create a write barrier from the global object to JSPromiseDeferred so that they won't be collected
during an eden collection when it happens before JSDOMGlobalObject's visitChildren is invoked.
Note that it's possible for the entire DOM wrapper world of the promise to go away before the promise is
resolved or rejected by a ref-counted C++ object. In this case, m_deferred and m_globalObject become dead.
Various member resolve* and reject functions of DeferredWrapper have been modified to check this condition.
Because JSDOMGlobalObject can be finalized before DeferredWrapper is finalized. DeferredWrapper's destructor,
which calls DeferredWrapper::clear, should only remove itself from m_globalObject when m_globalObject is alive.
Finally, this patch makes DeferredWrapper inherit from ActiveDOMCallback so that it won't try to execute scripts
when the active DOM objects have been suspended; e.g. after a page navigation.
No new tests since there should be no author/user visible behavioral change.
- Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::canMakePaymentsWithActiveCard):
- Modules/applepay/ApplePaySession.h:
- Modules/fetch/DOMWindowFetch.cpp:
(WebCore::DOMWindowFetch::fetch):
- Modules/fetch/DOMWindowFetch.h:
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::arrayBuffer):
(WebCore::FetchBody::blob):
(WebCore::FetchBody::json):
(WebCore::FetchBody::text):
(WebCore::FetchBody::consume):
(WebCore::FetchBody::consumeArrayBuffer):
(WebCore::FetchBody::consumeArrayBufferView):
(WebCore::FetchBody::consumeText):
(WebCore::FetchBody::consumeBlob):
(WebCore::FetchBody::loadingFailed):
(WebCore::FetchBody::loadingSucceeded):
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::formData):
(WebCore::FetchBody::cleanConsumePromise):
(WebCore::FetchBody): Use RefPtr<DeferredWrapper> instead of Optional<DeferredWrapper> now that DeferredWrapper
is ref counted. Perhaps we could use Optional<Ref<DeferredWrapper>> here but that seemed rather verbose.
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::resolveWithData):
(WebCore::FetchBodyConsumer::resolve):
- Modules/fetch/FetchBodyConsumer.h:
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::arrayBuffer):
(WebCore::FetchBodyOwner::blob):
(WebCore::FetchBodyOwner::formData):
(WebCore::FetchBodyOwner::json):
(WebCore::FetchBodyOwner::text):
- Modules/fetch/FetchBodyOwner.h:
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::consume):
(WebCore::FetchResponse::finishConsumingStream):
- Modules/fetch/FetchResponse.h:
- Modules/fetch/WorkerGlobalScopeFetch.cpp:
(WebCore::WorkerGlobalScopeFetch::fetch):
- Modules/fetch/WorkerGlobalScopeFetch.h:
- Modules/mediastream/UserMediaPermissionCheck.h:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): Added.
(WebCore::JSDOMGlobalObject::visitChildren): Added visits to each JSPromiseDeferred owned by this global object.
- bindings/js/JSDOMGlobalObject.h:
(WebCore::JSDOMGlobalObject::deferredWrappers): Added. This map is only used by JSDOMGlobalObject's visitChildren.
- bindings/js/JSDOMPromise.cpp:
(WebCore::DeferredWrapper::DeferredWrapper):
(WebCore::DeferredWrapper::~DeferredWrapper): Calls clear. When the global object has already been finalized,
m_globalObject is dead. In that case, there is no need to remove itself from the global object. When m_deferred
has been cleared, either clear() has already been called (1) or the callback is dead (2). Since (2) happens only
when the global object itself is dead (as its visitChildren would have visited m_deferred otherwise), again, there
is no need to remove itself from global object.
(WebCore::DeferredWrapper::clear): Added. Clears m_deferred and removes itself from JSDOMGlobalObject.
(WebCore::DeferredWrapper::contextDestroyed): ScriptExecutionContext has been destroyed. We must call clear().
(WebCore::DeferredWrapper::callFunction): Check canInvokeCallback in ActiveDOMCallback.
(WebCore::DeferredWrapper::reject): Exit early when isSuspended() is true. See below.
(WebCore::rejectPromiseWithExceptionIfAny):
(WebCore::fulfillPromiseWithJSON):
(WebCore::fulfillPromiseWithArrayBuffer):
- bindings/js/JSDOMPromise.h:
(WebCore::DeferredWrapper::create): Added.
(WebCore::DeferredWrapper::isSuspended): Added. Returns true iff the DOM wrapper world has gone away or active DOM
objects have been suspended.
(WebCore::DeferredWrapper::globalObject): Made this inline.
(WebCore::DeferredWrapper::visitAggregate): Added. Called by JSDOMGlobalObject::visitChildren.
(WebCore::DOMPromise::resolve):
(WebCore::DOMPromise::reject):
(WebCore::DeferredWrapper::resolveWithValue): Exit early when isSuspended() is true.
(WebCore::DeferredWrapper::resolveWithNewlyCreated): Ditto.
(WebCore::DeferredWrapper::rejectWithValue): Ditto.
(WebCore::DeferredWrapper::resolve): Ditto.
(WebCore::DeferredWrapper::reject): Ditto.
- bindings/js/JSFontFaceCustom.cpp:
(WebCore::JSFontFace::loaded):
- bindings/js/JSFontFaceSetCustom.cpp:
(WebCore::JSFontFaceSet::ready):
- bindings/js/JSMediaDevicesCustom.cpp:
(WebCore::JSMediaDevices::getUserMedia):
- bindings/js/JSReadableStreamSourceCustom.cpp:
(WebCore::JSReadableStreamSource::start):
- bindings/js/JSWebKitSubtleCryptoCustom.cpp:
(WebCore::JSWebKitSubtleCrypto::encrypt):
(WebCore::JSWebKitSubtleCrypto::decrypt):
(WebCore::JSWebKitSubtleCrypto::sign):
(WebCore::JSWebKitSubtleCrypto::verify):
(WebCore::JSWebKitSubtleCrypto::digest):
(WebCore::JSWebKitSubtleCrypto::generateKey):
(WebCore::JSWebKitSubtleCrypto::importKey):
(WebCore::JSWebKitSubtleCrypto::exportKey):
(WebCore::JSWebKitSubtleCrypto::wrapKey):
(WebCore::JSWebKitSubtleCrypto::unwrapKey):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateReturnParameters):
- 10:44 AM Changeset in webkit [205256] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 10:26 AM Changeset in webkit [205255] by
-
- 8 copies1 add in releases/Apple/Safari Technology Preview 12
Added a tag for Safari Technology Preview release 12.
- 10:00 AM Changeset in webkit [205254] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] AbstractValue can contain padding which is not zero-filled
https://bugs.webkit.org/show_bug.cgi?id=161427
Reviewed by Saam Barati.
We checked that AbstractValue is zero-filled when initializing it to ensure
that zero-filled memory can be used as the initialized AbstractValue.
However, since the size of SpeculatedType becomes 64bit, AbstractValue can have
padding now. And this padding is not ensured that it is initialized with zeros.
So debug assertion fails when building with GCC.
This patch changes the strategy. Instead of checking the initialized
AbstractValue is zero-filled, we ensure that zero-filled AbstractValue can be
considered to be equal to the initialized AbstractValue.
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::ensureCanInitializeWithZeros):
- dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::AbstractValue):
- 9:44 AM Changeset in webkit [205253] by
-
- 5 edits in trunk
[Fetch API] Request construction failure should not set "bodyUsed"
https://bugs.webkit.org/show_bug.cgi?id=161432
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-31
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/request/request-disturbed-expected.txt:
- web-platform-tests/fetch/api/request/request-disturbed.html:
Source/WebCore:
Covered by added sub-test coming from chromium fetch test suite.
- Modules/fetch/FetchRequest.cpp:
(WebCore::methodCanHaveBody):
(WebCore::FetchRequest::setBody): Check whether request can have a body before disturbing the passed request.
(WebCore::validateBodyAndMethod): Deleted.
- 9:44 AM Changeset in webkit [205252] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=161391
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 9:36 AM Changeset in webkit [205251] by
-
- 8 edits5 adds in trunk
[Fetch API] Response bodyUsed should check for its body disturbed state
https://bugs.webkit.org/show_bug.cgi?id=161429
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-31
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/tests/fetch/bodyUsed-worker.html
Implementing bodyUsed as a JS Builtin.
This allows using directly @isReadableStreamDisturbed if response has a body.
Renaming isDisturbed to isDisturbedOrLocked to better match fetch spec terminology.
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::isDisturbedOrLocked): Renaming isDisturbed to isDisturbedOrLocked.
(WebCore::FetchBodyOwner::arrayBuffer): Ditto.
(WebCore::FetchBodyOwner::blob): Ditto.
(WebCore::FetchBodyOwner::formData): Ditto.
(WebCore::FetchBodyOwner::json): Ditto.
(WebCore::FetchBodyOwner::text): Ditto.
(WebCore::FetchBodyOwner::isDisturbed): Ditto.
- Modules/fetch/FetchBodyOwner.h:
(WebCore::FetchBodyOwner::isDisturbed): Ditto.
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::initializeWith): Ditto.
(WebCore::FetchRequest::clone): Ditto.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::cloneForJS): Ditto.
(WebCore::FetchResponse::createReadableStreamSource): Only asserting for isDisturbed.
- Modules/fetch/FetchResponse.idl: Marking bodyUsed as JS builtin.
- Modules/fetch/FetchResponse.js: Adding bodyUsed.
(bodyUsed):
(clone):
LayoutTests:
- http/tests/fetch/bodyUsed-expected.txt: Added.
- http/tests/fetch/bodyUsed-worker-expected.txt: Added.
- http/tests/fetch/bodyUsed-worker.html: Added.
- http/tests/fetch/bodyUsed.js: Added.
- http/tests/fetch/window/body-mixin-expected.txt:
- 9:36 AM Changeset in webkit [205250] by
-
- 4 edits5 adds in trunk
[Fetch API] Blob type should be correctly set in case of empty body
https://bugs.webkit.org/show_bug.cgi?id=161431
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-31
Reviewed by Alex Christensen.
Source/WebCore:
Tests: http/tests/fetch/fetch-as-blob-worker.html
http/tests/fetch/fetch-as-blob.html
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::takeAsBlob): Set blob type with contentType even if blob has no data.
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::blob): Ditto for empty bodies.
LayoutTests:
- http/tests/fetch/fetch-as-blob-expected.txt: Added.
- http/tests/fetch/fetch-as-blob-worker-expected.txt: Added.
- http/tests/fetch/fetch-as-blob-worker.html: Added.
- http/tests/fetch/fetch-as-blob.html: Added.
- http/tests/fetch/fetch-as-blob.js: Added.
(promise_test):
- 9:32 AM Changeset in webkit [205249] by
-
- 107 edits in trunk/Source
DOM event handling should pass Event around by reference.
<https://webkit.org/b/161398>
Reviewed by Chris Dumez.
Source/WebCore:
Start with making Node::defaultEventHandler() take an Event& instead of an Event*,
and then spread out from there, propagating the referenceness.
- dom/Element.cpp:
(WebCore::Element::isKeyboardFocusable):
- dom/Element.h:
- dom/EventDispatcher.cpp:
(WebCore::callDefaultEventHandlersInTheBubblingOrder):
- dom/Node.cpp:
(WebCore::Node::dispatchDOMActivateEvent):
(WebCore::Node::defaultEventHandler):
- dom/Node.h:
- editing/Editor.cpp:
(WebCore::Editor::handleKeyboardEvent):
(WebCore::Editor::handleInputMethodKeydown):
(WebCore::Editor::handleTextEvent):
- editing/Editor.h:
- html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::handleKeydownEvent):
(WebCore::BaseCheckableInputType::handleKeypressEvent):
- html/BaseCheckableInputType.h:
- html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeydownEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeypressEvent):
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeyupEvent):
- html/BaseChooserOnlyDateAndTimeInputType.h:
- html/BaseClickableWithKeyInputType.cpp:
(WebCore::BaseClickableWithKeyInputType::handleKeydownEvent):
(WebCore::BaseClickableWithKeyInputType::handleKeypressEvent):
(WebCore::BaseClickableWithKeyInputType::handleKeyupEvent):
- html/BaseClickableWithKeyInputType.h:
- html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::isKeyboardFocusable):
- html/BaseDateAndTimeInputType.h:
- html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::handleKeyupEvent):
- html/CheckboxInputType.h:
- html/ColorInputType.cpp:
(WebCore::ColorInputType::handleDOMActivateEvent):
- html/ColorInputType.h:
- html/FileInputType.cpp:
(WebCore::FileInputType::handleDOMActivateEvent):
- html/FileInputType.h:
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isKeyboardFocusable):
(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::HTMLAnchorElement::handleClick):
(WebCore::HTMLAnchorElement::eventType):
(WebCore::isEnterKeyKeydownEvent):
- html/HTMLAnchorElement.h:
- html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::isKeyboardFocusable):
- html/HTMLAreaElement.h:
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler):
- html/HTMLButtonElement.h:
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::isKeyboardFocusable):
- html/HTMLFormControlElement.h:
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::submitImplicitly):
(WebCore::submitElementFromEvent):
(WebCore::HTMLFormElement::validateInteractively):
(WebCore::HTMLFormElement::prepareForSubmission):
- html/HTMLFormElement.h:
- html/HTMLFrameOwnerElement.cpp:
(WebCore::HTMLFrameOwnerElement::isKeyboardFocusable):
- html/HTMLFrameOwnerElement.h:
- html/HTMLFrameSetElement.cpp:
(WebCore::HTMLFrameSetElement::defaultEventHandler):
- html/HTMLFrameSetElement.h:
- html/HTMLIFrameElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isKeyboardFocusable):
(WebCore::HTMLInputElement::isTextFormControlKeyboardFocusable):
(WebCore::HTMLInputElement::willDispatchEvent):
(WebCore::HTMLInputElement::defaultEventHandler):
- html/HTMLInputElement.h:
- html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::defaultEventHandler):
- html/HTMLLabelElement.h:
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::defaultEventHandler):
- html/HTMLLinkElement.h:
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::defaultEventHandler):
(WebCore::HTMLPlugInElement::isKeyboardFocusable):
- html/HTMLPlugInElement.h:
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::defaultEventHandler):
- html/HTMLPlugInImageElement.h:
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::isKeyboardFocusable):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
(WebCore::HTMLSelectElement::defaultEventHandler):
- html/HTMLSelectElement.h:
- html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::defaultEventHandler):
- html/HTMLSummaryElement.h:
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::isKeyboardFocusable):
(WebCore::HTMLTextAreaElement::defaultEventHandler):
(WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
- html/HTMLTextAreaElement.h:
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::forwardEvent):
- html/HTMLTextFormControlElement.h:
- html/ImageInputType.cpp:
(WebCore::ImageInputType::handleDOMActivateEvent):
- html/ImageInputType.h:
- html/InputType.cpp:
(WebCore::InputType::handleClickEvent):
(WebCore::InputType::handleMouseDownEvent):
(WebCore::InputType::handleDOMActivateEvent):
(WebCore::InputType::handleKeydownEvent):
(WebCore::InputType::handleKeypressEvent):
(WebCore::InputType::handleKeyupEvent):
(WebCore::InputType::handleBeforeTextInsertedEvent):
(WebCore::InputType::handleTouchEvent):
(WebCore::InputType::forwardEvent):
(WebCore::InputType::shouldSubmitImplicitly):
(WebCore::InputType::dispatchSimulatedClickIfActive):
(WebCore::InputType::isKeyboardFocusable):
- html/InputType.h:
- html/MediaDocument.cpp:
(WebCore::MediaDocument::defaultEventHandler):
- html/MediaDocument.h:
- html/NumberInputType.cpp:
(WebCore::NumberInputType::handleKeydownEvent):
- html/NumberInputType.h:
- html/RadioInputType.cpp:
(WebCore::RadioInputType::handleClickEvent):
(WebCore::RadioInputType::handleKeydownEvent):
(WebCore::RadioInputType::handleKeyupEvent):
(WebCore::RadioInputType::isKeyboardFocusable):
- html/RadioInputType.h:
- html/RangeInputType.cpp:
(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::handleTouchEvent):
(WebCore::RangeInputType::handleKeydownEvent):
- html/RangeInputType.h:
- html/ResetInputType.cpp:
(WebCore::ResetInputType::handleDOMActivateEvent):
- html/ResetInputType.h:
- html/SearchInputType.cpp:
(WebCore::SearchInputType::handleKeydownEvent):
- html/SearchInputType.h:
- html/SubmitInputType.cpp:
(WebCore::SubmitInputType::handleDOMActivateEvent):
- html/SubmitInputType.h:
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::isKeyboardFocusable):
(WebCore::TextFieldInputType::handleKeydownEvent):
(WebCore::TextFieldInputType::handleKeydownEventForSpinButton):
(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::shouldSubmitImplicitly):
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
- html/TextFieldInputType.h:
- html/shadow/AutoFillButtonElement.cpp:
(WebCore::AutoFillButtonElement::defaultEventHandler):
- html/shadow/AutoFillButtonElement.h:
- html/shadow/MediaControlElementTypes.cpp:
(WebCore::MediaControlMuteButtonElement::defaultEventHandler):
(WebCore::MediaControlSeekButtonElement::defaultEventHandler):
(WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
- html/shadow/MediaControlElementTypes.h:
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::defaultEventHandler):
(WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler):
(WebCore::MediaControlPanelMuteButtonElement::defaultEventHandler):
(WebCore::MediaControlPlayButtonElement::defaultEventHandler):
(WebCore::MediaControlOverlayPlayButtonElement::defaultEventHandler):
(WebCore::MediaControlRewindButtonElement::defaultEventHandler):
(WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler):
(WebCore::MediaControlTimelineElement::defaultEventHandler):
(WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
(WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler):
(WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler):
- html/shadow/MediaControlElements.h:
- html/shadow/MediaControls.cpp:
(WebCore::MediaControls::defaultEventHandler):
(WebCore::MediaControls::containsRelatedTarget):
- html/shadow/MediaControls.h:
- html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsApple::defaultEventHandler):
(WebCore::MediaControlsApple::handleClickEvent):
(WebCore::MediaControlsAppleEventListener::handleEvent):
- html/shadow/MediaControlsApple.h:
- html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::defaultEventHandler):
(WebCore::SliderThumbElement::handleTouchStart):
(WebCore::SliderThumbElement::handleTouchMove):
(WebCore::SliderThumbElement::handleTouchEndAndCancel):
(WebCore::SliderThumbElement::handleTouchEvent):
- html/shadow/SliderThumbElement.h:
- html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::SpinButtonElement::forwardEvent):
- html/shadow/SpinButtonElement.h:
- html/shadow/TextControlInnerElements.cpp:
(WebCore::TextControlInnerTextElement::defaultEventHandler):
(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
- html/shadow/TextControlInnerElements.h:
- html/shadow/mac/ImageControlsButtonElementMac.cpp:
(WebCore::ImageControlsButtonElementMac::defaultEventHandler):
- html/shadow/mac/ImageControlsButtonElementMac.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::dispatchBeforeUnloadEvent):
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::defaultEventHandler):
(WebCore::MathMLElement::isKeyboardFocusable):
- mathml/MathMLElement.h:
- mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::defaultEventHandler):
- mathml/MathMLSelectElement.h:
- page/EventHandler.cpp:
(WebCore::didScrollInScrollableArea):
(WebCore::handleWheelEventInAppropriateEnclosingBox):
(WebCore::EventHandler::defaultWheelEventHandler):
(WebCore::EventHandler::keyEvent):
(WebCore::handleKeyboardSelectionMovement):
(WebCore::EventHandler::handleKeyboardSelectionMovementForAccessibility):
(WebCore::EventHandler::defaultKeyboardEventHandler):
(WebCore::EventHandler::defaultTextInputEventHandler):
(WebCore::EventHandler::defaultSpaceEventHandler):
(WebCore::EventHandler::defaultBackspaceEventHandler):
(WebCore::EventHandler::defaultArrowEventHandler):
(WebCore::EventHandler::defaultTabEventHandler):
- page/EventHandler.h:
- page/FocusController.cpp:
(WebCore::isFocusableElementOrScopeOwner):
(WebCore::isNonFocusableScopeOwner):
(WebCore::isFocusableScopeOwner):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusCandidateInContainer):
- rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::userResize):
- rendering/RenderFrameSet.h:
- svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
(WebCore::SVGAElement::isKeyboardFocusable):
- svg/SVGAElement.h:
Source/WebKit2:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performNonEditingBehaviorForSelector):
- 8:36 AM Changeset in webkit [205248] by
-
- 6 edits2 adds in trunk
[Streams API] Align getReader() with spec
https://bugs.webkit.org/show_bug.cgi?id=160508
Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2016-08-31
Reviewed by Xabier Rodriguez-Calvar.
LayoutTests/imported/w3c:
Changed 2 expectations, 1 that passes thanks to patch, the other that
now fails as getReader() has 1 parameter (0 expected, bug to be filed).
- web-platform-tests/streams/readable-streams/general.https-expected.txt:
- web-platform-tests/streams/readable-streams/templated.https-expected.txt:
Source/WebCore:
Aligned getReader() with spec following replacement of ReadableStreamReader by
ReadableStreamDefaultReader.
Test: streams/readable-stream-getReader.html
- Modules/streams/ReadableStream.js:
(getReader):
LayoutTests:
- streams/readable-stream-getReader-expected.txt: Added.
- streams/readable-stream-getReader.html: Added.
- 7:38 AM Changeset in webkit [205247] by
-
- 23 edits1 copy1 add in trunk
WK2 Gamepad provider on iOS.
https://bugs.webkit.org/show_bug.cgi?id=161412
Reviewed by Tim Horton.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
No new tests (Native framework backends not directly testable)
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
- WebView/WebView.mm:
(WebKitInitializeGamepadProviderIfNecessary):
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/Gamepad/UIGamepadProvider.cpp:
- UIProcess/Gamepad/ios/UIGamepadProviderIOS.mm: Copied from Source/WebKit2/UIProcess/Gamepad/mac/UIGamepadProviderMac.mm.
(WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput):
- UIProcess/Gamepad/mac/UIGamepadProviderMac.mm:
- WebKit2.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 2:12 AM Changeset in webkit [205246] by
-
- 3 edits4 adds in trunk
REGRESSION (r201701): Unable to copy from CodeMirror editor version used in Jenkins install website
https://bugs.webkit.org/show_bug.cgi?id=161386
<rdar://problem/27590077>
Reviewed by Dan Bernstein.
Source/WebCore:
This CodeMirror version uses a hidden <textarea> to implement copy/paste. The textarea has width:1px; border-width:1px.
Jenkins page has also has a stylesheet that contains * { box-sizing:border-box } and as a result the textarea content
width gets computed as 0. With r201701 we use content size instead of box size for clipping and the textarea content is
(correctly) considered invisible.
Add a quirk that allows this to continue working.
Test: editing/text-iterator/hidden-textarea-selection-quirk.html
- editing/TextIterator.cpp:
(WebCore::fullyClipsContents):
LayoutTests:
- editing/text-iterator/hidden-textarea-selection-quirk-expected.txt: Added.
- editing/text-iterator/hidden-textarea-selection-quirk.html: Added.
- platform/ios-simulator/editing/text-iterator/hidden-textarea-selection-quirk-expected.txt: Added.
textarea.select() doesn't select the text content on iOS.
- 1:30 AM Changeset in webkit [205245] by
-
- 2 edits in trunk
Unreviewed. Bump GTK+ versions numbers.
- Source/cmake/OptionsGTK.cmake:
- 1:26 AM Changeset in webkit [205244] by
-
- 2 edits in trunk/Source/WebCore
Remove unused member variable in WebCore::File
https://bugs.webkit.org/show_bug.cgi?id=161420
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-08-31
Reviewed by Alex Christensen.
- fileapi/File.h:
- 12:39 AM Changeset in webkit [205243] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r205193. rdar://problem/27529052
- 12:39 AM Changeset in webkit [205242] by
-
- 4 edits in branches/safari-602-branch/Source/WebCore
Merge r205184. rdar://problem/27529052
- 12:39 AM Changeset in webkit [205241] by
-
- 2 edits in branches/safari-602-branch/LayoutTests
Merge r205055. rdar://problem/27933564
- 12:39 AM Changeset in webkit [205240] by
-
- 4 edits2 adds in branches/safari-602-branch
Merge r205044. rdar://problem/27933564
- 12:39 AM Changeset in webkit [205239] by
-
- 6 edits in branches/safari-602-branch
Merge r204989. rdar://problem/28015116
- 12:29 AM Changeset in webkit [205238] by
-
- 1 copy in releases/WebKitGTK/webkit-2.13.90
WebKitGTK+ 2.13.90
- 12:28 AM Changeset in webkit [205237] by
-
- 4 edits in releases/WebKitGTK/webkit-2.14
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.13.90 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.13.90.
- 12:20 AM Changeset in webkit [205236] by
-
- 12 edits2 adds in branches/safari-602-branch
Merge r204983. rdar://problem/27952772
- 12:20 AM Changeset in webkit [205235] by
-
- 4 edits1 add in branches/safari-602-branch
Merge r204570. rdar://problem/27991567
- 12:20 AM Changeset in webkit [205234] by
-
- 4 edits in branches/safari-602-branch
Merge r204388. rdar://problem/27991576
- 12:20 AM Changeset in webkit [205233] by
-
- 6 edits1 add in branches/safari-602-branch
Merge r204362. rdar://problem/27991421
- 12:20 AM Changeset in webkit [205232] by
-
- 3 edits1 add in branches/safari-602-branch
Merge r204360. rdar://problem/27991577
- 12:20 AM Changeset in webkit [205231] by
-
- 1 move in branches/safari-602-branch/JSTests/ChangeLog
Merge r204059.
- 12:20 AM Changeset in webkit [205230] by
-
- 5 edits2 adds in branches/safari-602-branch
Merge r203952. rdar://problem/27991571
- 12:20 AM Changeset in webkit [205229] by
-
- 2 edits1 add in branches/safari-602-branch/Source/JavaScriptCore
Merge r203853. rdar://problem/27991580
- 12:19 AM Changeset in webkit [205228] by
-
- 3 edits1 add in branches/safari-602-branch/Source
Merge r203834. rdar://problem/27991582
- 12:19 AM Changeset in webkit [205227] by
-
- 7 edits in branches/safari-602-branch/Source/JavaScriptCore
Merge r203802. rdar://problem/27991569
- 12:19 AM Changeset in webkit [205226] by
-
- 2 edits3 adds in branches/safari-602-branch/Source/JavaScriptCore
Merge r203798. rdar://problem/27991578
- 12:19 AM Changeset in webkit [205225] by
-
- 3 edits3 adds in branches/safari-602-branch
Merge r203542. rdar://problem/27991570
Aug 30, 2016:
- 11:45 PM Changeset in webkit [205224] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 11:21 PM Changeset in webkit [205223] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove largest common indentation spacing in debugger popover
https://bugs.webkit.org/show_bug.cgi?id=161417
Patch by Devin Rousso <Devin Rousso> on 2016-08-30
Reviewed by Joseph Pecoraro.
- UserInterface/Views/SourceCodeTextEditor.css:
(.popover .debugger-popover-content.function > .body):
(.popover .debugger-popover-content.function > .body .CodeMirror):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
Use CodeMirror and FormatterWorker to display a non-editable popover.
- UserInterface/Workers/Formatter/FormatterWorker.js:
(FormatterWorker.prototype.formatJavaScript):
Reworked logic to always attempt to format by wrapping content in "(...)". This is
necessary for unnamed functions, since they are not valid programs by themselves.
- 10:59 PM Changeset in webkit [205222] by
-
- 2 edits in releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore
Unreviewed. Remove incorrect assert causing crashes in debug builds.
- dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::AbstractValue):
- 10:54 PM Changeset in webkit [205221] by
-
- 5 edits in branches/safari-602-branch/Source
Versioning.
- 10:18 PM Changeset in webkit [205220] by
-
- 7 edits in trunk
Add "get" to CustomElementsRegistry
https://bugs.webkit.org/show_bug.cgi?id=161421
Reviewed by Yusuke Suzuki.
Source/WebCore:
Add the support for "get" method on CustomElementsRegistry, which returns the constructor
of the custom element with the given name:
https://html.spec.whatwg.org/multipage/scripting.html#dom-customelementregistry-get
Tests: fast/custom-elements/CustomElementRegistry.html
- dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::get): Added.
- dom/CustomElementRegistry.h:
- dom/CustomElementRegistry.idl:
LayoutTests:
Added test cases for "get" method on CustomElementsRegistry.
- fast/custom-elements/CustomElementRegistry-expected.txt:
- fast/custom-elements/CustomElementRegistry.html:
- 10:03 PM Changeset in webkit [205219] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 7:37 PM Changeset in webkit [205218] by
-
- 11 edits1 copy in trunk/Source/WebCore
Make PendingScript as ref-counted
https://bugs.webkit.org/show_bug.cgi?id=161350
Reviewed by Ryosuke Niwa.
Currently, while PendingScript is copyable, PendingScript is also CachedResourceClient.
So when copying this, the client registration is done in PendingScript's operator= etc.
However, this copying functionality is not effectively used.
In this patch, we change this PendingScript to ref-counted class and make it noncopyable.
This change makes things simple (dropping this copying functionality), and drops unnecessary
addClient / removeClient calls. And we also simplify PendingScript class. Since we can offer
all the members at the construction time, we do not need any setters like setCachedScript,
setElement etc. This prevents us from accidentally generating the half-baked pending script.
Furthermore, by changing PendingScript noncopyable & ref-counted, we easily make it
observable. In this patch, we add PendingScriptClient to receive the notification from
PendingScript. Previously, we directly used CachedScript in PendingScript to receive the
notification. When introducing ScriptModuleGraph and making this PendingScript the container
of the both CachedScript and ScriptModuleGraph, hiding the raw CachedScript operations is
useful.
No behavior changes.
- WebCore.xcodeproj/project.pbxproj:
- dom/PendingScript.cpp:
(WebCore::PendingScript::create): These factory functions take all the information needed
to construct the PendingScript. So the setters of PendingScript are dropped. This is better
since we now do not expose any half-baked pending script accidentally.
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::~PendingScript):
(WebCore::PendingScript::notifyClientFinished):
(WebCore::PendingScript::notifyFinished):
(WebCore::PendingScript::isLoaded): When introducing ScriptModuleGraph, this will query to
either CachedScript or ScriptModuleGraph. PendingScript will become the container for the
both types.
(WebCore::PendingScript::setClient):
(WebCore::PendingScript::clearClient): PendingScript is now observable by PendingScriptClient.
This avoids touching CachedScript in PendingScript directly. That is good when we introduce
ScriptModuleGraph and make PendingScript the container of the both CachedScript and ScriptModuleGraph.
(WebCore::PendingScript::releaseElementAndClear): Deleted. Previously, PendingScript is not ref-counted.
So when we would like to say "this pending script is empty", we used the pending script with
m_element = nullptr. This releaseElementAndClear cleared this m_element and made the pending
script empty. Now, we use RefPtr<PendingScript> and empty one is just represented by the nullptr.
This function is no longer necessary. Dropped.
(WebCore::PendingScript::setCachedScript): Deleted. The fields are set in the constructor.
So this setter is no longer necessary. Dropped.
- dom/PendingScript.h:
- dom/PendingScriptClient.h: Copied from Source/WebCore/html/parser/HTMLScriptRunnerHost.h.
(WebCore::PendingScriptClient::~PendingScriptClient):
- dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::queueScriptForExecution):
(WebCore::ScriptRunner::notifyScriptReady):
(WebCore::ScriptRunner::timerFired): We usestd::exchangeto retrieve the RefPtr<PendingScript>
and make the original vector element nullptr. Without this, all the PendingScript is held until
the iteration finishes. We keep the original semantics here that the pending script can be
released per iteration.
- dom/ScriptRunner.h:
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::watchForLoad):
(WebCore::HTMLDocumentParser::stopWatchingForLoad): Use PendingScript instead of touching
CachedScript directly.
(WebCore::HTMLDocumentParser::notifyFinished):
- html/parser/HTMLDocumentParser.h:
- html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::~HTMLScriptRunner):
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::isPendingScriptReady):
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): As the previous comment describes,
we used releaseElementAndClear to make the current pending script empty. Instead of doing so, we now
explicitly clear executeParsingBlockingScript (by assigning nullptr to m_parserBlockingScript).
(WebCore::HTMLScriptRunner::watchForLoad):
(WebCore::HTMLScriptRunner::stopWatchingForLoad): Previously, we used CachedScript::addClient directly
in the m_host.watchForLoad. This means that we did not have a quick way to query whether the pending
script is watched. In the old implementation, we have them_watchingForLoad : boolflag in PendingScript
to hold the watching status for the given pending script. ThispendingScript.setWatchingForLoad(true)
just made this flagtrue. But now, we do not use CachedScript::addClient directly. Instead, we have
the PendingScriptClient and PendingScript::{setClient,clearClient}. We can know whether this pending
script is watched by checkingm_client != nullptr. This makesm_watchingForLoadunnecessary.
So this patch dropsm_watchingForLoadandpendingScript.setWatchingForLoad(true)call.
(WebCore::HTMLScriptRunner::hasParserBlockingScript):
(WebCore::HTMLScriptRunner::executeParsingBlockingScripts): We clear the m_parserBlockingScript here
instead of the middle of the executePendingScriptAndDispatchEvent.
(WebCore::HTMLScriptRunner::executeScriptsWaitingForLoad):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::requestPendingScript):
(WebCore::HTMLScriptRunner::requestParsingBlockingScript): Setting m_parsingBlockingScript is now done
in this caller side.
(WebCore::HTMLScriptRunner::requestDeferredScript):
(WebCore::HTMLScriptRunner::runScript):
(WebCore::HTMLScriptRunner::requestPendingScript): Instead of configuring the passed PendingScript&,
we return the pending script and the caller sets it to m_parserBlockingScript or holds it. And we now
change this function to static location one and drop the member function. Previously, we always make
PendingScript& valid by always callingsetElement(...). I think this is the bug since we accidentally
exposed the half-baked pending script. But this bug is not shown since!cachedScriptpath is dead code!
This requestPendingScript is called from two places, requestDeferredScript and requestParsingBlockingScript.
And these functions are called if the script haswillBeParserExecutedflag. In the case of the script
tag having "src" attribute, this flag is only set ifcachedScriptis correctly instantiated. So when
these functions are called, we can ensure thatcachedScriptis correctly instantiated for the given script.
In the case of the script tag not having "src" attribute, these functions are won't be called. This is
because if such a script tag haswillBeParserExecutedflag, it also hasm_readyToBeParserExecuted
and it does not havem_willExecuteWhenDocumentFinishedParsingflag, and in that case the both
functions are never called. So we drop that path and insert the assertion to ensure the above conditions.
- html/parser/HTMLScriptRunner.h:
- html/parser/HTMLScriptRunnerHost.h:
- 7:01 PM Changeset in webkit [205217] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/debugger/breakpoint-action-with-exception.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=161387
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 6:48 PM Changeset in webkit [205216] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Some arith nodes are too pessimistic with the types supported on the fast path
https://bugs.webkit.org/show_bug.cgi?id=161410
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-30
Reviewed by Geoffrey Garen.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
DoubleRep is able to convert numbers, undefined, booleans and null.
I was too pessimistic when I gated the double implementations
on number-or-boolean speculation. We can just let DoubleRep convert
the other cases as long as it is not a Cell.
- 6:34 PM Changeset in webkit [205215] by
-
- 2 edits in trunk/Source/bmalloc
Unreviewed, build fix for GCC ports
std::forward is declared in <utility> header.
- bmalloc/ScopeExit.h:
- 6:28 PM Changeset in webkit [205214] by
-
- 9 edits in trunk/Source/WebCore
"pluginReplacementEnabled" should be a Setting, not a RuntimeEnabledFeature
https://bugs.webkit.org/show_bug.cgi?id=161416
<rdar://problem/28050847>
Patch by Ricky Mondello <Ricky Mondello> on 2016-08-30
Reviewed by Simon Fraser.
Mostly mechanical. Tested by running LayoutTests/plugins/quicktime-plugin-replacement.html and manually toggling
defaultPluginReplacementEnabled and observing a behavior change.
- bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::reset): Purged of the pluginReplacementEnabled setting.
- bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setPluginReplacementEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::pluginReplacementEnabled): Deleted.
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::requestObject): Use the setting.
- page/Settings.cpp: Supply different values for iOS and other platforms, matching the RuntimeEnabledFeature values,
enabled for iOS and disabled otherwise.
- page/Settings.in: Declare the setting.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup): Use the setting.
(WebCore::InternalSettings::Backup::restoreTo): Ditto.
(WebCore::InternalSettings::setPluginReplacementEnabled): Ditto.
- testing/InternalSettings.h: Can now throw an exception, like other Settings-backed members.
- testing/InternalSettings.idl: Declare this as possibly throwing an exception.
- 5:37 PM Changeset in webkit [205213] by
-
- 3 edits in trunk/Source/WebKit2
Try to fix the 32-bit build.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
- UIProcess/WebProcessProxy.h:
- 5:34 PM Changeset in webkit [205212] by
-
- 6 edits1 add in trunk
YouTubePluginReplacementTest's URL transformation logic should have tests
https://bugs.webkit.org/show_bug.cgi?id=161406
<rdar://problem/28050847>
Patch by Ricky Mondello <Ricky Mondello> on 2016-08-30
Reviewed by Eric Carlson.
Source/WebCore:
Refactor most of YouTubePluginReplacement::youTubeURL into a static method that can be used by TestWebKitAPI.
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::youTubeURL): Now implemented in terms of youTubeURLFromAbsoluteURL.
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL): Absorbs most of youTubeURL.
- Modules/plugins/YouTubePluginReplacement.h: Declare a public method, for the benefit of testing.
- WebCore.xcodeproj/project.pbxproj: Make some heads private for TestWebKitAPI's benefit.
Tools:
Add some very basic tests. Future patches should expand on these to find and fix bugs.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add YouTubePluginReplacement.cpp.
- TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp: Added.
(TestWebKitAPI::test): Added.
(TestWebKitAPI::TEST_F): Added.
- 5:27 PM Changeset in webkit [205211] by
-
- 7 edits3 adds in trunk
Web Inspector: Add resource timing model with timing information
https://bugs.webkit.org/show_bug.cgi?id=161314
Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-08-30
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
Add a resource timing data model and populate it with info from the
response from the backend.
- UserInterface/Controllers/FrameResourceManager.js:
(WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
Forward timing data from response to Resource.js.
- UserInterface/Main.html: Add new ResourceTimingData.js.
- UserInterface/Test.html: Add new ResourceTimingData.js.
- UserInterface/Models/Resource.js:
(WebInspector.Resource): Instantiate ResourceTimingData object.
(WebInspector.Resource.prototype.get timing):
(WebInspector.Resource.prototype.get firstTimestamp):
(WebInspector.Resource.prototype.get lastTimestamp):
(WebInspector.Resource.prototype.get duration):
(WebInspector.Resource.prototype.get latency):
(WebInspector.Resource.prototype.get receiveDuration):
Update getters to use new timing model.
(WebInspector.Resource.prototype.updateForResponse):
Update timing object with info from response.
(WebInspector.Resource.prototype.markAsFinished):
Log response end time.
- UserInterface/Models/ResourceTimelineRecord.js:
(WebInspector.ResourceTimelineRecord.prototype.get startTime):
(WebInspector.ResourceTimelineRecord.prototype.get activeStartTime):
(WebInspector.ResourceTimelineRecord.prototype.get endTime):
Update getters to use new timing model.
- UserInterface/Models/ResourceTimingData.js: Added.
(WebInspector.ResourceTimingData):
(WebInspector.ResourceTimingData.fromPayload):
(WebInspector.ResourceTimingData.prototype.get startTime):
(WebInspector.ResourceTimingData.prototype.get domainLookupStart):
(WebInspector.ResourceTimingData.prototype.get domainLookupEnd):
(WebInspector.ResourceTimingData.prototype.get connectStart):
(WebInspector.ResourceTimingData.prototype.get connectEnd):
(WebInspector.ResourceTimingData.prototype.get secureConnectionStart):
(WebInspector.ResourceTimingData.prototype.get requestStart):
(WebInspector.ResourceTimingData.prototype.get responseStart):
(WebInspector.ResourceTimingData.prototype.get responseEnd):
(WebInspector.ResourceTimingData.prototype.markResponseEndTime):
Add new ResourceTimingData model and fall back on old timestamps
for when data is unavailable.
LayoutTests:
Add tests for the Resource Timing Data model.
- http/tests/inspector/network/resource-timing-expected.txt: Added.
- http/tests/inspector/network/resource-timing.html: Added.
- 5:15 PM Changeset in webkit [205210] by
-
- 4 edits1 add in trunk/Source/bmalloc
bmalloc: speed up the lock slow path
https://bugs.webkit.org/show_bug.cgi?id=161058
Unreviewed roll-in - with regression fixed.
Revert to using yield() instead of swtch() because very low priority
background tasks can cause priority inversion and deadlock. In the
network process, that happened with com.apple.WebKit.Cache.Storage.serialBackground.
Still a big speedup on MallocBench.
- bmalloc.xcodeproj/project.pbxproj:
- bmalloc/ScopeExit.h: Added.
(bmalloc::ScopeExit::ScopeExit):
(bmalloc::ScopeExit::~ScopeExit):
(bmalloc::makeScopeExit):
- bmalloc/StaticMutex.cpp:
(bmalloc::StaticMutex::lockSlowCase):
- bmalloc/StaticMutex.h:
(bmalloc::StaticMutex::init):
- 5:11 PM Changeset in webkit [205209] by
-
- 7 edits in trunk/Source/WebKit2
Switch more messages over to Connection::sendWithReply
https://bugs.webkit.org/show_bug.cgi?id=161415
Reviewed by Tim Horton.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::processWillShutDown):
(WebKit::WebProcessProxy::canTerminateChildProcess):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::generateCallbackID): Deleted.
(WebKit::WebProcessProxy::didDeleteWebsiteData): Deleted.
(WebKit::WebProcessProxy::didDeleteWebsiteDataForOrigins): Deleted.
- UIProcess/WebProcessProxy.h:
- UIProcess/WebProcessProxy.messages.in:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::deleteWebsiteData):
(WebKit::WebProcess::deleteWebsiteDataForOrigins):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- 4:01 PM Changeset in webkit [205208] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix build after r205205.
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSetPrototypeOf):
- 3:59 PM Changeset in webkit [205207] by
-
- 12 edits in trunk/Source/WebKit2
Add Connection::sendWithReply
https://bugs.webkit.org/show_bug.cgi?id=161399
Reviewed by Tim Horton.
Connection::sendWithReply makes it easy to send a message and process its reply asynchronously on a given WorkQueue or RunLoop.
The reply handler is guaranteed to be called. If the reply is successfully received, it will consist of an std::tuple with the arguments,
otherwise it will be called with Nullopt.
- Platform/IPC/Connection.cpp:
(IPC::Connection::invalidate):
Go through all reply handlers and dispatch them with a null Decoder.
(IPC::Connection::sendMessageWithReply):
Add the reply handler to the m_replyHandlers hash map, and send the message.
(IPC::Connection::processIncomingSyncReply):
Check if the incoming reply has an entry in m_replyHandlers. If it does, dispatch its handler using the given dispatcher.
(IPC::Connection::connectionDidClose):
Go through all reply handlers and dispatch them with a null Decoder.
- Platform/IPC/Connection.h:
(IPC::Connection::sendWithReply):
Encode the message (we use the sync message ID infrastructure for this), then call sendMessageWithReply with a reply handler that
decodes the reply and calls the real reply handler.
- Platform/IPC/HandleMessage.h:
Forward declare Connection.
- UIProcess/Databases/DatabaseProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.h:
Forward declare WebsiteData.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::processWillShutDown):
Remove m_pendingFetchWebsiteDataCallbacks.
(WebKit::WebProcessProxy::fetchWebsiteData):
Use Connection::sendWithReply.
(WebKit::WebProcessProxy::didFetchWebsiteData): Deleted.
- UIProcess/WebProcessProxy.h:
Remove members.
- UIProcess/WebProcessProxy.messages.in:
Remove DidFetchWebsiteData.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::fetchWebsiteData):
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
Update the FetchWebsiteData message to have a reply parameter.
- 3:54 PM Changeset in webkit [205206] by
-
- 5 edits in trunk/Source/WebCore
Move some code from MathMLElement to MathMLPresentationElement
https://bugs.webkit.org/show_bug.cgi?id=161377
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-30
Reviewed by Darin Adler.
The following code is only used in presentation MathML classes. We then move it from
MathMLElement to MathMLPresentationElement:
- testing whether a child is a phrasing/flow element.
- parsing of length attributes.
- parsing of boolean attributes.
- parsing of mathvariant attributes.
No new tests, already covered by existing tests.
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::isPhrasingContent): Deleted.
(WebCore::MathMLElement::isFlowContent): Deleted.
(WebCore::MathMLElement::parseNumberAndUnit): Deleted.
(WebCore::MathMLElement::parseNamedSpace): Deleted.
(WebCore::MathMLElement::parseMathMLLength): Deleted.
(WebCore::MathMLElement::cachedMathMLLength): Deleted.
(WebCore::MathMLElement::cachedBooleanAttribute): Deleted.
(WebCore::MathMLElement::parseMathVariantAttribute): Deleted.
(WebCore::MathMLElement::specifiedDisplayStyle): Deleted.
(WebCore::MathMLElement::specifiedMathVariant): Deleted.
- mathml/MathMLElement.h:
(WebCore::MathMLElement::specifiedDisplayStyle):
(WebCore::MathMLElement::specifiedMathVariant):
(WebCore::MathMLElement::acceptsDisplayStyleAttribute): Deleted.
(WebCore::MathMLElement::acceptsMathVariantAttribute): Deleted.
(WebCore::MathMLElement::toOptionalBool): Deleted.
- mathml/MathMLPresentationElement.cpp:
(WebCore::MathMLPresentationElement::isPhrasingContent):
(WebCore::MathMLPresentationElement::isFlowContent):
(WebCore::MathMLPresentationElement::cachedBooleanAttribute):
(WebCore::MathMLPresentationElement::parseNumberAndUnit):
(WebCore::MathMLPresentationElement::parseNamedSpace):
(WebCore::MathMLPresentationElement::parseMathMLLength):
(WebCore::MathMLPresentationElement::cachedMathMLLength):
(WebCore::MathMLPresentationElement::specifiedDisplayStyle):
(WebCore::MathMLPresentationElement::parseMathVariantAttribute):
(WebCore::MathMLPresentationElement::specifiedMathVariant):
- mathml/MathMLPresentationElement.h:
(WebCore::MathMLPresentationElement::toOptionalBool):
(WebCore::MathMLPresentationElement::acceptsMathVariantAttribute):
- 3:49 PM Changeset in webkit [205205] by
-
- 5 edits in trunk
Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object
https://bugs.webkit.org/show_bug.cgi?id=161396
Reviewed by Ryosuke Niwa.
Source/JavaScriptCore:
Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object:
- https://html.spec.whatwg.org/#windowproxy-setprototypeof
- https://html.spec.whatwg.org/#location-setprototypeof
- https://tc39.github.io/ecma262/#sec-object.setprototypeof (step 5)
Firefox and Chrome already throw. However, WebKit merely ignores the call and logs an error message.
Note that technically, we should also throw in the same origin case.
However, not all browsers agree on this yet so I haven't not changed
the behavior for the same origin case.
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSetPrototypeOf):
LayoutTests:
Update / rebaseline existing test to reflect behavior change.
- http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-setPrototypeOf.html:
- 3:43 PM Changeset in webkit [205204] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Clean up the remaining compare nodes in FTLCapabilities
https://bugs.webkit.org/show_bug.cgi?id=161400
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-30
Reviewed by Geoffrey Garen.
It looks like we implemented all the cases without realizing it.
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compare):
- 3:42 PM Changeset in webkit [205203] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 3:29 PM Changeset in webkit [205202] by
-
- 3 edits3 adds in trunk
Introduce a MathMLUnknownElement class
https://bugs.webkit.org/show_bug.cgi?id=161298
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-30
Reviewed by Darin Adler.
Source/WebCore:
For consistency with SVG and HTML, we make MathML elements use a
fallback MathMLUnknownElement class. Like SVG, we ensure that unknown
MathML elements do not create any renderer.
Test: mathml/mathml-unknown.xhtml
- mathml/MathMLUnknownElement.h: Added. This is a simple class for
unknown MathML elements, preventing the creation of renderers.
- mathml/mathtags.in: Map fallbackInterfaceName to MathMLUnknownElement.
LayoutTests:
We add a test to check that non-standard or content MathML elements
are handled by MathMLUnknownElement and so do not create renderers.
- mathml/mathml-unknown-expected.txt: Added.
- mathml/mathml-unknown.xhtml: Added.
- 3:28 PM Changeset in webkit [205201] by
-
- 2 edits in trunk/Source/WebKit2
Fix runtime error caused by missing export after https://bugs.webkit.org/show_bug.cgi?id=160846
Rubberstamped by Dan Bernstein.
- UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:
- 3:24 PM Changeset in webkit [205200] by
-
- 7 edits in trunk
Delete should throw for cross-origin Window / Location objects
https://bugs.webkit.org/show_bug.cgi?id=161397
Reviewed by Ryosuke Niwa.
Source/WebCore:
Delete should throw for cross-origin Window / Location objects:
Firefox and Chrome already throw. Previously, WebKit was merely
ignoring the call and logging an error message.
No new tests, updated existing test.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::deleteProperty):
(WebCore::JSDOMWindow::deletePropertyByIndex):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::deleteProperty):
(WebCore::JSLocation::deletePropertyByIndex):
LayoutTests:
Update / rebaseline existing test to reflect behavior change.
- http/tests/security/cross-frame-access-delete-expected.txt:
- http/tests/security/cross-frame-access-delete.html:
- http/tests/security/resources/cross-frame-iframe-for-delete-test.html:
- 3:23 PM Changeset in webkit [205199] by
-
- 13 edits1 copy1 move5 adds in trunk
GameController.framework backend for gamepad API.
https://bugs.webkit.org/show_bug.cgi?id=161086
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Native framework backends not directly testable)
- WebCore.xcodeproj/project.pbxproj:
- platform/gamepad/cocoa/GameControllerGamepad.h: Copied from Source/WebKit2/UIProcess/Gamepad/mac/UIGamepadProviderHID.cpp.
- platform/gamepad/cocoa/GameControllerGamepad.mm: Added.
(WebCore::GameControllerGamepad::GameControllerGamepad):
(WebCore::GameControllerGamepad::setupAsExtendedGamepad):
(WebCore::GameControllerGamepad::setupAsGamepad):
- platform/gamepad/cocoa/GameControllerGamepadProvider.h: Added.
- platform/gamepad/cocoa/GameControllerGamepadProvider.mm: Added.
(WebCore::GameControllerGamepadProvider::singleton):
(WebCore::GameControllerGamepadProvider::GameControllerGamepadProvider):
(WebCore::GameControllerGamepadProvider::controllerDidConnect):
(WebCore::GameControllerGamepadProvider::controllerDidDisconnect):
(WebCore::GameControllerGamepadProvider::startMonitoringGamepads):
(WebCore::GameControllerGamepadProvider::stopMonitoringGamepads):
(WebCore::GameControllerGamepadProvider::indexForNewlyConnectedDevice):
(WebCore::GameControllerGamepadProvider::gamepadHadInput):
(WebCore::GameControllerGamepadProvider::makeInvisibileGamepadsVisible):
(WebCore::GameControllerGamepadProvider::inputNotificationTimerFired):
Source/WebKit2:
- UIProcess/API/Cocoa/WKProcessPool.mm:
(+[WKProcessPool _forceGameControllerFramework]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/Gamepad/UIGamepadProvider.h:
- UIProcess/Gamepad/cocoa/UIGamepadProviderCocoa.mm: Renamed from Source/WebKit2/UIProcess/Gamepad/mac/UIGamepadProviderHID.cpp.
(WebKit::UIGamepadProvider::setUsesGameControllerFramework):
(WebKit::UIGamepadProvider::platformSetDefaultGamepadProvider):
(WebKit::UIGamepadProvider::platformStopMonitoringInput):
(WebKit::UIGamepadProvider::platformStartMonitoringInput):
- WebKit2.xcodeproj/project.pbxproj:
Source/WTF:
- wtf/RunLoop.h:
(WTF::RunLoop::TimerBase::startOneShot):
Tools:
- MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate awakeFromNib]):
- MiniBrowser/mac/SettingsController.h:
- MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController usesGameControllerFramework]):
(-[SettingsController toggleUsesGameControllerFramework:]):
- 1:54 PM Changeset in webkit [205198] by
-
- 204 edits3 adds in trunk/Source
Introduce the ThrowScope and force every throw site to instantiate a ThrowScope.
https://bugs.webkit.org/show_bug.cgi?id=161171
Reviewed by Filip Pizlo and Geoffrey Garen.
Source/JavaScriptCore:
This is the first step towards having a mechanism (using the ThrowScope) to
verify that we're properly checking for exceptions in all the needed places.
See comments at the top of ThrowScope.cpp for details on how the ThrowScope works.
This patch only introduces the ThrowScope, and changes all throw sites to throw
using a ThrowScope instance. VM::throwException() functions are now private, and
cannot be accessed directly. All throws must now go through a ThrowScope.
Verification is disabled for the moment until we can fix all the verification
failures that will show up.
I also did a smoke test of the ThrowScope mechanisms by running verification on
the JSTests/stress/op-add-exceptions.js test with a local build with verification
turned on.
Performance is neutral on aggregate with this patch.
Misc other changes:
- deleted the unused CALL_THROW() macro from LLIntSlowPaths.cpp.
- moved createListFromArrayLike() from JSObject.h to JSObjectInlines.h.
- API/APICallbackFunction.h:
(JSC::APICallbackFunction::call):
(JSC::APICallbackFunction::construct):
- API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::getOwnPropertySlot):
(JSC::JSCallbackObject<Parent>::defaultValue):
(JSC::JSCallbackObject<Parent>::put):
(JSC::JSCallbackObject<Parent>::putByIndex):
(JSC::JSCallbackObject<Parent>::deleteProperty):
(JSC::JSCallbackObject<Parent>::construct):
(JSC::JSCallbackObject<Parent>::customHasInstance):
(JSC::JSCallbackObject<Parent>::call):
(JSC::JSCallbackObject<Parent>::getStaticValue):
(JSC::JSCallbackObject<Parent>::staticFunctionGetter):
(JSC::JSCallbackObject<Parent>::callbackGetter):
- API/JSTypedArray.cpp:
(createTypedArray):
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGOperations.cpp:
(JSC::DFG::newTypedArrayWithSize):
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::evaluateWithScopeExtension):
- inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate):
(Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName):
(Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension):
(Inspector::jsInjectedScriptHostPrototypeFunctionSubtype):
(Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails):
(Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties):
- inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension):
- inspector/JSJavaScriptCallFramePrototype.cpp:
(Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension):
(Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions):
(Inspector::jsJavaScriptCallFrameAttributeCaller):
(Inspector::jsJavaScriptCallFrameAttributeSourceID):
(Inspector::jsJavaScriptCallFrameAttributeLine):
(Inspector::jsJavaScriptCallFrameAttributeColumn):
(Inspector::jsJavaScriptCallFrameAttributeFunctionName):
(Inspector::jsJavaScriptCallFrameAttributeScopeChain):
(Inspector::jsJavaScriptCallFrameAttributeThisObject):
(Inspector::jsJavaScriptCallFrameAttributeType):
(Inspector::jsJavaScriptCallFrameIsTailDeleted):
- interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
- interpreter/Interpreter.cpp:
(JSC::eval):
(JSC::sizeOfVarargs):
(JSC::sizeFrameForForwardArguments):
(JSC::sizeFrameForVarargs):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
- jit/JITOperations.cpp:
- jsc.cpp:
(WTF::CustomGetter::customGetter):
(WTF::RuntimeArray::lengthGetter):
(functionCreateElement):
(functionRun):
(functionRunString):
(functionLoad):
(functionLoadString):
(functionReadFile):
(functionCheckSyntax):
(functionTransferArrayBuffer):
(functionLoadModule):
(functionCheckModuleSyntax):
(functionSamplingProfilerStackTraces):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::getByVal):
(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):
(JSC::LLInt::llint_throw_stack_overflow_error):
- runtime/ArrayConstructor.cpp:
(JSC::constructArrayWithSizeQuirk):
- runtime/ArrayConstructor.h:
(JSC::isArray):
- runtime/ArrayPrototype.cpp:
(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncSplice):
(JSC::concatAppendOne):
(JSC::arrayProtoPrivateFuncConcatMemcpy):
- runtime/BooleanPrototype.cpp:
(JSC::booleanProtoFuncToString):
(JSC::booleanProtoFuncValueOf):
- runtime/CommonSlowPaths.cpp:
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::opIn):
- runtime/CommonSlowPathsExceptions.cpp:
(JSC::CommonSlowPaths::interpreterThrowInCaller):
- runtime/ConstructData.cpp:
(JSC::construct):
- runtime/DatePrototype.cpp:
(JSC::formateDateInstance):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncToLocaleString):
(JSC::dateProtoFuncToLocaleDateString):
(JSC::dateProtoFuncToLocaleTimeString):
(JSC::dateProtoFuncToPrimitiveSymbol):
(JSC::dateProtoFuncGetTime):
(JSC::dateProtoFuncGetFullYear):
(JSC::dateProtoFuncGetUTCFullYear):
(JSC::dateProtoFuncGetMonth):
(JSC::dateProtoFuncGetUTCMonth):
(JSC::dateProtoFuncGetDate):
(JSC::dateProtoFuncGetUTCDate):
(JSC::dateProtoFuncGetDay):
(JSC::dateProtoFuncGetUTCDay):
(JSC::dateProtoFuncGetHours):
(JSC::dateProtoFuncGetUTCHours):
(JSC::dateProtoFuncGetMinutes):
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
(JSC::dateProtoFuncGetMilliSeconds):
(JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncGetYear):
(JSC::dateProtoFuncToJSON):
- runtime/Error.cpp:
(JSC::throwConstructorCannotBeCalledAsFunctionTypeError):
(JSC::throwTypeError):
(JSC::throwSyntaxError):
- runtime/Error.h:
(JSC::throwRangeError):
(JSC::throwVMError):
(JSC::throwVMTypeError):
(JSC::throwVMRangeError):
(JSC::StrictModeTypeErrorFunction::constructThrowTypeError):
(JSC::StrictModeTypeErrorFunction::callThrowTypeError):
- runtime/ErrorPrototype.cpp:
(JSC::errorProtoFuncToString):
- runtime/ExceptionFuzz.cpp:
(JSC::doExceptionFuzzing):
- runtime/ExceptionHelpers.cpp:
(JSC::throwOutOfMemoryError):
(JSC::throwStackOverflowError):
(JSC::throwTerminatedExecutionException):
- runtime/ExceptionHelpers.h:
- runtime/Executable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::EvalExecutable::create):
- runtime/FunctionConstructor.cpp:
(JSC::constructFunction):
(JSC::constructFunctionSkippingEvalEnabledCheck):
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
(JSC::functionProtoFuncBind):
- runtime/GetterSetter.cpp:
(JSC::callSetter):
- runtime/IntlCollator.cpp:
(JSC::IntlCollator::compareStrings):
- runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorPrototypeGetterCompare):
(JSC::IntlCollatorPrototypeFuncResolvedOptions):
- runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::format):
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions):
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::initializeNumberFormat):
(JSC::IntlNumberFormat::formatNumber):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototypeGetterFormat):
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions):
- runtime/IntlObject.cpp:
(JSC::intlStringOption):
(JSC::intlNumberOption):
(JSC::canonicalizeLocaleList):
(JSC::lookupSupportedLocales):
- runtime/IteratorOperations.cpp:
(JSC::iteratorNext):
(JSC::iteratorClose):
(JSC::createIteratorResultObject):
(JSC::iteratorForIterable):
- runtime/JSArray.cpp:
(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::put):
(JSC::JSArray::appendMemcpy):
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::unshiftCountWithArrayStorage):
(JSC::JSArray::unshiftCountWithAnyIndexingType):
- runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer):
(JSC::callArrayBuffer):
- runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferProtoFuncSlice):
- runtime/JSCInlines.h:
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toObjectSlowCase):
(JSC::JSValue::synthesizePrototype):
(JSC::JSValue::putToPrimitive):
(JSC::JSValue::putToPrimitiveByIndex):
(JSC::JSValue::toStringSlowCase):
- runtime/JSCJSValueInlines.h:
(JSC::toPreferredPrimitiveType):
(JSC::JSValue::requireObjectCoercible):
- runtime/JSDataView.cpp:
(JSC::JSDataView::create):
- runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
(JSC::dataViewProtoGetterBuffer):
(JSC::dataViewProtoGetterByteLength):
(JSC::dataViewProtoGetterByteOffset):
- runtime/JSFunction.cpp:
(JSC::callHostFunctionAsConstructor):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndex):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewFromIterator):
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
(JSC::callGenericTypedArrayView):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::create):
(JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized):
(JSC::JSGenericTypedArrayView<Adaptor>::validateRange):
(JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::speciesConstruct):
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoGetterFuncBuffer):
(JSC::genericTypedArrayViewProtoGetterFuncLength):
(JSC::genericTypedArrayViewProtoGetterFuncByteLength):
(JSC::genericTypedArrayViewProtoGetterFuncByteOffset):
(JSC::genericTypedArrayViewProtoFuncReverse):
(JSC::genericTypedArrayViewPrivateFuncSort):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::createEvalCodeBlock):
(JSC::JSGlobalObject::createModuleProgramCodeBlock):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::encode):
(JSC::decode):
(JSC::globalFuncEval):
(JSC::globalFuncThrowTypeError):
(JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller):
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
- runtime/JSModuleEnvironment.cpp:
(JSC::JSModuleEnvironment::put):
- runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::getOwnPropertySlot):
(JSC::JSModuleNamespaceObject::put):
(JSC::JSModuleNamespaceObject::putByIndex):
(JSC::JSModuleNamespaceObject::defineOwnProperty):
(JSC::moduleNamespaceObjectSymbolIterator):
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::getModuleNamespace):
(JSC::JSModuleRecord::link):
(JSC::JSModuleRecord::instantiateDeclarations):
- runtime/JSONObject.cpp:
(JSC::Stringifier::appendStringifiedValue):
(JSC::Walker::walk):
(JSC::JSONProtoFuncParse):
(JSC::JSONProtoFuncStringify):
- runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::callToPrimitiveFunction):
(JSC::JSObject::ordinaryToPrimitive):
(JSC::JSObject::hasInstance):
(JSC::JSObject::defaultHasInstance):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::validateAndApplyPropertyDescriptor):
(JSC::JSObject::getMethod):
- runtime/JSObject.h:
(JSC::createListFromArrayLike): Deleted.
- runtime/JSObjectInlines.h:
(JSC::createListFromArrayLike):
(JSC::JSObject::putInline):
- runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
(JSC::callPromise):
- runtime/JSPropertyNameIterator.cpp:
(JSC::propertyNameIteratorFuncNext):
- runtime/JSString.cpp:
(JSC::JSRopeString::outOfMemory):
- runtime/JSStringBuilder.h:
(JSC::JSStringBuilder::build):
(JSC::jsMakeNontrivialString):
- runtime/JSStringJoiner.cpp:
(JSC::JSStringJoiner::joinedLength):
(JSC::JSStringJoiner::join):
- runtime/JSStringJoiner.h:
(JSC::JSStringJoiner::JSStringJoiner):
- runtime/JSSymbolTableObject.h:
(JSC::symbolTablePut):
- runtime/JSTypedArrayViewConstructor.cpp:
(JSC::constructTypedArrayView):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewPrivateFuncLength):
(JSC::typedArrayViewPrivateFuncSort):
(JSC::typedArrayViewProtoFuncSet):
(JSC::typedArrayViewProtoFuncCopyWithin):
(JSC::typedArrayViewProtoFuncIncludes):
(JSC::typedArrayViewProtoFuncLastIndexOf):
(JSC::typedArrayViewProtoFuncIndexOf):
(JSC::typedArrayViewProtoFuncJoin):
(JSC::typedArrayViewProtoGetterFuncBuffer):
(JSC::typedArrayViewProtoGetterFuncLength):
(JSC::typedArrayViewProtoGetterFuncByteLength):
(JSC::typedArrayViewProtoGetterFuncByteOffset):
(JSC::typedArrayViewProtoFuncReverse):
(JSC::typedArrayViewPrivateFuncSubarrayCreate):
(JSC::typedArrayViewProtoFuncSlice):
- runtime/MapConstructor.cpp:
(JSC::callMap):
(JSC::constructMap):
- runtime/MapDataInlines.h:
(JSC::JSIterator>::ensureSpaceForAppend):
- runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototypeFuncNext):
- runtime/MapPrototype.cpp:
(JSC::getMap):
(JSC::mapProtoFuncValues):
(JSC::mapProtoFuncEntries):
(JSC::mapProtoFuncKeys):
- runtime/ModuleLoaderPrototype.cpp:
(JSC::moduleLoaderPrototypeParseModule):
- runtime/NullSetterFunction.cpp:
(JSC::callReturnUndefined):
- runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToExponential):
(JSC::numberProtoFuncToFixed):
(JSC::numberProtoFuncToPrecision):
(JSC::numberProtoFuncToString):
(JSC::numberProtoFuncToLocaleString):
(JSC::numberProtoFuncValueOf):
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSetPrototypeOf):
(JSC::toPropertyDescriptor):
(JSC::objectConstructorDefineProperty):
(JSC::objectConstructorDefineProperties):
(JSC::objectConstructorCreate):
- runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncToString):
- runtime/Operations.h:
(JSC::jsString):
(JSC::jsStringFromRegisterArray):
(JSC::jsStringFromArguments):
- runtime/ProxyConstructor.cpp:
(JSC::makeRevocableProxy):
(JSC::proxyRevocableConstructorThrowError):
(JSC::constructProxyObject):
(JSC::callProxy):
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::finishCreation):
(JSC::performProxyGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::getOwnPropertySlotCommon):
(JSC::ProxyObject::performPut):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):
- runtime/ReflectObject.cpp:
(JSC::reflectObjectConstruct):
(JSC::reflectObjectDefineProperty):
(JSC::reflectObjectEnumerate):
(JSC::reflectObjectGet):
(JSC::reflectObjectGetOwnPropertyDescriptor):
(JSC::reflectObjectGetPrototypeOf):
(JSC::reflectObjectIsExtensible):
(JSC::reflectObjectOwnKeys):
(JSC::reflectObjectPreventExtensions):
(JSC::reflectObjectSet):
(JSC::reflectObjectSetPrototypeOf):
- runtime/RegExpConstructor.cpp:
(JSC::toFlags):
(JSC::regExpCreate):
- runtime/RegExpObject.cpp:
(JSC::collectMatches):
- runtime/RegExpObject.h:
(JSC::RegExpObject::setLastIndex):
- runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncTestFast):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncMatchFast):
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoFuncToString):
(JSC::regExpProtoGetterGlobal):
(JSC::regExpProtoGetterIgnoreCase):
(JSC::regExpProtoGetterMultiline):
(JSC::regExpProtoGetterSticky):
(JSC::regExpProtoGetterUnicode):
(JSC::regExpProtoGetterFlags):
(JSC::regExpProtoGetterSource):
(JSC::regExpProtoFuncSplitFast):
- runtime/Reject.h:
(JSC::reject):
- runtime/SetConstructor.cpp:
(JSC::callSet):
(JSC::constructSet):
- runtime/SetIteratorPrototype.cpp:
(JSC::SetIteratorPrototypeFuncNext):
- runtime/SetPrototype.cpp:
(JSC::getSet):
(JSC::setProtoFuncValues):
(JSC::setProtoFuncEntries):
- runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::putEntry):
(JSC::SparseArrayEntry::put):
- runtime/StringConstructor.cpp:
(JSC::stringFromCodePoint):
- runtime/StringObject.cpp:
(JSC::StringObject::put):
(JSC::StringObject::putByIndex):
- runtime/StringPrototype.cpp:
(JSC::jsSpliceSubstrings):
(JSC::jsSpliceSubstringsWithSeparators):
(JSC::repeatCharacter):
(JSC::replace):
(JSC::stringProtoFuncToString):
(JSC::stringProtoFuncCharAt):
(JSC::stringProtoFuncCharCodeAt):
(JSC::stringProtoFuncCodePointAt):
(JSC::stringProtoFuncConcat):
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
(JSC::stringProtoFuncToUpperCase):
(JSC::stringProtoFuncLocaleCompare):
(JSC::toLocaleCase):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::trimString):
(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):
(JSC::stringProtoFuncIncludes):
(JSC::stringProtoFuncIterator):
(JSC::normalize):
(JSC::stringProtoFuncNormalize):
- runtime/StringRecursionChecker.cpp:
(JSC::StringRecursionChecker::throwStackOverflowError):
- runtime/Symbol.cpp:
(JSC::Symbol::toNumber):
- runtime/SymbolConstructor.cpp:
(JSC::symbolConstructorKeyFor):
- runtime/SymbolPrototype.cpp:
(JSC::symbolProtoFuncToString):
(JSC::symbolProtoFuncValueOf):
- runtime/ThrowScope.cpp: Added.
(JSC::ThrowScope::ThrowScope):
(JSC::ThrowScope::~ThrowScope):
(JSC::ThrowScope::throwException):
(JSC::ThrowScope::printIfNeedCheck):
(JSC::ThrowScope::simulateThrow):
(JSC::ThrowScope::verifyExceptionCheckNeedIsSatisfied):
- runtime/ThrowScope.h: Added.
(JSC::ThrowScope::vm):
(JSC::ThrowScope::exception):
(JSC::ThrowScope::release):
(JSC::ThrowScope::ThrowScope):
(JSC::ThrowScope::throwException):
(JSC::throwException):
- runtime/ThrowScopeLocation.h: Added.
(JSC::ThrowScopeLocation::ThrowScopeLocation):
- runtime/VM.h:
- runtime/VMEntryScope.h:
(JSC::VMEntryScope::vm):
- runtime/WeakMapConstructor.cpp:
(JSC::callWeakMap):
(JSC::constructWeakMap):
- runtime/WeakMapPrototype.cpp:
(JSC::getWeakMapData):
(JSC::protoFuncWeakMapSet):
- runtime/WeakSetConstructor.cpp:
(JSC::callWeakSet):
(JSC::constructWeakSet):
- runtime/WeakSetPrototype.cpp:
(JSC::getWeakMapData):
(JSC::protoFuncWeakSetAdd):
Source/WebCore:
No new tests because this is only an internal API change. If it builds, it should be good.
- bindings/js/JSApplePaySessionCustom.cpp:
(WebCore::JSApplePaySession::completeShippingMethodSelection):
(WebCore::JSApplePaySession::completeShippingContactSelection):
(WebCore::JSApplePaySession::completePaymentMethodSelection):
- bindings/js/JSBlobCustom.cpp:
(WebCore::constructJSBlob):
- bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
- bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier):
(WebCore::createAesCbcParams):
(WebCore::createAesKeyGenParams):
(WebCore::createHmacParams):
(WebCore::createHmacKeyParams):
(WebCore::createRsaKeyGenParams):
(WebCore::createRsaOaepParams):
(WebCore::createRsaSsaParams):
- bindings/js/JSCryptoCustom.cpp:
(WebCore::JSCrypto::getRandomValues):
- bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::getJSArrayFromJSON):
(WebCore::getStringFromJSON):
(WebCore::getBooleanFromJSON):
(WebCore::getBigIntegerVectorFromJSON):
(WebCore::JSCryptoKeySerializationJWK::JSCryptoKeySerializationJWK):
(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
(WebCore::tryJWKKeyOpsValue):
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
(WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence):
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents):
(WebCore::JSCryptoKeySerializationJWK::keyData):
(WebCore::addJWKAlgorithmToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):
- bindings/js/JSCryptoOperationData.cpp:
(WebCore::cryptoOperationDataFromJSValue):
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::upgradeElement):
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::getCustomElementCallback):
(WebCore::JSCustomElementRegistry::define):
- bindings/js/JSDOMBinding.cpp:
(WebCore::setDOMException):
(WebCore::enforceRange):
(WebCore::toSmallerInt):
(WebCore::toSmallerUInt):
(WebCore::canAccessDocument):
(WebCore::throwTypeError):
(WebCore::throwNotSupportedError):
(WebCore::throwInvalidStateError):
(WebCore::throwSecurityError):
(WebCore::throwArgumentMustBeEnumError):
(WebCore::throwArgumentMustBeFunctionError):
(WebCore::throwArgumentTypeError):
(WebCore::throwArrayElementTypeError):
(WebCore::throwAttributeTypeError):
(WebCore::throwConstructorScriptExecutionContextUnavailableError):
(WebCore::throwSequenceTypeError):
(WebCore::throwNonFiniteTypeError):
(WebCore::throwGetterTypeError):
(WebCore::throwSetterTypeError):
(WebCore::throwThisTypeError):
(WebCore::callThrowTypeError):
- bindings/js/JSDOMBinding.h:
(WebCore::toJSSequence):
(WebCore::toRefPtrNativeArray):
(WebCore::toNativeArray):
- bindings/js/JSDOMConstructor.h:
(WebCore::JSDOMConstructorNotConstructable::callThrowTypeError):
(WebCore::JSBuiltinConstructor<JSClass>::callConstructor):
- bindings/js/JSDOMConvert.h:
(WebCore::convertWrapperType):
- bindings/js/JSDOMIterator.h:
(WebCore::iteratorCreate):
(WebCore::iteratorForEach):
(WebCore::JSDOMIteratorPrototype<JSWrapper>::next):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::put):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::handlePostMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
- bindings/js/JSDataCueCustom.cpp:
(WebCore::constructJSDataCue):
- bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
- bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::createTouchList):
(WebCore::JSDocument::getCSSCanvasContext):
- bindings/js/JSFileCustom.cpp:
(WebCore::constructJSFile):
- bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::JSHTMLAllCollection::item):
- bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
(WebCore::JSHTMLCanvasElement::probablySupportsContext):
- bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::open):
- bindings/js/JSHTMLElementCustom.cpp:
(WebCore::constructJSHTMLElement):
- bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
(WebCore::JSHTMLFormControlsCollection::namedItem):
- bindings/js/JSHTMLInputElementCustom.cpp:
(WebCore::JSHTMLInputElement::selectionStart):
(WebCore::JSHTMLInputElement::setSelectionStart):
(WebCore::JSHTMLInputElement::selectionEnd):
(WebCore::JSHTMLInputElement::setSelectionEnd):
(WebCore::JSHTMLInputElement::selectionDirection):
(WebCore::JSHTMLInputElement::setSelectionDirection):
(WebCore::JSHTMLInputElement::setSelectionRange):
- bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):
- bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::createObjectStore):
- bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::construct):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertySlotDelegate):
- bindings/js/JSMediaDevicesCustom.cpp:
(WebCore::JSMediaDevices::getUserMedia):
- bindings/js/JSMediaStreamTrackCustom.cpp:
(WebCore::JSMediaStreamTrack::getSettings):
(WebCore::JSMediaStreamTrack::getCapabilities):
- bindings/js/JSMessagePortCustom.cpp:
(WebCore::fillMessagePortArray):
- bindings/js/JSMessagePortCustom.h:
(WebCore::handlePostMessage):
- bindings/js/JSMockContentFilterSettingsCustom.cpp:
(WebCore::JSMockContentFilterSettings::setDecisionPoint):
(WebCore::toDecision):
- bindings/js/JSModuleLoader.cpp:
(WebCore::JSModuleLoader::evaluate):
- bindings/js/JSMutationObserverCustom.cpp:
(WebCore::constructJSMutationObserver):
- bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):
- bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::acceptNode):
- bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
- bindings/js/JSReadableStreamPrivateConstructors.cpp:
(WebCore::constructJSReadableStreamDefaultController):
(WebCore::constructJSReadableStreamDefaultReader):
- bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::setValue):
(WebCore::JSSVGLength::convertToSpecifiedUnits):
- bindings/js/JSWebGL2RenderingContextCustom.cpp:
(WebCore::JSWebGL2RenderingContext::getIndexedParameter):
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContextBase::getAttachedShaders):
(WebCore::JSWebGLRenderingContextBase::getExtension):
(WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContextBase::getParameter):
(WebCore::JSWebGLRenderingContextBase::getProgramParameter):
(WebCore::JSWebGLRenderingContextBase::getShaderParameter):
(WebCore::JSWebGLRenderingContextBase::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
- bindings/js/JSWebKitSubtleCryptoCustom.cpp:
(WebCore::cryptoKeyFormatFromJSValue):
(WebCore::cryptoKeyUsagesFromJSValue):
(WebCore::JSWebKitSubtleCrypto::encrypt):
(WebCore::JSWebKitSubtleCrypto::decrypt):
(WebCore::JSWebKitSubtleCrypto::sign):
(WebCore::JSWebKitSubtleCrypto::verify):
(WebCore::JSWebKitSubtleCrypto::digest):
(WebCore::JSWebKitSubtleCrypto::generateKey):
(WebCore::importKey):
(WebCore::JSWebKitSubtleCrypto::importKey):
(WebCore::exportKey):
(WebCore::JSWebKitSubtleCrypto::exportKey):
(WebCore::JSWebKitSubtleCrypto::wrapKey):
(WebCore::JSWebKitSubtleCrypto::unwrapKey):
- bindings/js/JSWorkerCustom.cpp:
(WebCore::constructJSWorker):
- bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):
- bindings/js/ReadableStreamDefaultController.cpp:
(WebCore::ReadableStreamDefaultController::invoke):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneBase::throwStackOverflow):
(WebCore::CloneDeserializer::throwValidationError):
(WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
- bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setException):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateEnumerationImplementationContent):
(GenerateDictionaryImplementationContent):
(GenerateOverloadedFunctionOrConstructor):
(GenerateImplementation):
(GenerateFunctionCastedThis):
(GenerateArgumentsCountCheck):
(GenerateParametersCheck):
(GenerateConstructorDefinition):
- bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::jsInterfaceNameConstructor):
(WebCore::setJSInterfaceNameConstructor):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectExcitingAttr):
(WebCore::jsTestActiveDOMObjectConstructor):
(WebCore::setJSTestActiveDOMObjectConstructor):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::jsTestClassWithJSBuiltinConstructorConstructor):
(WebCore::setJSTestClassWithJSBuiltinConstructorConstructor):
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterConstructor):
(WebCore::setJSTestCustomNamedGetterConstructor):
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::construct):
(WebCore::jsTestEventConstructorAttr1):
(WebCore::jsTestEventConstructorAttr2):
(WebCore::jsTestEventConstructorAttr3):
(WebCore::jsTestEventConstructorConstructor):
(WebCore::setJSTestEventConstructorConstructor):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetConstructor):
(WebCore::setJSTestEventTargetConstructor):
(WebCore::jsTestEventTargetPrototypeFunctionItem):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::jsTestExceptionName):
(WebCore::jsTestExceptionConstructor):
(WebCore::setJSTestExceptionConstructor):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::jsTestGenerateIsReachableConstructor):
(WebCore::setJSTestGenerateIsReachableConstructor):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObjectRegularAttribute):
(WebCore::jsTestGlobalObjectPublicAndPrivateAttribute):
(WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute):
(WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute):
(WebCore::jsTestGlobalObjectConstructor):
(WebCore::setJSTestGlobalObjectConstructor):
(WebCore::setJSTestGlobalObjectRegularAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute):
(WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute):
(WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation):
(WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorImplementsStaticAttr):
(WebCore::jsTestInterfaceImplementsStr1):
(WebCore::jsTestInterfaceImplementsStr2):
(WebCore::jsTestInterfaceImplementsStr3):
(WebCore::jsTestInterfaceImplementsNode):
(WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr):
(WebCore::jsTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::jsTestInterfaceSupplementalStr1):
(WebCore::jsTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfaceSupplementalStr3):
(WebCore::jsTestInterfaceSupplementalNode):
(WebCore::jsTestInterfaceConstructor):
(WebCore::setJSTestInterfaceConstructor):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
(WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
(WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::jsTestIterableConstructor):
(WebCore::setJSTestIterableConstructor):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::jsTestJSBuiltinConstructorTestAttributeCustom):
(WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom):
(WebCore::jsTestJSBuiltinConstructorConstructor):
(WebCore::setJSTestJSBuiltinConstructorConstructor):
(WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):
(WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerConstructor):
(WebCore::setJSTestMediaQueryListListenerConstructor):
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
(WebCore::jsTestNamedConstructorConstructor):
(WebCore::setJSTestNamedConstructorConstructor):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::construct):
(WebCore::jsTestNodeName):
(WebCore::jsTestNodeConstructor):
(WebCore::setJSTestNodeConstructor):
(WebCore::setJSTestNodeName):
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::jsTestNondeterministicNondeterministicReadonlyAttr):
(WebCore::jsTestNondeterministicNondeterministicWriteableAttr):
(WebCore::jsTestNondeterministicNondeterministicExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::jsTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::jsTestNondeterministicConstructor):
(WebCore::setJSTestNondeterministicConstructor):
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
(WebCore::jsTestNondeterministicPrototypeFunctionNondeterministicZeroArgFunction):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convert<TestObj::EnumType>):
(WebCore::convert<TestObj::Optional>):
(WebCore::convert<AlternateEnumName>):
(WebCore::convert<TestObj::EnumA>):
(WebCore::convert<TestObj::EnumB>):
(WebCore::convert<TestObj::EnumC>):
(WebCore::convert<TestObj::Kind>):
(WebCore::convert<TestObj::Size>):
(WebCore::convert<TestObj::Confidence>):
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::convertDictionary<AlternateDictionaryName>):
(WebCore::JSTestObjConstructor::construct):
(WebCore::jsTestObjReadOnlyLongAttr):
(WebCore::jsTestObjReadOnlyStringAttr):
(WebCore::jsTestObjReadOnlyTestObjAttr):
(WebCore::jsTestObjConstructorStaticReadOnlyLongAttr):
(WebCore::jsTestObjConstructorStaticStringAttr):
(WebCore::jsTestObjConstructorTestSubObj):
(WebCore::jsTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::jsTestObjEnumAttr):
(WebCore::jsTestObjByteAttr):
(WebCore::jsTestObjOctetAttr):
(WebCore::jsTestObjShortAttr):
(WebCore::jsTestObjClampedShortAttr):
(WebCore::jsTestObjEnforceRangeShortAttr):
(WebCore::jsTestObjUnsignedShortAttr):
(WebCore::jsTestObjLongAttr):
(WebCore::jsTestObjLongLongAttr):
(WebCore::jsTestObjUnsignedLongLongAttr):
(WebCore::jsTestObjStringAttr):
(WebCore::jsTestObjUsvstringAttr):
(WebCore::jsTestObjTestObjAttr):
(WebCore::jsTestObjTestNullableObjAttr):
(WebCore::jsTestObjLenientTestObjAttr):
(WebCore::jsTestObjUnforgeableAttr):
(WebCore::jsTestObjStringAttrTreatingNullAsEmptyString):
(WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString):
(WebCore::jsTestObjImplementationEnumAttr):
(WebCore::jsTestObjXMLObjAttr):
(WebCore::jsTestObjCreate):
(WebCore::jsTestObjReflectedStringAttr):
(WebCore::jsTestObjReflectedUSVStringAttr):
(WebCore::jsTestObjReflectedIntegralAttr):
(WebCore::jsTestObjReflectedUnsignedIntegralAttr):
(WebCore::jsTestObjReflectedBooleanAttr):
(WebCore::jsTestObjReflectedURLAttr):
(WebCore::jsTestObjReflectedUSVURLAttr):
(WebCore::jsTestObjReflectedCustomIntegralAttr):
(WebCore::jsTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjReflectedCustomURLAttr):
(WebCore::jsTestObjEnabledAtRuntimeAttribute):
(WebCore::jsTestObjTypedArrayAttr):
(WebCore::jsTestObjAttrWithGetterException):
(WebCore::jsTestObjAttrWithGetterExceptionWithMessage):
(WebCore::jsTestObjAttrWithSetterException):
(WebCore::jsTestObjAttrWithSetterExceptionWithMessage):
(WebCore::jsTestObjStringAttrWithGetterException):
(WebCore::jsTestObjStringAttrWithSetterException):
(WebCore::jsTestObjCustomAttr):
(WebCore::jsTestObjOnfoo):
(WebCore::jsTestObjOnwebkitfoo):
(WebCore::jsTestObjWithScriptStateAttribute):
(WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAttribute):
(WebCore::jsTestObjWithScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjConditionalAttr1):
(WebCore::jsTestObjConditionalAttr2):
(WebCore::jsTestObjConditionalAttr3):
(WebCore::jsTestObjConditionalAttr4Constructor):
(WebCore::jsTestObjConditionalAttr5Constructor):
(WebCore::jsTestObjConditionalAttr6Constructor):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::jsTestObjAnyAttribute):
(WebCore::jsTestObjContentDocument):
(WebCore::jsTestObjMutablePoint):
(WebCore::jsTestObjImmutablePoint):
(WebCore::jsTestObjStrawberry):
(WebCore::jsTestObjDescription):
(WebCore::jsTestObjId):
(WebCore::jsTestObjHash):
(WebCore::jsTestObjReplaceableAttribute):
(WebCore::jsTestObjNullableDoubleAttribute):
(WebCore::jsTestObjNullableLongAttribute):
(WebCore::jsTestObjNullableBooleanAttribute):
(WebCore::jsTestObjNullableStringAttribute):
(WebCore::jsTestObjNullableLongSettableAttribute):
(WebCore::jsTestObjNullableStringSettableAttribute):
(WebCore::jsTestObjNullableUSVStringSettableAttribute):
(WebCore::jsTestObjNullableStringValue):
(WebCore::jsTestObjAttribute):
(WebCore::jsTestObjAttributeWithReservedEnumType):
(WebCore::jsTestObjPutForwardsAttribute):
(WebCore::jsTestObjPutForwardsNullableAttribute):
(WebCore::jsTestObjStringifierAttribute):
(WebCore::jsTestObjConstructor):
(WebCore::setJSTestObjConstructor):
(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::setJSTestObjEnumAttr):
(WebCore::setJSTestObjByteAttr):
(WebCore::setJSTestObjOctetAttr):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjClampedShortAttr):
(WebCore::setJSTestObjEnforceRangeShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjLongAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjUsvstringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjTestNullableObjAttr):
(WebCore::setJSTestObjLenientTestObjAttr):
(WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString):
(WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString):
(WebCore::setJSTestObjImplementationEnumAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedUSVStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedUSVURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjEnabledAtRuntimeAttribute):
(WebCore::setJSTestObjTypedArrayAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithGetterExceptionWithMessage):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjAttrWithSetterExceptionWithMessage):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjCustomAttr):
(WebCore::setJSTestObjOnfoo):
(WebCore::setJSTestObjOnwebkitfoo):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjId):
(WebCore::setJSTestObjReplaceableAttribute):
(WebCore::setJSTestObjNullableLongSettableAttribute):
(WebCore::setJSTestObjNullableStringSettableAttribute):
(WebCore::setJSTestObjNullableUSVStringSettableAttribute):
(WebCore::setJSTestObjNullableStringValue):
(WebCore::setJSTestObjAttributeWithReservedEnumType):
(WebCore::setJSTestObjPutForwardsAttribute):
(WebCore::setJSTestObjPutForwardsNullableAttribute):
(WebCore::setJSTestObjStringifierAttribute):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation):
(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethod):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethod):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethod):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjInstanceFunctionUnforgeableMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter):
(WebCore::jsTestObjPrototypeFunctionNullableStringMethod):
(WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod):
(WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionMethodWithExceptionWithMessage):
(WebCore::jsTestObjPrototypeFunctionCustomMethod):
(WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
(WebCore::jsTestObjPrototypeFunctionWithDocumentArgument):
(WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument):
(WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter):
(WebCore::jsTestObjConstructorFunctionClassMethod):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
(WebCore::jsTestObjConstructorFunctionClassMethod2):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionGetElementById):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert3):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionOrange):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Promise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionPromise):
(WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionPromise):
(WebCore::jsTestObjPrototypeFunctionMethodWithNeedsCustomElementReactionStack):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload):
(WebCore::jsTestObjPrototypeFunctionAttachShadowRoot):
(WebCore::jsTestObjPrototypeFunctionToString):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
(WebCore::JSTestOverloadedConstructorsConstructor::construct):
(WebCore::jsTestOverloadedConstructorsConstructor):
(WebCore::setJSTestOverloadedConstructorsConstructor):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::constructJSTestOverloadedConstructorsWithSequence1):
(WebCore::constructJSTestOverloadedConstructorsWithSequence2):
(WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct):
(WebCore::jsTestOverloadedConstructorsWithSequenceConstructor):
(WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::jsTestOverrideBuiltinsConstructor):
(WebCore::setJSTestOverrideBuiltinsConstructor):
(WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceValue):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfacePorts):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
(WebCore::jsTestSerializedScriptValueInterfaceConstructor):
(WebCore::setJSTestSerializedScriptValueInterfaceConstructor):
(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::jsTestTypedefsUnsignedLongLongAttr):
(WebCore::jsTestTypedefsImmutableSerializedScriptValue):
(WebCore::jsTestTypedefsConstructorTestSubObj):
(WebCore::jsTestTypedefsAttrWithGetterException):
(WebCore::jsTestTypedefsAttrWithSetterException):
(WebCore::jsTestTypedefsStringAttrWithGetterException):
(WebCore::jsTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsConstructor):
(WebCore::setJSTestTypedefsConstructor):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
- bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::jsattributeReadonly):
(WebCore::jsattributeConstructor):
(WebCore::setJSattributeConstructor):
- bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::jsreadonlyConstructor):
(WebCore::setJSreadonlyConstructor):
- bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::toJSPrimitive):
- bridge/objc/objc_instance.mm:
(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeMethod):
- bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):
(JSC::Bindings::ObjcArray::setValueAt):
(JSC::Bindings::ObjcArray::valueAt):
(JSC::Bindings::callObjCFallbackObject):
- bridge/objc/objc_utility.h:
- bridge/objc/objc_utility.mm:
(JSC::Bindings::throwError):
- bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
(JSC::RuntimeArray::put):
(JSC::RuntimeArray::putByIndex):
- bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
(JSC::callRuntimeMethod):
- bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
(JSC::Bindings::RuntimeObject::getOwnPropertySlot):
(JSC::Bindings::RuntimeObject::put):
(JSC::Bindings::RuntimeObject::defaultValue):
(JSC::Bindings::RuntimeObject::getOwnPropertyNames):
(JSC::Bindings::RuntimeObject::throwInvalidAccessError):
- bridge/runtime_object.h:
Source/WebKit/mac:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
- Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::invokeMethod):
Source/WebKit2:
- WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::callMethod):
- WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::getOwnPropertySlot):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
(WebKit::JSNPObject::throwInvalidAccessError):
- WebProcess/Plugins/Netscape/JSNPObject.h:
- WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
Source/WTF:
- wtf/Platform.h:
- Introduced the ENABLE(THROW_SCOPE_VERIFICATION) flag.
- 12:54 PM Changeset in webkit [205197] by
-
- 5 edits1 add in trunk
Use of uninitialised memory in TransformationMatrx::blend4()
https://bugs.webkit.org/show_bug.cgi?id=134621
<rdar://problem/27337539>
Reviewed by Dean Jackson.
Change is based on the Blink change (patch by <alancutter@chromium.org>):
<https://src.chromium.org/viewvc/blink?revision=177453&view=revision>
Source/WebCore:
TransformationMatrix::blend() was attempting to blend between non-invertable
matricies. This resulted in garbage stack variables being used.
This patch ensures that blend() will fall back to a 50% step interpolation
when one of the sides are not invertable.
Tested by new TransformationMatrix test in TestWebKitAPI.
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::blend2): Properly handle failure in the
decompose method calls.
(WebCore::TransformationMatrix::blend4): Ditto.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/TransformationMatrix.cpp: Added.
(TestWebKitAPI::TEST):
- 12:42 PM Changeset in webkit [205196] by
-
- 2 edits in trunk/LayoutTests
Marking js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html as flaky on mac.
https://bugs.webkit.org/show_bug.cgi?id=161156
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 12:37 PM Changeset in webkit [205195] by
-
- 2 edits in trunk/LayoutTests
Marking svg/animations/reinserting-svg-into-document.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=161395
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 12:33 PM Changeset in webkit [205194] by
-
- 4 edits in trunk
URLParser should handle relative URLs that start with
https://bugs.webkit.org/show_bug.cgi?id=161364
Reviewed by Darin Adler.
Source/WebCore:
Covered by an API test.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::TEST_F):
- 11:59 AM Changeset in webkit [205193] by
-
- 2 edits in trunk/Source/WebCore
Fix a typo introduced in r205184.
https://bugs.webkit.org/show_bug.cgi?id=161380
Reviewed by Tim Horton.
Fixes a typo in an accessibility string: "Exit fullscreen" => "Exit Fullscreen"
- platform/LocalizedStrings.cpp:
(WebCore::exitFullScreenButtonAccessibilityTitle):
- 11:59 AM Changeset in webkit [205192] by
-
- 5 edits in trunk/Source
Fix WebInspectorUI in internal Windows build
https://bugs.webkit.org/show_bug.cgi?id=161221
rdar://problem/28019023
Reviewed by Brent Fulgham and Joseph Pecoraro.
Source/JavaScriptCore:
- JavaScriptCore.vcxproj/JavaScriptCore.proj:
Source/WebInspectorUI:
- WebInspectorUI.vcxproj/WebInspectorUI.make:
- WebInspectorUI.vcxproj/WebInspectorUI.proj:
- 11:24 AM Changeset in webkit [205191] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 11:22 AM Changeset in webkit [205190] by
-
- 14 edits in trunk
[Fetch API] Blob not found URL should result in a network error
https://bugs.webkit.org/show_bug.cgi?id=161381
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-30
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/basic/scheme-blob-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-blob-worker-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-blob-worker.html:
- web-platform-tests/fetch/api/basic/scheme-blob.html:
- web-platform-tests/fetch/api/basic/scheme-blob.js:
(invalidRequestMethods.forEach):
Source/WebCore:
Covered by rebased and updated tests.
Raising a network error if no blob can be found from the URL.
It is no longer notified by a 404 response.
Updated FileReaderLoader to generate the correct exception.
Made some clean-up in the code, in particular adding an enum class for BlobResourceHandle errors.
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::didFail):
(WebCore::FileReaderLoader::toErrorCode):
(WebCore::FileReaderLoader::httpStatusCodeToErrorCode):
- fileapi/FileReaderLoader.h:
- platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::loadResourceSynchronously):
(WebCore::BlobResourceHandle::doStart):
(WebCore::BlobResourceHandle::didGetSize):
(WebCore::BlobResourceHandle::readSync):
(WebCore::BlobResourceHandle::readFileSync):
(WebCore::BlobResourceHandle::readAsync):
(WebCore::BlobResourceHandle::didOpen):
(WebCore::BlobResourceHandle::didRead):
(WebCore::BlobResourceHandle::failed):
(WebCore::BlobResourceHandle::notifyResponse):
(WebCore::BlobResourceHandle::notifyResponseOnError):
(WebCore::BlobResourceHandle::notifyFail):
- platform/network/BlobResourceHandle.h:
LayoutTests:
- fast/files/apply-blob-url-to-xhr-expected.txt:
- fast/files/workers/worker-apply-blob-url-to-xhr-expected.txt:
- 11:11 AM Changeset in webkit [205189] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-to-top.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=161359
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 11:09 AM Changeset in webkit [205188] by
-
- 3 edits3 adds in trunk
[Fetch API] Body mix-in text() should decode data as UTF-8
https://bugs.webkit.org/show_bug.cgi?id=161372
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-30
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/basic/text-utf8-expected.txt: Added.
- web-platform-tests/fetch/api/basic/text-utf8.html: Added.
- web-platform-tests/fetch/api/resources/status.py: Added.
(main):
Source/WebCore:
Test: imported/w3c/web-platform-tests/fetch/api/basic/text-utf8.html
UsingTextResourceDecoder to decode data as UTF-8.
Making sure to prepend BOM if there is none, as specified in https://encoding.spec.whatwg.org/#utf-8-decode.
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::shouldPrependBOM):
(WebCore::textFromUTF8):
(WebCore::FetchBodyConsumer::resolveWithData):
(WebCore::FetchBodyConsumer::takeAsText):
- 11:05 AM Changeset in webkit [205187] by
-
- 2 edits in trunk/LayoutTests
Marking editing/pasteboard/5478250.html as flaky on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=161366
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 10:57 AM Changeset in webkit [205186] by
-
- 5 edits2 adds in trunk
ASSERTION FAILED: opportunitiesInRun <= expansionOpportunityCount in WebCore::computeExpansionForJustifiedText
https://bugs.webkit.org/show_bug.cgi?id=139393
<rdar://problem/27704243>
Reviewed by Myles C. Maxfield.
Source/WebCore:
This patch ensures that we always remove a valid 'after expansion' opportunity (even when the last entry
in the opportunities list is 0).
Test: fast/text/assert-on-expansion-opportunity.html
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
LayoutTests:
- fast/text/assert-on-expansion-opportunity-expected.txt: Added.
- fast/text/assert-on-expansion-opportunity.html: Added.
- 10:55 AM Changeset in webkit [205185] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/unit-tests/yieldable-task.html as a flaky failure.
https://bugs.webkit.org/show_bug.cgi?id=161361
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 10:26 AM Changeset in webkit [205184] by
-
- 4 edits in trunk/Source/WebCore
Exit fullscreen button in fullscreen media playback needs an accessibility string
https://bugs.webkit.org/show_bug.cgi?id=161380
Reviewed by Beth Dakin.
Adds an accessibility string for the exit fullscreen button.
- English.lproj/Localizable.strings:
- platform/LocalizedStrings.cpp:
(WebCore::exitFullScreenButtonAccessibilityTitle):
- platform/LocalizedStrings.h:
- 9:35 AM Changeset in webkit [205183] by
-
- 4 edits in trunk/Source/WebKit2
Stop using m_client to indicate whether an IPC::Connection is valid
https://bugs.webkit.org/show_bug.cgi?id=161362
Reviewed by Andreas Kling.
Instead, add an std::atomic<bool> so we can reliably check the state from other threads.
- Platform/IPC/Connection.cpp:
(IPC::Connection::Connection):
(IPC::Connection::invalidate):
(IPC::Connection::connectionDidClose):
(IPC::Connection::dispatchSyncMessage):
(IPC::Connection::dispatchDidReceiveInvalidMessage):
(IPC::Connection::dispatchMessage):
- Platform/IPC/Connection.h:
(IPC::Connection::client):
(IPC::Connection::isValid):
(IPC::Connection::waitForAndDispatchImmediately):
- UIProcess/WebGeolocationManagerProxy.cpp:
(WebKit::WebGeolocationManagerProxy::startUpdating):
(WebKit::WebGeolocationManagerProxy::stopUpdating):
(WebKit::WebGeolocationManagerProxy::setEnableHighAccuracy):
- 9:34 AM Changeset in webkit [205182] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION(r194846): [GTK] UI process crash visiting sites protected with HTTP auth when using GTK+ < 3.14
https://bugs.webkit.org/show_bug.cgi?id=161385
Reviewed by Antonio Gomes.
Since r194846, we are chaining up webkitWebViewBaseMotionNotifyEvent, but before GTK+ 3.14
GtkWidget::motion_notify_event was nullptr, so it can't be used unconditionally.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseMotionNotifyEvent):
- 8:45 AM WebKitGTK edited by
- Add dependencies policy (diff)
- 8:43 AM WebKitGTK/DependenciesPolicy created by
- 8:06 AM Changeset in webkit [205181] by
-
- 25 edits1 delete in trunk/Source/WebCore
Remove StylePendingImage
https://bugs.webkit.org/show_bug.cgi?id=161245
Reviewed by Andreas Kling.
Instances of this confusing type are used as placeholders during style resolution.
We can get rid of it and make "pending" a state of StyleImage. This simplies the code and
will allow further improvements.
- WebCore.xcodeproj/project.pbxproj:
- css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::isPending):
(WebCore::CSSCrossfadeValue::blend):
- css/CSSCrossfadeValue.h:
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::CSSCursorImageValue):
(WebCore::CSSCursorImageValue::~CSSCursorImageValue):
Save the original URL since the underlying CSSImageValue may change.
(WebCore::CSSCursorImageValue::updateCursorElement):
(WebCore::CSSCursorImageValue::cursorElementRemoved):
(WebCore::CSSCursorImageValue::cursorElementChanged):
(WebCore::CSSCursorImageValue::loadImage):
(WebCore::CSSCursorImageValue::styleImage):
(WebCore::CSSCursorImageValue::isSVGCursor):
(WebCore::CSSCursorImageValue::cachedImageURL):
(WebCore::CSSCursorImageValue::updateCachedImage):
(WebCore::CSSCursorImageValue::detachPendingImage): Deleted.
(WebCore::CSSCursorImageValue::cachedImage): Deleted.
(WebCore::CSSCursorImageValue::cachedOrPendingImage): Deleted.
(WebCore::CSSCursorImageValue::clearCachedImage): Deleted.
- css/CSSCursorImageValue.h:
- css/CSSFilterImageValue.cpp:
(WebCore::CSSFilterImageValue::isPending):
- css/CSSFilterImageValue.h:
- css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::isPending):
(WebCore::CSSImageGeneratorValue::subimageIsPending):
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
- css/CSSImageGeneratorValue.h:
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::loadBestFitImage):
(WebCore::CSSImageSetValue::styleImage):
(WebCore::CSSImageSetValue::traverseSubresources):
(WebCore::CSSImageSetValue::detachPendingImage): Deleted.
(WebCore::CSSImageSetValue::bestFitImage): Deleted.
(WebCore::CSSImageSetValue::cachedOrPendingImageSet): Deleted.
- css/CSSImageSetValue.h:
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::CSSImageValue):
(WebCore::CSSImageValue::~CSSImageValue):
(WebCore::CSSImageValue::isPending):
(WebCore::CSSImageValue::styleImage):
(WebCore::CSSImageValue::loadImage):
(WebCore::CSSImageValue::traverseSubresources):
(WebCore::CSSImageValue::detachPendingImage): Deleted.
(WebCore::CSSImageValue::cachedOrPendingImage): Deleted.
(WebCore::CSSImageValue::cachedImage): Deleted.
- css/CSSImageValue.h:
(WebCore::CSSImageValue::create):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::cachedOrPendingFromValue):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::setOrPendingFromValue):
(WebCore::StyleResolver::cursorOrPendingFromValue):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFilter):
(WebCore::crossfadeBlend):
- rendering/RenderImageResourceStyleImage.cpp:
(WebCore::RenderImageResourceStyleImage::image):
- rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::createShapeForImage):
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::StyleCachedImage):
(WebCore::StyleCachedImage::~StyleCachedImage):
(WebCore::StyleCachedImage::setCachedImage):
(WebCore::StyleCachedImage::cssValue):
(WebCore::StyleCachedImage::canRender):
(WebCore::StyleCachedImage::isPending):
(WebCore::StyleCachedImage::isLoaded):
(WebCore::StyleCachedImage::errorOccurred):
(WebCore::StyleCachedImage::imageSize):
(WebCore::StyleCachedImage::imageHasRelativeWidth):
(WebCore::StyleCachedImage::imageHasRelativeHeight):
(WebCore::StyleCachedImage::computeIntrinsicDimensions):
(WebCore::StyleCachedImage::usesImageContainerSize):
(WebCore::StyleCachedImage::setContainerSizeForRenderer):
(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):
(WebCore::StyleCachedImage::image):
(WebCore::StyleCachedImage::knownToBeOpaque):
- rendering/style/StyleCachedImage.h:
- rendering/style/StyleGeneratedImage.cpp:
(WebCore::StyleGeneratedImage::isPending):
- rendering/style/StyleGeneratedImage.h:
- rendering/style/StyleImage.h:
(WebCore::StyleImage::isCachedImage):
(WebCore::StyleImage::StyleImage):
(WebCore::StyleImage::canRender): Deleted.
(WebCore::StyleImage::isPendingImage): Deleted.
- rendering/style/StylePendingImage.h: Removed.
- style/StylePendingResources.cpp:
(WebCore::Style::loadPendingImage):
(WebCore::Style::loadPendingImages):
- 7:19 AM Changeset in webkit [205180] by
-
- 8 edits in trunk
[GStreamer] bump required version to 1.2.3
https://bugs.webkit.org/show_bug.cgi?id=159667
Reviewed by Xabier Rodriguez Calvar.
.:
- Source/cmake/OptionsEfl.cmake:
- Source/cmake/OptionsGTK.cmake:
Source/WebCore:
GStreamer 1.0.3 was released almost 4 years ago. GStreamer 1.2.3
being the version shipped in the Ubuntu LTS (14.04) it
feels reasonable to bump our requirement. Other major
distributions like Debian Jessie and Fedora ship GStreamer 1.4.x
already.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture): Deleted.
- platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkitVideoSinkProposeAllocation): Deleted.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcQueryWithParent): Deleted.
- 5:21 AM WebKitGTK/2.14.x edited by
- (diff)
- 5:20 AM WebKitGTK/2.14.x created by
- 4:11 AM Changeset in webkit [205179] by
-
- 2 edits in trunk/LayoutTests
[EFL] Gardening on failure tests
Unreviewed EFL gardening.
media control and IndexedDB tests have been failed.
Mark them to failure.
Patch by Gyuyoung Kim <gyuyoung.kim@navercorp.com> on 2016-08-30
- platform/efl/TestExpectations:
- 1:57 AM Changeset in webkit [205178] by
-
- 1 copy in releases/WebKitGTK/webkit-2.14
Branch WebKitGTK+ for 2.14
- 12:47 AM Changeset in webkit [205177] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 12:30 AM Changeset in webkit [205176] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed. Fix GTK+ build after r205150.
- UIProcess/API/gtk/WebKitUserContentManager.cpp:
Aug 29, 2016:
- 11:14 PM Changeset in webkit [205175] by
-
- 279 edits1 copy19 deletes in tags/Safari-603.1.3.0.1
Merged r204912. rdar://problem/28062188
- 11:10 PM Changeset in webkit [205174] by
-
- 5 edits in tags/Safari-603.1.3.0.1
Merged r204901. rdar://problem/28062188
- 11:07 PM Changeset in webkit [205173] by
-
- 2 edits in tags/Safari-603.1.3.0.1/Source/JavaScriptCore
Merged r204897. rdar://problem/28062188
- 10:56 PM Changeset in webkit [205172] by
-
- 2 edits in trunk/Source/WebCore
Fix Windows build after r205161
- bindings/js/JSPerformanceTimingCustom.cpp:
- 10:24 PM Changeset in webkit [205171] by
-
- 14 edits in trunk
We should throw a SecurityError when denying setting a cross-origin Location property
https://bugs.webkit.org/show_bug.cgi?id=161368
Reviewed by Ryosuke Niwa.
Source/WebCore:
We should throw a SecurityError when denying setting a cross-origin
Location property:
- https://html.spec.whatwg.org/#location-set
- https://html.spec.whatwg.org/#crossoriginset-(-o,-p,-v,-receiver-)
- https://html.spec.whatwg.org/#location-getownproperty
Firefox and Chrome already throw. We currently ignore and log an error
message.
No new tests, updated existing tests.
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::putDelegate):
LayoutTests:
Update / Rebaseline existing tests to reflect behavior change.
- http/tests/security/cross-frame-access-location-put-expected.txt:
- http/tests/security/location-cross-origin-expected.txt:
- http/tests/security/location-cross-origin.html:
- http/tests/security/xss-DENIED-assign-location-hash-expected.txt:
- http/tests/security/xss-DENIED-assign-location-host-expected.txt:
- http/tests/security/xss-DENIED-assign-location-hostname-expected.txt:
- http/tests/security/xss-DENIED-assign-location-nonstandardProperty-expected.txt:
- http/tests/security/xss-DENIED-assign-location-pathname-expected.txt:
- http/tests/security/xss-DENIED-assign-location-protocol-expected.txt:
- http/tests/security/xss-DENIED-assign-location-reload-expected.txt:
- http/tests/security/xss-DENIED-assign-location-search-expected.txt:
- 10:18 PM Changeset in webkit [205170] by
-
- 2 edits in trunk/LayoutTests
[EFL] Gardening on Aug 30
Unreviewed gardening. Mark unexpecting passing tests to PASS.
- platform/efl/TestExpectations:
- 9:53 PM Changeset in webkit [205169] by
-
- 7 edits in trunk/LayoutTests
Unskip several web-platform-tests that are now passing
https://bugs.webkit.org/show_bug.cgi?id=161367
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline those tests and update window-security.sub.html as per:
https://github.com/w3c/web-platform-tests/pull/3607
- web-platform-tests/html/browsers/history/the-location-interface/security_location_0.sub-expected.txt:
- web-platform-tests/html/browsers/the-window-object/security-window/window-security.sub-expected.txt:
- web-platform-tests/html/browsers/the-window-object/security-window/window-security.sub.html:
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub-expected.txt:
LayoutTests:
Unskip several web-platform-tests that are now passing.
- 7:07 PM Changeset in webkit [205168] by
-
- 5 edits in trunk
REGRESSION(r202568): Web Inspector: Expanding Array Prototype in Console shows no properties
https://bugs.webkit.org/show_bug.cgi?id=161263
<rdar://problem/28035849>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-08-29
Reviewed by Matt Baker.
Source/JavaScriptCore:
- inspector/InjectedScriptSource.js:
(InjectedScript.prototype._propertyDescriptors):
Previously we only took the "numeric index fast path" if an object was
array like with length > 100. When we dropped the length check we
ended up breaking our display of Array prototype, because [].proto
is an array instance. Get it back by just doing a check of length > 0.
We may want to address this differently in the future by knowing if
we are getting properties for a prototype or not.
LayoutTests:
- inspector/model/remote-object-get-properties-expected.txt:
- inspector/model/remote-object-get-properties.html:
Include tests for an Array and an Array's proto (which is an Array).
- 6:56 PM Changeset in webkit [205167] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed EFL/GTK build fix since r205150
Patch by Gyuyoung Kim <gyuyoung.kim@navercorp.com> on 2016-08-29
- CMakeLists.txt: Add Shared/FrameInfoData.cpp.
- 6:48 PM Changeset in webkit [205166] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Clean up FTL Capabilities for CompareEq
https://bugs.webkit.org/show_bug.cgi?id=161353
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-29
Reviewed by Geoffrey Garen.
It looks like we already have code for every case.
This patch removes the tests from FTLCapabilities
and move the generic case last as usual.
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareEq):
- 6:16 PM Changeset in webkit [205165] by
-
- 5 edits in tags/Safari-603.1.3.0.1/Source
Versioning.
- 6:14 PM Changeset in webkit [205164] by
-
- 1 copy in tags/Safari-603.1.3.0.1
New tag.
- 5:44 PM Changeset in webkit [205163] by
-
- 3 edits in trunk/Source/WebCore
Avoid holding GlyphData in MathOperator
https://bugs.webkit.org/show_bug.cgi?id=161256
<rdar://problem/28033400>
Reviewed by Myles C. Maxfield.
Do not cache GlyphData in MathOperator elements, because the fonts referenced in the
GlyphData may be purged during low-memory conditions. Instead, we should store either
the relevant CodePoint, or the fallback Glyph (for the current system font).
Added an initialization function for GlyphAssemblyData, since unions containing structs
do not properly call constructors, resulting in garbage font/glyph content.
No new tests. Changes are covered by existing MathML test suite.
- rendering/mathml/MathOperator.cpp:
(WebCore::MathOperator::GlyphAssemblyData::initialize): Added.
(WebCore::MathOperator::MathOperator): Initialize m_assembly/m_variant.
(WebCore::MathOperator::setSizeVariant): Only store the glyph, not the font.
(WebCore::glyphDataForCodePointOrFallbackGlyph): Added helper function.
(WebCore::MathOperator::setGlyphAssembly): Do not rely on stored GlyphData.
(WebCore::MathOperator::calculateGlyphAssemblyFallback): Remove unneeded argument. Check
if a fallback glyph is being used and remember for later.
(WebCore::MathOperator::calculateStretchyData): Do not rely on stored GlyphData.
(WebCore::MathOperator::fillWithVerticalExtensionGlyph): Ditto.
(WebCore::MathOperator::fillWithHorizontalExtensionGlyph): Ditto.
(WebCore::MathOperator::paintVerticalGlyphAssembly): Ditto.
(WebCore::MathOperator::paintHorizontalGlyphAssembly): Ditto.
(WebCore::MathOperator::paint): Ditto.
- rendering/mathml/MathOperator.h:
(WebCore::MathOperator::GlyphAssemblyData::hasExtension): Added.
(WebCore::MathOperator::GlyphAssemblyData::hasMiddle): Added.
(WebCore::MathOperator::MathOperator): Deleted.
- 5:31 PM Changeset in webkit [205162] by
-
- 1 copy in tags/Safari-601.7.8
New tag.
- 5:15 PM Changeset in webkit [205161] by
-
- 12 edits3 adds in trunk
JSON.stringify returns empty when used with performance.timing.
https://bugs.webkit.org/show_bug.cgi?id=151813
<rdar://problem/28066067>
Reviewed by Sam Weinig.
Source/WebCore:
While we are waiting for our bindings generator to handle
"serializer", add a custom toJSON function that allows
performance.timing to be stringified.
Test: fast/dom/webtiming-performance-timing-stringify.html
- CMakeLists.txt: New file added.
- WebCore.xcodeproj/project.pbxproj: New file added.
- bindings/js/JSPerformanceTimingCustom.cpp: Added. Implements toJSON.
(WebCore::JSPerformanceTiming::toJSON):
- page/PerformanceTiming.idl: Add toJSON().
LayoutTests:
- fast/dom/Window/window-properties-performance-expected.txt:
- fast/dom/Window/window-properties-performance-resource-timing-expected.txt:
- fast/dom/webtiming-document-open-expected.txt:
- fast/dom/webtiming-navigate-within-document-expected.txt:
- fast/dom/webtiming-performance-timing-stringify-expected.txt: Added.
- fast/dom/webtiming-performance-timing-stringify.html: Added.
- http/tests/misc/webtiming-cross-origin-and-back1-expected.txt:
- http/tests/misc/webtiming-cross-origin-redirect-expected.txt:
- http/tests/misc/webtiming-no-origin-expected.txt:
- 4:54 PM Changeset in webkit [205160] by
-
- 2 edits in trunk/Tools
EWS patch status page should indicate bot corresponding to each status message
https://bugs.webkit.org/show_bug.cgi?id=161280
Reviewed by Alexey Proskuryakov.
- QueueStatusServer/templates/patch.html: Formatting changes.
- 4:23 PM Changeset in webkit [205159] by
-
- 4 edits in trunk/Source/WebKit2
Get rid of ChildProcessProxy::fromConnection
https://bugs.webkit.org/show_bug.cgi?id=161357
Reviewed by Tim Horton.
- UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::fromConnection): Deleted.
- UIProcess/ChildProcessProxy.h:
- UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::fromConnection): Deleted.
- 4:19 PM Changeset in webkit [205158] by
-
- 3 edits in tags/Safari-600.8.7.1/Source/JavaScriptCore
Merge r204572. rdar://problem/28059311
- 4:18 PM Changeset in webkit [205157] by
-
- 5 edits in tags/Safari-600.8.7.1/Source
Versioning.
- 4:10 PM Changeset in webkit [205156] by
-
- 2 edits in trunk/Source/WebKit2
Remove the last uses of WebProcessProxy::fromConnection
https://bugs.webkit.org/show_bug.cgi?id=161355
Reviewed by Tim Horton.
- UIProcess/WebProcessPool.cpp:
(WebKit::webProcessProxyFromConnection):
(WebKit::WebProcessPool::handleMessage):
(WebKit::WebProcessPool::handleSynchronousMessage):
(WebKit::WebProcessPool::startedUsingGamepads):
(WebKit::WebProcessPool::stoppedUsingGamepads):
- 4:07 PM Changeset in webkit [205155] by
-
- 1 copy in tags/Safari-600.8.7.1
New tag.
- 4:04 PM Changeset in webkit [205154] by
-
- 8 edits in trunk
Regression(r204923): It should be possible to set 'Location.href' cross origin
https://bugs.webkit.org/show_bug.cgi?id=161343
<rdar://problem/28063361>
Reviewed by Ryosuke Niwa.
Source/WebCore:
It should be possible to set 'Location.href' cross origin:
Firefox and Chrome allow this but we throw a SecurityError.
We already allow setting crossOrigin.window.location which is equivalent.
No new tests, updated existing test.
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::putDelegate):
Refactor the [Put] delegate so that it does not log a security error
when setting 'href' attribute, given that setting it works as expected.
This fixes a bug in shipping Safari where setting 'href' would work but
log an error message anyway.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
Add support for [DoNotCheckSecurityOnSetter] IDL extended attribute,
in addition to the already supported [DoNotCheckSecurity] and
[DoNotCheckSecurityOnGetter].
- page/Location.idl:
Use [DoNotCheckSecurityOnSetter] on 'href' attribute as it can be
set cross-origin. This fixes the regression introduced in r204923.
LayoutTests:
Add layout test coverage.
- http/tests/security/location-cross-origin-expected.txt:
- http/tests/security/location-cross-origin.html:
- http/tests/security/xss-DENIED-assign-location-href-javascript-expected.txt:
- 3:54 PM Changeset in webkit [205153] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 3:42 PM Changeset in webkit [205152] by
-
- 3 edits in branches/safari-601-branch/Source/JavaScriptCore
Merge r204572. rdar://problem/28059311
- 3:10 PM Changeset in webkit [205151] by
-
- 4 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: Unify Resource entry context menus
https://bugs.webkit.org/show_bug.cgi?id=161301
Patch by Devin Rousso <Devin Rousso> on 2016-08-29
Reviewed by Brian Burg.
- UserInterface/Main.html:
Add ContextMenuUtilities.
- UserInterface/Views/ContextMenuUtilities.js: Added.
(WebInspector.appendContextMenuItemsForResource):
Appends the following items to the given WebInspector.ContextMenu object with a WebInspector.Resource:
- Open in New Tab
- Copy Link Address
- Copy as cURL (only if the resource is not from a data URL)
- Save File
- UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode.prototype.appendContextMenuItems):
Make use of new WebInspector.appendContextMenuItemsForResource.
- UserInterface/Views/ResourceTreeElement.js:
(WebInspector.ResourceTreeElement.prototype._handleContextMenuEvent):
Make use of new WebInspector.appendContextMenuItemsForResource.
- 3:00 PM Changeset in webkit [205150] by
-
- 12 edits2 copies in trunk/Source/WebKit2
Get rid of another use of WebProcessProxy::fromConnection
https://bugs.webkit.org/show_bug.cgi?id=161331
Reviewed by Dan Bernstein.
WebUserContentControllerProxy::didPostMessage uses WebProcessProxy::fromConnection to be able to find a WebFrameProxy from
a given frame ID. Since the WebFrameProxy is only used to construct an API::FrameInfo object from, introduce a FrameInfoData object
and fill it in on the web process side and send it over to the UI process where an API::FrameInfo object can be created.
- Shared/FrameInfoData.cpp: Added.
(WebKit::FrameInfoData::encode):
(WebKit::FrameInfoData::decode):
- Shared/FrameInfoData.h: Added.
- UIProcess/API/APIFrameInfo.cpp:
(API::FrameInfo::create):
(API::FrameInfo::FrameInfo):
- UIProcess/API/APIFrameInfo.h:
- UIProcess/API/Cocoa/WKUserContentController.mm:
- UIProcess/UserContent/WebScriptMessageHandler.h:
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::didPostMessage):
- UIProcess/UserContent/WebUserContentControllerProxy.h:
- UIProcess/UserContent/WebUserContentControllerProxy.messages.in:
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/UserContent/WebUserContentController.cpp:
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::info):
- WebProcess/WebPage/WebFrame.h:
- 2:51 PM Changeset in webkit [205149] by
-
- 2 edits in trunk/Tools
EWS should indicate which bot processed the patch
https://bugs.webkit.org/show_bug.cgi?id=161222
Reviewed by Alexey Proskuryakov.
- QueueStatusServer/handlers/statusbubble.py:
(StatusBubble._build_bubble): Remove the bot id from bubbles as it is confusing.
bot ids are now displayed in patch status page.
- 2:35 PM Changeset in webkit [205148] by
-
- 7 edits in trunk
We should throw a SecurityError when denying setting a cross-origin Window property
https://bugs.webkit.org/show_bug.cgi?id=161339
Reviewed by Geoffrey Garen.
Source/WebCore:
We should throw a SecurityError when denying setting a cross-origin Window property:
- https://html.spec.whatwg.org/#crossoriginset-(-o,-p,-v,-receiver-)
- https://html.spec.whatwg.org/#crossorigingetownpropertyhelper-(-o,-p-)
e.g. crossOriginWindow.name = "" should throw.
Firefox and Chrome already throw but WebKit merely ignores the call and logs an
error message.
No new tests, updated existing tests.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::put):
LayoutTests:
Update existing tests to reflect behavior change.
- http/tests/history/cross-origin-replace-history-object-expected.txt:
- http/tests/history/resources/cross-origin-replaces-history-object-iframe.html:
- http/tests/security/cross-frame-access-custom-expected.txt:
- http/tests/security/cross-frame-access-put-expected.txt:
- 2:15 PM Changeset in webkit [205147] by
-
- 4 edits in trunk
URLParser should parse about:blank
https://bugs.webkit.org/show_bug.cgi?id=161324
Reviewed by Brady Eidson.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 2:12 PM Changeset in webkit [205146] by
-
- 2 edits in trunk/LayoutTests
Rebaseline imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent.html for ios-simulator after r205138.
Unreviewed test gardening.
- platform/ios-simulator/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
- 2:08 PM Changeset in webkit [205145] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark editing tests of iOS simulator WK1 release build that have different delegate callback order than those of debug build as failure
- platform/ios-simulator-wk1/TestExpectations:
- 2:06 PM Changeset in webkit [205144] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, rolling out r205143.
Needs better description
Reverted changeset:
"Unreviewed, mark editing tests of iOS simulator WK1 release
build that have different delegate callbacks than those of
debug build as failure"
http://trac.webkit.org/changeset/205143
- 1:46 PM Changeset in webkit [205143] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, mark editing tests of iOS simulator WK1 release build that have different delegate callbacks than those of debug build as failure
- platform/ios-simulator-wk1/TestExpectations:
- 1:26 PM Changeset in webkit [205142] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 1:22 PM Changeset in webkit [205141] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, rolling out r205140.
The changelog entry for this commit is incorrect and
misattributed.
Reverted changeset:
"Marking media/track/text-track-cue-is-reachable.html as flaky
on ios-simulator-wk2."
https://bugs.webkit.org/show_bug.cgi?id=161323
http://trac.webkit.org/changeset/205140
- 1:18 PM Changeset in webkit [205140] by
-
- 2 edits in trunk/LayoutTests
Marking media/track/text-track-cue-is-reachable.html as flaky on ios-simulator-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161323
Unreviewed test gardening.
Patch by Ryan Haddad <Ryan Haddad> on 2016-08-29
- platform/ios-simulator-wk2/TestExpectations:
- 1:08 PM Changeset in webkit [205139] by
-
- 2 edits in trunk/LayoutTests
Marking media/track/text-track-cue-is-reachable.html as flaky on ios-simulator-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161323
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 12:55 PM Changeset in webkit [205138] by
-
- 8 edits in trunk
document.createEvent("popstateevent") should create a PopStateEvent
https://bugs.webkit.org/show_bug.cgi?id=161321
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
- web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
- web-platform-tests/html/browsers/browsing-the-web/history-traversal/PopStateEvent-expected.txt:
Source/WebCore:
document.createEvent("popstateevent") should create a PopStateEvent as per:
Firefox and Chrome match the specification but WebKit throws an exception,
which is risky compatibility-wise.
No new tests, rebaselined existing tests.
- dom/Document.cpp:
(WebCore::Document::createEvent):
- dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::createForBindings):
- dom/PopStateEvent.h:
- 12:44 PM Changeset in webkit [205137] by
-
- 2 edits in trunk/Source/WebKit2
Stop using WebProcessProxy::fromConnection in WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=161322
Reviewed by Dan Bernstein.
The WebPageProxy already knows its WebProcessProxy - no need to look it up from the connection.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleMessage):
(WebKit::WebPageProxy::handleSynchronousMessage):
- 12:37 PM Changeset in webkit [205136] by
-
- 119 edits in trunk
We should throw a SecurityError when denying access to cross-origin Window properties
https://bugs.webkit.org/show_bug.cgi?id=161316
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline existing tests to reflect behavior change.
- web-platform-tests/domparsing/innerhtml-05-expected.txt:
- web-platform-tests/html/semantics/forms/form-submission-0/getactionurl-expected.txt:
Source/WebCore:
We should throw a SecurityError when denying access to cross-origin Window properties:
- https://html.spec.whatwg.org/#crossorigingetownpropertyhelper-(-o,-p-)
- https://html.spec.whatwg.org/#crossoriginproperties-(-o-)
Firefox and Chrome already throw.
No new tests, updated existing tests.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
LayoutTests:
Update / rebaselined existing tests to reflect behavior change.
- fast/frames/sandboxed-iframe-history-denied-expected.txt:
- fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt:
- fast/xmlhttprequest/xmlhttprequest-no-file-access.html:
- http/tests/dom/window-open-about-webkit-org-and-access-document-expected.txt:
- http/tests/dom/window-open-about-webkit-org-and-access-document.html:
- http/tests/history/cross-origin-replace-history-object-child-expected.txt:
- http/tests/history/cross-origin-replace-history-object-child.html:
- http/tests/plugins/cross-frame-object-access-expected.txt:
- http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt:
- http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt:
- http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
- http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-expected.txt:
- http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header.html:
- http/tests/security/cross-frame-access-call-expected.txt:
- http/tests/security/cross-frame-access-call.html:
- http/tests/security/cross-frame-access-child-explicit-domain-expected.txt:
- http/tests/security/cross-frame-access-custom-expected.txt:
- http/tests/security/cross-frame-access-first-time-expected.txt:
- http/tests/security/cross-frame-access-first-time.html:
- http/tests/security/cross-frame-access-get-custom-property-cached-expected.txt:
- http/tests/security/cross-frame-access-get-custom-property-cached.html:
- http/tests/security/cross-frame-access-get-expected.txt:
- http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
- http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html:
- http/tests/security/cross-frame-access-history-get-expected.txt:
- http/tests/security/cross-frame-access-history-get-override-expected.txt:
- http/tests/security/cross-frame-access-history-prototype-expected.txt:
- http/tests/security/cross-frame-access-name-getter-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf.html:
- http/tests/security/cross-frame-access-object-prototype-expected.txt:
- http/tests/security/cross-frame-access-object-prototype.html:
- http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
- http/tests/security/cross-frame-access-port-expected.txt:
- http/tests/security/cross-frame-access-protocol-expected.txt:
- http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
- http/tests/security/cross-frame-access-selection-expected.txt:
- http/tests/security/cross-frame-access-selection.html:
- http/tests/security/cross-origin-reified-window-property-access-expected.txt:
- http/tests/security/cross-origin-window-property-access-expected.txt:
- http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-iframe.html:
- http/tests/security/dataURL/resources/foreign-domain-data-url-accessor-opened-frame.html:
- http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level.html:
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame.html:
- http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame.html:
- http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url.html:
- http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
- http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open.html:
- http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
- http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url.html:
- http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
- http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
- http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change.html:
- http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe.html:
- http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
- http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open.html:
- http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
- http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level.html:
- http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
- http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
- http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
- http/tests/security/dataURL/xss-DENIED-to-data-url-window-open.html:
- http/tests/security/document-all-expected.txt:
- http/tests/security/document-all.html:
- http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessor-iframe.html:
- http/tests/security/javascriptURL/resources/foreign-domain-javascript-url-accessor-opened-frame.html:
- http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
- http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe.html:
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt:
- http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open.html:
- http/tests/security/listener/resources/targetChild-JSTargetNode-onclick-addEventListener.html:
- http/tests/security/listener/resources/targetChild-JSTargetNode-onclick-shortcut.html:
- http/tests/security/listener/resources/targetChild-XMLHttpRequest-addEventListener.html:
- http/tests/security/listener/resources/targetChild-XMLHttpRequest-shortcut.html:
- http/tests/security/listener/resources/targetChild-window-onclick-addEventListener.html:
- http/tests/security/listener/resources/targetChild-window-onclick-shortcut.html:
- http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt:
- http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt:
- http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt:
- http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt:
- http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt:
- http/tests/security/listener/xss-window-onclick-shortcut-expected.txt:
- http/tests/security/resources/cross-frame-access.js:
(test):
(cannotAccessFrame):
- http/tests/security/resources/cross-frame-history-prototype-iframe.html:
- http/tests/security/resources/iframe-for-synchronous-form.html:
- http/tests/security/resources/sandboxed-iframe-origin-add-step1.html:
- http/tests/security/resources/sandboxed-iframe-origin-remove-step2.html:
- http/tests/security/sandboxed-iframe-modify-self-expected.txt:
- http/tests/security/sandboxed-iframe-origin-add-expected.txt:
- http/tests/security/sandboxed-iframe-origin-remove-expected.txt:
- http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:
- http/tests/security/xss-DENIED-defineProperty-expected.txt:
- http/tests/security/xss-DENIED-frame-name-expected.txt:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto.html:
- http/tests/security/xss-DENIED-invalid-domain-change-expected.txt:
- http/tests/security/xss-DENIED-invalid-domain-change.html:
- http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-sandboxed-iframe-expected.txt:
- http/tests/security/xss-DENIED-synchronous-form-expected.txt:
- http/tests/security/xss-DENIED-window-name-navigator-expected.txt:
- http/tests/security/xss-DENIED-xsl-document-securityOrigin-expected.txt:
- http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml:
- http/tests/security/xss-eval-expected.txt:
- http/tests/security/xss-eval.html:
- 12:36 PM Changeset in webkit [205135] by
-
- 3 edits in trunk/Tools
Bug 161165 - check-webkit-style doesn't understand macros containing
elseor labels
https://bugs.webkit.org/show_bug.cgi?id=161165
Patch by JF Bastien <jfbastien@apple.com> on 2016-08-29
Reviewed by Geoffrey Garen.
Fix handling of
elsein a macro. Don't handle labels in a macro:
the checker is already pretty messy in that area and it should be
a rare thing.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_braces):
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_else_clause_not_on_same_line_as_else):
- 12:07 PM Changeset in webkit [205134] by
-
- 3 edits2 adds in trunk
Image Loader should use FetchOptions::mode according its crossOrigin attribute
https://bugs.webkit.org/show_bug.cgi?id=161309
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-29
Reviewed by Darin Adler.
Source/WebCore:
Test: http/tests/security/load-image-after-redirection.html
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement): Using CachedResourceRequest::setAsPotentiallyCrossOrigin to set fetch mode.
LayoutTests:
- http/tests/security/load-image-after-redirection-expected.txt: Added.
- http/tests/security/load-image-after-redirection.html: Added.
- 12:07 PM Changeset in webkit [205133] by
-
- 5 edits in trunk/Source/WebCore
Use MathMLPresentationElement for all MathML presentation tags
https://bugs.webkit.org/show_bug.cgi?id=161297
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-29
Reviewed by Darin Adler.
Some tabular MathML elements as well as unsupported presentation MathML markup currently
create a generic MathMLElement instance. We make them instead use the
MathMLPresentationElement class since they are presentation MathML elements. This also
allows to make MathMLElement::isPresentationMathML always return false.
No new tests, already covered by existing tests.
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::isPresentationMathML): Deleted. Moved into the header file.
- mathml/MathMLElement.h:
(WebCore::MathMLElement::isPresentationMathML): Make this always return false now that all
presentation markup are handled by MathMLPresentationElement.
- mathml/MathMLPresentationElement.cpp:
(WebCore::MathMLPresentationElement::createElementRenderer): Make the fallback always call
MathMLElement::createElementRenderer. This preserves the behavior for the new elements
handled here and does not affect the old ones (table is handled above while all the others
are already handled in the derived class).
- mathml/mathtags.in: Use MathMLPresentationElement for all MathML presentation tags.
- 11:54 AM Changeset in webkit [205132] by
-
- 1 edit in trunk/Source/WebCore/platform/gtk/po/ChangeLog
[l10n] Updated Polish translation of WebKitGTK+ for 2.14
https://bugs.webkit.org/show_bug.cgi?id=161319
Patch by Piotr Drąg <piotrdrag@gmail.com> on 2016-08-29
Rubber-stamped by Michael Catanzaro.
- pl.po:
- 11:50 AM Changeset in webkit [205131] by
-
- 21 edits in trunk/Source/JavaScriptCore
Fix toStringName for Proxies and add support for normal instances
https://bugs.webkit.org/show_bug.cgi?id=161275
Reviewed by Saam Barati.
toStringName on proxies needs to follow the chain of proxies until it finds a non-proxy target.
Additionally, there are a couple of other classes that need to return "Object" for their
toStringName. Since this isn't tested by test262 I will propose a new test there.
- runtime/ClassInfo.h:
- runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::toStringName):
- runtime/JSArrayBufferView.h:
- runtime/JSCell.cpp:
(JSC::JSCell::toStringName):
- runtime/JSCell.h:
- runtime/JSMap.cpp:
(JSC::JSMap::toStringName):
- runtime/JSMap.h:
- runtime/JSObject.cpp:
(JSC::JSObject::toStringName):
- runtime/JSObject.h:
- runtime/JSSet.cpp:
(JSC::JSSet::destroy):
(JSC::JSSet::toStringName):
- runtime/JSSet.h:
- runtime/JSWeakMap.cpp:
(JSC::JSWeakMap::toStringName):
- runtime/JSWeakMap.h:
- runtime/JSWeakSet.cpp:
(JSC::JSWeakSet::toStringName):
- runtime/JSWeakSet.h:
- runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncToString):
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::toStringName):
- runtime/ProxyObject.h:
- runtime/SymbolObject.cpp:
(JSC::SymbolObject::toStringName):
- runtime/SymbolObject.h:
(JSC::SymbolObject::internalValue):
- 11:50 AM Changeset in webkit [205130] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[l10n] Updated Polish translation of WebKitGTK+ for 2.14
https://bugs.webkit.org/show_bug.cgi?id=161319
Rubber-stamped by Michael Catanzaro.
- pl.po:
- 11:45 AM Changeset in webkit [205129] by
-
- 3 edits in trunk/Source/WebKit2
Move some structs into Connection.cpp
https://bugs.webkit.org/show_bug.cgi?id=161320
Reviewed by Darin Adler.
- Platform/IPC/Connection.cpp:
(IPC::Connection::PendingSyncReply::PendingSyncReply):
- Platform/IPC/Connection.h:
(IPC::Connection::PendingSyncReply::PendingSyncReply): Deleted.
- 11:26 AM Changeset in webkit [205128] by
-
- 4 edits in trunk
API test URLParserTest.ParserFailures failing ASSERT_NOT_REACHED
https://bugs.webkit.org/show_bug.cgi?id=161317
Reviewed by Brady Eidson.
Source/WebCore:
Added an API test.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Turns out, this state can be reached.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 11:09 AM Changeset in webkit [205127] by
-
- 2 edits in trunk/Tools
Unreviewed gardening; only build MiniBrowser against iOS SDK targets.
- Makefile:
- 11:06 AM Changeset in webkit [205126] by
-
- 4 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 10:49 AM Changeset in webkit [205125] by
-
- 3 edits in trunk/Source/WebKit2
Remove sync message sending from secondary threads
https://bugs.webkit.org/show_bug.cgi?id=161277
Reviewed by Sam Weinig.
This codepath hasn't been used for some time, and removing it will make it easier to make IPC::Connection backed by libxpc.
- Platform/IPC/Connection.cpp:
(IPC::Connection::sendSyncMessage):
(IPC::Connection::processIncomingSyncReply):
(IPC::Connection::connectionDidClose):
(IPC::Connection::sendSyncMessageFromSecondaryThread): Deleted.
- Platform/IPC/Connection.h:
- 10:26 AM Changeset in webkit [205124] by
-
- 3 edits in trunk/LayoutTests
Skipping http/tests/media/hls/hls-accessiblity-describes-video-menu.html on mac
https://bugs.webkit.org/show_bug.cgi?id=161144
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 9:23 AM Changeset in webkit [205123] by
-
- 3 edits in trunk/Tools
Sample Process on notifyDone timed out
https://bugs.webkit.org/show_bug.cgi?id=161063
Patch by Jonathan Bedard <Jonathan Bedard> on 2016-08-29
Reviewed by Darin Adler.
- Scripts/webkitpy/port/driver.py:
(Driver._check_for_driver_timeout):
- WebKitTestRunner/InjectedBundle/TestRunner.cpp: Call sample_process during notifyDone timeouts.
(WTR::TestRunner::waitToDumpWatchdogTimerFired):
- WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: Log pid and name for testing harness.
- 9:18 AM Changeset in webkit [205122] by
-
- 3 edits in trunk/Tools
Check-webkit-style does not work with Objective-C blocks
https://bugs.webkit.org/show_bug.cgi?id=161247
Patch by Jonathan Bedard <Jonathan Bedard> on 2016-08-29
Reviewed by Darin Adler.
- Scripts/webkitpy/style/checkers/cpp.py:
(regex_for_lambda_functions): Changed to regex_for_lambdas_and_blocks.
(regex_for_lambdas_and_blocks): Added check for Objective-C blocks.
(check_spacing_for_function_call): Pass file state for lambda check.
(check_spacing): Pass file state for lambda check.
(check_braces): Pass file state for lambda check.
(check_style): Pass file state for lambda check.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_cpp_lambda_functions): Changed from ‘test_lambda_functions’.
(CppStyleTest.test_objective_c_block): Tests Objective-C blocks.
(CppStyleTest.test_lambda_functions): Changed to ‘test_cpp_lambda_functions’.
- 9:18 AM Changeset in webkit [205121] by
-
- 3 edits in trunk/Tools
EWS patch status page should indicate bot corresponding to each status message
https://bugs.webkit.org/show_bug.cgi?id=161280
Reviewed by Alexey Proskuryakov.
- QueueStatusServer/templates/patch.html: Added bot_id in the template so that bot id is displayed
for each status message.
- QueueStatusServer/stylesheets/common.css:
(.status-bot): Added corresponding stylesheet class.
- 9:12 AM Changeset in webkit [205120] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=161312
Unreviewed test gardening.
- 5:53 AM Changeset in webkit [205119] by
-
- 3 edits in trunk
Attempt to fix WinCairo build after r205090.
Unreviewed build fix.
- Source/cmake/OptionsAppleWin.cmake:
- Source/cmake/OptionsWin.cmake:
- 4:02 AM Changeset in webkit [205118] by
-
- 2 edits in trunk/Tools
Attempt to fix Windows build after r205090.
Unreviewed build fix.
- DumpRenderTree/win/DRTDataObject.cpp:
(cfFileNameWFormat):
(cfUrlWFormat):
- 3:52 AM Changeset in webkit [205117] by
-
- 14 edits2 adds in trunk
[Fetch API] Response cloning should structureClone when teeing Response stream
https://bugs.webkit.org/show_bug.cgi?id=161147
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-29
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/response/response-clone-expected.txt:
- web-platform-tests/fetch/api/response/response-clone.html:
Source/JavaScriptCore:
- builtins/BuiltinNames.h: Adding ArrayBuffer and isView identifiers.
- runtime/JSArrayBufferConstructor.cpp:
(JSC::JSArrayBufferConstructor::finishCreation): Adding @isView as private method.
- runtime/JSDataView.h: Exporting create method.
Source/WebCore:
Covered by updated test.
Implementing structure cloning for ArrayBuffer and ArrayBufferView objects.
Using this structure cloning in ReadableStream to support structureClone in the case of Fetch API.
- CMakeLists.txt: Adding StructureClone.cpp
- Modules/fetch/FetchResponse.js:
(clone): Setting structureClone to true
- Modules/streams/ReadableStreamInternals.js:
(doStructuredClone): Added to clone ArrayBuffer/ArrayBufferView chunks. Throwing exception otherwise.
(teeReadableStreamPullFunction): Using @doStructuredClone
- WebCore.xcodeproj/project.pbxproj: Adding StructureClone.cpp/.h
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::addBuiltinGlobals): Adding @ArrayBuffer and structuredCloneArrayBuffer and structuredCloneArrayBufferView private properties.
- bindings/js/StructuredClone.cpp: Added.
(WebCore::structuredCloneArrayBuffer): Cloning of ArrayBuffer as per
http://w3c.github.io/html/infrastructure.html#section-structuredclone step 11.
(WebCore::structuredCloneArrayBufferView): Cloning of ArrayBufferView as
perhttp://w3c.github.io/html/infrastructure.html#section-structuredclone, step 12.
- bindings/js/StructuredClone.h: Added.
- bindings/js/WebCoreBuiltinNames.h:
- 2:33 AM Changeset in webkit [205116] by
-
- 34 edits4 copies6 moves6 adds3 deletes in trunk/Source
[GTK] Accelerated compositing does not work in Wayland
https://bugs.webkit.org/show_bug.cgi?id=115803
Reviewed by Michael Catanzaro.
Source/WebCore:
The Wayland implementation in WebKit2 uses a nested display running in the UI process so that GL contexts created
in the web process need to be created in the nested display. We currently have a shared platform display that
should represent the connection to the actual display all applications connect to. This patch refactors the
GLContext API to ensure that GL contexts are always attached to a particular platform display. The create
methods receive an optional PlatformDisplay that will be used as the display of all GL operations of the created
GL context. The sharing GL context should also share the same display, it can't be global to the process, but to
the display, so it's now created on demand by the PlatformDisplay. In addition to the global shared display,
it's now possible to set a shared display for compositing that can be used when creating GL contexts. This makes
it possible to use a different display for compositing, connected to the nested display in wayland, even in non
wayland environments.
The patch also adds support for surfaceless EGL contexts that can be used for offscreen contexts. It also adds
support for offscreen wayland contexts, as a fallback in wayland in case surfaceless is not supported.
Some wayland code that is specific to the WebKit2 implementation has been moved to the WebKit2 layer.
- PlatformGTK.cmake:
- platform/graphics/GLContext.cpp:
(WebCore::initializeOpenGLShimsIfNeeded):
(WebCore::GLContext::createContextForWindow):
(WebCore::GLContext::createOffscreenContext):
(WebCore::GLContext::createSharingContext):
(WebCore::GLContext::GLContext):
(WebCore::GLContext::~GLContext):
(WebCore::GLContext::current):
(WebCore::activeContextList): Deleted.
- platform/graphics/GLContext.h:
(WebCore::GLContext::display):
- platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::platformContext):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::createPlatformDisplay): Always use the default wayland display created by GTK+ for
the global shared display.
(WebCore::PlatformDisplay::sharedDisplayForCompositing):
(WebCore::PlatformDisplay::setSharedDisplayForCompositing):
(WebCore::PlatformDisplay::sharingGLContext):
(WebCore::eglDisplays): Helper HashSet to keep track of all PlatformDisplays with an EGL display intialized to
properly termimate them at exit.
(WebCore::PlatformDisplay::initializeEGLDisplay): Remove eglBindAPI() from display initialization, since it's
not a display initialization and it's thread specific, so it needs to be called on every thread where EGL is used.
(WebCore::PlatformDisplay::terminateEGLDisplay):
(WebCore::PlatformDisplay::eglDisplay): Deleted.
- platform/graphics/PlatformDisplay.h:
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBufferData::~ImageBufferData):
(WebCore::ImageBufferData::createCompositorBuffer):
(WebCore::ImageBufferData::swapBuffersIfNeeded):
(WebCore::ImageBufferData::createCairoGLSurface):
(WebCore::ImageBufferData::paintToTextureMapper):
(WebCore::ImageBuffer::copyToPlatformTexture):
- platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::getEGLConfig):
(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createPbufferContext):
(WebCore::GLContextEGL::createSurfacelessContext):
(WebCore::GLContextEGL::createPixmapContext):
(WebCore::GLContextEGL::createWaylandContext):
(WebCore::GLContextEGL::createContext):
(WebCore::GLContextEGL::createSharingContext):
(WebCore::GLContextEGL::GLContextEGL):
(WebCore::GLContextEGL::~GLContextEGL):
(WebCore::GLContextEGL::defaultFrameBufferSize):
(WebCore::GLContextEGL::makeContextCurrent):
(WebCore::GLContextEGL::swapBuffers):
(WebCore::GLContextEGL::cairoDevice):
- platform/graphics/egl/GLContextEGL.h:
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::createWindowContext):
(WebCore::GLContextGLX::createPbufferContext):
(WebCore::GLContextGLX::createPixmapContext):
(WebCore::GLContextGLX::createContext):
(WebCore::GLContextGLX::createSharingContext):
(WebCore::GLContextGLX::GLContextGLX):
(WebCore::GLContextGLX::~GLContextGLX):
(WebCore::GLContextGLX::defaultFrameBufferSize):
(WebCore::GLContextGLX::makeContextCurrent):
(WebCore::GLContextGLX::swapBuffers):
(WebCore::GLContextGLX::cairoDevice):
(WebCore::GLContextGLX::waitNative): Deleted.
- platform/graphics/glx/GLContextGLX.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::ensureGstGLContext):
(WebCore::MediaPlayerPrivateGStreamerBase::nativeImageForCurrentTime):
- platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::initialize):
(WebCore::PlatformDisplayWayland::registryGlobal):
(WebCore::PlatformDisplayWayland::createSurface):
- platform/graphics/wayland/PlatformDisplayWayland.h:
(WebCore::PlatformDisplayWayland::native): Deleted.
- platform/graphics/wayland/WaylandEventSource.cpp: Removed.
- platform/graphics/wayland/WaylandSurface.cpp: Removed.
- platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml: Removed.
- platform/graphics/wayland/WlUniquePtr.h: Make it possible to use std::unique_ptr with Wayland objects.
(WebCore::WlPtrDeleter::operator()):
Source/WebKit/win:
Update to the new GLContext API.
- WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::initialize):
(AcceleratedCompositingContext::acceleratedCompositingAvailable):
Source/WebKit2:
This is the initial implementation of accelerated compositing support in Wayland for the GTK+ port. It's based
on previous patches written by Iago Toral, Žan Doberšek, Emanuele Aina and Emilio Pozuelo Monfort.
The existing WebKitGTK+ Wayland interface previously added for this to WebCore has been moved to the WebKit2
layer, since it's actually specific to WebKit2, and it's now actually used. The UI process runs a nested Wayland
compositor that web processes connect to. Web processes create a Wayland surface in the nested compositor for
the web page, and using the WebKitGTK+ Wayland protocol interface they tell the nested compositor the web page
associated to the surface. A Wayland window is created for that surface that is then used as the native window
handle for compositing. To communicate with the nested compositor and to ensure all GL operations happen in the
nested compositor display, the web process creates a Wayland display that connects to the nested compositor,
uses the WebKitGTK+ Wayland interface and it's set as the global shared display for compositing.
The nested Wayland compositor creates a new display with a unique name that is sent to the web processes at
start up. It implements the Wayland surface interface to handle the Wayland buffers created for every surface
and scheduling redraws on the web pages when updates are available. It uses the WebKitGTK+ Wayland interface to
associate the surfaces to a particular web page. A texture is created for every surface and updated with the
Wayland buffer contents using an EGLImageKHR and eglImageTargetTexture2d API.
To abstract the platform differences and avoid ifdefs as much as possible, new abstract classes have been added
to represent the surfaces used in accelerated compositing. AcceleratedSurface is used by the web process and
represents the surface where contents are rendered into. The X11 implementation is the redirected XComposite
window, and the Wayland implementation is equivalent to the previous Wayland surface added to WebCore but never
used. In the UI process the web view creates an abstract AcceleratedBackingStore that is used to render the
AcceleratedSurface into the web view using cairo. The X11 implementation creates the cairo surface for the
redirected XComposite window pixmap and uses XDamage extension to schedule redraws. The Wayland implementation
asks the nested Wayland compositor for the texture associated to the web view page.
Accelerated compositing is now always enabled by default in both X11 and Wayland, unless it's explicitly
disabled by the user using the WEBKIT_DISABLE_COMPOSITING_MODE environment variable, or if any extension or
feature required by X11 or Wayland implementations are not available.
- PlatformGTK.cmake:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::glContext): Pass the shared display for compositing to GLContext::createContextForWindow()
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode): Encode wayland compositor display name.
(WebKit::WebProcessCreationParameters::decode): Decode wayland compositor display name.
- Shared/WebProcessCreationParameters.h: Add wayland compositor display name initial parameter.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDispose):
(webkitWebViewBaseDraw):
(webkitWebViewBaseCreateWebPage):
(webkitWebViewBaseEnterAcceleratedCompositingMode):
(webkitWebViewBaseUpdateAcceleratedCompositingMode):
(webkitWebViewBaseExitAcceleratedCompositingMode):
(webkitWebViewBasePageClosed):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess): Initialize the wayland compositor display name initial parameter.
- UIProcess/gtk/AcceleratedBackingStore.cpp: Added.
(WebKit::AcceleratedBackingStore::create):
(WebKit::AcceleratedBackingStore::AcceleratedBackingStore):
(WebKit::AcceleratedBackingStore::~AcceleratedBackingStore):
(WebKit::AcceleratedBackingStore::paint):
- UIProcess/gtk/AcceleratedBackingStore.h: Added.
(WebKit::AcceleratedBackingStore::update):
- UIProcess/gtk/AcceleratedBackingStoreWayland.cpp: Added.
(WebKit::AcceleratedBackingStoreWayland::create):
(WebKit::AcceleratedBackingStoreWayland::AcceleratedBackingStoreWayland):
(WebKit::AcceleratedBackingStoreWayland::~AcceleratedBackingStoreWayland):
(WebKit::AcceleratedBackingStoreWayland::paint):
- UIProcess/gtk/AcceleratedBackingStoreWayland.h: Added.
- UIProcess/gtk/AcceleratedBackingStoreX11.cpp: Added.
(WebKit::XDamageNotifier::singleton):
(WebKit::XDamageNotifier::add):
(WebKit::XDamageNotifier::remove):
(WebKit::XDamageNotifier::filterXDamageEvent):
(WebKit::XDamageNotifier::notify):
(WebKit::AcceleratedBackingStoreX11::create):
(WebKit::AcceleratedBackingStoreX11::AcceleratedBackingStoreX11):
(WebKit::AcceleratedBackingStoreX11::~AcceleratedBackingStoreX11):
(WebKit::AcceleratedBackingStoreX11::update):
(WebKit::AcceleratedBackingStoreX11::paint):
- UIProcess/gtk/AcceleratedBackingStoreX11.h: Added.
- UIProcess/gtk/WaylandCompositor.cpp: Added.
(WebKit::WaylandCompositor::singleton):
(WebKit::WaylandCompositor::Buffer::getOrCreate):
(WebKit::WaylandCompositor::Buffer::Buffer):
(WebKit::WaylandCompositor::Buffer::~Buffer):
(WebKit::WaylandCompositor::Buffer::destroyListenerCallback):
(WebKit::WaylandCompositor::Buffer::use):
(WebKit::WaylandCompositor::Buffer::unuse):
(WebKit::WaylandCompositor::Buffer::createImage):
(WebKit::WaylandCompositor::Buffer::size):
(WebKit::WaylandCompositor::Surface::Surface):
(WebKit::WaylandCompositor::Surface::~Surface):
(WebKit::WaylandCompositor::Surface::makePendingBufferCurrent):
(WebKit::WaylandCompositor::Surface::attachBuffer):
(WebKit::WaylandCompositor::Surface::requestFrame):
(WebKit::WaylandCompositor::Surface::prepareTextureForPainting):
(WebKit::WaylandCompositor::Surface::commit):
(WebKit::WaylandCompositor::initializeEGL):
(WebKit::createWaylandLoopSource):
(WebKit::WaylandCompositor::WaylandCompositor):
(WebKit::WaylandCompositor::getTexture):
(WebKit::WaylandCompositor::bindSurfaceToWebPage):
(WebKit::WaylandCompositor::registerWebPage):
(WebKit::WaylandCompositor::unregisterWebPage):
- UIProcess/gtk/WaylandCompositor.h: Added.
(WebKit::WaylandCompositor::Buffer::createWeakPtr):
(WebKit::WaylandCompositor::Surface::setWebPage):
(WebKit::WaylandCompositor::isRunning):
(WebKit::WaylandCompositor::displayName):
- UIProcess/gtk/WebPreferencesGtk.cpp:
(WebKit::WebPreferences::platformInitializeStore):
- UIProcess/gtk/XDamageNotifier.cpp: Removed.
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost):
(WebKit::ThreadedCoordinatedLayerTreeHost::invalidate):
(WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
(WebKit::ThreadedCoordinatedLayerTreeHost::sizeDidChange):
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
- WebProcess/WebPage/gtk/AcceleratedSurface.cpp: Added.
(WebKit::AcceleratedSurface::create):
(WebKit::AcceleratedSurface::AcceleratedSurface):
(WebKit::AcceleratedSurface::~AcceleratedSurface):
(WebKit::AcceleratedSurface::resize):
- WebProcess/WebPage/gtk/AcceleratedSurface.h: Added.
(WebKit::AcceleratedSurface::window):
(WebKit::AcceleratedSurface::surfaceID):
- WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.cpp: Added.
(WebKit::waylandCompositorDisplay):
(WebKit::AcceleratedSurfaceWayland::create):
(WebKit::AcceleratedSurfaceWayland::AcceleratedSurfaceWayland):
(WebKit::AcceleratedSurfaceWayland::~AcceleratedSurfaceWayland):
(WebKit::AcceleratedSurfaceWayland::resize):
- WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.h: Added.
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/RedirectedXCompositeWindow.cpp.
(WebKit::AcceleratedSurfaceX11::create):
(WebKit::AcceleratedSurfaceX11::AcceleratedSurfaceX11):
(WebKit::AcceleratedSurfaceX11::~AcceleratedSurfaceX11):
(WebKit::AcceleratedSurfaceX11::resize):
- WebProcess/WebPage/gtk/AcceleratedSurfaceX11.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/RedirectedXCompositeWindow.h.
- WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
(WebKit::LayerTreeHostGtk::makeContextCurrent):
(WebKit::LayerTreeHostGtk::invalidate):
(WebKit::LayerTreeHostGtk::sizeDidChange):
(WebKit::LayerTreeHostGtk::deviceOrPageScaleFactorChanged):
(WebKit::LayerTreeHostGtk::RenderFrameScheduler::RenderFrameScheduler): Deleted.
- WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess): Initialize the wayland compositor display name.
- WebProcess/WebProcess.h:
(WebKit::WebProcess::waylandCompositorDisplayName): Return the wayland compositor display name.
- 2:18 AM Changeset in webkit [205115] by
-
- 13 edits in trunk
[Fetch API] Add support for BufferSource bodies
https://bugs.webkit.org/show_bug.cgi?id=161087
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-29
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/basic/request-headers-expected.txt:
- web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
- web-platform-tests/fetch/api/basic/request-headers.js:
(checkContentType):
(requestHeaders): Change the order of the header checks so that passing headers are checked first.
- web-platform-tests/fetch/api/request/request-consume-expected.txt:
- web-platform-tests/fetch/api/request/request-consume.html:
- web-platform-tests/fetch/api/response/response-consume-stream-expected.txt:
- web-platform-tests/fetch/api/response/response-consume-stream.html:
Source/WebCore:
Covered by updated tests.
Added support for ArrayBuffer, ArrayBufferView and FormData upload.
Added support for consuming ArrayBufferView.
To support FormData upload, FetchBOdy is now storing a FormData computed from the DOMFormData passed to the constructor.
This allows setting the content-type for FormData correctly with the boundary parameter.
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::bodyForInternalRequest): Adding support for FormData upload.
(WebCore::FetchBody::FetchBody): Adding ArrayBuffer and ArrayBufferView constructors.
(WebCore::FetchBody::extract): Extracting in case of BufferSource (i.e. ArrayBuffer or ArrayBufferView) and FormData.
(WebCore::FetchBody::consume): Adding support to consume ArrayBufferView.
(WebCore::FetchBody::consumeAsStream): Adding support to consume ArrayBufferView as a stream.
Cloned the ArrayBuffer before enqueuing it in the stream.
(WebCore::FetchBody::consumeArrayBuffer): Cleaning m_data after being consumed.
(WebCore::FetchBody::consumeArrayBufferView): Adding support to consume ArrayBufferView.
(WebCore::FetchBody::consumeText): Cleaning m_text after being consumed.
(WebCore::FetchBody::consumeBlob): Ditto for m_blob.
(WebCore::FetchBody::bodyForInternalRequest): Adding support for ArrayBuffer and ArrayBufferView upload.
- Modules/fetch/FetchBody.h:
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::internalRequest): Passing ScriptExecutionContext as this is needed for FormData upload.
(WebCore::FetchRequest::setBody): Ditto.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::initializeWith): Ditto.
(WebCore::FetchResponse::fetch): Removing FormData upload rejection check.
- 1:50 AM Changeset in webkit [205114] by
-
- 5 edits2 adds in trunk
[css-grid] Do not recursively call layout during auto repeat computation
https://bugs.webkit.org/show_bug.cgi?id=161234
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
The computation of auto repeat tracks was incorrectly recursively triggering
a layout in order to compute the available size. That was happening whenever
the width was indefinite. In such cases we should treat the width always as
indefinite without having to run any extra code. During the layout phase
we'll have the actual width available.
This fix also unveiled a few errors in one of the imported mozilla tests which were
incorrectly passing when they should not.
Test: fast/css-grid-layout/grid-indefinite-size-auto-repeat-crash.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeAutoRepeatTracksCount):
(WebCore::RenderGrid::placeItemsOnGrid):
- rendering/RenderGrid.h:
LayoutTests:
Added a new test case and fixed a few tests inside the imported
grid-repeat-auto-fill-fit-001.html which were wrong due to a bug in Firefox. The intrinsic
size computation was not considering the existence of definite minimum sizes for some of the
grids so the outcome was narrower than expected.
- fast/css-grid-layout/grid-indefinite-size-auto-repeat-crash-expected.txt: Added.
- fast/css-grid-layout/grid-indefinite-size-auto-repeat-crash.html: Added.
- fast/css-grid-layout/mozilla/grid-repeat-auto-fill-fit-001-expected.html:
- 1:06 AM Changeset in webkit [205113] by
-
- 19 edits in trunk
data:// URL behavior of XHR does not match spec
https://bugs.webkit.org/show_bug.cgi?id=109199
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-29
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/XMLHttpRequest/data-uri-expected.txt:
- web-platform-tests/XMLHttpRequest/send-network-error-sync-events.sub-expected.txt:
- web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-block-defer-scripts-expected.txt:
- web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-block-scripts-expected.txt:
- web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-not-hang-scriptloader-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-data.js: Adding setStatusText check.
- web-platform-tests/fetch/api/basic/scheme-data-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt:
Source/WebCore:
Covered by rebased tests.
Making data URLs same origin for XHR and fetch API.
This is the behavior when https://fetch.spec.whatwg.org/#same-origin-data-url-flag is set.
As per the specs, this flag is set for fetch API and XMLHttpRequest.
Introducing this flag in ThreadableLoader options, default value being false.
Setting flag for XHR and fetch API.
Fixing accuracy of data URL loading by setting status code and content-type HTTP header as per fetch specification.
As can be seen from the rebased tests, no constraint is put on the method used as the fetch specification is about to allow all methods for data URLs.
- Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::start): Setting same-origin-data-url-flag to true.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Making data URLs same origin if flag is set.
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::loadDataURL): Setting status code and content-type header according specification.
- loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Adding same-origin-data-url-flag option.
- loader/ThreadableLoader.h:
- loader/WorkerThreadableLoader.cpp:
(WebCore::LoaderTaskOptions::LoaderTaskOptions): Ensuring flag is preserved when going to the main thread.
- platform/network/DataURLDecoder.cpp:
(WebCore::DataURLDecoder::parseMediaType): Setting mediaType value, used by ResourceLoader to set the content-type header.
- platform/network/DataURLDecoder.h:
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::createRequest): Setting same-origin-data-url-flag to true.
- 12:21 AM Changeset in webkit [205112] by
-
- 20 edits1 add in trunk
[JSC] Improve ArithAbs with polymorphic input
https://bugs.webkit.org/show_bug.cgi?id=161286
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-29
Reviewed by Saam Barati.
JSTests:
- stress/arith-abs-on-various-types.js: Added.
New tests.
- stress/arith-cos-on-various-types.js:
- stress/arith-fround-on-various-types.js:
- stress/arith-log-on-various-types.js:
- stress/arith-sin-on-various-types.js:
- stress/arith-sqrt-on-various-types.js:
Extend the existing tests to cover the DCE case.
Source/JavaScriptCore:
This is similar to the previous patches: if we have polymorphic
input, do a function call.
I also discovered a few problems with the tests and fixed them:
-I forgot to add NodeMustGenerate to the previous nodes I changed.
They could have been eliminated by DCE.
-ArithAbs was always exiting if the input types do not include numbers.
The cause was the node was using isInt32OrBooleanSpeculationForArithmetic()
instead of isInt32OrBooleanSpeculation(). The test of
isInt32OrBooleanSpeculationForArithmetic() only verify the input does not
contains double or int52. If we were in that case, we were always speculating
Int32. That always fails and we were recompiling the same code over and over.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
Now that we have toNumberFromPrimitive(), we can improve constant folding here :)
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasResult):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasInt32Result): Deleted.
The accessor hasInt32Result() was unused.
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithAbs):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileArithAbs):
Aug 28, 2016:
- 11:55 PM Changeset in webkit [205111] by
-
- 12 edits5 adds in trunk
Add support for non-BMP operators U+1EEF0 and U+1EEF1
https://bugs.webkit.org/show_bug.cgi?id=153984
Source/WebCore:
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-25
Reviewed by Darin Adler.
Tests: mathml/presentation/non-bmp-operators-spacing.html
mathml/presentation/non-bmp-operators-stretching.html
- mathml/MathMLOperatorDictionary.cpp: We move the definition of operator dictionary Entry
here as it is not used by external code.
We now also accept non-BMP operators and add entries for U+1EEF0 and U+1EEF1.
(WebCore::extractProperty): Helper function to convert from Entry structure to a Property
structure.
(WebCore::MathMLOperatorDictionary::search): This function now accepts a non-BMP parameter
and returns a Property structure.
(WebCore::MathMLOperatorDictionary::isVertical): This function now accepts a non-BMP parameter.
- mathml/MathMLOperatorDictionary.h: Replace the Entry structure with a Property structure
which was used by MathMLOperatorElement. Update the signatures of search and isVertical.
- mathml/MathMLOperatorElement.cpp:
(WebCore::MathMLOperatorElement::parseOperatorChar): Remove the special case that excludes
non-BMP operators.
(WebCore::MathMLOperatorElement::computeDictionaryProperty): Rename the property structure
to use the one moved into MathMLOperatorDictionary.h. We no longer need to convert the result
of the search call.
(WebCore::MathMLOperatorElement::dictionaryProperty): Rename the property structure.
- mathml/MathMLOperatorElement.h: Make OperatorChar accept non-BMP operators.
MathMLOperatorElement::DictionaryProperty is now moved into MathMLOperatorDictionary
and renamed Property.
- rendering/mathml/MathOperator.cpp: Accept non-BMP operators.
- rendering/mathml/MathOperator.h: Ditto.
- rendering/mathml/RenderMathMLFencedOperator.cpp:
(WebCore::RenderMathMLFencedOperator::updateOperatorContent): Adjust code to use the new
return type of MathMLOperatorDictionary::search.
- rendering/mathml/RenderMathMLFencedOperator.h: Accept non-BMP operators.
- rendering/mathml/RenderMathMLOperator.cpp: Ditto.
- rendering/mathml/RenderMathMLOperator.h: Ditto.
LayoutTests:
We add two reftests to check that the non-BMP operators are properly
handled by the MathML dictionary (form, properties, direction) as well
as the rendering code (spacing, stretching). We test the new horizontal
strechy operators U+1EEF0 and U+1EEF1 as well as the letter U+1D400
which is not a real mathematical operator. We add a minimal test
font which contains a black square for U+005F, U+1EEF0, U+1EEF1, U+1D400
and the data that can be used to stretch them horizontally.
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-25
Reviewed by Darin Adler.
- mathml/presentation/non-bmp-operators-spacing-expected.html: Added.
- mathml/presentation/non-bmp-operators-spacing.html: Added.
- mathml/presentation/non-bmp-operators-stretching-expected.html: Added.
- mathml/presentation/non-bmp-operators-stretching.html: Added.
- mathml/presentation/non-bmp-operators.woff: Added.
- 11:49 PM Changeset in webkit [205110] by
-
- 11 edits2 adds in trunk
[Fetch API] Ensure response cloning works when data is loading
https://bugs.webkit.org/show_bug.cgi?id=161137
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-28
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/response/response-clone-expected.txt:
- web-platform-tests/fetch/api/response/response-clone.html: New tests highly inspired from Chromium similar tests.
Source/WebCore:
Test: http/tests/fetch/clone-after-load-is-finished.html and updated wpt test
FetchBody is only able to clone data when requested by Response in case the data is already there.
If data is loaded from FetchLoader, each received chunk should be given to each cloned response.
The simplest approach is to create a ReadableStream body for the cloned Response and use it for the teeing.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::BodyLoader::didSucceed): Postpone stream closing if there is still data to enqueue in the FetchBody.
- Modules/fetch/FetchResponse.h:
- Modules/fetch/FetchResponse.idl:
- Modules/fetch/FetchResponse.js:
(clone): If response is being loaded, create a ReadableStream body so that loaded data cloning is handled by ReadableStream tee.
- Modules/streams/ReadableStreamInternals.js: Restrict firstReadCallback to the case of a readable ReadableStream.
If stream is errored or closed, FetchResponse will already have disposed of its source.
(readFromReadableStreamDefaultReader):
- bindings/js/WebCoreBuiltinNames.h:
LayoutTests:
- http/tests/fetch/clone-response-body-expected.txt: Added.
- http/tests/fetch/clone-response-body.html: Added.
- 10:57 PM Changeset in webkit [205109] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 6:19 PM Changeset in webkit [205108] by
-
- 3 edits in trunk/LayoutTests
Remove flakiness expectations from switch to threaded compositor
This is completely hopeless, since there is a seemingly-unlimited number of tests that have
been broken. Suppressing an arbitrary subset of the failures is not helping anything. Keep
only records for tests that are really flaky.
Retain expectations for flaky timeouts and crashes.
- TestExpectations:
- platform/gtk/TestExpectations:
- 4:31 PM Changeset in webkit [205107] by
-
- 6 edits in trunk/Source/JavaScriptCore
Make SpeculatedType a 64-bit integer
https://bugs.webkit.org/show_bug.cgi?id=161268
Reviewed by Filip Pizlo and Benjamin Poulain.
I'm going to introduce two new types into this and we only
have room for one in 32-bits. So, this patch widens SpeculatedType
to 64 bits. This also pulls this information through the DFG where
we needed to change DFGNode to support this.
- bytecode/SpeculatedType.h:
- dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToPutHint):
(JSC::DFG::Node::promotedLocationDescriptor):
- dfg/DFGNode.h:
(JSC::DFG::Node::Node):
(JSC::DFG::Node::convertToCheckStructure):
(JSC::DFG::Node::constant):
(JSC::DFG::Node::convertToConstant):
(JSC::DFG::Node::convertToConstantStoragePointer):
(JSC::DFG::Node::convertToPutStack):
(JSC::DFG::Node::convertToGetStack):
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToMultiGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::convertToMultiPutByOffset):
(JSC::DFG::Node::convertToPhantomNewObject):
(JSC::DFG::Node::convertToPhantomNewFunction):
(JSC::DFG::Node::convertToPhantomNewGeneratorFunction):
(JSC::DFG::Node::convertToPhantomCreateActivation):
(JSC::DFG::Node::convertToGetLocal):
(JSC::DFG::Node::lazyJSValue):
(JSC::DFG::Node::initializationValueForActivation):
(JSC::DFG::Node::tryGetVariableAccessData):
(JSC::DFG::Node::variableAccessData):
(JSC::DFG::Node::unlinkedLocal):
(JSC::DFG::Node::unlinkedMachineLocal):
(JSC::DFG::Node::stackAccessData):
(JSC::DFG::Node::phi):
(JSC::DFG::Node::identifierNumber):
(JSC::DFG::Node::getPutInfo):
(JSC::DFG::Node::accessorAttributes):
(JSC::DFG::Node::newArrayBufferData):
(JSC::DFG::Node::indexingType):
(JSC::DFG::Node::typedArrayType):
(JSC::DFG::Node::inlineCapacity):
(JSC::DFG::Node::scopeOffset):
(JSC::DFG::Node::capturedArgumentsOffset):
(JSC::DFG::Node::variablePointer):
(JSC::DFG::Node::callVarargsData):
(JSC::DFG::Node::loadVarargsData):
(JSC::DFG::Node::targetBytecodeOffsetDuringParsing):
(JSC::DFG::Node::targetBlock):
(JSC::DFG::Node::branchData):
(JSC::DFG::Node::switchData):
(JSC::DFG::Node::getHeapPrediction):
(JSC::DFG::Node::cellOperand):
(JSC::DFG::Node::watchpointSet):
(JSC::DFG::Node::storagePointer):
(JSC::DFG::Node::uidOperand):
(JSC::DFG::Node::typeInfoOperand):
(JSC::DFG::Node::transition):
(JSC::DFG::Node::structureSet):
(JSC::DFG::Node::structure):
(JSC::DFG::Node::storageAccessData):
(JSC::DFG::Node::multiGetByOffsetData):
(JSC::DFG::Node::multiPutByOffsetData):
(JSC::DFG::Node::objectMaterializationData):
(JSC::DFG::Node::arrayMode):
(JSC::DFG::Node::arithMode):
(JSC::DFG::Node::arithRoundingMode):
(JSC::DFG::Node::setArithRoundingMode):
(JSC::DFG::Node::executionCounter):
(JSC::DFG::Node::typeLocation):
(JSC::DFG::Node::basicBlockLocation):
(JSC::DFG::Node::numberOfArgumentsToSkip):
(JSC::DFG::Node::OpInfoWrapper::OpInfoWrapper):
(JSC::DFG::Node::OpInfoWrapper::operator=):
- dfg/DFGOpInfo.h:
(JSC::DFG::OpInfo::OpInfo):
- dfg/DFGPromotedHeapLocation.h:
(JSC::DFG::PromotedLocationDescriptor::imm1):
(JSC::DFG::PromotedLocationDescriptor::imm2):
- 3:38 PM Changeset in webkit [205106] by
-
- 7 edits in trunk/Source
document.title setter can't throw.
<https://webkit.org/b/161302>
Reviewed by Antti Koivisto.
Source/WebCore:
Remove [SetterRaisesException] from document.title and replace
ExceptionCode propagation with ASSERT_NO_EXCEPTION.
Setting the .textContent of a SVGTitleElement or HTMLTitleElement
will never fail, so there's no exception to propagate.
- dom/Document.cpp:
(WebCore::Document::setTitle):
- dom/Document.h:
- dom/Document.idl:
- html/ImageDocument.cpp:
(WebCore::ImageDocument::finishedParsing):
Source/WebKit/mac:
- DOM/DOMDocument.mm:
(-[DOMDocument setTitle:]):
- 10:36 AM Changeset in webkit [205105] by
-
- 9 edits in trunk/Source/WebCore
MathML renderers should use struct to pass long list of LayoutUnits
https://bugs.webkit.org/show_bug.cgi?id=161084
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-23
Reviewed by Darin Adler.
RenderMathMLFraction, RenderMathMLMenclose, RenderMathMLScripts and RenderMathMLUnderOver
have helper functions to retrieve a list of LayoutUnit parameters. We gather them in a single
struct instead of using a long list of LayoutUnit& parameters.
No new tests, behavior is unchanged.
- rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::getFractionParameters):
(WebCore::RenderMathMLFraction::getStackParameters):
(WebCore::RenderMathMLFraction::layoutBlock):
- rendering/mathml/RenderMathMLFraction.h:
- rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::getSpaceAroundContent):
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::layoutBlock):
- rendering/mathml/RenderMathMLMenclose.h:
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::getScriptMetricsAndLayoutIfNeeded):
(WebCore::RenderMathMLScripts::layoutBlock):
- rendering/mathml/RenderMathMLScripts.h:
- rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::getVerticalParameters):
(WebCore::RenderMathMLUnderOver::layoutBlock):
- rendering/mathml/RenderMathMLUnderOver.h:
- 9:54 AM Changeset in webkit [205104] by
-
- 17 edits in trunk/Source
Clean up some .text attribute setters that don't throw.
<https://webkit.org/b/161292>
Reviewed by Darin Adler.
Source/WebCore:
Remove [SetterRaisesException] for three .text attributes
and replace them with ASSERT_NO_EXCEPTION.
These setters behave like .textContent, which can't throw as
it's always okay to replace an Element's children with a Text.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setText):
- html/HTMLAnchorElement.h:
- html/HTMLAnchorElement.idl:
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setText):
- html/HTMLOptionElement.h:
- html/HTMLOptionElement.idl:
- html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::setText):
- html/HTMLTitleElement.h:
- html/HTMLTitleElement.idl:
Source/WebKit/mac:
- DOM/DOMHTMLTitleElement.mm:
(-[DOMHTMLTitleElement setText:]):
- 8:46 AM Changeset in webkit [205103] by
-
- 8 edits20 adds2 deletes in trunk/Source/WebCore
Initial landing of CSS Parser Tokenization (and files to support that). Not used yet.
https://bugs.webkit.org/show_bug.cgi?id=161174
This code is imported from Blink and is their CSS parser (modified to work in WebKit).
It is from commit e4bb90df7f2ed8a63975b5ed27a1b488cb9b146f, Mon Aug 22 2016.
Reviewed by Simon Fraser.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSMarkup.cpp: Added.
(WebCore::isCSSTokenizerIdentifier):
(WebCore::serializeCharacter):
(WebCore::serializeCharacterAsCodePoint):
(WebCore::serializeIdentifier):
(WebCore::serializeString):
(WebCore::serializeURI):
(WebCore::serializeFontFamily):
- css/CSSMarkup.h: Added.
- css/CSSOMUtils.cpp: Removed.
- css/CSSOMUtils.h: Removed.
- css/CSSSelector.cpp:
- css/parser/CSSParserFastPaths.cpp: Added.
- css/parser/CSSParserFastPaths.h: Added.
- css/parser/CSSParserIdioms.h: Added.
(WebCore::isCSSSpace):
(WebCore::isNameStartCodePoint):
(WebCore::isNameCodePoint):
- css/parser/CSSParserObserver.h: Added.
(WebCore::CSSParserObserver::~CSSParserObserver):
- css/parser/CSSParserObserverWrapper.cpp: Added.
(WebCore::CSSParserObserverWrapper::startOffset):
(WebCore::CSSParserObserverWrapper::previousTokenStartOffset):
(WebCore::CSSParserObserverWrapper::endOffset):
(WebCore::CSSParserObserverWrapper::skipCommentsBefore):
(WebCore::CSSParserObserverWrapper::yieldCommentsBefore):
- css/parser/CSSParserObserverWrapper.h: Added.
(WebCore::CSSParserObserverWrapper::CSSParserObserverWrapper):
(WebCore::CSSParserObserverWrapper::observer):
(WebCore::CSSParserObserverWrapper::addComment):
(WebCore::CSSParserObserverWrapper::addToken):
(WebCore::CSSParserObserverWrapper::finalizeConstruction):
- css/parser/CSSParserToken.cpp: Added.
(WebCore::cssPrimitiveValueUnitFromTrie):
(WebCore::stringToUnitType):
(WebCore::CSSParserToken::CSSParserToken):
(WebCore::CSSParserToken::convertToDimensionWithUnit):
(WebCore::CSSParserToken::convertToPercentage):
(WebCore::CSSParserToken::delimiter):
(WebCore::CSSParserToken::numericSign):
(WebCore::CSSParserToken::numericValueType):
(WebCore::CSSParserToken::numericValue):
(WebCore::CSSParserToken::parseAsUnresolvedCSSPropertyID):
(WebCore::CSSParserToken::id):
(WebCore::CSSParserToken::functionId):
(WebCore::CSSParserToken::hasStringBacking):
(WebCore::CSSParserToken::copyWithUpdatedString):
(WebCore::CSSParserToken::valueDataCharRawEqual):
(WebCore::CSSParserToken::operator==):
(WebCore::CSSParserToken::serialize):
- css/parser/CSSParserToken.h: Added.
(WebCore::CSSParserToken::operator!=):
(WebCore::CSSParserToken::type):
(WebCore::CSSParserToken::value):
(WebCore::CSSParserToken::getHashTokenType):
(WebCore::CSSParserToken::getBlockType):
(WebCore::CSSParserToken::unitType):
(WebCore::CSSParserToken::unicodeRangeStart):
(WebCore::CSSParserToken::unicodeRangeEnd):
(WebCore::CSSParserToken::initValueFromStringView):
- css/parser/CSSParserTokenRange.cpp: Added.
(WebCore::CSSParserTokenRange::eofToken):
(WebCore::CSSParserTokenRange::makeSubRange):
(WebCore::CSSParserTokenRange::consumeBlock):
(WebCore::CSSParserTokenRange::consumeComponentValue):
(WebCore::CSSParserTokenRange::serialize):
- css/parser/CSSParserTokenRange.h: Added.
(WebCore::CSSParserTokenRange::CSSParserTokenRange):
(WebCore::CSSParserTokenRange::atEnd):
(WebCore::CSSParserTokenRange::end):
(WebCore::CSSParserTokenRange::peek):
(WebCore::CSSParserTokenRange::consume):
(WebCore::CSSParserTokenRange::consumeIncludingWhitespace):
(WebCore::CSSParserTokenRange::consumeWhitespace):
(WebCore::CSSParserTokenRange::begin):
- css/parser/CSSPropertyParser.cpp: Added.
(WebCore::hasPrefix):
(WebCore::cssPropertyID):
(WebCore::cssPropertyNameIOSAliasing):
(WebCore::isAppleLegacyCssValueKeyword):
(WebCore::cssValueKeywordID):
(WebCore::unresolvedCSSPropertyID):
- css/parser/CSSPropertyParser.h: Added.
(WebCore::CSSPropertyParser::inQuirksMode):
- css/parser/CSSPropertyParserHelpers.cpp: Added.
- css/parser/CSSPropertyParserHelpers.h: Added.
(WebCore::CSSPropertyParserHelpers::identMatches):
(WebCore::CSSPropertyParserHelpers::consumeIdent):
(WebCore::CSSPropertyParserHelpers::isCSSWideKeyword):
- css/parser/CSSTokenizer.cpp: Added.
(WebCore::CSSTokenizer::Scope::Scope):
(WebCore::CSSTokenizer::Scope::tokenRange):
(WebCore::CSSTokenizer::Scope::tokenCount):
(WebCore::isNewLine):
(WebCore::twoCharsAreValidEscape):
(WebCore::CSSTokenizer::CSSTokenizer):
(WebCore::CSSTokenizer::reconsume):
(WebCore::CSSTokenizer::consume):
(WebCore::CSSTokenizer::whiteSpace):
(WebCore::CSSTokenizer::blockStart):
(WebCore::CSSTokenizer::blockEnd):
(WebCore::CSSTokenizer::leftParenthesis):
(WebCore::CSSTokenizer::rightParenthesis):
(WebCore::CSSTokenizer::leftBracket):
(WebCore::CSSTokenizer::rightBracket):
(WebCore::CSSTokenizer::leftBrace):
(WebCore::CSSTokenizer::rightBrace):
(WebCore::CSSTokenizer::plusOrFullStop):
(WebCore::CSSTokenizer::asterisk):
(WebCore::CSSTokenizer::lessThan):
(WebCore::CSSTokenizer::comma):
(WebCore::CSSTokenizer::hyphenMinus):
(WebCore::CSSTokenizer::solidus):
(WebCore::CSSTokenizer::colon):
(WebCore::CSSTokenizer::semiColon):
(WebCore::CSSTokenizer::hash):
(WebCore::CSSTokenizer::circumflexAccent):
(WebCore::CSSTokenizer::dollarSign):
(WebCore::CSSTokenizer::verticalLine):
(WebCore::CSSTokenizer::tilde):
(WebCore::CSSTokenizer::commercialAt):
(WebCore::CSSTokenizer::reverseSolidus):
(WebCore::CSSTokenizer::asciiDigit):
(WebCore::CSSTokenizer::letterU):
(WebCore::CSSTokenizer::nameStart):
(WebCore::CSSTokenizer::stringStart):
(WebCore::CSSTokenizer::endOfFile):
(WebCore::CSSTokenizer::nextToken):
(WebCore::CSSTokenizer::consumeNumber):
(WebCore::CSSTokenizer::consumeNumericToken):
(WebCore::CSSTokenizer::consumeIdentLikeToken):
(WebCore::CSSTokenizer::consumeStringTokenUntil):
(WebCore::CSSTokenizer::consumeUnicodeRange):
(WebCore::isNonPrintableCodePoint):
(WebCore::CSSTokenizer::consumeUrlToken):
(WebCore::CSSTokenizer::consumeBadUrlRemnants):
(WebCore::CSSTokenizer::consumeSingleWhitespaceIfNext):
(WebCore::CSSTokenizer::consumeUntilCommentEndFound):
(WebCore::CSSTokenizer::consumeIfNext):
(WebCore::CSSTokenizer::consumeName):
(WebCore::CSSTokenizer::consumeEscape):
(WebCore::CSSTokenizer::nextTwoCharsAreValidEscape):
(WebCore::CSSTokenizer::nextCharsAreNumber):
(WebCore::CSSTokenizer::nextCharsAreIdentifier):
(WebCore::CSSTokenizer::registerString):
- css/parser/CSSTokenizer.h: Added.
(WebCore::CSSTokenizer::Scope::storeString):
- css/parser/CSSTokenizerInputStream.cpp: Added.
(WebCore::CSSTokenizerInputStream::CSSTokenizerInputStream):
(WebCore::CSSTokenizerInputStream::advanceUntilNonWhitespace):
(WebCore::CSSTokenizerInputStream::getDouble):
- css/parser/CSSTokenizerInputStream.h: Added.
(WebCore::CSSTokenizerInputStream::nextInputChar):
(WebCore::CSSTokenizerInputStream::peekWithoutReplacement):
(WebCore::CSSTokenizerInputStream::advance):
(WebCore::CSSTokenizerInputStream::pushBack):
(WebCore::CSSTokenizerInputStream::skipWhilePredicate):
(WebCore::CSSTokenizerInputStream::length):
(WebCore::CSSTokenizerInputStream::offset):
(WebCore::CSSTokenizerInputStream::rangeAt):
- platform/Length.h:
- 7:45 AM Changeset in webkit [205102] by
-
- 4 edits2 adds in trunk
Should never be reached failure in WebCore::RenderFlexibleBox::alignChildren
https://bugs.webkit.org/show_bug.cgi?id=151591
<rdar://problem/27711829>
Reviewed by Darin Adler.
Source/WebCore:
The align-self and align-items CSS properties were originally defined in the
Flexbible Box specification. The new CSS Box Alignment specification tries
to generalize them so they can be used by other layout models, as it's the
case of the GridLayout spec.
Since we have implemented the Grid Layout spec behind a runtime flag, we should
do the same with the new syntax of these properties.
Test: css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html
- css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::alignChildren):
LayoutTests:
Test to verify that align-self and align-items CSS properties use the old
syntax when the Grid Layout feature is not enabled.
- css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled-expected.txt: Added.
- css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html: Added.
- 2:35 AM Changeset in webkit [205101] by
-
- 6 edits in trunk
Improve parsing of the menclose notation attribute value
https://bugs.webkit.org/show_bug.cgi?id=161045
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-28
Reviewed by Darin Adler.
Source/WebCore:
We improve the way the list of menclose notations is parsed to avoid allocating a vector and
accept any whitespace as separators.
New test cases in mathml/presentation/menclose-notation-equivalence.html
- mathml/MathMLMencloseElement.cpp: Include HTMLParserIdioms.h to use isHTMLSpace.
(WebCore::MathMLMencloseElement::addNotationFlags): Helper function to perform the relevant
addNotation calls from a notation name.
(WebCore::MathMLMencloseElement::parseNotationAttribute): Use only simple string operations
to determine the list of notations.
- mathml/MathMLMencloseElement.h: Declare the new helper function.
LayoutTests:
We add some cases in menclose-notation-equivalence to verify that one can use any sequence of
whitespace to separate notation values. We try with 0, 1, 2 or 3 notation values.
- mathml/presentation/menclose-notation-equivalence-expected.html:
- mathml/presentation/menclose-notation-equivalence.html:
- 1:50 AM Changeset in webkit [205100] by
-
- 5 edits in trunk/Source/WebCore
Make MathMLSpaceElement and MathMLTokenElement inherit from MathMLPresentationElement
https://bugs.webkit.org/show_bug.cgi?id=161232
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-28
Reviewed by Darin Adler.
The mrow-like features of MathMLPresentationElement are now moved into RenderMathMLRow.
Hence we make MathMLSpaceElement and MathMLTokenElement inherit from the generic class
MathMLPresentationElement for presentation MathML elements.
No new tests, already covered by existing tests.
- mathml/MathMLSpaceElement.cpp:
(WebCore::MathMLSpaceElement::MathMLSpaceElement): Derive from MathMLPresentationElement.
(WebCore::MathMLSpaceElement::parseAttribute): Ditto.
- mathml/MathMLSpaceElement.h: Ditto. Override acceptsDisplayStyleAttribute as a small
optimization. isPresentationMathML is no longer needed.
- mathml/MathMLTokenElement.cpp:
(WebCore::MathMLTokenElement::MathMLTokenElement): Derive from MathMLPresentationElement.
(WebCore::MathMLTokenElement::didAttachRenderers): Ditto.
(WebCore::MathMLTokenElement::childrenChanged): Ditto.
(WebCore::MathMLTokenElement::parseAttribute): Deleted. No need to override this function
any more since it's already implemented in MathMLPresentationElement.
- mathml/MathMLTokenElement.h: Derive from MathMLPresentationElement. Override
acceptsDisplayStyleAttribute as a small optimization. isPresentationMathML is no longer
needed.
- 1:41 AM Changeset in webkit [205099] by
-
- 3 edits in trunk/Source/WebCore
RenderMathMLRow::firstLineBaseline does not need to be overridden in RenderMathMLMenclose
https://bugs.webkit.org/show_bug.cgi?id=161127
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-28
Reviewed by Darin Adler.
RenderMathMLRow::firstLineBaseline already provides the correct calculation of ascent for
non-empty menclose elements. Empty menclose elements are not used in practice so the
calculated value is irrelevant. Aligning on mrow (i.e. leaving firstLineBaseline to 0)
is fine. This change allows to get rid of the m_ascent member and helps to keep good baseline
alignment when the zoom level changes (bug 161126).
No new tests, already covered by existing tests.
- rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::RenderMathMLMenclose): Remove initialization of m_ascent.
(WebCore::RenderMathMLMenclose::layoutBlock): No need to calculate m_ascent. The height and
content location can be determined without introducing local variables ascent or descent.
(WebCore::RenderMathMLMenclose::firstLineBaseline): Deleted. We just use the implementation
from RenderMathMLRow.
- rendering/mathml/RenderMathMLMenclose.h: Delete m_ascent and do not override
firstLineBaseline.
- 1:26 AM Changeset in webkit [205098] by
-
- 4 edits2 adds in trunk
More cleanup for the mpadded implementation
https://bugs.webkit.org/show_bug.cgi?id=161136
Source/WebCore:
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-28
Reviewed by Darin Adler.
We perform the following cleanup for the mpadded renderer class:
1) We do not store the ascent on the class. This may make update more reliable and will
help for general improvement of MathML ascents (bug 155879).
2) We split resolveWidth/resolveAttributes into smaller functions and improve the coding
style. This helps to calculate firstLineBaseline in 1).
3) We do not override updateFromElement and styleDidChange to perform setNeedsLayout calls.
These calls already seem unnecessary and can be removed even more safely after 1).
We add a test for style change. Change of attributes as well as metrics calcuation of empty
and non-empty mpadded elements are already covered by other tests.
Test: mathml/presentation/mpadded-style-change.html
- rendering/mathml/RenderMathMLPadded.cpp:
(WebCore::RenderMathMLPadded::voffset): New helper function to resolve voffset.
(WebCore::RenderMathMLPadded::lspace): Ditto for lspace.
(WebCore::RenderMathMLPadded::mpaddedWidth): Ditto for width.
(WebCore::RenderMathMLPadded::mpaddedHeight): Ditto for height.
(WebCore::RenderMathMLPadded::mpaddedDepth): Ditto for detph.
(WebCore::RenderMathMLPadded::computePreferredLogicalWidths): Use mpaddedWidth().
(WebCore::RenderMathMLPadded::layoutBlock): Use the new helper functions.
(WebCore::RenderMathMLPadded::firstLineBaseline): Use voffset or mpaddedHeight for baseline
calculation instead of m_padded.
(WebCore::RenderMathMLPadded::resolveWidth): Deleted. Renamed mpaddedWidth.
(WebCore::RenderMathMLPadded::resolveAttributes): Deleted. Split into smaller functions.
(WebCore::RenderMathMLPadded::updateFromElement): Deleted. We do not need to call
setNeedsLayout.
(WebCore::RenderMathMLPadded::styleDidChange): Deleted. Ditto.
- rendering/mathml/RenderMathMLPadded.h: Update function declaration and remove m_ascent.
LayoutTests:
We add a test for style change in mpadded.
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-28
Reviewed by Darin Adler.
- mathml/presentation/mpadded-style-change-expected.html: Added.
- mathml/presentation/mpadded-style-change.html: Added.