Timeline



Sep 18, 2017:

11:41 PM Changeset in webkit [222204] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebDriver

WebDriver: wrong key name for capabilities in new session response
https://bugs.webkit.org/show_bug.cgi?id=177074

Reviewed by Brian Burg.

We are using "value", it should be "capabilities".
https://w3c.github.io/webdriver/webdriver-spec.html#new-session

  • WebDriverService.cpp:

(WebDriver::WebDriverService::newSession):

11:40 PM Changeset in webkit [222203] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebDriver

WebDriver: HTTP responses should include Cache-Control header with no-cache value
https://bugs.webkit.org/show_bug.cgi?id=177073

Reviewed by Sergio Villar Senin.

6.3 Processing Model.
Set the response’s header with name and value with the following values:

Content-Type "application/json; charset=utf-8"
Cache-Control "no-cache"

https://w3c.github.io/webdriver/webdriver-spec.html#dfn-send-a-response

We were setting the Content-Type, but not the Cache-Control. This is checked by all WPT WebDriver tests.

  • soup/HTTPServerSoup.cpp:

(WebDriver::HTTPServer::listen): Add Cache-Control header.

11:35 PM Changeset in webkit [222202] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[Harfbuzz] adjustSelectionRectForComplexText() should also pass the character range when shaping
https://bugs.webkit.org/show_bug.cgi?id=177049

Reviewed by Michael Catanzaro.

Now that the shaper support receiving a range we should use that also in
adjustSelectionRectForComplexText(). This will ensure consistent results with
getGlyphsAndAdvancesForComplexText().

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::FontCascade::adjustSelectionRectForComplexText const):

9:15 PM Changeset in webkit [222201] by fpizlo@apple.com
  • 8 edits in trunk/Tools

[WSL] Cannot put templated structs inside structs
https://bugs.webkit.org/show_bug.cgi?id=177120

Reviewed by Myles Maxfield.

It turns out that we still need to instantiate structs even if not passing type arguments,
since its fields may need to be instantiated.

This makes Myles's test case pass. When writing the test case, I encountered parser bugs, and
I fixed them.

  • WebGPUShadingLanguageRI/CallFunction.js:

(callFunction):

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitReferenceType):

  • WebGPUShadingLanguageRI/FuncInstantiator.js:

(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):

  • WebGPUShadingLanguageRI/Parse.js:

(parseSuffixOperator):
(parsePossibleSuffix):
(parsePostIncrement):

  • WebGPUShadingLanguageRI/StructType.js:

(StructType.prototype.instantiate):

  • WebGPUShadingLanguageRI/Test.js:

(checkNumber):
(checkEnum):
(TEST_instantiateStructInStruct):

  • WebGPUShadingLanguageRI/TypeRef.js:

(TypeRef.prototype.get instantiatedType):
(TypeRef.prototype.get isPrimitive):

8:44 PM Changeset in webkit [222200] by fpizlo@apple.com
  • 20 edits
    6 adds in trunk/Tools

WSL should support enum
https://bugs.webkit.org/show_bug.cgi?id=176977

Reviewed by Myles Maxfield.

This implements enum. Enums members are referenced Java-style. For example, if we have an enum like:

enum Bank {

GP,
FP

}


Then you refer to the members by saying Bank.GP and Bank.FP.

Also adds a hack that makes operator- on a literal fold the literal. This fixes two issues:

  • Lets you use negative literals in constexprs.
  • Means that negative literals also get literal type unification.


WSL's constexpr support is really thin, but I think it's all we really need for now.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitEnumType):
(Checker.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/ConstexprFolder.js: Added.

(ConstexprFolder.prototype.visitCallExpression):
(ConstexprFolder.prototype.visitTypeOrVariableRef):
(ConstexprFolder):

  • WebGPUShadingLanguageRI/CreateLiteral.js:

(createLiteral.GenericLiteral.prototype.get valueForSelectedType):
(createLiteral.GenericLiteral.prototype.get negConstexpr):

  • WebGPUShadingLanguageRI/DoubleLiteral.js:

(let.DoubleLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/EnumLiteral.js: Added.

(EnumLiteral):
(EnumLiteral.prototype.get member):
(EnumLiteral.prototype.get type):
(EnumLiteral.prototype.get isConstexpr):
(EnumLiteral.prototype.unifyImpl):
(EnumLiteral.prototype.toString):

  • WebGPUShadingLanguageRI/EnumMember.js: Added.

(EnumMember):
(EnumMember.prototype.get origin):
(EnumMember.prototype.get name):
(EnumMember.prototype.toString):

  • WebGPUShadingLanguageRI/EnumType.js: Added.

(EnumType):
(EnumType.prototype.add):
(EnumType.prototype.get origin):
(EnumType.prototype.get name):
(EnumType.prototype.get baseType):
(EnumType.prototype.get memberNames):
(EnumType.prototype.memberByName):
(EnumType.prototype.get members):
(EnumType.prototype.get memberMap):
(EnumType.prototype.get isPrimitive):
(EnumType.prototype.populateDefaultValue):
(EnumType.prototype.get size):
(EnumType.prototype.toString):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitGenericLiteral):
(Evaluator.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/FloatLiteral.js:

(let.FloatLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/FoldConstexprs.js: Added.

(foldConstexprs):

  • WebGPUShadingLanguageRI/IntLiteral.js:

(let.IntLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/Parse.js:

(parseConstexpr):
(parsePossibleSuffix):
(parseEnumMember):
(parseEnumType):
(parse):

  • WebGPUShadingLanguageRI/Prepare.js:

(prepare):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitEnumType):
(Rewriter.prototype.visitEnumMember):
(Rewriter.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/StructType.js:

(StructType.prototype.get origin):
(StructType.prototype.instantiate):

  • WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Added.

(synthesizeEnumFunctions):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(checkEnum):
(TEST_simpleEnum):
(TEST_enumWithManualValues):
(TEST_enumWithoutZero):
(TEST_enumConstexprGenericFunction):
(TEST_enumConstexprGenericStruct):

  • WebGPUShadingLanguageRI/UintLiteral.js:

(let.UintLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

8:19 PM Changeset in webkit [222199] by fpizlo@apple.com
  • 5 edits
    2 adds in trunk/Tools

WSL prepare() should cache the parsed standard library
https://bugs.webkit.org/show_bug.cgi?id=177118

Reviewed by Myles Maxfield.

The execution time of Test.js is too damn high!

So I made it 2x faster by caching the parsed standard library.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/CloneProgram.js: Added.

(cloneProgram):

  • WebGPUShadingLanguageRI/Prepare.js:

(let.prepare):
(prepare): Deleted.

  • WebGPUShadingLanguageRI/StatementCloner.js: Added.

(StatementCloner.prototype.visitFuncDef):
(StatementCloner.prototype.visitNativeFunc):
(StatementCloner.prototype.visitNativeType):
(StatementCloner.prototype.visitTypeDef):
(StatementCloner.prototype.visitStructType):
(StatementCloner.prototype.visitConstexprTypeParameter):
(StatementCloner.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(doTest):

7:55 PM Changeset in webkit [222198] by dino@apple.com
  • 5 edits in trunk

[WebGL] VideoTextureCopierCV doesn't correctly restore vertex attribute state
https://bugs.webkit.org/show_bug.cgi?id=176771
<rdar://problem/34386621>

Reviewed by Antoine Quint.

Source/WebCore:

The OpenGL context in VideoTextureCopierCV wasn't being restored to
the state it had before rendering a video to a texture. Specifically
the vertex attribute values were never recorded by the state saver.

Update the existing test of VideoTextureCopierCV so that it is
explicitly doing something different from the WebCore code, which
means that state will have to be correctly restored for the test
to pass.

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture): Make sure
to record the vertex attribute state once we know the location of the position attribute.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::GC3DStateSaver):
(WebCore::VideoTextureCopierCV::GC3DStateSaver::~GC3DStateSaver):
(WebCore::VideoTextureCopierCV::GC3DStateSaver::saveVertexAttribState): Save all the
applicable vertex attribute state information.

  • platform/graphics/cv/VideoTextureCopierCV.h: GC3DStateSaver can use a reference

to the GC3D rather than a pointer.

LayoutTests:

Tweak this test to make sure it does something different from
the code in WebCore to render a video into a texture, thus
ensuring that we're testing state is correctly restored.

  • fast/canvas/webgl/texImage2D-video-flipY-true.html:
7:52 PM Changeset in webkit [222197] by dino@apple.com
  • 12 edits
    6 adds in trunk

[WebGL] accelerated texImage2D for video doesn't respect flipY
https://bugs.webkit.org/show_bug.cgi?id=176491
<rdar://problem/33833511>

Reviewed by Jer Noble.

(Take 3 - this was rolled out due to a test failure)

Source/WebCore:

Previously, if UNPACK_FLIP_Y_WEBGL was set to true, we'd either fall
back to software or fail to upload texture data. Fix this by intercepting
the texImage2D call, checking the orientation of the video, and running
a small shader program to flip it if necessary.

While there, implement UNPACK_PREMULTIPLY_ALPHA_WEBGL as well, although
none of our media decoders support video with alpha, so unfortunately
this will have no visible change.

Tests: fast/canvas/webgl/texImage2D-video-flipY-false.html

fast/canvas/webgl/texImage2D-video-flipY-true.html

  • platform/cocoa/CoreVideoSoftLink.cpp: Add link to CVOpenGL(ES)TextureGetCleanTexCoords,

which is used to check the orientation of the source video.

  • platform/cocoa/CoreVideoSoftLink.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::copyVideoTextureToPlatformTexture): We can
now handle flipped or premultiplied requests.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::copyVideoTextureToPlatformTexture): Ditto.

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

(WebCore::VideoTextureCopierCV::VideoTextureCopierCV): Rename readFramebuffer to
simply framebuffer.
(WebCore::VideoTextureCopierCV::~VideoTextureCopierCV): Delete the program and buffer
if they were created.
(WebCore::VideoTextureCopierCV::initializeContextObjects): Sets up the shader program
and the vertex buffer for drawing. Also records the location of the uniforms.
(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture): Create a new
framebuffer object, and render the video texture into that framebuffer using a
shader that can flip the coordinates.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::GC3DStateSaver): Helper to restore
the state of the user's GraphicsContext3D while we're intercepting calls.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::~GC3DStateSaver):

  • platform/graphics/cv/VideoTextureCopierCV.h:
  • platform/graphics/GraphicsContext3D.h: Add two new entry points, for direct shader

compilation and attribute access. This avoids going through ANGLE.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::compileShaderDirect):
(WebCore::GraphicsContext3D::getAttribLocationDirect):

LayoutTests:

Test that exercises UNPACK_FLIP_Y_WEBGL for video on the accelerated
path.

  • fast/canvas/webgl/resources/orientation-flipped.mp4: Added.
  • fast/canvas/webgl/resources/orientation-normal.mp4: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-false-expected.txt: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-false.html: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-true-expected.txt: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-true.html: Added.
  • platform/ios/TestExpectations: This test is macOS only.
  • platform/mac/TestExpectations: Mark an existing WebGL test as flakey, while a bug exposed here is investigated.
7:45 PM Changeset in webkit [222196] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebCore

Make ImageFrame::duration() return Seconds instead of float
https://bugs.webkit.org/show_bug.cgi?id=177103

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-18
Reviewed by Simon Fraser.

ScalableImageDecoder stores milliseconds for the duration of its ImageFrames.
But ImageFrameCache store seconds for the duration of its ImageFrames.
To fix this issue use Seconds for the ImageFrame duration.

  • platform/graphics/BitmapImage.h:
  • platform/graphics/ImageDecoder.h:
  • platform/graphics/ImageFrame.h:

(WebCore::ImageFrame::setDuration):
(WebCore::ImageFrame::duration const):

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::frameDurationAtIndex):

  • platform/graphics/ImageFrameCache.h:
  • platform/graphics/ImageSource.h:

(WebCore::ImageSource::frameDurationAtIndex):

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoderCG::frameDurationAtIndex const):

  • platform/graphics/cg/ImageDecoderCG.h:
  • platform/image-decoders/ScalableImageDecoder.cpp:

(WebCore::ScalableImageDecoder::frameDurationAtIndex const):

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::frameComplete):

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::readChunks):
(WebCore::PNGImageDecoder::frameHeader): Deleted.
(WebCore::PNGImageDecoder::init): Deleted.
(WebCore::PNGImageDecoder::clearFrameBufferCache): Deleted.
(WebCore::PNGImageDecoder::initFrameBuffer): Deleted.
(WebCore::PNGImageDecoder::frameComplete): Deleted.
(WebCore::PNGImageDecoder::processingStart): Deleted.
(WebCore::PNGImageDecoder::processingFinish): Deleted.
(WebCore::PNGImageDecoder::fallbackNotAnimated): Deleted.

6:56 PM Changeset in webkit [222195] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Compile error in InbandTextTrackPrivateAVCF::readNativeSampleBuffer.
https://bugs.webkit.org/show_bug.cgi?id=177108

Reviewed by Brent Fulgham.

The InbandTextTrackPrivateAVF::m_sampleInputBuffer is private and not accessible in this method.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
5:29 PM Changeset in webkit [222194] by Michael Catanzaro
  • 69 edits
    1 move in trunk

[CMake] Rename WebKit target to WebKitLegacy and rename WebKit2 target to WebKit
https://bugs.webkit.org/show_bug.cgi?id=174558

Reviewed by Alex Christensen.

.:

  • CMakeLists.txt:
  • Source/PlatformGTK.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/WebKitCommon.cmake:
  • Source/cmake/WebKitFS.cmake:

Source/WebDriver:

  • CMakeLists.txt:

Source/WebKit:

  • CMakeLists.txt:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • PlatformWPE.cmake:
  • PlatformWin.cmake:
  • Shared/gtk/WebKitWaylandProtocol.xml: Renamed from Source/WebKit/Shared/gtk/WebKit2WaylandProtocol.xml.
  • UIProcess/gtk/WaylandCompositor.cpp:
  • WebProcess/gtk/WaylandCompositorDisplay.cpp:

Source/WebKitLegacy:

With help from Stephan Szabo, thanks!

  • CMakeLists.txt:
  • PlatformMac.cmake:
  • PlatformWin.cmake:

Tools:

With help from Stephan Szabo, thanks!

  • DumpRenderTree/PlatformMac.cmake:
  • DumpRenderTree/PlatformWin.cmake:
  • DumpRenderTree/win/AccessibilityControllerWin.cpp:
  • DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
  • DumpRenderTree/win/DumpRenderTree.cpp:
  • DumpRenderTree/win/EditingDelegate.h:
  • DumpRenderTree/win/EventSender.cpp:
  • DumpRenderTree/win/FrameLoadDelegate.cpp:
  • DumpRenderTree/win/FrameLoadDelegate.h:
  • DumpRenderTree/win/GCControllerWin.cpp:
  • DumpRenderTree/win/HistoryDelegate.cpp:
  • DumpRenderTree/win/HistoryDelegate.h:
  • DumpRenderTree/win/PolicyDelegate.h:
  • DumpRenderTree/win/ResourceLoadDelegate.cpp:
  • DumpRenderTree/win/ResourceLoadDelegate.h:
  • DumpRenderTree/win/TestRunnerWin.cpp:
  • DumpRenderTree/win/TextInputControllerWin.cpp:
  • DumpRenderTree/win/UIDelegate.cpp:
  • DumpRenderTree/win/UIDelegate.h:
  • DumpRenderTree/win/WorkQueueItemWin.cpp:
  • MiniBrowser/gtk/CMakeLists.txt:
  • MiniBrowser/mac/CMakeLists.txt:
  • MiniBrowser/win/AccessibilityDelegate.cpp:
  • MiniBrowser/win/AccessibilityDelegate.h:
  • MiniBrowser/win/CMakeLists.txt:
  • MiniBrowser/win/Common.cpp:
  • MiniBrowser/win/DOMDefaultImpl.h:
  • MiniBrowser/win/MiniBrowser.cpp:
  • MiniBrowser/win/MiniBrowser.h:
  • MiniBrowser/win/MiniBrowserWebHost.cpp:
  • MiniBrowser/win/MiniBrowserWebHost.h:
  • MiniBrowser/win/PageLoadTestClient.h:
  • MiniBrowser/win/PrintWebUIDelegate.cpp:
  • MiniBrowser/win/PrintWebUIDelegate.h:
  • MiniBrowser/win/ResourceLoadDelegate.cpp:
  • MiniBrowser/win/ResourceLoadDelegate.h:
  • MiniBrowser/win/WebDownloadDelegate.h:
  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/PlatformWPE.cmake:
  • TestWebKitAPI/PlatformWin.cmake:
  • TestWebKitAPI/Tests/WebKitLegacy/win/ScaleWebView.cpp:
  • TestWebKitAPI/Tests/WebKitLegacy/win/WebViewDestruction.cpp:
  • TestWebKitAPI/glib/CMakeLists.txt:
  • WebKitTestRunner/CMakeLists.txt:
  • WebKitTestRunner/PlatformGTK.cmake:
  • WebKitTestRunner/PlatformWPE.cmake:
5:19 PM Changeset in webkit [222193] by Ryan Haddad
  • 5 edits
    1 copy
    1 add in trunk/LayoutTests

Unreviewed test gardening for macOS.

  • platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Copied from LayoutTests/platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/fast/loader/file-url-mimetypes-3-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
4:44 PM Changeset in webkit [222192] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark fast/css/display-contents-style-update.html as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177109

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:42 PM Changeset in webkit [222191] by mmaxfield@apple.com
  • 3 edits in trunk/Tools

Fill out vector types in WSL's standard library
https://bugs.webkit.org/show_bug.cgi?id=177063

Reviewed by Filip Pizlo.

Now that we have struct types, operator&[], and operator==, fill out a few of the builtin vector types in the
standard library. This patch creates three new types: vec2, vec3, and vec4, each of which takes a type
argument, so you can say vec4<float>. This patch also adds typedefs of int4, uint4, float4, and double4 (along
with their 2- and 3- length siblings).

This patch does not include the swizzling operators, so you can't say float4.yzw.

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(operator.T.vec2.T):
(bool.operator.T.Equatable):
(thread.T.operator.T):
(operator.T.vec3.T):
(operator.T.vec4.T):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_builtinVectors):

4:36 PM Changeset in webkit [222190] by timothy_horton@apple.com
  • 14 edits in trunk

Support min() and max() in calc()
https://bugs.webkit.org/show_bug.cgi?id=167000
<rdar://problem/30153481>

Reviewed by David Hyatt.
Patch originally by Myles Maxfield.

Source/WebCore:

Add two new toplevel functions to CSS, min() and max(), which take an
arbirary number of arguments and resolve to the minimum and maximum of
the resolved value of the arguments, respectively. It is also possible
to use min() and max() inside calc(), and to use calc()-like math
inside min() and max().

  • css/CSSCalculationValue.cpp:

(WebCore::determineCategory):
min and max operators don't use determineCategory; we have a specific
implementation for them in createMinOrMax.

(WebCore::resolvedTypeForMinOrMax):
The spec says that min() and max() should be marked as invalid if they
have values of more than one type, but that percentages should resolve
against the destination type before making this determination. So,
if the destination type is length, percent turns into percent-length,
and similarly for number.

(WebCore::isIntegerResult):
Add an n-way implementation of isIntegerResult.

(WebCore::isSamePair):
(WebCore::CSSCalcOperation::createMinOrMax): Create a min() or max()
operation, as long as the types of arguments are all the same. Allow
lengths to upgrade the whole operation to percent-length, and numbers
to percent-number, which will cause us to use CalculationValue and friends
in order to do proper resolution of all of the parameters instead of
just comparing their numeric values.

(WebCore::CSSCalcOperation::createCalcExpression):
(WebCore::CSSCalcOperation::doubleValue):
(WebCore::CSSCalcOperation::computeLengthPx):
(WebCore::CSSCalcOperation::customCSSText):
(WebCore::CSSCalcOperation::primitiveType):
(WebCore::CSSCalcOperation::CSSCalcOperation):
(WebCore::CSSCalcOperation::evaluate):
(WebCore::CSSCalcOperation::evaluateOperator):
Adapt to child counts greater than two.

(WebCore::CSSCalcOperation::buildCssText):
Add support for min() and max().

(WebCore::CSSCalcExpressionNodeParser::parseCalc):
parseCalc now accepts a CSSValueID parameter indicating which calc function
it should parse (calc, webkit-calc, min, or max), and delegates to either
parseValueExpression or parseMinMaxExpression.

(WebCore::CSSCalcExpressionNodeParser::operatorValue):
(WebCore::CSSCalcExpressionNodeParser::parseValue):
If min() or max() are found while parsing a value (i.e. nested inside
either calc or themselves), use parseMinMaxExpression on that subtree.

(WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
(WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
(WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
Adjust to the CSSCalcBinaryOperation->CSSCalcOperation rename.

(WebCore::CSSCalcExpressionNodeParser::parseMinMaxExpression):
Added. Parse an arbitrary number of comma-and-whitespace-separated children.

(WebCore::createBlendHalf):
Adjust to the CSSCalcBinaryOperation->CSSCalcOperation rename.

(WebCore::createCSS):
Build the CSSCalcOperation for the platform-independent min and max operations.

(WebCore::CSSCalcValue::create):
Pass the function being parsed and the destination calc category for the
property being parsed for into create, and then into the parser so that
it can know which function it is parsing for, and what kind of result it
needs (as previously mentioned above in resolvedTypeForMinOrMax).

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

Add min and max functions as CSS keywords.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertLength):
(WebCore::StyleBuilderConverter::convertTo100PercentMinusLength):

  • platform/Length.cpp:

(WebCore::convertTo100PercentMinusLength):
Adapt to the CalcExpressionOperation constructor taking a vector of
arguments instead of two.

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::CalcParser::CalcParser):
Store and pass the specific function being parsed down into CSSCalcValue.

(WebCore::CSSPropertyParserHelpers::consumeInteger):
(WebCore::CSSPropertyParserHelpers::consumePositiveIntegerRaw):
(WebCore::CSSPropertyParserHelpers::consumeNumberRaw):
(WebCore::CSSPropertyParserHelpers::consumeNumber):
(WebCore::CSSPropertyParserHelpers::consumeFontWeightNumber):
(WebCore::CSSPropertyParserHelpers::consumeLength):
(WebCore::CSSPropertyParserHelpers::consumePercent):
(WebCore::CSSPropertyParserHelpers::consumeLengthOrPercent):
(WebCore::CSSPropertyParserHelpers::consumeAngle):
(WebCore::CSSPropertyParserHelpers::consumeTime):
Pass the destination type into each calc parser.

  • platform/CalculationValue.cpp:

(WebCore::CalcExpressionOperation::evaluate const):
(WebCore::CalcExpressionOperation::operator== const):
(WebCore::CalcExpressionOperation::dump const):
(WebCore::operator<<):
(WebCore::CalcExpressionBinaryOperation::evaluate const): Deleted.
(WebCore::CalcExpressionBinaryOperation::operator== const): Deleted.
(WebCore::CalcExpressionBinaryOperation::dump const): Deleted.

  • platform/CalculationValue.h:

(WebCore::CalcExpressionOperation::CalcExpressionOperation):
(WebCore::operator==):
(WebCore::toCalcExpressionOperation):
(WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation): Deleted.
(WebCore::toCalcExpressionBinaryOperation): Deleted.
Adjust to the CSSCalcBinaryOperation->CSSCalcOperation rename.
Adjust to having n>2 children.
Support min() and max() operators in various places.

LayoutTests:

  • css3/calc/minmax-errors-expected.txt:
  • css3/calc/minmax-errors.html:
  • css3/calc/simple-minmax-expected.txt:
  • css3/calc/simple-minmax.html:

Revive previously-unused tests for an earlier never-implemented version
of this feature, and add a bunch more interesting test cases from reading the spec.

4:32 PM Changeset in webkit [222189] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark imported/blink/fast/events/panScroll-panIcon.html as flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177077

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:14 PM Changeset in webkit [222188] by Matt Baker
  • 12 edits in trunk

Web Inspector: RemoteObject.resolveNode should return a Promise
https://bugs.webkit.org/show_bug.cgi?id=177042

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Update RemoteObject.resolveNode to return a promise instead of taking a
callback. If the promise is fulfilled, remoteObject will be non-null.

  • UserInterface/Controllers/DOMTreeManager.js:

(WI.DOMTreeManager.prototype.inspectNodeObject.nodeAvailable):
(WI.DOMTreeManager.prototype.inspectNodeObject):
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo.domNodeResolved): Deleted.

  • UserInterface/Models/DOMNode.js:

(WI.DOMNode.prototype.toggleClass.WI.RemoteObject.resolveNode.then):
(WI.DOMNode.prototype.toggleClass):
(WI.DOMNode.prototype.scrollIntoView.WI.RemoteObject.resolveNode.then):
(WI.DOMNode.prototype.scrollIntoView):
(WI.DOMNode.prototype.toggleClass.resolvedNode.inspectedPage_node_toggleClass): Deleted.
(WI.DOMNode.prototype.toggleClass.resolvedNode): Deleted.
(WI.DOMNode.prototype.scrollIntoView.resolvedNode.inspectedPage_node_scrollIntoView): Deleted.
(WI.DOMNode.prototype.scrollIntoView.resolvedNode): Deleted.

  • UserInterface/Protocol/RemoteObject.js:

(WI.RemoteObject.resolveNode):

  • UserInterface/Views/BoxModelDetailsSectionRow.js:

(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.WI.RemoteObject.resolveNode.then):
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput):
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.toggleInlineStyleProperty): Deleted.
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.didToggle): Deleted.
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode): Deleted.

  • UserInterface/Views/CanvasDetailsSidebarPanel.js:
  • UserInterface/Views/ContextMenuUtilities.js:

(WI.appendContextMenuItemsForDOMNode):

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WI.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved.inspectedPage_node_collectPrototypes): Deleted.
(WI.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved): Deleted.
(WI.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodePrototypesReady): Deleted.

  • UserInterface/Views/DOMTreeElement.js:

(WI.DOMTreeElement.prototype._createTooltipForNode.WI.RemoteObject.resolveNode.then):
(WI.DOMTreeElement.prototype._createTooltipForNode):
(WI.DOMTreeElement.prototype._createTooltipForNode.resolvedNode.dimensions): Deleted.
(WI.DOMTreeElement.prototype._createTooltipForNode.resolvedNode): Deleted.

  • UserInterface/Views/DOMTreeOutline.js:

(WI.DOMTreeOutline.prototype._hideElement.injectStyleAndToggleClass):
(WI.DOMTreeOutline.prototype._hideElement):
(WI.DOMTreeOutline):
(WI.DOMTreeOutline.prototype._hideElement.resolvedNode.injectStyleAndToggleClass): Deleted.
(WI.DOMTreeOutline.prototype._hideElement.resolvedNode): Deleted.

LayoutTests:

Updated tests to use promises instead of callbacks.

  • inspector/dom/highlightNode.html:
4:02 PM Changeset in webkit [222187] by commit-queue@webkit.org
  • 7 edits
    1 add in trunk/Source/WebCore

[Curl] Move error generation task into ResourceError
https://bugs.webkit.org/show_bug.cgi?id=176963

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-18
Reviewed by Alex Christensen.

  • platform/Curl.cmake:
  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::errorDescription):
(WebCore::CurlHandle::errorDescription const):

  • platform/network/curl/CurlContext.h:
  • platform/network/curl/ResourceError.h:

(WebCore::ResourceError::setSslErrors):
(WebCore::ResourceError::hasSSLConnectError const): Deleted.
(WebCore::ResourceError::doPlatformIsolatedCopy): Deleted.

  • platform/network/curl/ResourceErrorCurl.cpp: Added.

(WebCore::ResourceError::httpError):
(WebCore::ResourceError::sslError):
(WebCore::ResourceError::hasSSLConnectError const):
(WebCore::ResourceError::doPlatformIsolatedCopy):
(WebCore::ResourceError::platformCompare):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::notifyFail):
(WebCore::ResourceHandleCurlDelegate::didFail):

  • platform/network/curl/ResourceHandleCurlDelegate.h:
3:41 PM Changeset in webkit [222186] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

ErrorInstance and Exception need destroy methods
https://bugs.webkit.org/show_bug.cgi?id=177095

Reviewed by Saam Barati.

When I made ErrorInstance and Exception into JSDestructibleObjects, I forgot to make them
follow that type's protocol.

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::destroy): Implement this to fix leaks.

  • runtime/ErrorInstance.h:
  • runtime/Exception.h: Change how this is declared now that this is a DestructibleObject.
3:39 PM Changeset in webkit [222185] by mmaxfield@apple.com
  • 11 edits in trunk/Tools

WSL needs to annotate vertex shaders and fragment shaders
https://bugs.webkit.org/show_bug.cgi?id=177066

Reviewed by Filip Pizlo.

Metal Shading Language requires annotating vertex and fragment shaders, so this information needs to be in
the source WSL file.

  • WebGPUShadingLanguageRI/Func.js:

(Func):
(Func.prototype.get shaderType):

  • WebGPUShadingLanguageRI/FuncDef.js:

(FuncDef):

  • WebGPUShadingLanguageRI/NativeFunc.js:

(NativeFunc):

  • WebGPUShadingLanguageRI/Parse.js:

(parseFuncDecl):
(parseProtocolFuncDecl):
(parseFuncDef):
(parseNativeFunc):

  • WebGPUShadingLanguageRI/ResolveOverloadImpl.js:

(resolveOverloadImpl):

  • WebGPUShadingLanguageRI/Test.js:
3:36 PM Changeset in webkit [222184] by fpizlo@apple.com
  • 6 edits in trunk/Tools

WSL should know that constexpr parameters are not lvalues
https://bugs.webkit.org/show_bug.cgi?id=177104

Reviewed by Saam Barati.

This should be an error:

void foo<int x>()
{

x = 42;

}


Previously, it wasn't, because VariableRef always thought that it was an LValue. This patch
teaches the type checker that not all VariableRefs are LValues.

  • WebGPUShadingLanguageRI/ConstexprTypeParameter.js:

(ConstexprTypeParameter.prototype.get varIsLValue):

  • WebGPUShadingLanguageRI/FuncParameter.js:

(FuncParameter.prototype.get varIsLValue):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_nonArrayRefArrayLengthSucceed):
(TEST_nonArrayRefArrayLengthFail):
(TEST_nonArrayRefArrayLength): Deleted.
(TEST_assignLength): Deleted.

  • WebGPUShadingLanguageRI/VariableDecl.js:

(VariableDecl.prototype.get varIsLValue):

  • WebGPUShadingLanguageRI/VariableRef.js:

(VariableRef.prototype.get isLValue):

3:35 PM Changeset in webkit [222183] by aestes@apple.com
  • 16 edits
    2 adds in trunk/Source

[Cocoa] Upstream sandbox-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=177047

Reviewed by Daniel Bates.

Source/WebKit:

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):

  • Platform/spi/mac/QuarantineSPI.h: Added.
  • Shared/SandboxExtension.h:

(): Deleted.

  • Shared/mac/ChildProcessMac.mm:

(WebKit::enableSandboxStyleFileQuarantine):
(WebKit::ChildProcess::initializeSandbox):

  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::SandboxExtensionImpl::create):
(WebKit::SandboxExtensionImpl::SandboxExtensionImpl):
(WebKit::SandboxExtensionImpl::~SandboxExtensionImpl):
(WebKit::SandboxExtensionImpl::consume):
(WebKit::SandboxExtensionImpl::invalidate):
(WebKit::SandboxExtensionImpl::getSerializedFormat):
(WebKit::SandboxExtension::Handle::Handle):
(WebKit::SandboxExtension::Handle::~Handle):
(WebKit::SandboxExtension::Handle::encode const):
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::createHandleWithoutResolvingPath):
(WebKit::SandboxExtension::createHandleForReadWriteDirectory):
(WebKit::SandboxExtension::createHandleForTemporaryFile):
(WebKit::SandboxExtension::createHandleForGenericExtension):
(WebKit::SandboxExtension::SandboxExtension):
(WebKit::SandboxExtension::~SandboxExtension):
(WebKit::SandboxExtension::revoke):
(WebKit::SandboxExtension::consume):
(WebKit::SandboxExtension::consumePermanently):
(WebKit::wkSandboxExtensionType): Deleted.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::createSandboxExtensionsIfNeeded):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::grantSandboxExtensionsToStorageProcessForBlobs):

  • UIProcess/Storage/StorageProcessProxy.cpp:

(WebKit::StorageProcessProxy::getSandboxExtensionsForBlobFiles):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::didChooseFilesForOpenPanel):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::startMemorySampler):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::registerFileBlobURL):

Source/WTF:

  • wtf/spi/darwin/SandboxSPI.h:
3:27 PM Changeset in webkit [222182] by webkit@devinrousso.com
  • 8 edits
    1 add in trunk/LayoutTests

Web Inspector: make Canvas recording tests more human readable
https://bugs.webkit.org/show_bug.cgi?id=176441

Reviewed by Joseph Pecoraro.

  • inspector/canvas/resources/recording-utilities.js: Added.

(TestPage.registerInitializer):
Create common functions for requesting and printing a recording.

  • inspector/canvas/recording-2d-expected.txt:
  • inspector/canvas/recording-2d.html:
  • inspector/canvas/recording-webgl-expected.txt:
  • inspector/canvas/recording-webgl.html:
  • inspector/canvas/recording-webgl-snapshots-expected.txt:
  • inspector/canvas/recording-webgl-snapshots.html:
2:33 PM Changeset in webkit [222181] by BJ Burg
  • 11 edits
    3 copies in trunk/Source/WebInspectorUI

Web Inspector: introduce an AppController class and shared instance of it
https://bugs.webkit.org/show_bug.cgi?id=177024

Reviewed by Matt Baker.

WebInspectorUI currently has an app controller singleton that's distributed
among many properties on the WI object, which also serves as a namespace for
classes, enums, and other frontend objects. The singleton should be a proper
class so that we can think more easily about what state is global.

In the process of moving pieces of Main.js into AppController, I intend to move
most UI related code into a view controller class for the top level view.
AppController really shouldn't be doing anything to the view hierarchy or DOM.
It is yet to be determined how responsibility for global DOM events, such as
those for keyboard shortcuts, will be handled.

This larger refactoring project will let us more easily do things like connect
to multiple debuggables in the same Inspector instance, and switch between views
of different debuggable targets. Even if this never comes to pass, the code will
be a lot easier to reason about and maintain in the future.

For the first patch, introduce {AppController, TestAppController} <: AppControllerBase.
Shared code goes in the base class. In the Main.html and Test.html files, first
construct the AppController and then call .initialize() to avoid cyclic dependencies
on the global singleton WI.sharedApp.

  • UserInterface/Main.html:
  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WI.loaded):

  • UserInterface/Base/Main.js:

(WI.loaded):
Move some shared code out of here into AppControllerBase.constructor.
Eventually WI.loaded should not exist, and its code will move elsewhere.

(WI.contentLoaded):
Adopt global reference.

  • UserInterface/Controllers/AppControllerBase.js: Copied from Source/WebInspectorUI/UserInterface/Protocol/MainTarget.js.

(WI.AppControllerBase):
(WI.AppControllerBase.prototype.get hasExtraDomains):
(WI.AppControllerBase.prototype.get debuggableType):
(WI.AppControllerBase.prototype.initialize):

  • UserInterface/Controllers/AppController.js: New.

(WI.AppController):
(WI.AppController.prototype.get hasExtraDomains):
(WI.AppController.prototype.get debuggableType):
(WI.AppController.prototype.activateExtraDomains):

  • UserInterface/Test/TestAppController.js: New.

(WI.TestAppController):
(WI.TestAppController.prototype.get hasExtraDomains):
(WI.TestAppController.prototype.get debuggableType):

  • UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager.defaultTimelineTypes):
(WI.TimelineManager.availableTimelineTypes):
(WI.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStarted):
(WI.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStopped):
(WI.TimelineManager.prototype.scriptProfilerTrackingCompleted):

  • UserInterface/Models/TimelineRecording.js:

(WI.TimelineRecording.sourceCodeTimelinesSupported):

  • UserInterface/Protocol/InspectorObserver.js:

(WI.InspectorObserver.prototype.inspect):
(WI.InspectorObserver.prototype.activateExtraDomains):
(WI.InspectorObserver):

  • UserInterface/Protocol/MainTarget.js:

(WI.MainTarget):
(WI.MainTarget.prototype.get displayName):

  • UserInterface/Views/ResourceSidebarPanel.js:

(WI.ResourceSidebarPanel):
(WI.ResourceSidebarPanel.prototype.initialLayout):
(WI.ResourceSidebarPanel.prototype._addScript):
(WI.ResourceSidebarPanel.prototype._extraDomainsActivated):

  • UserInterface/Views/Toolbar.js:

Use WI.sharedApp.{debuggableType, hasExtraDomains}.

2:04 PM Changeset in webkit [222180] by Ryan Haddad
  • 7 edits in trunk

Unreviewed, rolling out r222170.

The API test added with this change is failing.

Reverted changeset:

"Allow WTF::map to use any class that is iterable and has a
size getter"
https://bugs.webkit.org/show_bug.cgi?id=177026
http://trac.webkit.org/changeset/222170

2:03 PM Changeset in webkit [222179] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

Add a section in WSL's documentation about how API objects and WSL interact
https://bugs.webkit.org/show_bug.cgi?id=177089

Reviewed by Filip Pizlo.

No global variables; entry points accept arguments. Buffers are array references ([]),
and texture and sampler opaque types exist. Data is passed between stages in return
values.

  • WebGPUShadingLanguageRI/WSL.md:
2:01 PM Changeset in webkit [222178] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

Another WK1 unflake attempt.

  • transitions/transition-display-property-2.html:
1:48 PM Changeset in webkit [222177] by don.olmstead@sony.com
  • 4 edits in trunk/Source/WebCore

[Curl] Forward declare SSL context

Unreviewed build fix after r222147. OpenSSL's SHA1 declaration conflicts with WTF's.

No new tests. No change in behavior.

  • platform/network/curl/CurlSSLHandle.h:
  • platform/network/curl/CurlSSLVerifier.cpp:
  • platform/network/curl/CurlSSLVerifier.h:
1:38 PM Changeset in webkit [222176] by rniwa@webkit.org
  • 4 edits in trunk

getData('text/plain') doesn't work on iOS 10
https://bugs.webkit.org/show_bug.cgi?id=177034

Reviewed by Wenson Hsieh.

Source/WebCore:

The bug was caused by the mispatch of UTI between reading & writing plain text.
Use kUTTypeText (instead of kUTTypePlainText) to read from UIPasteboard on iOS 10.

Re-enabled tests were passing on iOS 11 and continues to pass after this code change.

Tests: editing/pasteboard/clipboard-event.html

editing/pasteboard/datatransfer-items-paste-plaintext.html
editing/pasteboard/get-data-text-plain-paste.html

  • platform/ios/PasteboardIOS.mm:

(WebCore::cocoaTypeFromHTMLClipboardType):

LayoutTests:

Removed the failing test expectations from tests that now pass on iOS.

  • platform/ios/TestExpectations:
1:06 PM Changeset in webkit [222175] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Consider dropping JSObjectSetPrototype feature for JSGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=177070

Reviewed by Saam Barati.

Due to the security reason, our global object is immutable prototype exotic object.
It prevents users from injecting proxies into the prototype chain of the global object[1].
But our JSC API does not respect this attribute, and allows users to change Prototype?
of the global object after instantiating it.

This patch removes this feature. Once global object is instantiated, we cannot change Prototype?
of the global object. It drops JSGlobalObject::resetPrototype use, which involves GlobalThis
edge cases.

[1]: https://github.com/tc39/ecma262/commit/935dad4283d045bc09c67a259279772d01b3d33d

  • API/JSObjectRef.cpp:

(JSObjectSetPrototype):

  • API/tests/CustomGlobalObjectClassTest.c:

(globalObjectSetPrototypeTest):

12:35 PM Changeset in webkit [222174] by Matt Baker
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: console.assert messages shouldn't end in an exclamation point
https://bugs.webkit.org/show_bug.cgi?id=177054

Reviewed by Joseph Pecoraro.

  • UserInterface/Base/EventListener.js:
  • UserInterface/Base/EventListenerSet.js:

(WI.EventListenerSet.prototype.register):
Drive-by: make assertions the same in both.

  • UserInterface/Views/LayoutTimelineView.js:

(WI.LayoutTimelineView.prototype._processPendingRecords):

  • UserInterface/Views/Resizer.js:

(WI.Resizer.prototype._currentPosition):

12:14 PM Changeset in webkit [222173] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix typo.

  • WebGPUShadingLanguageRI/WSL.md:
11:57 AM Changeset in webkit [222172] by fpizlo@apple.com
  • 3 edits in trunk/Tools

WSL cannot use typedefs of arrays
https://bugs.webkit.org/show_bug.cgi?id=177061

Reviewed by Saam Barati.

This test case didn't work before because of a missing visit call in Checker.

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitTypeRef):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_typedefArray):

11:56 AM Changeset in webkit [222171] by webkit@devinrousso.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r221901): Single frame recordings don't reset the recording navigation item
https://bugs.webkit.org/show_bug.cgi?id=176893

Reviewed by Matt Baker.

  • UserInterface/Controllers/CanvasManager.js:

(WI.CanvasManager.prototype.recordingFinished):
Set the _recordingCanvas to null whenever a recording has finished and been sent to the
frontend. It is also necessary to do this inside stopRecording, as it is possible for the
user to start and stop a recording before any actions are recorded, meaning that no
recording would be sent to the frontend and this function will never get called.

11:52 AM Changeset in webkit [222170] by commit-queue@webkit.org
  • 7 edits in trunk

Allow WTF::map to use any class that is iterable and has a size getter
https://bugs.webkit.org/show_bug.cgi?id=177026

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

Source/WebCore:

No change of behavior.
Using WTF::map to go from maps to vectors.

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::resourceList):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):

Source/WTF:

Computing the Item type given to the lambda using the iterator instead of ValueType which is specific to Vector.
Adding the possibility to pass a non const container reference and a lambda taking non const references as well.

  • wtf/Vector.h:

(WTF::MapFunctionInspector::acceptsReference):
(WTF::Mapper::map):
(WTF::map):

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

11:51 AM Changeset in webkit [222169] by fpizlo@apple.com
  • 49 edits
    13 adds
    4 deletes in trunk/Tools

Figure out how WSL will support field overloads like float4.xz and friends
https://bugs.webkit.org/show_bug.cgi?id=177031

Reviewed by JF Bastien.

WSL needs to support getters and setters, so that we can do things like:

float4 vec;
vec.zx = float2(1, 2);
z = 1, x = 2


There's no way to express this float4.zx returning a pointer to something, since it's doing swizzling.
It could return a crazy smart pointer, but that sounds like a lot of work. So, I decided to go for
lvalue emulation instead.

The idea of lvalue emulation is that when we try to make an lvalue work for an assignment or RMW
operation (like += and friends), we consider the possibility that we have to first load the value using
a getter and then store it with a setter. This patch makes this work recursively, so that this will
work:

float4 vec;
vec.zwx.y = 42;
now w is 42


This works because we decompose it automatically:

float4 vec;
float3 tmp = vec.zwx;
tmp.y = 42;
vec.zwx = tmp;


This'll work to any depth.

To check if this works, this patch adds two substantial new tests called TEST_genericAccessors() and
TEST_bitSubscriptAccessor(). This tests that this stuff works with a lot of generic types, and that it's
possible to turn integers into bitvectors using subscript overloading. This patch also adds smaller unit
tests also.

Oh, and it's now possible to get an array's length.

  • WebGPUShadingLanguageRI/AddressSpace.js:

(needsPrimitiveProtocol):
(protocolSuffix):

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/AnonymousVariable.js: Added.

(AnonymousVariable):
(AnonymousVariable.prototype.get origin):
(AnonymousVariable.prototype.get name):
(AnonymousVariable.prototype.toString):

  • WebGPUShadingLanguageRI/ArrayRefType.js:

(ArrayRefType.prototype.argumentForAndOverload):
(ArrayRefType.prototype.argumentTypeForAndOverload):

  • WebGPUShadingLanguageRI/ArrayType.js:

(ArrayType.prototype.argumentForAndOverload):
(ArrayType.prototype.argumentTypeForAndOverload):
(ArrayType):

  • WebGPUShadingLanguageRI/Assignment.js:

(Assignment):

  • WebGPUShadingLanguageRI/CallAssignment.js: Removed.
  • WebGPUShadingLanguageRI/CallExpression.js:

(CallExpression.resolve):
(CallExpression.prototype.resolve):
(CallExpression.prototype.resolveToOverload):

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitProgram):
(Checker.prototype.visitFuncDef):
(Checker.prototype.visitNativeFunc):
(Checker.prototype.visitProtocolDecl):
(Checker.prototype.visitIdentityExpression):
(Checker.prototype.visitReadModifyWriteExpression):
(Checker.prototype.visitAnonymousVariable):
(Checker.prototype.visitMakeArrayRefExpression):
(Checker.prototype._finishVisitingPropertyAccess):
(Checker.prototype.visitDotExpression):
(Checker.prototype.visitIndexExpression):
(Checker.prototype.visitCallExpression):
(Checker):
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitTypeRef): Deleted.
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitVariableRef): Deleted.
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable): Deleted.
(Checker.prototype.visitProtocolDecl.set throw): Deleted.

  • WebGPUShadingLanguageRI/CommaExpression.js:
  • WebGPUShadingLanguageRI/DotExpression.js:

(DotExpression):
(DotExpression.prototype.get struct):
(DotExpression.prototype.get getFuncName):
(DotExpression.prototype.get andFuncName):
(DotExpression.prototype.get setFuncName):

  • WebGPUShadingLanguageRI/EBuffer.js:
  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitAnonymousVariable):
(EBufferBuilder.prototype.visitLetExpression): Deleted.

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitIdentityExpression):
(Evaluator.prototype.visitMakePtrExpression):
(Evaluator.prototype.visitAnonymousVariable):
(Evaluator.prototype.visitDotExpression): Deleted.
(Evaluator.prototype.visitLetExpression): Deleted.

  • WebGPUShadingLanguageRI/ExpressionFinder.js:

(ExpressionFinder.prototype.visitReadModifyWriteExpression):
(ExpressionFinder.prototype.visitIdentityExpression):

  • WebGPUShadingLanguageRI/ForLoop.js:

(ForLoop.prototype.toString):
(ForLoop):

  • WebGPUShadingLanguageRI/Func.js:

(Func):

  • WebGPUShadingLanguageRI/FuncInstantiator.js:

(FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
(FuncInstantiator.prototype.getUnique.Instantiate):
(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):

  • WebGPUShadingLanguageRI/IdentityExpression.js: Added.

(IdentityExpression):
(IdentityExpression.prototype.get target):
(IdentityExpression.prototype.get unifyNode):
(IdentityExpression.prototype.get isConstexpr):
(IdentityExpression.prototype.get isLValue):
(IdentityExpression.prototype.get addressSpace):
(IdentityExpression.prototype.toString):

  • WebGPUShadingLanguageRI/IndexExpression.js: Added.

(IndexExpression):
(IndexExpression.prototype.get array):
(IndexExpression.prototype.get index):
(IndexExpression.prototype.get isLValue):
(IndexExpression.prototype.get addressSpace):
(IndexExpression.prototype.get getFuncName):
(IndexExpression.prototype.get andFuncName):
(IndexExpression.prototype.get setFuncName):
(IndexExpression.prototype.toString):

  • WebGPUShadingLanguageRI/InferTypesForCall.js:

(inferTypesForCall):

  • WebGPUShadingLanguageRI/Inline.js:

(_inlineFunction):

  • WebGPUShadingLanguageRI/Inliner.js:

(Inliner.prototype.visitCallExpression):
(Inliner.prototype.visitDotExpression): Deleted.

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/LetExpression.js: Removed.
  • WebGPUShadingLanguageRI/MakeArrayRefExpression.js:

(MakeArrayRefExpression.prototype.becomeConvertPtrToArrayRefExpression): Deleted.

  • WebGPUShadingLanguageRI/NameContext.js:

(NameContext):
(NameContext.prototype.add):
(NameContext.prototype.doStatement):
(NameContext.prototype.handleDefining): Deleted.
(NameContext.prototype.isDefined): Deleted.
(NameContext.prototype.define): Deleted.
(NameContext.prototype.defineAll): Deleted.

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.doStatement):
(NameResolver.prototype.visitProtocolDecl):
(NameResolver.prototype.visitProgram): Deleted.

  • WebGPUShadingLanguageRI/NativeFunc.js:

(NativeFunc):

  • WebGPUShadingLanguageRI/NativeFuncInstance.js:

(NativeFuncInstance):
(NativeFuncInstance.prototype.get implementationData):

  • WebGPUShadingLanguageRI/Node.js:

(Node.prototype.visit):
(Node.visit):
(Node.unify): Deleted.

  • WebGPUShadingLanguageRI/NormalUsePropertyResolver.js: Added.

(NormalUsePropertyResolver.prototype.visitDotExpression):
(NormalUsePropertyResolver.prototype.visitIndexExpression):
(NormalUsePropertyResolver):

  • WebGPUShadingLanguageRI/Parse.js:

(finishParsingPostIncrement):
(parsePossibleSuffix):
(finishParsingPreIncrement):
(genericParseCommaExpression):
(parseFuncName):

  • WebGPUShadingLanguageRI/Prepare.js:

(prepare):

  • WebGPUShadingLanguageRI/Program.js:

(Program):
(Program.prototype.get globalNameContext):
(Program.prototype.add):

  • WebGPUShadingLanguageRI/PropertyAccessExpression.js: Added.

(PropertyAccessExpression):
(PropertyAccessExpression.prototype.get resultType):
(PropertyAccessExpression.prototype.rewriteAfterCloning):
(PropertyAccessExpression.prototype.updateCallsAfterChangingBase):
(PropertyAccessExpression.prototype.emitGet):
(PropertyAccessExpression.prototype.emitSet):

  • WebGPUShadingLanguageRI/PropertyResolver.js: Added.

(PropertyResolver.prototype._visitPropertyAccess):
(PropertyResolver.prototype.visitDotExpression):
(PropertyResolver.prototype.visitIndexExpression):
(PropertyResolver.prototype._handleReadModifyWrite):
(PropertyResolver.prototype.visitReadModifyWriteExpression):
(PropertyResolver.prototype.visitAssignment):
(PropertyResolver.visitMakePtrExpression):
(PropertyResolver.prototype.visitMakeArrayRefExpression):
(PropertyResolver):

  • WebGPUShadingLanguageRI/PtrType.js:

(PtrType.prototype.argumentForAndOverload):
(PtrType.prototype.argumentTypeForAndOverload):
(PtrType.prototype.returnTypeFromAndOverload):

  • WebGPUShadingLanguageRI/ReadModifyWriteExpression.js: Added.

(ReadModifyWriteExpression):
(ReadModifyWriteExpression.prototype.get lValue):
(ReadModifyWriteExpression.prototype.oldValueRef):
(ReadModifyWriteExpression.prototype.newValueRef):
(ReadModifyWriteExpression.prototype.toString):

  • WebGPUShadingLanguageRI/ResolveNames.js:

(createNameResolver):
(resolveNamesInTypes):
(resolveNamesInProtocols):
(resolveNamesInFunctions):
(resolveNames): Deleted.

  • WebGPUShadingLanguageRI/ResolveOverloadImpl.js:

(resolveOverloadImpl):

  • WebGPUShadingLanguageRI/ResolveProperties.js: Added.

(resolveProperties):

  • WebGPUShadingLanguageRI/ResolveTypeDefs.js:

(resolveTypeDefsInTypes):
(resolveTypeDefsInProtocols):
(resolveTypeDefsInFunctions):
(resolveTypeDefs): Deleted.

  • WebGPUShadingLanguageRI/ReturnChecker.js:

(ReturnChecker.prototype._isBoolCastFromLiteralTrue):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter):
(Rewriter.prototype.visitVariableDecl):
(Rewriter.prototype.visitTypeRef):
(Rewriter.prototype.visitAssignment):
(Rewriter.prototype.visitReadModifyWriteExpression):
(Rewriter.prototype.visitDereferenceExpression):
(Rewriter.prototype._handlePropertyAccessExpression):
(Rewriter.prototype.visitDotExpression):
(Rewriter.prototype.visitIndexExpression):
(Rewriter.prototype.visitReturn):
(Rewriter.prototype.visitGenericLiteralType):
(Rewriter.prototype.visitNullType):
(Rewriter.prototype.processDerivedCallData):
(Rewriter.prototype.visitCallExpression):
(Rewriter.prototype.visitFunctionLikeBlock):
(Rewriter.prototype.visitIfStatement):
(Rewriter.prototype.visitForLoop):
(Rewriter.prototype.visitAnonymousVariable):
(Rewriter.prototype.visitIdentityExpression):
(Rewriter.prototype.visitLetExpression): Deleted.

  • WebGPUShadingLanguageRI/StandardLibrary.js:
  • WebGPUShadingLanguageRI/StructLayoutBuilder.js:

(StructLayoutBuilder.prototype.visitNativeFuncInstance):
(StructLayoutBuilder):

  • WebGPUShadingLanguageRI/StructType.js:

(StructType.prototype.instantiate):

  • WebGPUShadingLanguageRI/Substitution.js:

(Substitution.prototype.get map):

  • WebGPUShadingLanguageRI/SuffixCallAssignment.js: Removed.
  • WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Added.

(synthesizeStructAccessors.createTypeParameters):
(synthesizeStructAccessors.):
(synthesizeStructAccessors.createFieldType):
(synthesizeStructAccessors.createTypeRef):
(synthesizeStructAccessors.setupAnder):
(synthesizeStructAccessors):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(checkNumber):
(TEST_simpleProtocol):
(TEST_assignLength):
(TEST_simpleSetter):
(TEST_genericAccessors):

  • WebGPUShadingLanguageRI/Type.js:

(Type.prototype.get isRef):
(Type.prototype.argumentForAndOverload):
(Type.prototype.argumentTypeForAndOverload):
(Type.prototype.returnTypeFromAndOverload):
(Type):

  • WebGPUShadingLanguageRI/TypeParameterRewriter.js: Added.

(TypeParameterRewriter.prototype.visitConstexprTypeParameter):
(TypeParameterRewriter.prototype.visitTypeVariable):
(TypeParameterRewriter):

  • WebGPUShadingLanguageRI/TypeVariableTracker.js: Added.

(TypeVariableTracker):

  • WebGPUShadingLanguageRI/Value.js:

(Value.prototype.become):
(Value):

  • WebGPUShadingLanguageRI/VariableRef.js:

(VariableRef.prototype.get unifyNode):
(VariableRef.prototype.get addressSpace):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitNativeFuncInstance):
(Visitor.prototype.visitProtocolDecl):
(Visitor): Deleted.

  • WebGPUShadingLanguageRI/VisitorBase.js: Removed.
11:26 AM Changeset in webkit [222168] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Always update display: contents styles in RenderTreeUpdater.
https://bugs.webkit.org/show_bug.cgi?id=177065

Patch by Emilio Cobos Álvarez <emilio> on 2017-09-18
Reviewed by Antti Koivisto.

Source/WebCore:

Otherwise we keep an old style around, making following style updates wrong.

Test: fast/css/display-contents-style-update.html

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):

LayoutTests:

  • fast/css/display-contents-style-update-expected.html: Added.
  • fast/css/display-contents-style-update.html: Added.
11:23 AM Changeset in webkit [222167] by Antti Koivisto
  • 4 edits
    2 adds in trunk

Avoid style resolution when clearing focused element.
https://bugs.webkit.org/show_bug.cgi?id=176224
<rdar://problem/34206409>

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/dom/focus-style-resolution.html

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

Don't do synchronous style resolution with FocusRemovalEventsMode::DoNotDispatch.
Style resolution may dispatch events.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didBlur):

Move resolveStyleIfNeeded call to setFocusedElement. It is the only client for didBlur.

LayoutTests:

  • fast/dom/focus-style-resolution-expected.txt: Added.
  • fast/dom/focus-style-resolution.html: Added.
11:21 AM Changeset in webkit [222166] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Rolling out the previous to land again with a test.

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didBlur):

11:17 AM Changeset in webkit [222165] by aestes@apple.com
  • 9 edits
    3 copies in trunk

[Cocoa] Upstream WKSetCrashReportApplicationSpecificInformation() from WebKitSystemInterface
https://bugs.webkit.org/show_bug.cgi?id=177048

Reviewed by Alex Christensen.

Source/WebKit:

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::sendMessage):
(IPC::readFromMachPort):

  • Platform/cocoa/CrashReporter.h: Copied from Source/WebKit/Shared/Cocoa/ChildProcessCocoa.mm.
  • Platform/cocoa/CrashReporter.mm: Copied from Source/WebKit/Shared/Cocoa/ChildProcessCocoa.mm.

(WebKit::setCrashReportApplicationSpecificInformation):

  • Platform/spi/Cocoa/CrashReporterClientSPI.h: Copied from Source/WebKit/Shared/Cocoa/ChildProcessCocoa.mm.
  • Shared/Cocoa/ChildProcessCocoa.mm:

(WebKit::ChildProcess::didReceiveInvalidMessage):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::_WKSetCrashReportApplicationSpecificInformation):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(runTest):

  • WebKitTestRunner/cocoa/CrashReporterInfo.mm:

(WTR::setCrashReportApplicationSpecificInformationToURL):

11:14 AM Changeset in webkit [222164] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Avoid style resolution when clearing focused element.
https://bugs.webkit.org/show_bug.cgi?id=176224
<rdar://problem/34206409>

Reviewed by Zalan Bujtas.

Test: fast/dom/focus-style-resolution.html

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

Don't do synchronous style resolution with FocusRemovalEventsMode::DoNotDispatch.
Style resolution may dispatch events.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didBlur):

Move resolveStyleIfNeeded call to setFocusedElement. It is the only client for didBlur.

11:01 AM Changeset in webkit [222163] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[WK1] Layout Test fast/events/beforeunload-dom-manipulation-crash.html is crashing.
https://bugs.webkit.org/show_bug.cgi?id=177071

Reviewed by Brent Fulgham.

The Page pointer in the history controller's frame is null. Add a null pointer check before
accessing the page.

No new tests, covered by exiting tests.

  • loader/HistoryController.cpp:

(WebCore::HistoryController::updateForStandardLoad):
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
(WebCore::HistoryController::updateForClientRedirect):

10:54 AM Changeset in webkit [222162] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

Try to unflake a test.

Unreviewed.

  • transitions/transition-display-property-2.html:
10:23 AM Changeset in webkit [222161] by Ryan Haddad
  • 2 edits
    1 copy
    1 delete in trunk/LayoutTests

Move baseline for editing/mac/attributed-string/font-style-variant-effect.html to mac-sierra.

Unreviewed test gardening.

  • platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt.
  • platform/win/TestExpectations: Drive by fix for an accidental commit.
9:54 AM Changeset in webkit [222160] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

build-webkit spawns fewer subprocesses than ninja uses by default
https://bugs.webkit.org/show_bug.cgi?id=177057

Reviewed by Alex Christensen.

  • Scripts/build-webkit:

By default, ninja will parallelize over (cores + 2) jobs. build-webkit
specifies -j(cores), which overrides this. Remove our override if building
with ninja; just let it do its own thing. In my testing, this minor
change is the difference between ~10% idle CPU time and 0.

9:53 AM Changeset in webkit [222159] by Lucas Forschler
  • 1 edit in trunk/Tools/ChangeLog

Land a patch to verify svn->git update is working.

9:26 AM Changeset in webkit [222158] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177072

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:26 AM Changeset in webkit [222157] by Ryan Haddad
  • 1 edit in trunk/LayoutTests/ChangeLog

Mark fast/events/beforeunload-dom-manipulation-crash.html as a crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177071

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:26 AM Changeset in webkit [222156] by Ryan Haddad
  • 1 edit in trunk/LayoutTests/ChangeLog

Mark http/tests/security/video-cross-origin-caching.html as a flaky crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=160447

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:26 AM Changeset in webkit [222155] by Ryan Haddad
  • 1 edit in trunk/Tools/ChangeLog

Update my status.

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
9:26 AM Changeset in webkit [222154] by Ryan Haddad
  • 1 edit in trunk/Source/WebCore/ChangeLog

REGRESSION(r221974): [Harfbuzz] Test fast/text/international/hebrew-selection.html is failing since r221974
https://bugs.webkit.org/show_bug.cgi?id=177036

Reviewed by Michael Catanzaro.

In r221974 I rewrote the characterIndexForXPosition implementation without taking into account that there can be
multiple glyphs for the same character, so we can't simply do index++ and index-- to get the next and previous
character index.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition): Always get the character index from
m_glyphToCharacterIndexes array.

9:26 AM Changeset in webkit [222153] by Ryan Haddad
  • 1 edit in trunk/Tools/ChangeLog

Start working on WSL documentation
https://bugs.webkit.org/show_bug.cgi?id=177064

Reviewed by Mylex Maxfield.

This is a work in progress. I'd like to check it in and then keep adding to it.

  • WebGPUShadingLanguageRI/WSL.md: Added.
9:26 AM Changeset in webkit [222152] by Ryan Haddad
  • 1 edit in trunk/Tools/ChangeLog
WSL needs to understand && and

https://bugs.webkit.org/show_bug.cgi?id=177062

Reviewed by Filip Pizlo.

Very similar to LogicalNot.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer.prototype.next):
(Lexer):

  • WebGPUShadingLanguageRI/LogicalExpression.js: Added.

(LogicalExpression):
(LogicalExpression.prototype.get text):
(LogicalExpression.prototype.get left):
(LogicalExpression.prototype.get right):
(LogicalExpression.prototype.toString):

  • WebGPUShadingLanguageRI/Parse.js:

(parseLeftLogicalExpression):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:
  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

9:24 AM Changeset in webkit [222151] by jer.noble@apple.com
  • 22 edits
    2 moves
    2 adds in trunk/Source/WebCore

Virtualize ImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=176118

Reviewed by Eric Carlson.

Add an explicit, abstract base class ImageDecoder, and convert ImageDecoderCG to a true
subclass. This will allow multiple ImageDecoder subclasses to exist simultaneously at
runtime.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/ImageDecoders.cmake:
  • platform/graphics/ImageDecoder.cpp: Added.

(WebCore::ImageDecoder::create):
(WebCore::ImageDecoder::bytesDecodedToDetermineProperties):

  • platform/graphics/ImageDecoder.h: Added.

(WebCore::ImageDecoder::isSizeAvailable):
(WebCore::ImageDecoder::isAllDataReceived const):

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoderCG::ImageDecoderCG):
(WebCore::ImageDecoderCG::bytesDecodedToDetermineProperties):
(WebCore::ImageDecoderCG::uti const):
(WebCore::ImageDecoderCG::filenameExtension const):
(WebCore::ImageDecoderCG::encodedDataStatus const):
(WebCore::ImageDecoderCG::frameCount const):
(WebCore::ImageDecoderCG::repetitionCount const):
(WebCore::ImageDecoderCG::hotSpot const):
(WebCore::ImageDecoderCG::frameSizeAtIndex const):
(WebCore::ImageDecoderCG::frameIsCompleteAtIndex const):
(WebCore::ImageDecoderCG::frameOrientationAtIndex const):
(WebCore::ImageDecoderCG::frameDurationAtIndex const):
(WebCore::ImageDecoderCG::frameAllowSubsamplingAtIndex const):
(WebCore::ImageDecoderCG::frameHasAlphaAtIndex const):
(WebCore::ImageDecoderCG::frameBytesAtIndex const):
(WebCore::ImageDecoderCG::createFrameImageAtIndex const):
(WebCore::ImageDecoderCG::setData):
(WebCore::ImageDecoder::ImageDecoder): Deleted.
(WebCore::ImageDecoder::bytesDecodedToDetermineProperties): Deleted.
(WebCore::ImageDecoder::uti const): Deleted.
(WebCore::ImageDecoder::filenameExtension const): Deleted.
(WebCore::ImageDecoder::encodedDataStatus const): Deleted.
(WebCore::ImageDecoder::frameCount const): Deleted.
(WebCore::ImageDecoder::repetitionCount const): Deleted.
(WebCore::ImageDecoder::hotSpot const): Deleted.
(WebCore::ImageDecoder::frameSizeAtIndex const): Deleted.
(WebCore::ImageDecoder::frameIsCompleteAtIndex const): Deleted.
(WebCore::ImageDecoder::frameOrientationAtIndex const): Deleted.
(WebCore::ImageDecoder::frameDurationAtIndex const): Deleted.
(WebCore::ImageDecoder::frameAllowSubsamplingAtIndex const): Deleted.
(WebCore::ImageDecoder::frameHasAlphaAtIndex const): Deleted.
(WebCore::ImageDecoder::frameBytesAtIndex const): Deleted.
(WebCore::ImageDecoder::createFrameImageAtIndex const): Deleted.
(WebCore::ImageDecoder::setData): Deleted.

  • platform/graphics/cg/ImageDecoderCG.h:

(WebCore::ImageDecoderCG::create):
(WebCore::ImageDecoder::create): Deleted.
(WebCore::ImageDecoder::isSizeAvailable): Deleted.
(WebCore::ImageDecoder::isAllDataReceived const): Deleted.
(WebCore::ImageDecoder::clearFrameBufferCache): Deleted.

  • platform/graphics/win/ImageDecoderDirect2D.cpp:

(WebCore::ImageDecoderDirect2D::ImageDecoderDirect2D):
(WebCore::ImageDecoderDirect2D::systemImagingFactory):
(WebCore::ImageDecoderDirect2D::bytesDecodedToDetermineProperties):
(WebCore::ImageDecoderDirect2D::filenameExtension const):
(WebCore::ImageDecoderDirect2D::isSizeAvailable const):
(WebCore::ImageDecoderDirect2D::encodedDataStatus const):
(WebCore::ImageDecoderDirect2D::size const):
(WebCore::ImageDecoderDirect2D::frameCount const):
(WebCore::ImageDecoderDirect2D::repetitionCount const):
(WebCore::ImageDecoderDirect2D::hotSpot const):
(WebCore::ImageDecoderDirect2D::frameSizeAtIndex const):
(WebCore::ImageDecoderDirect2D::frameIsCompleteAtIndex const):
(WebCore::ImageDecoderDirect2D::frameOrientationAtIndex const):
(WebCore::ImageDecoderDirect2D::frameDurationAtIndex const):
(WebCore::ImageDecoderDirect2D::frameAllowSubsamplingAtIndex const):
(WebCore::ImageDecoderDirect2D::frameHasAlphaAtIndex const):
(WebCore::ImageDecoderDirect2D::frameBytesAtIndex const):
(WebCore::ImageDecoderDirect2D::setTargetContext):
(WebCore::ImageDecoderDirect2D::createFrameImageAtIndex const):
(WebCore::ImageDecoderDirect2D::setData):

  • platform/graphics/win/ImageDecoderDirect2D.h:

(WebCore::ImageDecoderDirect2D::create):
(WebCore::ImageDecoder::create): Deleted.
(WebCore::ImageDecoder::isAllDataReceived const): Deleted.
(WebCore::ImageDecoder::clearFrameBufferCache): Deleted.

  • platform/image-decoders/ScalableImageDecoder.cpp: Renamed from Source/WebCore/platform/image-decoders/ImageDecoder.cpp.

(WebCore::ScalableImageDecoder::create):
(WebCore::ScalableImageDecoder::frameIsCompleteAtIndex const):
(WebCore::ScalableImageDecoder::frameHasAlphaAtIndex const):
(WebCore::ScalableImageDecoder::frameBytesAtIndex const):
(WebCore::ScalableImageDecoder::frameDurationAtIndex const):
(WebCore::ScalableImageDecoder::createFrameImageAtIndex):
(WebCore::ScalableImageDecoder::prepareScaleDataIfNecessary):
(WebCore::ScalableImageDecoder::upperBoundScaledX):
(WebCore::ScalableImageDecoder::lowerBoundScaledX):
(WebCore::ScalableImageDecoder::upperBoundScaledY):
(WebCore::ScalableImageDecoder::lowerBoundScaledY):
(WebCore::ScalableImageDecoder::scaledY):

  • platform/image-decoders/ScalableImageDecoder.h: Renamed from Source/WebCore/platform/image-decoders/ImageDecoder.h.

(WebCore::ScalableImageDecoder::ScalableImageDecoder):
(WebCore::ScalableImageDecoder::~ScalableImageDecoder):
(WebCore::ScalableImageDecoder::premultiplyAlpha const):
(WebCore::ScalableImageDecoder::isAllDataReceived const):
(WebCore::ScalableImageDecoder::size const):
(WebCore::ScalableImageDecoder::scaledSize):
(WebCore::ScalableImageDecoder::setSize):
(WebCore::ScalableImageDecoder::setIgnoreGammaAndColorProfile):
(WebCore::ScalableImageDecoder::ignoresGammaAndColorProfile const):
(WebCore::ScalableImageDecoder::rgbColorProfile):
(WebCore::ScalableImageDecoder::subsamplingLevelForScale):
(WebCore::ScalableImageDecoder::inputDeviceColorProfile):
(WebCore::ScalableImageDecoder::setFailed):
(WebCore::ScalableImageDecoder::failed const):

  • platform/image-decoders/bmp/BMPImageDecoder.cpp:

(WebCore::BMPImageDecoder::BMPImageDecoder):
(WebCore::BMPImageDecoder::setData):
(WebCore::BMPImageDecoder::setFailed):

  • platform/image-decoders/bmp/BMPImageDecoder.h:
  • platform/image-decoders/bmp/BMPImageReader.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::setSize):
(WebCore::GIFImageDecoder::setFailed):

  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::setData):
(WebCore::ICOImageDecoder::size):
(WebCore::ICOImageDecoder::setSize):
(WebCore::ICOImageDecoder::setFailed):

  • platform/image-decoders/ico/ICOImageDecoder.h:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::JPEGImageDecoder):
(WebCore::JPEGImageDecoder::setSize):
(WebCore::JPEGImageDecoder::setFailed):

  • platform/image-decoders/jpeg/JPEGImageDecoder.h:
  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageReader::decode):
(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::setSize):
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::setFailed):

  • platform/image-decoders/png/PNGImageDecoder.h:
  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(WebCore::WEBPImageDecoder::WEBPImageDecoder):
(WebCore::WEBPImageDecoder::decode):

  • platform/image-decoders/webp/WEBPImageDecoder.h:
9:21 AM Changeset in webkit [222150] by aestes@apple.com
  • 36 edits
    5 copies
    1 move
    1 add in trunk/Source

[Mac] Upstream miscellaneous WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=177029

Reviewed by Alex Christensen.

Source/WebCore:

  • Configurations/WebCore.xcconfig: Used -force_load of libPAL instead of -ObjC. This forces

the linker to load both Objective-C and C PAL symbols in WebCore. This change is needed for
PAL::popUpMenu(), which is used by WebKit and WebKitLegacy but not WebCore.

  • platform/cocoa/LocalizedStringsCocoa.mm:

(WebCore::contextMenuItemTagSearchWeb):

  • platform/cocoa/ScrollController.mm:

(WebCore::elasticDeltaForTimeDelta):
(WebCore::elasticDeltaForReboundDelta):
(WebCore::reboundDeltaForElasticDelta):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):

  • platform/mac/CursorMac.mm:

(WebCore::WKCoreCursor_coreCursorType):
(WebCore::createCoreCursorClass):
(WebCore::coreCursorClass):
(WebCore::cursor):
(WebCore::Cursor::ensurePlatformCursor const):

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintTextArea):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/PlatformMac.cmake:
  • pal/spi/cf/CFUtilitiesSPI.h:
  • pal/spi/cocoa/LaunchServicesSPI.h: Renamed from Source/WebCore/PAL/pal/spi/ios/LaunchServicesSPI.h.
  • pal/spi/mac/HIServicesSPI.h:
  • pal/spi/mac/NSCellSPI.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/spi/mac/NSMenuSPI.h:
  • pal/spi/mac/NSScrollViewSPI.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/spi/mac/NSScrollerImpSPI.h:
  • pal/system/cf/DefaultSearchProvider.cpp: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.

(PAL::defaultSearchProviderDisplayName):

  • pal/system/cf/DefaultSearchProvider.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/system/mac/PopupMenu.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/system/mac/PopupMenu.mm: Added.

(PAL::popUpMenu):

Source/WebKit:

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::initializeProcessName):

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::initializeProcessName):

  • StorageProcess/mac/StorageProcessMac.mm:

(WebKit::StorageProcess::initializeProcessName):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::trackingAreaOptions):
(WebKit::WebViewImpl::mightBeginScrollWhileInactive):

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu):

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:

(WebKit::NetscapePlugin::popUpContextMenu):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::handleContextMenuEvent):

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::updateActivePages):

Source/WebKitLegacy/mac:

  • DefaultDelegates/WebDefaultContextMenuDelegate.mm:

(-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::show):

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView setDataSource:]):
(-[WebHTMLView attachRootLayer:]):

  • WebView/WebView.mm:

(-[WebView _needsAdobeFrameReloadingQuirk]):
(-[WebView _needsLinkElementTextCSSQuirk]):
(-[WebView _needsIsLoadingInAPISenseQuirk]):
(-[WebView _needsFrameLoadDelegateRetainQuirk]):
(-[WebView _preferencesChanged:]):

9:09 AM Changeset in webkit [222149] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Fix invalid line in TestExpectations.

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:44 AM Changeset in webkit [222148] by commit-queue@webkit.org
  • 10 edits
    1 move in trunk

[Win][PAL] Move WebCoreHeaderDetection.h to PAL
https://bugs.webkit.org/show_bug.cgi?id=176990

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-09-18
Reviewed by Alex Christensen.

.:

Create DerivedSources directory for PAL if WebCore build is enabled.

  • Source/cmake/WebKitCommon.cmake:
  • Source/cmake/WebKitFS.cmake:

Source/WebCore:

  • PlatformWin.cmake:

Stop generating WebCoreHeaderDetection.h in WebCore.

  • config.h:
  • platform/graphics/ca/win/PlatformCALayerWin.cpp:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

Include PALHeaderDetection.h instead of WebCoreHeaderDetection.h

Source/WebCore/PAL:

  • AVFoundationSupport.py: Renamed from Source/WebCore/AVFoundationSupport.py.

(lookFor):
(fileContains):

  • pal/PlatformWin.cmake:

Add a custom target PAL_PreBuild to generate PALHeaderDetection.h

8:41 AM Changeset in webkit [222147] by commit-queue@webkit.org
  • 8 edits
    2 moves
    2 adds in trunk/Source/WebCore

[Curl] Create classes dedicated to handle SSL related tasks
and separate verifier and certificate management.
https://bugs.webkit.org/show_bug.cgi?id=176910

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-18
Reviewed by Alex Christensen.

  • platform/Curl.cmake:
  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlContext::CurlContext):
(WebCore::CurlHandle::setCACertPath):
(WebCore::certificatePath): Deleted.
(WebCore::CurlHandle::enableCAInfoIfExists): Deleted.
(WebCore::CurlHandle::setSslErrors): Deleted.
(WebCore::CurlHandle::getSslErrors): Deleted.

  • platform/network/curl/CurlContext.h:

(WebCore::CurlContext::sslHandle):
(WebCore::CurlContext::getCertificatePath const): Deleted.
(WebCore::CurlContext::shouldIgnoreSSLErrors const): Deleted.

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::setupRequest):

  • platform/network/curl/CurlSSLHandle.cpp: Added.

(WebCore::CurlSSLHandle::CurlSSLHandle):
(WebCore::CurlSSLHandle::getCACertPathEnv):
(WebCore::CurlSSLHandle::setHostAllowsAnyHTTPSCertificate):
(WebCore::CurlSSLHandle::isAllowedHTTPSCertificateHost):
(WebCore::CurlSSLHandle::canIgnoredHTTPSCertificate):
(WebCore::CurlSSLHandle::setClientCertificateInfo):
(WebCore::CurlSSLHandle::getSSLClientCertificate):

  • platform/network/curl/CurlSSLHandle.h: Renamed from Source/WebCore/platform/network/curl/SSLHandle.h.

(WebCore::CurlSSLHandle::shouldIgnoreSSLErrors const):
(WebCore::CurlSSLHandle::getCACertPath const):

  • platform/network/curl/CurlSSLVerifier.cpp: Renamed from Source/WebCore/platform/network/curl/SSLHandle.cpp.

(WebCore::CurlSSLVerifier::setSslCtx):
(WebCore::CurlSSLVerifier::certVerifyCallback):
(WebCore::CurlSSLVerifier::getPemDataFromCtx):
(WebCore::CurlSSLVerifier::convertToSSLCertificateFlags):

  • platform/network/curl/CurlSSLVerifier.h: Added.

(WebCore::CurlSSLVerifier::setCurlHandle):
(WebCore::CurlSSLVerifier::setHostName):
(WebCore::CurlSSLVerifier::sslErrors):

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate):
(WebCore::ResourceHandle::setClientCertificateInfo):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::ResourceHandleCurlDelegate):
(WebCore::ResourceHandleCurlDelegate::setupRequest):
(WebCore::ResourceHandleCurlDelegate::notifyFail):
(WebCore::ResourceHandleCurlDelegate::willSetupSslCtx):
(WebCore::ResourceHandleCurlDelegate::willSetupSslCtxCallback):

  • platform/network/curl/ResourceHandleCurlDelegate.h:
8:29 AM Changeset in webkit [222146] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177072

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:23 AM Changeset in webkit [222145] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark fast/events/beforeunload-dom-manipulation-crash.html as a crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177071

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:04 AM Changeset in webkit [222144] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/security/video-cross-origin-caching.html as a flaky crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=160447

Unreviewed test gardening.

  • platform/win/TestExpectations:
5:47 AM Changeset in webkit [222143] by Yusuke Suzuki
  • 27 edits
    2 adds in trunk

[DFG] Remove ToThis more aggressively
https://bugs.webkit.org/show_bug.cgi?id=177056

Reviewed by Saam Barati.

JSTests:

  • stress/generator-with-this-strict.js: Added.

(shouldBe):
(generator):
(target):

  • stress/generator-with-this.js: Added.

(shouldBe):
(generator):
(target):

Source/JavaScriptCore:

The variation of toThis() implementation is limited. So, we attempts to implement common toThis operation in AI.
We move scope related toThis to JSScope::toThis. And AI investigates proven value/structure's toThis methods
and attempts to fold/convert to efficient nodes.

We introduces GetGlobalThis, which just loads globalThis from semantic origin's globalObject. Using this,
we can implement JSScope::toThis in DFG. This can avoid costly toThis indirect function pointer call.

Currently, we just emit GetGlobalThis if necessary. We can further convert it to constant if we can put
watchpoint to JSGlobalObject's globalThis change. But we leave it for a future patch for now.

This removes GetGlobalThis from ES6 generators in common cases.

spread-generator.es6 303.1550+-9.5037 290.9337+-8.3487 might be 1.0420x faster

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

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

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToGetGlobalThis):

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

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetGlobalThis):

  • 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::compileGetGlobalThis):

  • runtime/JSGlobalLexicalEnvironment.cpp:

(JSC::JSGlobalLexicalEnvironment::toThis): Deleted.

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

(JSC::JSGlobalObject::toThis): Deleted.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::addressOfGlobalThis):

  • runtime/JSLexicalEnvironment.cpp:

(JSC::JSLexicalEnvironment::toThis): Deleted.

  • runtime/JSLexicalEnvironment.h:
  • runtime/JSScope.cpp:

(JSC::JSScope::toThis):

  • runtime/JSScope.h:
  • runtime/StrictEvalActivation.cpp:

(JSC::StrictEvalActivation::toThis): Deleted.

  • runtime/StrictEvalActivation.h:
1:10 AM Changeset in webkit [222142] by Ms2ger@igalia.com
  • 2 edits in trunk/Tools

Update my status.

Unreviewed.

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

Sep 17, 2017:

10:22 PM Changeset in webkit [222141] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

REGRESSION(r221974): [Harfbuzz] Test fast/text/international/hebrew-selection.html is failing since r221974
https://bugs.webkit.org/show_bug.cgi?id=177036

Reviewed by Michael Catanzaro.

In r221974 I rewrote the characterIndexForXPosition implementation without taking into account that there can be
multiple glyphs for the same character, so we can't simply do index++ and index-- to get the next and previous
character index.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition): Always get the character index from
m_glyphToCharacterIndexes array.

10:05 PM Changeset in webkit [222140] by fpizlo@apple.com
  • 1 edit
    1 add in trunk/Tools

Start working on WSL documentation
https://bugs.webkit.org/show_bug.cgi?id=177064

Reviewed by Mylex Maxfield.

This is a work in progress. I'd like to check it in and then keep adding to it.

  • WebGPUShadingLanguageRI/WSL.md: Added.
8:39 PM Changeset in webkit [222139] by mmaxfield@apple.com
  • 11 edits
    1 add in trunk/Tools
WSL needs to understand && and

https://bugs.webkit.org/show_bug.cgi?id=177062

Reviewed by Filip Pizlo.

Very similar to LogicalNot.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer.prototype.next):
(Lexer):

  • WebGPUShadingLanguageRI/LogicalExpression.js: Added.

(LogicalExpression):
(LogicalExpression.prototype.get text):
(LogicalExpression.prototype.get left):
(LogicalExpression.prototype.get right):
(LogicalExpression.prototype.toString):

  • WebGPUShadingLanguageRI/Parse.js:

(parseLeftLogicalExpression):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:
  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

5:31 PM Changeset in webkit [222138] by mmaxfield@apple.com
  • 11 edits
    4 copies in trunk/Tools

WSL needs float and double support
https://bugs.webkit.org/show_bug.cgi?id=177058

Reviewed by Filip Pizlo.

Use the existing int and uint types as a model. The types themselves are straighforward. Just like int and uint,
you can't pass a float as a double argument and vice-versa. This patch adds operator+, -, *, and / for floats
and doubles.

Float literals are more complicated. If your number has a "." character in it, it is treated as a float literal.
You can add a suffix of "f" or "d" to force the literal to pretend to be a float or a double. These literals are
able to masquerade as either floats or doubles (unlike an explicit type). However, these literals are not able
to masquerade as ints or uints. There's also a nice check that your float literal can actually fit in a float.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/DoubleLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.DoubleLiteral.createLiteral.createType):

  • WebGPUShadingLanguageRI/DoubleLiteralType.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.DoubleLiteralType.createLiteralType.verifyAsArgument):

  • WebGPUShadingLanguageRI/FloatLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.FloatLiteral.createLiteral.createType):

  • WebGPUShadingLanguageRI/FloatLiteralType.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.FloatLiteralType.createLiteralType.verifyAsArgument):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer.prototype.next):
(Lexer):

  • WebGPUShadingLanguageRI/NativeType.js:

(NativeType):
(NativeType.prototype.get isFloating):
(NativeType.prototype.set isFloating):
(NativeType.prototype.get isFloat): Deleted.
(NativeType.prototype.set isFloat): Deleted.

  • WebGPUShadingLanguageRI/Parse.js:

(parseTerm):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitGenericLiteral):

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(uint.operator):
(int.operator):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(makeFloat):
(makeDouble):
(checkNumber):
(checkFloat):
(checkDouble):

  • WebGPUShadingLanguageRI/Type.js:

(Type.prototype.get isFloating):
(Type.prototype.get isFloat): Deleted.

1:11 PM Changeset in webkit [222137] by Nikita Vasilyev
  • 15 edits in trunk

Web Inspector: Styles Redesign: support toggling properties
https://bugs.webkit.org/show_bug.cgi?id=176643

Reviewed by Matt Baker.

Source/WebInspectorUI:

Add checkboxes to toggle (comment/uncomment) CSS properties.

  • UserInterface/Base/Utilities.js:

(String.prototype.get lineCount):
(String.prototype.get lastLine):
Add string methods that are used by WI.CSSProperty.prototype._updateOwnerStyleText.

  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty.prototype.commentOut):
(WI.CSSProperty.prototype.set text):
(WI.CSSProperty.prototype.get editable):
(WI.CSSProperty.prototype._updateOwnerStyleText):
Add methods necessary for property toggling.

  • UserInterface/Models/CSSStyleDeclaration.js:

(WI.CSSStyleDeclaration):
(WI.CSSStyleDeclaration.prototype.get allVisibleProperties):
Add a getter that is used by SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesToRender.

(WI.CSSStyleDeclaration.prototype.get visibleProperties):

  • UserInterface/Models/TextRange.js:

(WI.TextRange.prototype.clone):
(WI.TextRange.prototype.cloneAndModify):
(WI.TextRange.prototype.relativeTo):
Add methods that are used by WI.CSSProperty.prototype._updateOwnerStyleText.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor):
(.spreadsheet-style-declaration-editor .property-toggle):
(.spreadsheet-css-declaration:matches(:hover, :focus) .property-toggle,):
(.spreadsheet-style-declaration-editor .property.disabled,):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set style):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get _propertiesToRender):
(WI.SpreadsheetCSSStyleDeclarationEditor):
(WI.SpreadsheetStyleProperty):
(WI.SpreadsheetStyleProperty.prototype.get element):
(WI.SpreadsheetStyleProperty.prototype._update):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):

  • UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:

(WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
(WI.SpreadsheetRulesStyleDetailsPanel):

  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css:

(.cm-s-default .cm-comment,):

  • UserInterface/Views/Variables.css:

(:root):
Make comment color a CSS variable.

LayoutTests:

Add tests for String.prototype.lineCount and String.prototype.lastLine.

  • inspector/unit-tests/string-utilities-expected.txt:
  • inspector/unit-tests/string-utilities.html:
10:28 AM Changeset in webkit [222136] by Yusuke Suzuki
  • 20 edits
    2 deletes in trunk/Source/JavaScriptCore

Merge JSLexicalEnvironment and JSEnvironmentRecord
https://bugs.webkit.org/show_bug.cgi?id=175492

Reviewed by Saam Barati.

JSEnvironmentRecord is only inherited by JSLexicalEnvironment.
We can merge JSEnvironmentRecord and JSLexicalEnvironment.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

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

(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation):
(JSC::FTL::DFG::LowerDFGToB3::compileGetClosureVar):
(JSC::FTL::DFG::LowerDFGToB3::compilePutClosureVar):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emitPutClosureVar):
(JSC::JIT::emitScopedArgumentsGetByVal):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emitPutClosureVar):

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSEnvironmentRecord.cpp: Removed.
  • runtime/JSEnvironmentRecord.h: Removed.
  • runtime/JSLexicalEnvironment.cpp:

(JSC::JSLexicalEnvironment::visitChildren):
(JSC::JSLexicalEnvironment::heapSnapshot):
(JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames):

  • runtime/JSLexicalEnvironment.h:

(JSC::JSLexicalEnvironment::subspaceFor):
(JSC::JSLexicalEnvironment::variables):
(JSC::JSLexicalEnvironment::isValidScopeOffset):
(JSC::JSLexicalEnvironment::variableAt):
(JSC::JSLexicalEnvironment::offsetOfVariables):
(JSC::JSLexicalEnvironment::offsetOfVariable):
(JSC::JSLexicalEnvironment::allocationSizeForScopeSize):
(JSC::JSLexicalEnvironment::allocationSize):
(JSC::JSLexicalEnvironment::finishCreationUninitialized):
(JSC::JSLexicalEnvironment::finishCreation):

  • runtime/JSModuleEnvironment.cpp:

(JSC::JSModuleEnvironment::create):

  • runtime/JSObject.h:

(JSC::JSObject::isEnvironment const):
(JSC::JSObject::isEnvironmentRecord const): Deleted.

  • runtime/JSSegmentedVariableObject.h:
  • runtime/StringPrototype.cpp:

(JSC::checkObjectCoercible):

8:39 AM Changeset in webkit [222135] by msaboff@apple.com
  • 4 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=177038
Add an option to run-jsc-stress-tests to limit tests variations to a basic set

Reviewed by JF Bastien.

JSTests:

  • stress/unshiftCountSlowCase-correct-postCapacity.js: Disabled this test on ARM64 iOS devices

as it dies using too much memory.

Tools:

Added the --basic option that runs defaults tests with the following modes, default, no-llint,
no-cjit-validate-phases, no-cjit-collect-continuously, dfg-eager and for FTL platforms: no-ftl,
ftl-eager-no-cjit and ftl-no-cjit-small-pool. This takes about half the time as running all
16 modes of a full run.

  • Scripts/run-jsc-stress-tests:
7:37 AM Changeset in webkit [222134] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

[WPE][GTK] Merge ProcessLauncher[WPE,GTK]
https://bugs.webkit.org/show_bug.cgi?id=177041

Unreviewed fixup, I broke the size of the argv buffer when experimenting with how to respond
to review comments. Not sure why this didn't blow up everything during testing.

  • UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:

(WebKit::ProcessLauncher::launchProcess):

7:34 AM Changeset in webkit [222133] by Michael Catanzaro
  • 3 edits
    1 copy
    1 add
    2 deletes in trunk/Source/WebKit

[WPE][GTK] Merge ProcessLauncher[WPE,GTK]
https://bugs.webkit.org/show_bug.cgi?id=177041

Reviewed by Carlos Garcia Campos.

  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
  • UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: Renamed from Source/WebKit/UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp.

(WebKit::childSetupFunction):
(WebKit::ProcessLauncher::launchProcess):
(WebKit::ProcessLauncher::terminateProcess):
(WebKit::ProcessLauncher::platformInvalidate):

  • UIProcess/Launcher/wpe/ProcessLauncherWPE.cpp: Removed.
1:06 AM Changeset in webkit [222132] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[Harfbuzz] Test fast/text/complex-text-selection.html is failing since r222090
https://bugs.webkit.org/show_bug.cgi?id=177035

Reviewed by Michael Catanzaro.

The problem was not actually introduced in r222090, but revelaed by that change. The bug was added in r222086,
when adding the support for shaping a range of characters. We are not correctly filtering the characters in case
of rtl in some cases.

Fixes: fast/text/complex-text-selection.html

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): When checking if the current character is inside
the given range, continue or break the loop depending on whether text is rtl or not.

Sep 16, 2017:

11:46 AM Changeset in webkit [222131] by timothy_horton@apple.com
  • 6 edits in trunk

Fix the Tools build with CMake on macOS
https://bugs.webkit.org/show_bug.cgi?id=177030

Reviewed by Geoffrey Garen.

Source/WebKit:

  • PlatformMac.cmake:

Add some WebKitLegacy headers to forward (for use by the tools).

Source/WebKitLegacy:

  • PlatformMac.cmake:

Add some forwarding headers.

Tools:

  • TestWebKitAPI/CMakeLists.txt:

Add a workaround identical to what the gtest CMakeLists has.

8:02 AM WebKitGTK/2.18.x edited by Michael Catanzaro
(diff)
8:01 AM Changeset in webkit [222130] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

[GTK] Build failure with enchant-2.1.1
https://bugs.webkit.org/show_bug.cgi?id=176877

Unreviewed build fix for enchant 2.1.1.

enchant_dict_free_suggestions() has been deprecated since at least 2005. Use its
replacement, enchant_dict_free_string_list(), instead. That's also been around since at
least 2005.

  • platform/text/enchant/TextCheckerEnchant.cpp:

(WebCore::TextCheckerEnchant::getGuessesForWord):

5:33 AM Changeset in webkit [222129] by Antti Koivisto
  • 12 edits
    2 adds in trunk

Computing animated style should not require renderers
https://bugs.webkit.org/show_bug.cgi?id=171926
<rdar://problem/34428035>

Reviewed by Sam Weinig.

Source/WebCore:

CSS animation system is now element rather than renderer based. This allows cleaning up
style resolution and render tree update code.

This also fixes bug animation doesn't run if display property is animated from one rendered type
to another. Added a test case for this.

Test: transitions/transition-display-property-2.html

  • page/animation/CSSAnimationController.cpp:

(WebCore::CSSAnimationController::updateAnimations):

Pass in the old style instead of getting it from the renderer.
Factor to return the animated style as a return value.

  • page/animation/CSSAnimationController.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::willBeDestroyed):

Animation are now canceled by RenderTreeUpdater::tearDownRenderers.

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasInitialAnimatedStyle const): Deleted.
(WebCore::RenderElement::setHasInitialAnimatedStyle): Deleted.

We no longer need to this concept.

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::RenderTreeUpdater::createRenderer):

We now get correct animated style from style resolution in all cases so we don't need to compute
it separately for new renderers.

(WebCore::RenderTreeUpdater::tearDownRenderers):

Cancel animations when render tree is fully torn down. Keep them when updating style.

  • style/RenderTreeUpdater.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::createAnimatedElementUpdate):

We can now compute animated style without renderer. Special cases dealing with rendererless case
can be removed.

LayoutTests:

  • transitions/transition-display-property-2-expected.html: Added.
  • transitions/transition-display-property-2.html: Added.
  • transitions/transition-display-property.html:
2:27 AM Changeset in webkit [222128] by Carlos Garcia Campos
  • 3 edits
    4 deletes in trunk/Tools

[GTK] Bump fontconfig version to 2.12.4
https://bugs.webkit.org/show_bug.cgi?id=176997

Reviewed by Michael Catanzaro.

It's the latest stable version and we can get rid of the patches we have.

  • WebKitTestRunner/gtk/fonts/fonts.conf: Remove hinting config we no longer need with newer FreeType and

deprecated <blank> that current fontconfig just ignores.

  • gtk/jhbuild.modules:
  • gtk/patches/fontconfig-2.11.1-add-autogen.patch: Removed.
  • gtk/patches/fontconfig-Avoid-conflicts-with-integer-width-macros-from-TS-18661-1-2014.patch: Removed.
  • gtk/patches/fontconfig-Fix-the-build-issue-with-gperf-3.1.patch: Removed.
  • gtk/patches/fontconfig-fix-osx-cache.diff: Removed.
1:28 AM Changeset in webkit [222127] by Carlos Garcia Campos
  • 15 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Rebaseline tests after r222090.

  • platform/gtk/svg/W3C-I18N/g-dirRTL-ubNone-expected.png:
  • platform/gtk/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt:
  • platform/gtk/svg/W3C-I18N/g-dirRTL-ubOverride-expected.png:
  • platform/gtk/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-dirRTL-ubNone-expected.png:
  • platform/gtk/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt:
  • platform/gtk/svg/W3C-I18N/tspan-direction-rtl-expected.png:
  • platform/gtk/svg/W3C-I18N/tspan-direction-rtl-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
  • platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.png:
  • platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.txt:
  • platform/gtk/svg/text/bidi-tspans-expected.png:
  • platform/gtk/svg/text/bidi-tspans-expected.txt:

Sep 15, 2017:

11:39 PM Changeset in webkit [222126] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[Harbuzz] Test fast/text/international/harfbuzz-runs-with-no-glyph.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=177005

Reviewed by Michael Catanzaro.

Fixes: fast/text/international/harfbuzz-runs-with-no-glyph.html

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset): Return early if there aren't glyphs.

7:26 PM Changeset in webkit [222125] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Avoid calling String::format() in PlatformCAFilters::setFiltersOnLayer()
https://bugs.webkit.org/show_bug.cgi?id=177028

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

String::format() is a bigger hammer for what we need to do in this function.

  • platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm:
7:12 PM Changeset in webkit [222124] by webkit@devinrousso.com
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r222057): recording state doesn't update when changing actions
https://bugs.webkit.org/show_bug.cgi?id=176988

Reviewed by Matt Baker.

Replace updateActionIndex with updateAction, where the currently selected RecordingAction
is passed to the DetailsSidebarPanel. Also remove the call to this._recording.actions in
order to ensure that all logic performed by both DetailsSidebarPanel is synchronous.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/RecordingTabContentView.js:

(WI.RecordingTabContentView.prototype._updateActionIndex):

  • UserInterface/Views/RecordingContentView.js:

(WI.RecordingContentView.prototype.async._generateContentCanvas2D):
(WI.RecordingContentView.prototype.async._generateContentCanvasWebGL):

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.js:

(WI.RecordingStateDetailsSidebarPanel):
(WI.RecordingStateDetailsSidebarPanel.prototype.set recording):
(WI.RecordingStateDetailsSidebarPanel.prototype.updateAction):
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
(WI.RecordingStateDetailsSidebarPanel.prototype.updateActionIndex): Deleted.

  • UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:

(WI.RecordingTraceDetailsSidebarPanel):
(WI.RecordingTraceDetailsSidebarPanel.prototype.set recording):
(WI.RecordingTraceDetailsSidebarPanel.prototype.updateAction):
(WI.RecordingTraceDetailsSidebarPanel.prototype.updateActionIndex): Deleted.

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

Should not mark a platform as missing in summary page if all expecting metrics are exlucded.
https://bugs.webkit.org/show_bug.cgi?id=176970

Reviewed by Ryosuke Niwa.

In summary page, if all metrics for a test are excluded in excludedConfigurations for a platform, this platform should not be marked as missing.

  • public/v3/pages/summary-page.js:

(SummaryPageConfigurationGroup):

5:05 PM Changeset in webkit [222122] by Lucas Forschler
  • 1 edit
    1 delete in trunk/Tools

Move run-webkit-archive from Tools/Scripts to Tools/BuildSlaveSupport

Reviewed by Alexey Proskuryakov.

  • Scripts/run-webkit-archive: Removed.
5:04 PM Changeset in webkit [222121] by Lucas Forschler
  • 2 edits
    1 add in trunk/Tools

teach build.webkit.org to include run-webkit-archive in the root folder of uploaded macOS archives.
https://bugs.webkit.org/show_bug.cgi?id=176965

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/built-product-archive:

(addLauncherToArchive): Helper function to add the launcher script
(createZip): teach function about addLauncherToArchive

  • BuildSlaveSupport/run-webkit-archive: Added.

(check_for_valid_platform): Add logic to ensure platform is Darwin
(find_dyld_framework_path): Find the dyld framework path
(run_safari_for_webkit_development): launch SafariForWebKitDevelopment
(set_dyld_framework_path): export the environment for dydl framework path

5:02 PM Changeset in webkit [222120] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

[WSL] Small cleanup in Evaluator
https://bugs.webkit.org/show_bug.cgi?id=176971

Reviewed by Filip Pizlo.

Use the symbols for break and continue instead of the objects themselves.

No tests because there is no behavior change.

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitWhileLoop):
(Evaluator.prototype.visitDoWhileLoop):
(Evaluator.prototype.visitForLoop):
(Evaluator.prototype.visitBreak):
(Evaluator.prototype.visitContinue):

4:59 PM Changeset in webkit [222119] by rniwa@webkit.org
  • 8 edits in trunk

iOS: Use blob URL instead of a WebKit fake URL when pasting an image
https://bugs.webkit.org/show_bug.cgi?id=176986
<rdar://problem/34455052>

Reviewed by Wenson Hsieh.

Source/WebCore:

Fixed the bug that pasting an image on iOS resulted in an img element with src attribute
set to a WebKit fake URL so that the Web content could never save it.

Like r208451 on Mac, use a Blob URL instead.

This patch also removes createFragmentForImageResourceAndAddResource since it's no longer used.

Tests: LayoutTests/editing/pasteboard/paste-image-as-blob-url.html

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::WebContentReader::readImage): Moved the code here from WebContentReaderMac.mm.

  • editing/ios/WebContentReaderIOS.mm:

(WebCore::WebContentReader::readImage): Deleted. This is the code

  • editing/mac/WebContentReaderMac.mm:

(WebCore::WebContentReader::readImage): Moved to WebContentReaderCocoa.mm. Note that
typeAsFilenameWithExtension was dead code after r208451

  • editing/markup.cpp:

(WebCore::createFragmentForImageResourceAndAddResource): Deleted.

  • editing/markup.h:

LayoutTests:

Removed the failing expectation on the test added by r208451 now that it passes on iOS.

  • platform/ios/TestExpectations:
4:48 PM Changeset in webkit [222118] by fpizlo@apple.com
  • 15 edits in trunk/Tools

WSL Evaluator should only allocate EBuffers when dealing with intrinsics
https://bugs.webkit.org/show_bug.cgi?id=176973

Reviewed by Myles Maxfield.

Whether or not two temporary values share the same EBuffer is ultimately observable in WSL,
because you can do this:

thread int operator&[](thread int ptr, uint index)
{

g_ptr = ptr;
return ptr;

}


And then this is a thing:

42[0];
g_ptr now points to 42's location


Normally this would have a lot of bad implications. But in WSL, if you did choose to do this,
you'd get a pointer to something well-defined: the EBuffer of 42's GenericLiteral. Each static
occurrence of a literal gets its own location, and the semantics of the language call for
42 to be stored into this location when 42 "executes". So, while the programmer could do all
kinds of strange things, at least the strangeness they would see is something we can spec.

But to do this, the interpreter needs to allocate EBuffers in the same way a compiler would.
It cannot allocate them during execution, except when interacting with intrinsics, which won't
know the difference.

In the process, I found places that needed to use AutoWrapper instead of TypeRef.wrap.

  • WebGPUShadingLanguageRI/AutoWrapper.js:

(AutoWrapper.prototype.visitGenericLiteralType):
(AutoWrapper.prototype.visitNullType):
(AutoWrapper):

  • WebGPUShadingLanguageRI/CallExpression.js:

(CallExpression.prototype.resolve):

  • WebGPUShadingLanguageRI/CallFunction.js:

(callFunction):

  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/CreateLiteralType.js:

(createLiteralType.GenericLiteralType.prototype.commitUnification):

  • WebGPUShadingLanguageRI/EBuffer.js:

(EBuffer):
(EBuffer.setCanAllocateEBuffers):
(EBuffer.disallowAllocation):
(EBuffer.allowAllocation):

  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitVariableDecl):
(EBufferBuilder.prototype.visitFuncDef):
(EBufferBuilder.prototype.visitFunctionLikeBlock):
(EBufferBuilder.prototype.visitCallExpression):
(EBufferBuilder.prototype.visitMakePtrExpression):
(EBufferBuilder.prototype.visitGenericLiteral):
(EBufferBuilder.prototype.visitNullLiteral):
(EBufferBuilder.prototype.visitBoolLiteral):
(EBufferBuilder.prototype.visitLogicalNot):
(EBufferBuilder):

  • WebGPUShadingLanguageRI/EPtr.js:

(EPtr.box):
(EPtr.prototype.box):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype._snapshot):
(Evaluator.prototype.runFunc):
(Evaluator.prototype._runBody):
(Evaluator.prototype.visitFunctionLikeBlock):
(Evaluator.prototype.visitMakePtrExpression):
(Evaluator.prototype.visitGenericLiteral):
(Evaluator.prototype.visitNullLiteral):
(Evaluator.prototype.visitBoolLiteral):
(Evaluator.prototype.visitLogicalNot):
(Evaluator.prototype.visitCallExpression):
(Evaluator):
(Evaluator.prototype.runBody): Deleted.

  • WebGPUShadingLanguageRI/Inliner.js:

(Inliner.prototype.visitCallExpression):

  • WebGPUShadingLanguageRI/InstantiateImmediates.js:

(InstantiateImmediates.prototype.visitTypeRef):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitMakePtrExpression):
(Rewriter.prototype.visitGenericLiteral):
(Rewriter.prototype.visitNullLiteral):
(Rewriter.prototype.processDerivedCallData):
(Rewriter.prototype.visitFunctionLikeBlock):
(Rewriter.prototype.visitLogicalNot):

  • WebGPUShadingLanguageRI/TypeRef.js:

(TypeRef.prototype.toString):
(TypeRef):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

4:44 PM Changeset in webkit [222117] by Ryan Haddad
  • 3 edits
    1 copy
    8 moves
    3 adds
    2 deletes in trunk/LayoutTests

Follow up to r222111, rebaseline tests for Sierra.
https://bugs.webkit.org/show_bug.cgi?id=176463

Unreviewed test gardening.

  • platform/mac-elcapitan/platform/mac/fast/loader/file-url-mimetypes-3-expected.txt: Removed.
  • platform/mac-sierra/editing/mac/attributed-string/anchor-element-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/anchor-element-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/basic-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/basic-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/comment-cdata-section-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/comment-cdata-section-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/font-size-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/font-size-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/font-weight-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/font-weight-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/letter-spacing-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/letter-spacing-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/text-decorations-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/text-decorations-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/vertical-align-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/vertical-align-expected.txt.
  • platform/mac-sierra/editing/mac/input/firstrectforcharacterrange-styled-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/input/firstrectforcharacterrange-styled-expected.txt.
  • platform/mac-sierra/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-sierra/platform/mac/fast/loader/file-url-mimetypes-3-expected.txt:
4:44 PM Changeset in webkit [222116] by fpizlo@apple.com
  • 17 edits
    2 adds in trunk/Tools

Rationalize how WSL's operator&[] works
https://bugs.webkit.org/show_bug.cgi?id=176958

Reviewed by Myles Maxfield.

This makes operator&[] work with non-array-ref types. The way this works is that if you do base[index]
then we pattern match base's type and proceed accordingly:

If base's type is T:

=> Reject


If base's type is T[]:

=> Accept


If base's type is T[c]:

=> Wrap it with a MakeArrayRefExpression and accept.


All other cases:

=> Wrap it with a MakePtrExpression and accept.


This makes it possible for operator&[] to work with lvalues. It also means that operator&[] gets to
"see" the temporary values we create via snapshot() in the interpreter. We'll have to fix that, and I've
filed bug 176973 for that. Once that's fixed, this will have well-defined behavior, though with the very
peculiar caveat that an expression like this:

totallyNotAnLValue()[42]


Could be used to get a pointer to a non-lvalue. But we can be extremely precise about what that means
and prohibit dangling pointers, which is kinda crazy.

In order to do this, I had to make MakeArrayRefExpression work, so I did that and added tests for it.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/ArrayRefType.js:

(ArrayRefType.prototype.unifyImpl):
(ArrayRefType.prototype.toString):
(ArrayRefType):

  • WebGPUShadingLanguageRI/ArrayType.js:

(ArrayType):
(ArrayType.prototype.get numElementsValue):
(ArrayType.prototype.get size):
(ArrayType.prototype.populateDefaultValue):
(ArrayType.prototype.unifyImpl):

  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/ConvertPtrToArrayRefExpression.js: Added.

(ConvertPtrToArrayRefExpression):
(ConvertPtrToArrayRefExpression.prototype.get lValue):
(ConvertPtrToArrayRefExpression.prototype.toString):

  • WebGPUShadingLanguageRI/CreateLiteral.js:

(createLiteral.GenericLiteral.withType):
(createLiteral.GenericLiteral.prototype.get isLiteral):
(createLiteral.GenericLiteral.prototype.unifyImpl):

  • WebGPUShadingLanguageRI/DotExpression.js:

(DotExpression.prototype.get addressSpace):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitMakeArrayRefExpression):
(Evaluator.prototype.visitConvertPtrToArrayRefExpression):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Added.

(MakeArrayRefExpression):
(MakeArrayRefExpression.prototype.get lValue):
(MakeArrayRefExpression.prototype.becomeConvertPtrToArrayRefExpression):
(MakeArrayRefExpression.prototype.toString):

  • WebGPUShadingLanguageRI/MakePtrExpression.js:

(MakePtrExpression.prototype.toString):
(MakePtrExpression):

  • WebGPUShadingLanguageRI/PtrType.js:

(PtrType.prototype.toString):
(PtrType):

  • WebGPUShadingLanguageRI/ReferenceType.js:

(ReferenceType):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitArrayType):
(Rewriter.prototype.visitMakeArrayRefExpression):
(Rewriter.prototype.visitConvertPtrToArrayRefExpression):

  • WebGPUShadingLanguageRI/StandardLibrary.js:
  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(TEST_buildArrayThenSumItUsingArrayReference):
(TEST_overrideSubscriptStruct):
(TEST_overrideSubscriptStructAndUsePointers):
(TEST_overrideSubscriptStructAndUsePointersIncorrectly):
(TEST_makeArrayRefFromPointer):
(TEST_makeArrayRefFromArrayRef):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

4:27 PM Changeset in webkit [222115] by sbarati@apple.com
  • 5 edits
    1 add in trunk

Arity fixup during inlining should do a 2 phase commit so it properly recovers the frame in case of exit
https://bugs.webkit.org/show_bug.cgi?id=176981

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/exit-during-inlined-arity-fixup-recover-proper-frame.js: Added.

(assert):
(verify):
(func):
(const.bar.createBuiltin):

Source/JavaScriptCore:

This patch makes inline arity fixup happen in two phases:

  1. We get all the values we need and MovHint them to the expected locals.
  2. We SetLocal them inside the callee's CodeOrigin. This way, if we exit, the callee's frame is already set up. If any SetLocal exits, we have a valid exit state. This is required because if we didn't do this in two phases, we may exit in the middle of arity fixup from the caller's CodeOrigin. This is unsound because if we did the SetLocals in the caller's frame, the memcpy may clobber needed parts of the frame right before exiting. For example, consider if we need to pad two args: [arg3][arg2][arg1][arg0] [fix ][fix ][arg3][arg2][arg1][arg0] We memcpy starting from arg0 in the direction of arg3. If we were to exit at a type check for arg3's SetLocal in the caller's CodeOrigin, we'd exit with a frame like so: [arg3][arg2][arg1][arg2][arg1][arg0] And the caller would then just end up thinking its argument are: [arg3][arg2][arg1][arg2] which is incorrect.

This patch also fixes a couple of bugs in IdentitiyWithProfile:

  1. The bytecode generator for this bytecode intrinsic was written incorrectly. It needed to store the result of evaluating its argument in a temporary that it creates. Otherwise, it might try to simply overwrite a constant or a register that it didn't own.
  2. We weren't eliminating this node in CSE inside the DFG.
  • bytecompiler/NodesCodegen.cpp:

(JSC::BytecodeIntrinsicNode::emit_intrinsic_idWithProfile):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::inlineCall):

  • dfg/DFGCSEPhase.cpp:
3:18 PM Changeset in webkit [222114] by Wenson Hsieh
  • 8 edits
    2 adds in trunk

Avoid style recomputation when forwarding a focus event to an text field's input type
https://bugs.webkit.org/show_bug.cgi?id=176160
<rdar://problem/34184820>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Currently, TextFieldInputType::forwardEvent synchronously triggers style recomputation, for the purpose of
scrolling to the origin upon handling a blur event, and also for updating caps lock state after a blur or focus.
In synchronously triggering style recomputation, we may end up running arbitrary JavaScript, which may change
the HTMLInputElement's type and cause the current TextFieldInputType to be destroyed.

To mitigate this, we only update caps lock state when forwarding a focus or blur event to the InputType, and
instead scroll blurred text fields to the origin later, in HTMLInputElement::didBlur (invoked from
Document::setFocusedElement after blur and focusout events have fired). Instead of having the InputType update
style, lift the call to Document::updateStyleIfNeeded up into HTMLInputElement so that we gracefully handle the
case where the page destroys and sets a new InputType within the scope of this style update.

Test: fast/forms/change-input-type-in-focus-handler.html

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didBlur):

  • html/HTMLInputElement.h:
  • html/InputType.h:

(WebCore::InputType::elementDidBlur):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::elementDidBlur):

  • html/TextFieldInputType.h:

LayoutTests:

Adds a new layout test verifying that we don't crash when changing the input type from within a focus event listener.

  • fast/forms/change-input-type-in-focus-handler-expected.txt: Added.
  • fast/forms/change-input-type-in-focus-handler.html: Added.
2:28 PM Changeset in webkit [222113] by jfbastien@apple.com
  • 113 edits in trunk/Source

WTF: use Forward.h when appropriate instead of Vector.h
https://bugs.webkit.org/show_bug.cgi?id=176984

Reviewed by Saam Barati.

There's no need to include Vector.h when Forward.h will suffice. All we need is to move the template default parameters from Vector, and then the forward declaration can be used in so many new places: if a header only takes Vector by reference, rvalue reference, pointer, returns any of these, or has them as members then the header doesn't need to see the definition because the declaration will suffice.

Source/JavaScriptCore:

  • bytecode/HandlerInfo.h:
  • heap/GCIncomingRefCounted.h:
  • heap/GCSegmentedArray.h:
  • wasm/js/JSWebAssemblyModule.h:

Source/WebCore:

  • Modules/entriesapi/FileSystemEntriesCallback.h:
  • Modules/indexeddb/IDBEventDispatcher.h:
  • Modules/indexeddb/IDBFactory.h:
  • Modules/indexeddb/client/IDBConnectionProxy.h:
  • Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
  • Modules/webdatabase/DatabaseTask.h:
  • Modules/websockets/WebSocketChannelClient.h:
  • contentextensions/CombinedURLFilters.h:
  • crypto/SerializedCryptoKeyWrap.h:
  • css/InspectorCSSOMWrappers.h:
  • css/PageRuleCollector.h:
  • css/parser/CSSParserTokenRange.h:
  • dom/DocumentTouch.h:
  • dom/MutationCallback.h:
  • editing/EditingStyle.h:
  • editing/SpellChecker.h:
  • editing/markup.h:
  • fileapi/ThreadableBlobRegistry.h:
  • html/FileListCreator.h:
  • inspector/WebHeapAgent.h:
  • loader/ContentFilter.cpp:

(WebCore::ContentFilter::ContentFilter):

  • loader/ContentFilter.h:
  • loader/CookieJar.h:
  • loader/FrameLoaderClient.h:
  • loader/LoaderStrategy.h:
  • loader/SubframeLoader.h:
  • page/ChromeClient.h:
  • page/FrameSnapshotting.h:
  • page/IntersectionObserverCallback.h:
  • page/PageSerializer.h:
  • page/UserContentURLPattern.h:
  • page/scrolling/AxisScrollSnapOffsets.h:
  • page/win/FrameWin.h:
  • platform/CookiesStrategy.h:
  • platform/KeyedCoding.h:
  • platform/PasteboardStrategy.h:
  • platform/SSLKeyGenerator.h:
  • platform/ScrollableArea.h:
  • platform/encryptedmedia/CDMFactory.h:
  • platform/gamepad/EmptyGamepadProvider.cpp:
  • platform/gamepad/GamepadProvider.h:
  • platform/gamepad/GamepadProviderClient.h:
  • platform/gamepad/PlatformGamepad.h:
  • platform/graphics/GeometryUtilities.cpp:
  • platform/graphics/GeometryUtilities.h:
  • platform/graphics/Icon.h:
  • platform/graphics/LayoutRect.h:
  • platform/graphics/Path.h:
  • platform/graphics/WOFFFileFormat.h:
  • platform/graphics/avfoundation/MediaSampleAVFObjC.h:
  • platform/graphics/avfoundation/objc/AVAssetTrackUtilities.h:
  • platform/graphics/ca/PlatformCAAnimation.h:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.h:
  • platform/graphics/opentype/OpenTypeMathData.h:
  • platform/image-encoders/JPEGImageEncoder.h:
  • platform/image-encoders/PNGImageEncoder.h:
  • platform/network/BlobRegistry.h:
  • platform/network/HTTPParsers.h:
  • platform/network/PlatformCookieJar.h:
  • platform/network/cf/DownloadBundle.h:
  • platform/network/curl/CurlCacheEntry.h:
  • platform/network/curl/DownloadBundle.h:
  • platform/text/LineEnding.h:
  • platform/text/QuotedPrintable.cpp:
  • platform/text/QuotedPrintable.h:
  • rendering/FlexibleBoxAlgorithm.h:
  • rendering/style/QuotesData.h:
  • rendering/svg/SVGSubpathData.h:
  • storage/StorageEventDispatcher.h:
  • style/StyleInvalidator.h:
  • style/StyleRelations.h:
  • svg/SVGAltGlyphDefElement.h:
  • svg/SVGAltGlyphItemElement.h:

Source/WebDriver:

  • Session.h:

Source/WebKit:

  • Scripts/webkit/LegacyMessages-expected.h:
  • Scripts/webkit/Messages-expected.h:
  • Shared/API/APIData.h:
  • UIProcess/API/APIContextMenuClient.h:
  • UIProcess/API/APIFormClient.h:
  • UIProcess/API/APIHTTPCookieStore.h:
  • UIProcess/API/APINotificationProvider.h:
  • UIProcess/API/glib/WebKitNotificationProvider.h:
  • UIProcess/Notifications/WebNotificationProvider.h:
  • UIProcess/TextCheckerCompletion.h:
  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebOpenPanelResultListenerProxy.h:
  • UIProcess/WebPasteboardProxy.h:
  • UIProcess/WebPopupMenuProxy.h:
  • UIProcess/WebTextCheckerClient.h:
  • WebProcess/Cookies/WebCookieManager.h:
  • WebProcess/Gamepad/WebGamepadProvider.h:
  • WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h:
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageContextMenuClient.h:
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
  • WebProcess/InjectedBundle/APIInjectedBundleFormClient.h:
  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
  • WebProcess/Network/webrtc/WebRTCMonitor.h:
  • WebProcess/Network/webrtc/WebRTCResolver.h:
  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/WebOpenPanelResultListener.h:

Source/WTF:

  • wtf/Forward.h:
  • wtf/Vector.h:
  • wtf/text/StringVector.h:
2:23 PM Changeset in webkit [222112] by Konstantin Tokarev
  • 2 edits in trunk

Consider enabling -Wno-expansion-to-defined for gcc 7
https://bugs.webkit.org/show_bug.cgi?id=167643

Reviewed by Michael Catanzaro.

Don't disable -Wexpansion-to-defined for Clang.
As suggested by Nico Weber, this warning produces false positives with
GCC only.

  • Source/cmake/WebKitCompilerFlags.cmake:
2:15 PM Changeset in webkit [222111] by Ryan Haddad
  • 112 edits
    185 copies
    45 moves
    124 adds
    3 deletes in trunk/LayoutTests

Move test expectations from 'mac-highsierra' to 'mac' directory
https://bugs.webkit.org/show_bug.cgi?id=176463

Unreviewed test gardening.

ChangeLog truncated due to hundreds of LayoutTest files being changed.

2:06 PM Changeset in webkit [222110] by keith_miller@apple.com
  • 2 edits in trunk/Source/WTF

generate-unified-source-bundles.rb shouldn't write a file that isn't going to change
https://bugs.webkit.org/show_bug.cgi?id=177021

Reviewed by Tim Horton.

  • generate-unified-source-bundles.rb:
1:39 PM Changeset in webkit [222109] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

ASSERTION FAILED: writtenAudioDuration >= readAudioDuration in com.apple.WebCore:WebCore::RealtimeOutgoingAudioSource::isReachingBufferedAudioDataHighLimit() + 222
https://bugs.webkit.org/show_bug.cgi?id=175164
<rdar://problem/33712305>

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-15
Reviewed by Eric Carlson.

No observable change of behavior.

  • platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:

(WebCore::RealtimeOutgoingAudioSource::hasBufferedEngouhData):
(WebCore::RealtimeOutgoingAudioSource::audioSamplesAvailable): Calling pullData only if there is at least 0.01 seconds of available data.

  • platform/mediastream/mac/RealtimeOutgoingAudioSource.h:
1:36 PM Changeset in webkit [222108] by fpizlo@apple.com
  • 13 edits
    1 add in trunk/Tools

WSL should support ++, --, +=, and all of those things
https://bugs.webkit.org/show_bug.cgi?id=176975

Reviewed by Myles Maxfield.

This adds an internal AST construct called LetExpression, that allows us to anonymously capture
a value. This change uses LetExpression to implement prefix and suffix ++/-- and all of the
+=/-=/etc.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitVariableDecl):
(EBufferBuilder.prototype.visitLetExpression):
(EBufferBuilder):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitLetExpression):

  • WebGPUShadingLanguageRI/LetExpression.js: Added.

(LetExpression):
(LetExpression.prototype.get origin):
(LetExpression.prototype.get name):
(LetExpression.prototype.toString):

  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer.prototype.next):
(Lexer):

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/Parse.js:

(isCallExpression):
(finishParsingPostIncrement):
(parsePossibleSuffix):
(finishParsingPreIncrement):
(parsePreIncrement):
(parsePossiblePrefix):
(parsePossibleAssignment):
(parsePostIncrement):
(parseEffectfulExpression):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitFunctionLikeBlock):
(Rewriter.prototype.visitLetExpression):
(Rewriter):

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(int.operator):
(uint.operator):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(TEST_prefixPlusPlus):
(TEST_prefixPlusPlusResult):
(TEST_postfixPlusPlus):
(TEST_postfixPlusPlusResult):
(TEST_prefixMinusMinus):
(TEST_prefixMinusMinusResult):
(TEST_postfixMinusMinus):
(TEST_postfixMinusMinusResult):
(TEST_plusEquals):
(TEST_plusEqualsResult):
(TEST_minusEquals):
(TEST_minusEqualsResult):
(TEST_timesEquals):
(TEST_timesEqualsResult):
(TEST_divideEquals):
(TEST_divideEqualsResult):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

1:09 PM Changeset in webkit [222107] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Move code using Vector::map to WTF:map
https://bugs.webkit.org/show_bug.cgi?id=176860

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

No change of behavior.

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create): Moving to WTF::map.

  • page/Settings.cpp:

(WebCore::Settings::setMediaContentTypesRequiringHardwareSupport): Using iterator split to not create a temporary vector.

  • platform/ContentType.cpp:

(WebCore::ContentType::ContentType):
(WebCore::splitParameters):
(WebCore::ContentType::codecs const): Ditto.
(WebCore::ContentType::profiles const): Ditto.
(WebCore::stripHTMLWhiteSpace): Deleted.

  • platform/ContentType.h:

(WebCore::ContentType::create): Deleted.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::load): Minor count churning change.

1:06 PM Changeset in webkit [222106] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark inspector/debugger/breakpoint-action-detach.html as flaky on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=168338

Unreviewed test gardening.

  • platform/mac/TestExpectations:
12:55 PM Changeset in webkit [222105] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

MediaPlayerPrivateMediaStreamAVFObjC::requestNotificationWhenReadyForVideoData should enqueue data if still useful
https://bugs.webkit.org/show_bug.cgi?id=177016

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

No change of behavior.

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::requestNotificationWhenReadyForVideoData): exciting early in block to prevent enqueueing.

12:54 PM Changeset in webkit [222104] by Ryan Haddad
  • 12 edits
    2 deletes in trunk

Unreviewed, rolling out r222040.

The LayoutTest added with this change is a flaky image failure
on mac-wk1 debug bots.

Reverted changeset:

"Computing animated style should not require renderers"
https://bugs.webkit.org/show_bug.cgi?id=171926
http://trac.webkit.org/changeset/222040

12:53 PM Changeset in webkit [222103] by timothy_horton@apple.com
  • 9 edits in trunk/Source

Fix the macOS CMake build
https://bugs.webkit.org/show_bug.cgi?id=177015

Reviewed by Andy Estes.

Source/WebCore:

  • CMakeLists.txt:

Add Payment Request files.

  • PlatformMac.cmake:

Add the CoreServices umbrella framework to the framework search path.
Add service workers directories to the forwarding headers path.
Add Modules/cache directory to the forwarding headers path.

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::resolveLengthAttributeForSVG): Deleted unused function.

Source/WebCore/PAL:

  • pal/PlatformMac.cmake:

Add WebPanel.

Source/WebKit:

  • CMakeLists.txt:

Add the new RemoteLayerTree directories to the header search path.
Add CookieStorageUtilsCF.mm to Sources.

  • PlatformMac.cmake:

Add a few more files, and fix the generated forwarding headers include
path to name "WebKit" instead of "WebKit2".

12:50 PM Changeset in webkit [222102] by Matt Baker
  • 12 edits in trunk

Web Inspector: Canvas: recording parameters that include colors should show an InlineSwatch (2D canvas)
https://bugs.webkit.org/show_bug.cgi?id=176822
<rdar://problem/34402170>

Reviewed by Devin Rousso.

Source/WebInspectorUI:

Show inline swatches in the canvas recording action and state sidebars.

  • UserInterface/Models/Color.js:

Added helpers for dealing with CMYK and normalized RGB. The latter is
for RGB components scaled to the range [0, 1]. Also improved handling
for 8-bit channel values.
(WI.Color.rgb2hsv):
(WI.Color.cmyk2rgb):
(WI.Color.normalized2rgb):
(WI.Color._eightBitChannel):
(WI.Color.prototype._toRGBString):
(WI.Color.prototype._toRGBAString):
(WI.Color.prototype._componentToHexValue):
(WI.Color.prototype._rgbToHSL):
(WI.Color.prototype._componentToNumber): Deleted.
Replaced by _eightBitChannel.

  • UserInterface/Models/RecordingAction.js:

(WI.RecordingAction):
(WI.RecordingAction.prototype.getColorParameters):
Get a subset of parameters that describe a color. This can be an array
containing one value (e.g. fillStyle), or multiple values, as is the
case with non-standard API functions that describe color using multiple
parameters (e.g. setFillColor).

  • UserInterface/Views/InlineSwatch.css:

(.inline-swatch:not(.read-only):hover > span):
(.inline-swatch:hover > span): Deleted.

  • UserInterface/Views/InlineSwatch.js:

(WI.InlineSwatch):
Read-only colors shouldn't show a context menu or hover effects.

  • UserInterface/Views/RecordingActionTreeElement.css:

(.tree-outline:matches(:focus, .force-focus) .item.action > .titles .parameters > .inline-swatch):

  • UserInterface/Views/RecordingActionTreeElement.js:

(WI.RecordingActionTreeElement._generateDOM.createParameterElement):
(WI.RecordingActionTreeElement._generateDOM):
(WI.RecordingActionTreeElement._createSwatchForColorParameters):

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.css:

(.sidebar > .panel.details.recording-state > .content > .data-grid .inline-swatch):

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.js:

(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D.isColorProperty):
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D.createInlineSwatch):
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
(WI.RecordingStateDetailsSidebarPanel):

LayoutTests:

Add tests for color space conversions.

  • inspector/model/color-expected.txt:
  • inspector/model/color.html:
12:30 PM Changeset in webkit [222101] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed test maintenance.

  • platform/mac-wk1/TestExpectations: Skip test under WK1 due to a bug.
11:12 AM Changeset in webkit [222100] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unreviewed, correct a typo in a TestExpectations file.

  • platform/ios/TestExpectations:
10:54 AM Changeset in webkit [222099] by wilander@apple.com
  • 4 edits
    3 adds in trunk

Storage Access API: Deny access to nested iframes
https://bugs.webkit.org/show_bug.cgi?id=176939
<rdar://problem/34439609>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe.html

  • dom/Document.cpp:

(WebCore::Document::requestStorageAccess):

LayoutTests:

  • http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe.html: Added.
  • http/tests/storageAccess/resources/nesting-iframe.html: Added.
  • platform/mac-wk2/TestExpectations:

Added the new test as a [ Pass ].

10:44 AM Changeset in webkit [222098] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

AnimationBase should ref the element
https://bugs.webkit.org/show_bug.cgi?id=176993

Reviewed by Simon Fraser.

We now longer have renderer pointer. Element can be reffed for safety.

This doesn't create reference cycle as the element pointer is cleared when render tree is
torn down. This happens at the latest when the element is removed from the tree.

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::~AnimationBase):
(WebCore::AnimationBase::clear):

  • page/animation/AnimationBase.h:

(WebCore::AnimationBase::~AnimationBase): Deleted.
(WebCore::AnimationBase::clear): Deleted.

  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::pauseAnimation):
(WebCore::ImplicitAnimation::sendTransitionEvent):
(WebCore::ImplicitAnimation::reset):

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::pauseAnimation):
(WebCore::KeyframeAnimation::endAnimation):
(WebCore::KeyframeAnimation::sendAnimationEvent):
(WebCore::KeyframeAnimation::resolveKeyframeStyles):

10:37 AM Changeset in webkit [222097] by Brent Fulgham
  • 11 edits
    2 adds in trunk

Source/WebCore:
Make DocumentLoader a FrameDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=176364
<rdar://problem/34254780>

Reviewed by Alex Christensen.

The DocumentLoader needs to know when its Frame is destroyed so that it can
perform properly cleanup.

Test: fast/events/beforeunload-dom-manipulation-crash.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader): Call FrameDestructionObserver constructor.
(WebCore::DocumentLoader::responseReceived): Drive-by fix. Make sure the current
object is valid during the callback.
(WebCore::DocumentLoader::attachToFrame): Use FrameDestructionObserver::observerFrame rather
than setting the m_frame variable directly.
(WebCore::DocumentLoader::detachFromFrame): Ditto.

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::frame const): Deleted, as this is provided by the FrameDestructionObserver.

Tools:
Provide mechanism to immediately end tests
https://bugs.webkit.org/show_bug.cgi?id=176364
<rdar://problem/34254780>

Reviewed by Alex Christensen.

WebKitTestRunner does not output state if the top loading frame has not been removed. This prevents some
tests that attempt to exercise failed load state from working properly.

This change adds a new 'forceImmediateCompletion' handler for DumpRenderTree and WebKitTestRunner so
that we can properly test these conditions.

  • DumpRenderTree/TestRunner.h:
  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::forceImmediateCompletion): Added.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::forceImmediateCompletion): Ditto.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::forceImmediateCompletion): Ditto.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

LayoutTests:
Make DocumentLoader a FrameDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=176364
<rdar://problem/34254780>

Reviewed by Alex Christensen.

  • fast/events/beforeunload-dom-manipulation-crash-expected.txt: Added.
  • fast/events/beforeunload-dom-manipulation-crash.html: Added.
10:34 AM Changeset in webkit [222096] by Ms2ger@igalia.com
  • 4 edits in trunk/Source/WebCore

Update some WebGL2 return types to match the specification.
https://bugs.webkit.org/show_bug.cgi?id=176996

Reviewed by Alex Christensen.

This should not change the behavior in any way, but it makes it simpler
to compare our IDL with the specification's.

No new tests because there is no behavior change.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getUniformIndices):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:
10:22 AM Changeset in webkit [222095] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Remove FilterOperation::blendingNeedsRendererSize()
https://bugs.webkit.org/show_bug.cgi?id=176994

Reviewed by Simon Fraser.

It is not used.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

  • platform/graphics/filters/FilterOperation.h:

(WebCore::FilterOperation::blend):
(WebCore::FilterOperation::shouldBeRestrictedBySecurityOrigin const):
(WebCore::FilterOperation::blendingNeedsRendererSize const): Deleted.

10:03 AM Changeset in webkit [222094] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

WPT harness errors on leaks and iOS-sim EWS bots
https://bugs.webkit.org/show_bug.cgi?id=175269
<rdar://problem/33902404>

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-15

9:51 AM Changeset in webkit [222093] by commit-queue@webkit.org
  • 8 edits in trunk

Add an URL method to remove both query string and fragment identifier
https://bugs.webkit.org/show_bug.cgi?id=176911

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

Source/WebCore:

Covered by existing tests and new API tests.

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::retrieveRecords): Using new helper method.

  • platform/URL.cpp:

(WebCore::URL::removeQueryAndFragmentIdentifier):

  • platform/URL.h:

Source/WebKit:

  • NetworkProcess/cache/CacheStorageEngineCache.cpp:

(WebKit::CacheStorage::computeKeyURL):

Tools:

Adding unit test for new URL method as well as modified setQuery and setFragmentIdentifier.

  • TestWebKitAPI/Tests/WebCore/URL.cpp:

(TestWebKitAPI::createURL):
(TestWebKitAPI::TEST_F):

9:34 AM Changeset in webkit [222092] by aestes@apple.com
  • 17 edits in trunk/Source

[Cocoa] Upstream MediaRemote and VideoToolbox WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176953

Reviewed by Eric Carlson.

Source/WebCore:

  • platform/cocoa/VideoToolboxSoftLink.cpp:
  • platform/cocoa/VideoToolboxSoftLink.h:
  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::queryDecoderAvailability):
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetType const):
(WebCore::exernalDeviceDisplayNameForPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetName const):

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/MediaRemoteSoftLink.cpp:
  • platform/mac/MediaRemoteSoftLink.h:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebCore/PAL:

  • pal/spi/mac/AVFoundationSPI.h:
  • pal/spi/mac/MediaRemoteSPI.h:

Source/WebKit:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

9:20 AM Changeset in webkit [222091] by eric.carlson@apple.com
  • 46 edits
    1 add in trunk/Source/WebCore

Switch text tracks to release logging
https://bugs.webkit.org/show_bug.cgi?id=176809
<rdar://problem/34397605>

Reviewed by Jer Noble.

Source/WebCore:

Make all track objects use the same logger and log identifier as the media element they
"belong" to. Convert all track logging from debug-only to release logging.

  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateActiveTextTrackCues):

  • html/HTMLMediaElement.h:
  • html/track/AudioTrack.cpp:

(WebCore::AudioTrack::AudioTrack):
(WebCore::AudioTrack::setPrivate):
(WebCore::AudioTrack::setMediaElement):

  • html/track/AudioTrack.h:
  • html/track/DataCue.cpp:

(WebCore::DataCue::toString const):

  • html/track/DataCue.h:

(PAL::LogArgument<WebCore::DataCue>::toString):

  • html/track/InbandDataTextTrack.cpp:

(WebCore::InbandDataTextTrack::addDataCue):
(WebCore::InbandDataTextTrack::updateDataCue):
(WebCore::InbandDataTextTrack::removeDataCue):

  • html/track/InbandDataTextTrack.h:
  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::addGenericCue):
(WebCore::InbandGenericTextTrack::removeGenericCue):
(WebCore::InbandGenericTextTrack::newCuesParsed):
(WebCore::InbandGenericTextTrack::fileFailedToParse):

  • html/track/InbandGenericTextTrack.h:
  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::InbandTextTrack):
(WebCore::InbandTextTrack::setMediaElement):

  • html/track/InbandTextTrack.h:
  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::newCuesParsed):
(WebCore::InbandWebVTTTextTrack::fileFailedToParse):

  • html/track/InbandWebVTTTextTrack.h:
  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::newCuesAvailable):
(WebCore::LoadableTextTrack::cueLoadingCompleted):

  • html/track/LoadableTextTrack.h:
  • html/track/TextTrack.cpp:

(WebCore::TextTrack::addCue):
(WebCore::TextTrack::removeCue):
(WebCore::TextTrack::setLanguage):

  • html/track/TextTrack.h:
  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::toString const):

  • html/track/TextTrackCue.h:

(PAL::LogArgument<WebCore::TextTrackCue>::toString):

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::setFontSize):
(WebCore::TextTrackCueGeneric::toString const):

  • html/track/TextTrackCueGeneric.h:

(PAL::LogArgument<WebCore::TextTrackCueGeneric>::toString):

  • html/track/TrackBase.cpp:

(WebCore::nextLogIdentifier):
(WebCore::nullLogger):
(WebCore::TrackBase::TrackBase):
(WebCore::TrackBase::setMediaElement):
(WebCore::TrackBase::logChannel const):
(WebCore::TrackBase::~TrackBase): Deleted.

  • html/track/TrackBase.h:

(WebCore::TrackBase::setMediaElement): Deleted.

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::setFontSize):
(WebCore::VTTCue::toString const):

  • html/track/VTTCue.h:

(PAL::LogArgument<WebCore::VTTCue>::toString):

  • html/track/VideoTrack.cpp:

(WebCore::VideoTrack::VideoTrack):
(WebCore::VideoTrack::setPrivate):
(WebCore::VideoTrack::setMediaElement):

  • html/track/VideoTrack.h:
  • platform/graphics/AudioTrackPrivate.h:
  • platform/graphics/InbandTextTrackPrivate.h:

(WebCore::InbandTextTrackPrivate::setClient):

  • platform/graphics/InbandTextTrackPrivateClient.h:

(WebCore::GenericCueData::toString const):
(PAL::LogArgument<WebCore::GenericCueData>::toString):

  • platform/graphics/TrackPrivateBase.cpp: Added.

(WebCore::TrackPrivateBase::setLogger):
(WebCore::TrackPrivateBase::logChannel const):

  • platform/graphics/TrackPrivateBase.h:
  • platform/graphics/VideoTrackPrivate.h:
  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:

(WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
(WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings):
(WebCore::InbandTextTrackPrivateAVF::removeCompletedCues):
(WebCore::InbandTextTrackPrivateAVF::resetCueValues):
(WebCore::InbandTextTrackPrivateAVF::processNativeSamples):
(WebCore::InbandTextTrackPrivateAVF::readNativeSampleBuffer):

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:

(WebCore::AudioTrackPrivateMediaStreamCocoa::createAudioUnit):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:

Source/WebCore/PAL:

  • pal/Logger.h:

(PAL::LogArgument::toString):
(PAL::Logger::willLog const):

8:37 AM Changeset in webkit [222090] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[Harfbuzz] Material icons not rendered correctly when using the web font
https://bugs.webkit.org/show_bug.cgi?id=176995

Reviewed by Michael Catanzaro.

Only a few of them are correctly rendered and some others are wrong. We only render correctly the ones that
don't have an underscore in their name (or that start with a number like 3d_rotation). In the cases where the
name before the underscore is also an icon, we render that icon instead, that's why some of them are wrong. This
is happening because the underscore is causing the HarfbuffShaper to split the text in 3 runs, one for the word
before the underscore, another one for the underscore and another for the word after the underscore. So, we
end up trying to shape the 3 runs independently and we fail when the icon doesn't exist, or when it exists but
it's not the one we are looking for. The cause of this is that the underscore has a different script (Common)
than the rest of characters (Latin) which is a condition in HarfbuffShaper to create a different run. The
unicode spec says that characters with Common script should be handled differently, but we are just ignoring
it. The spec proposes to use an heuristic based on simply inheriting the script of the previous character, which
should work in most of the cases. We could take a more conservative approach and do that only if both characters
are ASCII. We should also consider handling other cases mentioned by the spec like brackets and quotation marks,
but that belongs to a different bug/commit.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::scriptsAreCompatibleForCharacters): Helper function to check if the current and previous scripts are
compatible,
(WebCore::HarfBuzzShaper::collectHarfBuzzRuns): Use scriptsAreCompatibleForCharacters() to decided whether to
finish the current run or not. In case of Common script, inherit also the script from the previous character.

7:50 AM Changeset in webkit [222089] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Update test expectations for cache storage tests.
https://bugs.webkit.org/show_bug.cgi?id=176998

Unreviewed test gardening.

  • platform/win/TestExpectations:
7:43 AM Changeset in webkit [222088] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Update test expectations for failures on one of the EWS machines.
https://bugs.webkit.org/show_bug.cgi?id=176998

Unreviewed test gardening.

  • platform/win/TestExpectations:
6:54 AM Changeset in webkit [222087] by Claudio Saavedra
  • 2 edits in trunk/LayoutTests

[WPE] Rebaseline after r221966.

Unreviewed gardening. Adding VRPose.

  • platform/wpe/js/dom/global-constructors-attributes-expected.txt:
6:42 AM Changeset in webkit [222086] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebCore

[Harfbuzz] Fix incorrect font rendering when selecting texts in pages which specifies text-rendering: optimizeLegibility
https://bugs.webkit.org/show_bug.cgi?id=148220

Reviewed by Michael Catanzaro.

Add support for shaping a range of characters and return the advance to the first glyph in the range.

Covered by existing tests.

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText const): Pass "from" and "to" parameters to
HarfBuzzShaper::shape and return the x position of the selection rect.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::shape): Forward "from" and "to" parameters to fillGlyphBuffer().
(WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): Only add glyphs for the given character range.
(WebCore::HarfBuzzShaper::fillGlyphBuffer): Only consider runs in the given character range.

  • platform/graphics/harfbuzz/HarfBuzzShaper.h:
6:24 AM Changeset in webkit [222085] by zandobersek@gmail.com
  • 6 edits in trunk

[EME] ClearKey: list 'persistent-license' sessions as supported
https://bugs.webkit.org/show_bug.cgi?id=176985

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

The ClearKey implementation should support the 'persistent-license'
session type for testing purposes. Methods in the CDMPrivateClearKey
class have been updated to handle that session type as supported:

  • supportsSessionTypeWithConfiguration() returns true for the 'persistent-license' session type values,
  • supportsConfiguration() allows persistent state as required in case of the configured session type being 'persistent-license',
  • supportsConfigurationWithRestrictions() as well allows persistent

state as required for 'persistent-license' session types.

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

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::CDMPrivateClearKey::supportsConfiguration const):
(WebCore::CDMPrivateClearKey::supportsConfigurationWithRestrictions const):
(WebCore::CDMPrivateClearKey::supportsSessionTypeWithConfiguration const):

LayoutTests:

Update WPE test baselines for EME ClearKey tests.

  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt:
6:22 AM Changeset in webkit [222084] by Claudio Saavedra
  • 979 edits in trunk/LayoutTests

[WPE] Rebaseline test expectations after r222077.

Unreviewed gardening.

  • platform/wpe/animations/3d/matrix-transform-type-animation-expected.txt:
  • platform/wpe/animations/cross-fade-border-image-source-expected.txt:
  • platform/wpe/animations/cross-fade-list-style-image-expected.txt:
  • platform/wpe/animations/cross-fade-webkit-mask-box-image-expected.txt:
  • platform/wpe/animations/cross-fade-webkit-mask-image-expected.txt:
  • platform/wpe/animations/lineheight-animation-expected.txt:
  • platform/wpe/animations/missing-values-first-keyframe-expected.txt:
  • platform/wpe/animations/missing-values-last-keyframe-expected.txt:
  • platform/wpe/animations/simultaneous-start-transform-expected.txt:
  • platform/wpe/animations/width-using-ems-expected.txt:
  • platform/wpe/css1/basic/containment-expected.txt:
  • platform/wpe/css1/basic/contextual_selectors-expected.txt:
  • platform/wpe/css1/basic/grouping-expected.txt:
  • platform/wpe/css1/basic/id_as_selector-expected.txt:
  • platform/wpe/css1/basic/inheritance-expected.txt:
  • platform/wpe/css1/box_properties/border-expected.txt:
  • platform/wpe/css1/box_properties/border_bottom-expected.txt:
  • platform/wpe/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_bottom_width-expected.txt:
  • platform/wpe/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_color-expected.txt:
  • platform/wpe/css1/box_properties/border_color_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_left-expected.txt:
  • platform/wpe/css1/box_properties/border_left_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_left_width-expected.txt:
  • platform/wpe/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_right-expected.txt:
  • platform/wpe/css1/box_properties/border_right_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_right_width-expected.txt:
  • platform/wpe/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_style-expected.txt:
  • platform/wpe/css1/box_properties/border_style_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_top-expected.txt:
  • platform/wpe/css1/box_properties/border_top_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_top_width-expected.txt:
  • platform/wpe/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_width-expected.txt:
  • platform/wpe/css1/box_properties/border_width_inline-expected.txt:
  • platform/wpe/css1/box_properties/clear-expected.txt:
  • platform/wpe/css1/box_properties/clear_float-expected.txt:
  • platform/wpe/css1/box_properties/float-expected.txt:
  • platform/wpe/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/wpe/css1/box_properties/float_margin-expected.txt:
  • platform/wpe/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/wpe/css1/box_properties/height-expected.txt:
  • platform/wpe/css1/box_properties/margin-expected.txt:
  • platform/wpe/css1/box_properties/margin_bottom-expected.txt:
  • platform/wpe/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/wpe/css1/box_properties/margin_inline-expected.txt:
  • platform/wpe/css1/box_properties/margin_left-expected.txt:
  • platform/wpe/css1/box_properties/margin_left_inline-expected.txt:
  • platform/wpe/css1/box_properties/margin_right-expected.txt:
  • platform/wpe/css1/box_properties/margin_right_inline-expected.txt:
  • platform/wpe/css1/box_properties/margin_top-expected.txt:
  • platform/wpe/css1/box_properties/margin_top_inline-expected.txt:
  • platform/wpe/css1/box_properties/padding-expected.txt:
  • platform/wpe/css1/box_properties/padding_bottom-expected.txt:
  • platform/wpe/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/wpe/css1/box_properties/padding_inline-expected.txt:
  • platform/wpe/css1/box_properties/padding_left-expected.txt:
  • platform/wpe/css1/box_properties/padding_left_inline-expected.txt:
  • platform/wpe/css1/box_properties/padding_right-expected.txt:
  • platform/wpe/css1/box_properties/padding_right_inline-expected.txt:
  • platform/wpe/css1/box_properties/padding_top-expected.txt:
  • platform/wpe/css1/box_properties/padding_top_inline-expected.txt:
  • platform/wpe/css1/box_properties/width-expected.txt:
  • platform/wpe/css1/cascade/cascade_order-expected.txt:
  • platform/wpe/css1/cascade/important-expected.txt:
  • platform/wpe/css1/classification/display-expected.txt:
  • platform/wpe/css1/classification/list_style-expected.txt:
  • platform/wpe/css1/classification/list_style_image-expected.txt:
  • platform/wpe/css1/classification/list_style_position-expected.txt:
  • platform/wpe/css1/classification/list_style_type-expected.txt:
  • platform/wpe/css1/classification/white_space-expected.txt:
  • platform/wpe/css1/color_and_background/background-expected.txt:
  • platform/wpe/css1/color_and_background/background_attachment-expected.txt:
  • platform/wpe/css1/color_and_background/background_color-expected.txt:
  • platform/wpe/css1/color_and_background/background_image-expected.txt:
  • platform/wpe/css1/color_and_background/background_position-expected.txt:
  • platform/wpe/css1/color_and_background/background_repeat-expected.txt:
  • platform/wpe/css1/color_and_background/color-expected.txt:
  • platform/wpe/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/wpe/css1/font_properties/font-expected.txt:
  • platform/wpe/css1/font_properties/font_family-expected.txt:
  • platform/wpe/css1/font_properties/font_size-expected.txt:
  • platform/wpe/css1/font_properties/font_style-expected.txt:
  • platform/wpe/css1/font_properties/font_variant-expected.txt:
  • platform/wpe/css1/font_properties/font_weight-expected.txt:
  • platform/wpe/css1/formatting_model/canvas-expected.txt:
  • platform/wpe/css1/formatting_model/floating_elements-expected.txt:
  • platform/wpe/css1/formatting_model/height_of_lines-expected.txt:
  • platform/wpe/css1/formatting_model/inline_elements-expected.txt:
  • platform/wpe/css1/formatting_model/replaced_elements-expected.txt:
  • platform/wpe/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/wpe/css1/pseudo/anchor-expected.txt:
  • platform/wpe/css1/pseudo/firstletter-expected.txt:
  • platform/wpe/css1/pseudo/firstline-expected.txt:
  • platform/wpe/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/wpe/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/wpe/css1/text_properties/letter_spacing-expected.txt:
  • platform/wpe/css1/text_properties/line_height-expected.txt:
  • platform/wpe/css1/text_properties/text_align-expected.txt:
  • platform/wpe/css1/text_properties/text_decoration-expected.txt:
  • platform/wpe/css1/text_properties/text_indent-expected.txt:
  • platform/wpe/css1/text_properties/text_transform-expected.txt:
  • platform/wpe/css1/text_properties/vertical_align-expected.txt:
  • platform/wpe/css1/text_properties/word_spacing-expected.txt:
  • platform/wpe/css1/units/color_units-expected.txt:
  • platform/wpe/css1/units/length_units-expected.txt:
  • platform/wpe/css1/units/percentage_units-expected.txt:
  • platform/wpe/css1/units/urls-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-006-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-008-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-009-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-010-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-011-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-012-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-006-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-008-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-009-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-010-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-011-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-012-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-003-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-004-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-005-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-007-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-008-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-009-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-010-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-011-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-012-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-013-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-014-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-015-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-016-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-008-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-009-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-010-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-011-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-012-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-014-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-016-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-017-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-018-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-019-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-021-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-022-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-023-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-024-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-025-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-026-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-028-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-029-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-030-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-031-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-032-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-033-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-035-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-008-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-013-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-015-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-020-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-022-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-027-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-029-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-034-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-036-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-041-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-043-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-048-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-050-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-055-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-057-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-062-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-064-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-069-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-071-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-076-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-006-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-008-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-009-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-010-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-011-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-012-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-013-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-014-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-015-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-016-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-003-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-004-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-005-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-007-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-008-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/border-conflict-style-079-expected.txt:
  • platform/wpe/css2.1/20110323/border-conflict-style-088-expected.txt:
  • platform/wpe/css2.1/20110323/border-spacing-applies-to-015-expected.txt:
  • platform/wpe/css2.1/20110323/c543-txt-decor-000-expected.txt:
  • platform/wpe/css2.1/20110323/empty-inline-001-expected.txt:
  • platform/wpe/css2.1/20110323/empty-inline-002-expected.txt:
  • platform/wpe/css2.1/20110323/empty-inline-003-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-003-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-004-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-005-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-003-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-004-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-005-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-011-expected.txt:
  • platform/wpe/css2.1/20110323/height-width-inline-table-001-expected.txt:
  • platform/wpe/css2.1/20110323/height-width-table-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-non-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-non-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-non-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-non-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/inline-non-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-non-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/inline-non-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-non-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/inline-table-001-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-001-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-002-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-003-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-004-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-005-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-006-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-007-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-008-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-009-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-010-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-012-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-013-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-014-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-015-expected.txt:
  • platform/wpe/css2.1/20110323/outline-color-applies-to-008-expected.txt:
  • platform/wpe/css2.1/20110323/replaced-intrinsic-001-expected.txt:
  • platform/wpe/css2.1/20110323/table-caption-001-expected.txt:
  • platform/wpe/css2.1/20110323/table-caption-002-expected.txt:
  • platform/wpe/css2.1/20110323/table-caption-horizontal-alignment-001-expected.txt:
  • platform/wpe/css2.1/20110323/table-caption-optional-001-expected.txt:
  • platform/wpe/css2.1/20110323/table-caption-optional-002-expected.txt:
  • platform/wpe/css2.1/20110323/table-height-algorithm-023-expected.txt:
  • platform/wpe/css2.1/20110323/table-height-algorithm-024-expected.txt:
  • platform/wpe/css2.1/20110323/width-non-replaced-inline-001-expected.txt:
  • platform/wpe/css2.1/20110323/width-replaced-element-001-expected.txt:
  • platform/wpe/css2.1/t040102-keywords-01-b-expected.txt:
  • platform/wpe/css2.1/t0402-c71-fwd-parsing-01-f-expected.txt:
  • platform/wpe/css2.1/t0402-c71-fwd-parsing-02-f-expected.txt:
  • platform/wpe/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
  • platform/wpe/css2.1/t0602-c13-inheritance-00-e-expected.txt:
  • platform/wpe/css2.1/t0805-c5519-brdr-r-02-e-expected.txt:
  • platform/wpe/css2.1/t0805-c5521-brdr-l-02-e-expected.txt:
  • platform/wpe/css2.1/t0905-c414-flt-04-c-expected.txt:
  • platform/wpe/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/wpe/css2.1/t0905-c5525-fltblck-01-d-expected.txt:
  • platform/wpe/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
  • platform/wpe/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
  • platform/wpe/css2.1/t090501-c414-flt-00-d-expected.txt:
  • platform/wpe/css2.1/t090501-c414-flt-01-b-expected.txt:
  • platform/wpe/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/wpe/css2.1/t1202-counter-00-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-01-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-02-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-03-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-04-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-05-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-06-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-16-f-expected.txt:
  • platform/wpe/css2.1/t1202-counters-00-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-01-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-02-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-03-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-04-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-05-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-06-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-18-f-expected.txt:
  • platform/wpe/css2.1/t1204-order-00-c-expected.txt:
  • platform/wpe/css2.1/t1204-order-01-d-expected.txt:
  • platform/wpe/css2.1/t120401-scope-00-b-expected.txt:
  • platform/wpe/css2.1/t120401-scope-01-c-expected.txt:
  • platform/wpe/css2.1/t1205-c565-list-pos-00-b-expected.txt:
  • platform/wpe/css2.1/t1507-c526-font-sz-00-b-expected.txt:
  • platform/wpe/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/wpe/css3/css3-modsel-35-expected.txt:
  • platform/wpe/css3/css3-modsel-37-expected.txt:
  • platform/wpe/css3/flexbox/button-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-13-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-14c-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-14e-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-15-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-159-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-168-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-168a-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-169-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-169a-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-17-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-18-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-2-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-22-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-30-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-31-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-34-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-35-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-37-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-41-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-41a-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-42-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-42a-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-45-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-45b-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-46-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-46b-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-6-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-7-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-75-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-75b-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-76-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-76b-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-79-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-8-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-80-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-82-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-82b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-113-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-113b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-114-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-114b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-119-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-121-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-122-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-123-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-13-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-139-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-139b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-140-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-140b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-14c-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-14e-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-15-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-159-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-168-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-168a-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-169-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-169a-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-17-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-2-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-22-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-30-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-31-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-34-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-35-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-37-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-41-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-41a-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-42-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-42a-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-45-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-45b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-46-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-46b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-47-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-48-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-49-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-6-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-7-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-75-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-75b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-76-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-76b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-79-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-8-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-80-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-82-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-82b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-113-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-113b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-114-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-114b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-119-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-121-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-122-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-123-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-13-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-139-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-139b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-140-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-140b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-14c-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-14e-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-15-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-159-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-168-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-168a-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-169-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-169a-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-17-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-18-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-2-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-22-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-30-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-31-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-34-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-35-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-37-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-41-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-41a-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-42-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-42a-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-45-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-45b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-46-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-46b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-47-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-48-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-49-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-6-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-7-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-75-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-75b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-76-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-76b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-79-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-8-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-80-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-82-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-82b-expected.txt:
  • platform/wpe/css3/unicode-bidi-isolate-basic-expected.txt:
  • platform/wpe/fast/dom/Element/class-attribute-whitespace-expected.txt:
  • platform/wpe/fast/dom/HTMLDocument/frameless-location-bugzilla10837-expected.txt:
  • platform/wpe/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/wpe/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
  • platform/wpe/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
  • platform/wpe/fast/dom/HTMLTableElement/colSpan-expected.txt:
  • platform/wpe/fast/dom/HTMLTableElement/createCaption-expected.txt:
  • platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/wpe/fast/dom/Range/create-contextual-fragment-expected.txt:
  • platform/wpe/fast/dynamic/007-expected.txt:
  • platform/wpe/fast/dynamic/011-expected.txt:
  • platform/wpe/fast/dynamic/012-expected.txt:
  • platform/wpe/fast/dynamic/014-expected.txt:
  • platform/wpe/fast/dynamic/015-expected.txt:
  • platform/wpe/fast/dynamic/anchor-lock-expected.txt:
  • platform/wpe/fast/dynamic/anonymous-block-orphaned-lines-expected.txt:
  • platform/wpe/fast/dynamic/containing-block-change-expected.txt:
  • platform/wpe/fast/dynamic/create-renderer-for-whitespace-only-text-expected.txt:
  • platform/wpe/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-expected.txt:
  • platform/wpe/fast/dynamic/float-withdrawal-expected.txt:
  • platform/wpe/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/wpe/fast/dynamic/noninlinebadness-expected.txt:
  • platform/wpe/fast/dynamic/outerHTML-doc-expected.txt:
  • platform/wpe/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
  • platform/wpe/fast/dynamic/selection-highlight-adjust-expected.txt:
  • platform/wpe/fast/dynamic/staticY-marking-parents-regression-expected.txt:
  • platform/wpe/fast/dynamic/view-overflow-expected.txt:
  • platform/wpe/fast/dynamic/window-resize-scrollbars-test-expected.txt:
  • platform/wpe/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/wpe/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/wpe/fast/encoding/xmacroman-encoding-test-expected.txt:
  • platform/wpe/fast/events/mouseover-mouseout-expected.txt:
  • platform/wpe/fast/events/nested-window-event-expected.txt:
  • platform/wpe/fast/events/pointer-events-2-expected.txt:
  • platform/wpe/fast/events/resize-events-expected.txt:
  • platform/wpe/fast/events/updateLayoutForHitTest-expected.txt:
  • platform/wpe/fast/events/window-events-bubble-expected.txt:
  • platform/wpe/fast/events/window-events-bubble2-expected.txt:
  • platform/wpe/fast/gradients/crash-on-zero-radius-expected.txt:
  • platform/wpe/fast/gradients/list-item-gradient-expected.txt:
  • platform/wpe/fast/gradients/radial-centered-expected.txt:
  • platform/wpe/fast/parser/001-expected.txt:
  • platform/wpe/fast/parser/entity-comment-in-style-expected.txt:
  • platform/wpe/fast/parser/nofoo-tags-inside-paragraph-expected.txt:
  • platform/wpe/fast/parser/open-comment-in-style-expected.txt:
  • platform/wpe/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/wpe/fast/parser/xhtml-alternate-entities-expected.txt:
  • platform/wpe/fast/tokenizer/script_extra_close-expected.txt:
  • platform/wpe/fast/transforms/bounding-rect-zoom-expected.txt:
  • platform/wpe/fast/transforms/diamond-expected.txt:
  • platform/wpe/fast/transforms/transform-overflow-expected.txt:
  • platform/wpe/fast/transforms/transform-positioned-ancestor-expected.txt:
  • platform/wpe/fast/transforms/transform-table-row-expected.txt:
  • platform/wpe/fast/transforms/transforms-with-zoom-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc-cyr-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc16-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc16to16-expected.txt:
  • platform/wpe/fast/xsl/xslt-entity-expected.txt:
  • platform/wpe/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/wpe/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/wpe/fast/xsl/xslt-relative-path-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-applied-to-rounded-inline-element-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-border-box-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-applies-to-block-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background_color_padding_box-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_border_box-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_content_box-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-003-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-005-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-010-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-017-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-not-inherited-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-003-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-004-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-005-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-003-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-004-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/color-behind-images-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/none-as-image-layer-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/order-of-images-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-001-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-002-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-003-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-004-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-005-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-006-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-007-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-008-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-009-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-010-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt:
  • platform/wpe/tables/layering/paint-test-layering-1-expected.txt:
  • platform/wpe/tables/layering/paint-test-layering-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/45621-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug101674-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug10269-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug10269-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug10296-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug106158-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug106158-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug109043-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug113235-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug113235-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug113235-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1163-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug11944-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1224-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1302-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug131020_iframe-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug133756-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug139524-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug149275-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug14929-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug157890-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug16012-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug16252-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug17130-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug17130-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug17138-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug17587-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug18664-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug18955-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug19356-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug20579-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2065-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug20804-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2123-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug220536-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug22246-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug22246-2a-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug22246-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug22246-3a-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug23235-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug23299-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug24627-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2469-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2479-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2479-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2509-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug25663-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2585-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug27038-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug27038-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2886-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2886-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug29058-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug29157-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug29326-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2981-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2997-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug30273-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug30332-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug30332-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug32205-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug32447-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug3260-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug34538-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug3454-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug3977-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug42187-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug43039-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug43854-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug44523-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4501-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug45055-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug45055-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4576-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46480-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46480-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46623-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46623-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug48028-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4803-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug5188-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug5538-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug55694-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug57828-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug5835-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug58402-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug59354-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug60749-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug6184-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug6304-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug6404-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug6674-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug69187-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug69382-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug69382-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug7112-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug7112-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug73321-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug78162-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug80762-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug82946-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug82946-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug86708-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug8858-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug92143-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug93363-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug96334-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug965-expected.txt:
  • platform/wpe/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
  • platform/wpe/tables/mozilla/core/bloomberg-expected.txt:
  • platform/wpe/tables/mozilla/core/borders-expected.txt:
  • platform/wpe/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
  • platform/wpe/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
  • platform/wpe/tables/mozilla/core/margins-expected.txt:
  • platform/wpe/tables/mozilla/core/one_row-expected.txt:
  • platform/wpe/tables/mozilla/core/row_span-expected.txt:
  • platform/wpe/tables/mozilla/dom/appendCol2-expected.txt:
  • platform/wpe/tables/mozilla/dom/appendRowsExpand1-expected.txt:
  • platform/wpe/tables/mozilla/dom/appendTbodyExpand1-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteCellsShrink1-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteCellsShrink2-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteRowsRebuild1-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteRowsShrink1-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteTbodyExpand1-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertCellsExpand1-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertCellsExpand2-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertCellsRebuild1-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertCellsRebuild2-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertRowsExpand1-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertRowsRebuild1-expected.txt:
  • platform/wpe/tables/mozilla/dom/tableDom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/body_tfoot-expected.txt:
  • platform/wpe/tables/mozilla/marvin/col_span-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_align_center-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_span-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_width_px-expected.txt:
  • platform/wpe/tables/mozilla/marvin/table_rules_all-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_caption_align_bot-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_caption_align_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_style-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_align_center-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_colspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_height-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_width-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_align_center-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_colspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_height-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_width-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tbody_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/td_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/td_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/td_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/td_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/th_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/th_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/th_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/th_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/thead_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/thead_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_col_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_col_width_rel-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_table-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_table_style-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tbody_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_align_center-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_align_center-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_thead_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_thead_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/other/ms-expected.txt:
  • platform/wpe/tables/mozilla/other/nested2-expected.txt:
  • platform/wpe/tables/mozilla/other/test3-expected.txt:
  • platform/wpe/tables/mozilla/other/test6-expected.txt:
  • platform/wpe/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
  • platform/wpe/tables/mozilla/other/wa_table_tr_align-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug11331-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug17826-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug19526-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug32205-4-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug42043-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/captions1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/captions2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/captions3-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/col_span2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/cols1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/standards1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/appendCol1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_lhs-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_rhs-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_left-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_right-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/other/test4-expected.txt:
  • platform/wpe/transforms/2d/compound-transforms-vs-containers-expected.txt:
  • platform/wpe/transforms/2d/transform-borderbox-expected.txt:
  • platform/wpe/transforms/2d/transform-fixed-container-expected.txt:
  • platform/wpe/transforms/2d/transform-origin-borderbox-expected.txt:
  • platform/wpe/transforms/3d/hit-testing/backface-hit-test-expected.txt:
  • platform/wpe/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt:
  • platform/wpe/transitions/cross-fade-border-image-expected.txt:
  • platform/wpe/transitions/move-after-transition-expected.txt:
  • platform/wpe/transitions/svg-text-shadow-transition-expected.txt:
4:53 AM Changeset in webkit [222083] by Ms2ger@igalia.com
  • 7 edits in trunk

Disallow passing a null program to getFragDataLocation.
https://bugs.webkit.org/show_bug.cgi?id=176895

Reviewed by Sam Weinig.

This matches the specification as well as Gecko and Chromium.

Source/WebCore:

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

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getFragDataLocation):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

  • fast/canvas/webgl/webgl2/bindings-expected.txt:
  • fast/canvas/webgl/webgl2/bindings.html:
4:05 AM Changeset in webkit [222082] by Konstantin Tokarev
  • 4 edits in trunk/Source/ThirdParty/libwebrtc/Source/third_party/jsoncpp/source/makefiles/vs71

Unreviewed, committing actual dos2unix conversions

4:00 AM Changeset in webkit [222081] by Konstantin Tokarev
  • 1 edit in trunk/Source/ThirdParty/libwebrtc/ChangeLog

Normalize line terminators in jsoncpp Visual Studio files
https://bugs.webkit.org/show_bug.cgi?id=176991

Patch by Alicia Boya García <aboya@igalia.com> on 2017-09-15
Reviewed by Konstantin Tokarev.

  • Source/third_party/jsoncpp/source/makefiles/vs71/jsoncpp.sln:
  • Source/third_party/jsoncpp/source/makefiles/vs71/jsontest.vcproj:
  • Source/third_party/jsoncpp/source/makefiles/vs71/lib_json.vcproj:
  • Source/third_party/jsoncpp/source/makefiles/vs71/test_lib_json.vcproj:
2:20 AM Changeset in webkit [222080] by rniwa@webkit.org
  • 4 edits in trunk

iOS: WebKitTestRunner hits an assertion in editing/pasteboard/datatransfer-items-copy-plaintext.html
https://bugs.webkit.org/show_bug.cgi?id=176968
Source/WebKit:

Reviewed by Wenson Hsieh.

Don't allocate a SharedMemory of size zero (content was empty) as this would result in a crash inside
a WebContent process in release builds and an assertion failure in debug builds.

  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:

(WebKit::WebPasteboardProxy::readBufferFromPasteboard):

LayoutTests:

<rdar://problem/34454843>

Reviewed by Wenson Hsieh.

Unskip the test which used to crash/hit assertions.

  • platform/ios/TestExpectations:
12:43 AM Changeset in webkit [222079] by Carlos Garcia Campos
  • 2038 edits
    5 adds
    29 deletes in trunk/LayoutTests

Unreviewed GTK+ gardening. Rebaseline tests after r222077. Part 2.

12:25 AM Changeset in webkit [222078] by Carlos Garcia Campos
  • 2118 edits
    3 deletes in trunk/LayoutTests

Unreviewed GTK+ gardening. Rebaseline tests after r222077. Part 1.

12:08 AM Changeset in webkit [222077] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[FreeType] Complex text is enabled too often after r221909
https://bugs.webkit.org/show_bug.cgi?id=176907

Reviewed by Sergio Villar Senin.

In r221909 we enabled complex text by default following the same cocoa ifdefs, but I forgot another ifdef in the
cpp file.

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::codePath const):

Sep 14, 2017:

10:10 PM Changeset in webkit [222076] by bshafiei@apple.com
  • 2 edits in tags/Safari-605.1.6.0.1/Source/WebCore/PAL

Merged r222072. rdar://problem/34452503

10:08 PM Changeset in webkit [222075] by bshafiei@apple.com
  • 7 edits in tags/Safari-605.1.6.0.1/Source

Versioning.

10:04 PM Changeset in webkit [222074] by bshafiei@apple.com
  • 1 copy in tags/Safari-605.1.6.0.1

New tag.

8:56 PM Changeset in webkit [222073] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

Add Cache API support of records persistency
https://bugs.webkit.org/show_bug.cgi?id=176845

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

Source/WebKit:

Introducing asynchronous opening of Cache objects.
When opening, Cache objects will read the list of records from the disk.
They keep in memory the necessary information to make any match or remove request without reading further information from the disk.
Cache objects thus keep during the opening time a list of callbacks to call when being opened.
Persistent storage is implemented through NetworkCache::Storage.

A Cache object is added a unique name so that records from a Cache cannot be mixed with records from another Cache.
This unique name is stored persistenly in addition to the Cache name.
This unique name is used as the key type given to the storage.

Request, response and responsebody data are no longer kept by the Cache object.
For regular sessions, this information is kept on the disk through NetworkCache::Storage.
Insertion time is also stored persistently so as to keep the ordering of the records consistent.
For private browsing sessions, this information is kept in a map owned by the Caches object.
RecordData is renamed to RecordInformation as it now only contains the information used to handle the different Cache actions.

For every record retrieval action, a ReadRecordTaskCounter is used.
Its purpose is to allow retrieving the record data on the disk in parallel,
and then send back the information when everything is read.
In case some records cannot be correctly read, they are removed automatically at that point.
The current implementation loads all information in memory including response bodies.
Further improvements might consider streaming the response bodies progressively.

For every stored record, an AsynchronousPutTaskCounter is used.
Its purpose is also to wait for all put actions to be completed before executing the completion callback.
In some cases, a record needs to be overriden.
In that case, as per the specification, only the data related to the response is to be modified.
This requires reading the record request data on disk before actually writing the whole record again.
This is implemented in updateRecordToDisk.

The Cache object is delegating all record writing/reading tasks to its Caches object.
The Caches object is responsible to handle persistent/private sessions.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::retrieveRecords): Making sure Cache object is opened.
(WebKit::CacheStorage::Engine::readCache): Ditto.
(WebKit::CacheStorage::Engine::unlock): Disposing the cache without going through initializing it.

  • NetworkProcess/cache/CacheStorageEngineCache.cpp:

(WebKit::CacheStorage::computeKeyURL):
(WebKit::CacheStorage::queryCache):
(WebKit::CacheStorage::updateVaryInformation):
(WebKit::CacheStorage::Cache::toRecordInformation):
(WebKit::CacheStorage::Cache::Cache):
(WebKit::CacheStorage::Cache::open):
(WebKit::CacheStorage::Cache::finishOpening):
(WebKit::CacheStorage::ReadRecordTaskCounter::create):
(WebKit::CacheStorage::ReadRecordTaskCounter::~ReadRecordTaskCounter):
(WebKit::CacheStorage::ReadRecordTaskCounter::appendRecord):
(WebKit::CacheStorage::ReadRecordTaskCounter::ReadRecordTaskCounter):
(WebKit::CacheStorage::Cache::retrieveRecord):
(WebKit::CacheStorage::Cache::retrieveRecords):
(WebKit::CacheStorage::Cache::addRecord):
(WebKit::CacheStorage::Cache::recordsFromURL):
(WebKit::CacheStorage::Cache::recordsFromURL const):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::create):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::~AsynchronousPutTaskCounter):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::onCompletion):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::setError):
(WebKit::CacheStorage::Cache::put):
(WebKit::CacheStorage::Cache::remove):
(WebKit::CacheStorage::Cache::removeFromRecordList):
(WebKit::CacheStorage::Cache::writeRecordToDisk):
(WebKit::CacheStorage::Cache::updateRecordToDisk):
(WebKit::CacheStorage::Cache::readRecordFromDisk):
(WebKit::CacheStorage::Cache::removeRecordFromDisk):
(WebKit::CacheStorage::Cache::encode):
(WebKit::CacheStorage::decodeRecordHeader):
(WebKit::CacheStorage::Cache::decode):
(WebKit::CacheStorage::Cache::keys const):

  • NetworkProcess/cache/CacheStorageEngineCache.h:

(WebKit::CacheStorage::Cache::isOpened const):
(WebKit::CacheStorage::Cache::uniqueName const):

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::initialize):
(WebKit::CacheStorage::Caches::open):
(WebKit::CacheStorage::Caches::remove):
(WebKit::CacheStorage::Caches::dispose):
(WebKit::CacheStorage::encodeCacheNames):
(WebKit::CacheStorage::decodeCachesNames):
(WebKit::CacheStorage::Caches::readCachesFromDisk):
(WebKit::CacheStorage::Caches::readRecordsList):
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::readRecord):
(WebKit::CacheStorage::Caches::removeRecord):
(WebKit::CacheStorage::Caches::clearMemoryRepresentation):
(WebKit::CacheStorage::Caches::salt const):

  • NetworkProcess/cache/CacheStorageEngineCaches.h:

(WebKit::CacheStorage::Caches::shouldPersist const):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::store):

  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::NetworkCache::Storage::writeWithoutWaiting):

LayoutTests:

  • http/tests/cache-storage/cache-persistency.https.html:
  • http/tests/cache-storage/cache-records-persistency.https-expected.txt: Added.
  • http/tests/cache-storage/cache-records-persistency.https.html: Added.
8:15 PM Changeset in webkit [222072] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Fixed building with the Apple internal macOS 10.12 SDK.

  • pal/spi/cocoa/PassKitSPI.h: Avoid redefining types that are defined in the SDK.
7:23 PM Changeset in webkit [222071] by sbarati@apple.com
  • 6 edits
    1 add in trunk/Source

We should have a way of preventing a caller from making a tail call and we should use it for ProxyObject instead of using build flags
https://bugs.webkit.org/show_bug.cgi?id=176863

Reviewed by Keith Miller.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/ProxyObject.cpp:

(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):

Source/WTF:

This patch adds a way for a particular function to mark
that none of its calls should be tail calls.

It's useful in the following example if you don't want foo
to do a tail call to bar or baz:

int foo(bool b)
{

NO_TAIL_CALLS();
if (b)

return baz();

return bar();

}

Note that we're not saying that bar/baz should not be tail callable. bar/baz
may have other callers that are allowed to tail call it. This macro just says
that foo itself will not perform any tail calls.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/NoTailCalls.h: Added.

(WTF::NoTailCalls::~NoTailCalls):

6:42 PM Changeset in webkit [222070] by commit-queue@webkit.org
  • 4 edits in trunk

.:
[WinCairo] Add an option to build WebKitLegacy or WebKit
https://bugs.webkit.org/show_bug.cgi?id=176891

Added an option to build WebKitLegacy or WebKit.

Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2017-09-14
Reviewed by Alex Christensen.

  • Source/cmake/OptionsWin.cmake:

Tools:
[WinCairo] Add an option to build WebKitLegacy and WebKit
https://bugs.webkit.org/show_bug.cgi?id=176891

Since TestWebKitAPI and MiniBrowser/win are used for WebKitLegacy,
those subdirectories are ignored for WebKit build.

Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2017-09-14
Reviewed by Alex Christensen.

  • CMakeLists.txt:
5:44 PM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
5:43 PM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
5:30 PM Changeset in webkit [222069] by commit-queue@webkit.org
  • 11 edits
    6 deletes in trunk

Unreviewed, rolling out r221932 and r221933.
https://bugs.webkit.org/show_bug.cgi?id=176969

This change did not fix the webgl test flakiness. (Requested
by ryanhaddad on #webkit).

Reverted changesets:

"[WebGL] accelerated texImage2D for video doesn't respect
flipY"
https://bugs.webkit.org/show_bug.cgi?id=176491
http://trac.webkit.org/changeset/221932

"[WebGL] VideoTextureCopierCV doesn't correctly restore vertex
attribute state"
https://bugs.webkit.org/show_bug.cgi?id=176771
http://trac.webkit.org/changeset/221933

5:29 PM Changeset in webkit [222068] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

[Curl] Replace the implementation with NetworkLoadMetrics
https://bugs.webkit.org/show_bug.cgi?id=176906

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-14
Reviewed by Alex Christensen.

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::getEffectiveURL):
(WebCore::CurlHandle::getPrimaryPort):
(WebCore::CurlHandle::getResponseCode):
(WebCore::CurlHandle::getContentLenghtDownload):
(WebCore::CurlHandle::getHttpAuthAvail):
(WebCore::CurlHandle::getTimes):
(WebCore::CurlHandle::getEffectiveURL const): Deleted.

  • platform/network/curl/CurlContext.h:
  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::didReceiveHeader):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::dispatchSynchronousJob):
(WebCore::ResourceHandleCurlDelegate::notifyFinish):
(WebCore::ResourceHandleCurlDelegate::getProtectionSpace):
(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::handleLocalReceiveResponse):
(WebCore::ResourceHandleCurlDelegate::didFinish):
(WebCore::ResourceHandleCurlDelegate::getNetworkLoadMetrics):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::ResourceHandleCurlDelegate::didReceiveData):
(WebCore::ResourceHandleCurlDelegate::setWebTimings): Deleted.

  • platform/network/curl/ResourceHandleCurlDelegate.h:
  • platform/network/curl/ResourceResponse.h:

(WebCore::ResourceResponse::setDeprecatedNetworkLoadMetrics):

5:14 PM Changeset in webkit [222067] by Lucas Forschler
  • 1 edit
    1 add in trunk/Tools

Create a launcher for webkit-archives
https://bugs.webkit.org/show_bug.cgi?id=176964

Reviewed by Aakash Jain.

  • Scripts/run-webkit-archive: Added.

(find_dyld_framework_path):
(run_safari_for_webkit_development):
(set_dyld_framework_path):
(main):

5:04 PM Changeset in webkit [222066] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Make dumping the graph print when both when exitOK and !exitOK
https://bugs.webkit.org/show_bug.cgi?id=176954

Reviewed by Keith Miller.

  • dfg/DFGGraph.cpp:

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

4:52 PM Changeset in webkit [222065] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[Mac] Spelling, grammar and correction dots are painted upside down
https://bugs.webkit.org/show_bug.cgi?id=176949
<rdar://problem/34441098>

Reviewed by Simon Fraser.

Painting occurs in a vertically flipped context. Vertically flip the context ("unflip" it)
before painting the document markers on macOS so that they are painted right-side. This makes
the appearance of spelling, grammar and correction dots in WebKit match the AppKit appearance
of these dots.

  • platform/graphics/cocoa/GraphicsContextCocoa.mm:

(WebCore::GraphicsContext::drawLineForDocumentMarker): Flip the context as described above.
Also make use of RAII object CGContextStateSaver instead of manually saving and restoring
the state of the context.

4:49 PM Changeset in webkit [222064] by Joseph Pecoraro
  • 16 edits
    3 deletes in trunk

Unreviewed rollout r222036.

The LayoutTests added with this change is flaky.

Source/WebCore:

Reverted changeset
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222036

Source/WebInspectorUI:

This left in the Test.js, Test.html, InspectorBackend changes
needed by later patches. They are independent of the flakey test.

Reverted changeset
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222036

LayoutTests:

Reverted changeset
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222036

4:45 PM Changeset in webkit [222063] by dbates@webkit.org
  • 4 edits
    8 copies
    9 adds
    1 delete in trunk/LayoutTests

Import CSS Pseudo Elements 4 Web Platform Tests
https://bugs.webkit.org/show_bug.cgi?id=176253

Reviewed by Zalan Bujtas.

I upstreamed our CSS Pseudo Elements 4 tests to the Web Platform Tests repository.
Remove our version of the tests and import the ones from the Web Platform Tests repository.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/css/css-pseudo-4/OWNERS: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-001-expected.html: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-001.html: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-002-expected.html: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-002.html: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-003-expected.html: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-003.html: Added.
  • web-platform-tests/css/css-pseudo-4/marker-and-other-pseudo-elements-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements-expected.html.
  • web-platform-tests/css/css-pseudo-4/marker-and-other-pseudo-elements.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements.html.
  • web-platform-tests/css/css-pseudo-4/marker-color-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-color-expected.html.
  • web-platform-tests/css/css-pseudo-4/marker-color.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-color.html.
  • web-platform-tests/css/css-pseudo-4/marker-font-properties-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-font-properties-expected.html.
  • web-platform-tests/css/css-pseudo-4/marker-font-properties.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-font-properties.html.
  • web-platform-tests/css/css-pseudo-4/marker-inherit-values-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-inherit-values-expected.html.
  • web-platform-tests/css/css-pseudo-4/marker-inherit-values.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-inherit-values.html.
  • web-platform-tests/css/css-pseudo-4/w3c-import.log: Added.

LayoutTests:

  • TestExpectations: Skip some tests that fail.
  • http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements-expected.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-color-expected.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-color.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-font-properties-expected.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-font-properties.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-inherit-values-expected.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-inherit-values.html: Removed.
4:43 PM Changeset in webkit [222062] by rniwa@webkit.org
  • 8 edits
    1 copy in trunk/Source/WebCore

WebContentReader::readWebArchive doesn't need to handle image MIME type
https://bugs.webkit.org/show_bug.cgi?id=176884

Reviewed by Sam Weinig.

Remove the code to handle image MIME types in the web archive on macOS since we have a separate code path
to handle images in the pasteboard directly. As far as I can tell, this code is never used in practice.

This allows merging iOS and macOS code to read web archive from the pasteboard. Also merged member functions
for handling RTFD and RTF in iOS and macOS in WebContentReaderCocoa.mm.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/WebContentReader.cpp: Added.

(WebCore::WebContentReader::addFragment): Moved from WebContentReaderIOS.mm and simplified since appendChild
knows how to add a DocumentFragment.

  • editing/WebContentReader.h:
  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::createFragmentAndAddResources):
(WebCore::WebContentReader::readWebArchive): Merged iOS / macOS code here.
(WebCore::WebContentReader::readRTFD): Ditto.
(WebCore::WebContentReader::readRTF): Ditto.
(WebCore::WebContentReader::readPlainText): Ditto.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::pasteWithPasteboard):

  • editing/ios/WebContentReaderIOS.mm:

(WebCore::WebContentReader::readImage):
(WebCore::WebContentReader::readURL):
(WebCore::WebContentReader::readWebArchive): Moved to WebContentReaderCocoa.mm.
(WebCore::WebContentReader::readRTFD): Ditto.
(WebCore::WebContentReader::readRTF): Ditto.
(WebCore::WebContentReader::readPlainText): Ditto.

  • editing/mac/WebContentReaderMac.mm:

(WebCore::WebContentReader::readWebArchive): Ditto.
(WebCore::WebContentReader::readRTFD): Ditto.
(WebCore::WebContentReader::readRTF): Ditto.

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

iOS: WebKitTestRunner hits an assertion in editing/pasteboard/datatransfer-items-copy-plaintext.html
https://bugs.webkit.org/show_bug.cgi?id=176968

Skip this test for now.

  • platform/ios/TestExpectations:
4:39 PM Changeset in webkit [222060] by sbarati@apple.com
  • 5 edits
    1 add in trunk

It should be valid to exit before each set when doing arity fixup when inlining
https://bugs.webkit.org/show_bug.cgi?id=176948

Reviewed by Keith Miller.

JSTests:

  • stress/arity-fixup-inlining-dont-generate-invalid-use.js: Added.

(baz):
(bar):
(foo):

Source/JavaScriptCore:

This patch makes it so that we can exit before each SetLocal when doing arity
fixup during inlining. This is OK because if we exit at any of these SetLocals,
we will simply exit to the beginning of the call instruction.

Not doing this led to a bug where FixupPhase would insert a ValueRep of
a node before the actual node. This is obviously invalid IR. I've added
a new validation rule to catch this malformed IR.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):

  • dfg/DFGValidate.cpp:
  • runtime/Options.h:
4:37 PM Changeset in webkit [222059] by achristensen@apple.com
  • 25 edits in trunk

Add WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, headerHeight, and footerHeight
https://bugs.webkit.org/show_bug.cgi?id=176889
<rdar://problem/29270035>

Reviewed by Andy Estes.

Source/WebKit:

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadAlternateHTMLString):
(WKPageLoadAlternateHTMLStringWithUserData):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::headerHeight):
(WebKit::UIDelegate::UIClient::footerHeight):
(WebKit::UIDelegate::UIClient::drawHeader):
(WebKit::UIDelegate::UIClient::drawFooter):

  • UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:

(-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::printOperationWithPrintInfo):

  • UIProcess/FrameLoadState.cpp:

(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didSameDocumentNotification):
(WebKit::FrameLoadState::setUnreachableURL):
(WebKit::FrameLoadState::FrameLoadState): Deleted.

  • UIProcess/FrameLoadState.h:

(WebKit::FrameLoadState::url const):
(WebKit::FrameLoadState::provisionalURL const):
(WebKit::FrameLoadState::unreachableURL const):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::loadURL):
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameProxy::didSameDocumentNavigation):
(WebKit::WebFrameProxy::setUnreachableURL):

  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::url const):
(WebKit::WebFrameProxy::provisionalURL const):
(WebKit::WebFrameProxy::unreachableURL const):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didChangeProvisionalURLForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidChangeProvisionalURL):
(WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadURLInFrame):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(-[PrintDelegate _webView:printFrame:]):
(-[PrintDelegate _webViewHeaderHeight:]):
(-[PrintDelegate _webViewFooterHeight:]):
(-[PrintDelegate _webView:drawHeaderInRect:forPageWithTitle:URL:]):
(-[PrintDelegate _webView:drawFooterInRect:forPageWithTitle:URL:]):
(callbacksEqual):
(TEST):

  • TestWebKitAPI/cocoa/TestWKWebView.h:
  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[TestWKWebView hostWindow]):

4:08 PM Changeset in webkit [222058] by mark.lam@apple.com
  • 7 edits in trunk/Source

AddressSanitizer: stack-buffer-underflow in JSC::Probe::Page::Page
https://bugs.webkit.org/show_bug.cgi?id=176874
<rdar://problem/34436415>

Reviewed by Saam Barati.

Source/JavaScriptCore:

  1. Make Probe::Stack play nice with ASan by:
  1. using a local memcpy implementation that suppresses ASan on ASan builds. We don't want to use std:memcpy() which validates stack memory because we are intentionally copying stack memory beyond the current frame.
  1. changing Stack::s_chunkSize to equal sizeof(uintptr_t) on ASan builds. This ensures that Page::flushWrites() only writes stack memory that was modified by a probe. The probes should only modify stack memory that belongs to JSC stack data structures. We don't want to inadvertently modify adjacent words that may belong to ASan (which may happen if s_chunkSize is larger than sizeof(uintptr_t)).
  1. fixing a bug in Page dirtyBits management for when the size of the value to write is greater than s_chunkSize. The fix in generic, but in practice, this currently only manifests on 32-bit ASan builds because sizeof(uintptr_t) and s_chunkSize are 32-bit, and we may write 64-bit values.
  1. making Page::m_dirtyBits 64 bits always. This maximizes the number of s_chunksPerPage we can have even on ASan builds.
  1. Fixed the bottom most Probe::Context and Probe::Stack get/set methods to use std::memcpy to avoid strict aliasing issues.
  1. Optimized the implementation of Page::physicalAddressFor().
  1. Optimized the implementation of Stack::set() in the recording of the low watermark. We just record the lowest raw pointer now, and only compute the alignment to its chuck boundary later when the low watermark is requested.
  1. Changed a value in testmasm to make the test less vulnerable to rounding issues.

No new test needed because this is already covered by testmasm with ASan enabled.

  • assembler/ProbeContext.h:

(JSC::Probe::CPUState::gpr const):
(JSC::Probe::CPUState::spr const):
(JSC::Probe::Context::gpr):
(JSC::Probe::Context::spr):
(JSC::Probe::Context::fpr):
(JSC::Probe::Context::gprName):
(JSC::Probe::Context::sprName):
(JSC::Probe::Context::fprName):
(JSC::Probe::Context::gpr const):
(JSC::Probe::Context::spr const):
(JSC::Probe::Context::fpr const):
(JSC::Probe::Context::pc):
(JSC::Probe::Context::fp):
(JSC::Probe::Context::sp):
(JSC::Probe:: const): Deleted.

  • assembler/ProbeStack.cpp:

(JSC::Probe::copyStackPage):
(JSC::Probe::Page::Page):
(JSC::Probe::Page::flushWrites):

  • assembler/ProbeStack.h:

(JSC::Probe::Page::get):
(JSC::Probe::Page::set):
(JSC::Probe::Page::dirtyBitFor):
(JSC::Probe::Page::physicalAddressFor):
(JSC::Probe::Stack::lowWatermark):
(JSC::Probe::Stack::get):
(JSC::Probe::Stack::set):

  • assembler/testmasm.cpp:

(JSC::testProbeModifiesStackValues):

Source/WTF:

Added a convenience version of roundUpToMultipleOf() so that it can be applied to
pointers without the client having to cast explicitly.

  • wtf/StdLibExtras.h:

(WTF::roundUpToMultipleOf):

3:43 PM Changeset in webkit [222057] by webkit@devinrousso.com
  • 14 edits in trunk

Web Inspector: make recording swizzle async
https://bugs.webkit.org/show_bug.cgi?id=176936

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildArrayForCanvasPattern):
(WebCore::InspectorCanvas::buildAction):
For objects that are not able to be stringified (e.g. elements), send a deduplicated string
with the name of the object as a placeholder value (e.g. "Element").

Source/WebInspectorUI:

Move all swizzle functions, and all logic that depends on swizzled values, to async
functions so that await can be used to pause execution while objects load. This was
necessary primarily for swizzling Image values, as the Image is not able to be used (such as
for creating a CanvasPattern) until its "load" event has fired. Any callers of a Recording's
actions getter must now adapt to working with a promise that will resolve once all swizzling
has finished across all actions within that recording.

  • .eslintrc:
  • UserInterface/Models/Recording.js:

(WI.Recording):
(WI.Recording.prototype.async swizzle):
(WI.Recording.prototype.swizzle): Deleted.
Drive-by: currently, no data is added to the JSON for WebGL objects, so don't try to swizzle
them and return the placeholder value (0) instead.

  • UserInterface/Models/RecordingAction.js:

(WI.RecordingAction):
(WI.RecordingAction.prototype.swizzle):
(WI.RecordingAction.prototype.toJSON):
(WI.RecordingAction.prototype.async _swizzle.swizzleParameter):
(WI.RecordingAction.prototype.async _swizzle.async swizzleCallFrame):
(WI.RecordingAction.prototype.async _swizzle):

  • UserInterface/Models/RecordingInitialStateAction.js:

(WI.RecordingInitialStateAction):

  • UserInterface/Views/RecordingContentView.js:

(WI.RecordingContentView.prototype.updateActionIndex):
(WI.RecordingContentView.prototype.async _generateContentCanvas2D):
(WI.RecordingContentView.prototype.async _generateContentCanvasWebGL):
(WI.RecordingContentView.prototype._updateCanvasPath):
(WI.RecordingContentView.prototype._generateContentCanvas2D): Deleted.
(WI.RecordingContentView.prototype._generateContentCanvasWebGL): Deleted.

  • UserInterface/Views/RecordingNavigationSidebarPanel.js:

(WI.RecordingNavigationSidebarPanel.prototype.set recording):
(WI.RecordingNavigationSidebarPanel.prototype.updateActionIndex):

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.js:

(WI.RecordingStateDetailsSidebarPanel):
(WI.RecordingStateDetailsSidebarPanel.prototype.updateActionIndex):
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):

  • UserInterface/Views/RecordingTabContentView.js:

(WI.RecordingTabContentView.prototype.showRepresentedObject):

  • UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:

(WI.RecordingTraceDetailsSidebarPanel):
(WI.RecordingTraceDetailsSidebarPanel.prototype.updateActionIndex):

LayoutTests:

  • inspector/canvas/recording-2d-expected.txt:
3:43 PM Changeset in webkit [222056] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked svg/animations/smil-leak-element-instances.svg
https://bugs.webkit.org/show_bug.cgi?id=175886

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
3:01 PM Changeset in webkit [222055] by Matt Baker
  • 5 edits in trunk

Web Inspector: Color created from an RGB/HSL triplet returns bad component arrays
https://bugs.webkit.org/show_bug.cgi?id=176811
<rdar://problem/34397529>

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

A Color constructed from a format and RGB/HSL triplet should set its
alpha component to 1 instead of leaving it undefined. Color properties
and member functions expect the components array to have a length of four.

  • UserInterface/Models/Color.js:

(WI.Color):

LayoutTests:

Add tests for Colors constructed from a format and component array.

  • inspector/model/color-expected.txt:
  • inspector/model/color.html:

Drive-by cleanup: use InspectorTest.expectShallowEqual.

3:00 PM Changeset in webkit [222054] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.dedicatedworker.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176920

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
2:23 PM Changeset in webkit [222053] by aestes@apple.com
  • 10 edits
    1 copy in trunk/Source

[Mac] Upstream SpeechSynthesis-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176931

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(WebCore::speechSynthesisGetVoiceIdentifiers):
(WebCore::speechSynthesisGetDefaultVoiceIdentifierForLocale):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/mac/SpeechSynthesisSPI.h: Added.

Source/WebKit:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

2:09 PM Changeset in webkit [222052] by Joseph Pecoraro
  • 4 edits in trunk/Source/WebInspectorUI

Layout test inspector/debugger/breakpoints/resolved-dump-all-pause-locations.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=176952

Reviewed by Matt Baker.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Agent.prototype.dispatchEvent):
Include the event name since that may be useful in understanding what happened.

  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WI.loaded):
Register a MemoryObserver and include potentially necessary Model objects
for the Memory domain.

1:44 PM Changeset in webkit [222051] by rniwa@webkit.org
  • 29 edits
    30 adds in trunk/LayoutTests

Re-enable tests under editing/pasteboard in iOS WebKit2
https://bugs.webkit.org/show_bug.cgi?id=176890

Reviewed by Wenson Hsieh.

These tests were disabled because we used to run multiple layout tests tests in parallel within
a single instance of iOS simulator, and that caused tests that read from and write to UIPasteboard
with interfere with one another. This is no longer an issue since we launch a simulator per worker.

Re-enabled these pasteboard tests under iOS simulator in WebKit2 and rebaselined the tests.
We're going to triage failures and crashes in WebKit1 separately.

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator/editing/pasteboard/3976872-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/4076267-2-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/4076267-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/4242293-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/4631972-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/4641033-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/8145-2-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/8145-3-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/bad-placeholder-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/image-in-iframe-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-004-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-008-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-009-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-013-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-014-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-016-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-019-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-at-tabspan-003-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/pasting-object-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/pasting-tabs-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/quirks-mode-br-1-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/smart-drag-drop-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/smart-paste-007-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/smart-paste-008-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/styled-element-markup-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/undoable-fragment-removes-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/unrendered-br-expected.png: Added.
  • platform/ios-wk2/editing/pasteboard/3976872-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4076267-2-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4076267-3-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4076267-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4242293-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4631972-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4641033-expected.txt:
  • platform/ios-wk2/editing/pasteboard/8145-2-expected.txt:
  • platform/ios-wk2/editing/pasteboard/8145-3-expected.txt:
  • platform/ios-wk2/editing/pasteboard/bad-placeholder-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-004-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-008-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-009-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-013-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-014-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-016-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-019-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-xml-expected.txt:
  • platform/ios-wk2/editing/pasteboard/pasting-object-expected.txt:
  • platform/ios-wk2/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/ios-wk2/editing/pasteboard/quirks-mode-br-1-expected.txt:
  • platform/ios-wk2/editing/pasteboard/smart-drag-drop-expected.txt:
  • platform/ios-wk2/editing/pasteboard/styled-element-markup-expected.txt:
  • platform/ios-wk2/editing/pasteboard/undoable-fragment-removes-expected.txt:
  • platform/ios-wk2/editing/pasteboard/unrendered-br-expected.txt:
  • platform/ios/TestExpectations:
  • platform/ios/editing/pasteboard/image-in-iframe-expected.txt: Added.
1:39 PM Changeset in webkit [222050] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaseline js/dom/global-constructors-attributes.html for El Capitan.

Unreviewed test gardening.

  • platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
1:28 PM Changeset in webkit [222049] by jmarcell@apple.com
  • 7 edits in branches/safari-604-branch/Source

Versioning.

1:20 PM Changeset in webkit [222048] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.3.1

Tag Safari-604.3.1.

1:12 PM Changeset in webkit [222047] by Ryan Haddad
  • 25 edits in trunk

Unreviewed, rolling out r222033.

This change caused API test WebKit.PrintFrame to time out.

Reverted changeset:

"Add WKUIDelegatePrivate equivalent of WKPageUIClient's
drawHeader, drawFooter, headerHeight, and footerHeight"
https://bugs.webkit.org/show_bug.cgi?id=176889
http://trac.webkit.org/changeset/222033

12:55 PM Changeset in webkit [222046] by Wenson Hsieh
  • 3 edits
    2 deletes in trunk/LayoutTests

fast/forms/append-children-during-form-submission.html fails due to a text diff on iOS
https://bugs.webkit.org/show_bug.cgi?id=176908

Reviewed by Tim Horton.

Tweak an existing layout test added in r222005 to make its expectation consistent across all platforms.

  • fast/forms/append-children-during-form-submission-expected.txt:
  • fast/forms/append-children-during-form-submission.html:
  • platform/ios/fast/forms/append-children-during-form-submission-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/append-children-during-form-submission-expected.txt: Removed.
12:45 PM Changeset in webkit [222045] by commit-queue@webkit.org
  • 6 edits in trunk

RTCDataChannel connectivity issues in Safari 11
https://bugs.webkit.org/show_bug.cgi?id=173052
<rdar://problem/32712143>

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

Source/WebCore:

Covered by updated test.

Before the patch, when sending an ArrayBufferView, RTCDataChannel was sending the whole ArrayBuffer backing the ArrayBufferView.
With this patch, RTCDataChannel will now send only the bytes the ArrayBufferView is exposing.

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::send): Correctly handling sending of ArrayBufferView.
(WebCore::RTCDataChannel::sendRawData): Helper routine for raw data sending.

  • Modules/mediastream/RTCDataChannel.h:

LayoutTests:

  • webrtc/datachannel/binary-expected.txt:
  • webrtc/datachannel/binary.html:
12:40 PM Changeset in webkit [222044] by jmarcell@apple.com
  • 7 edits in branches/safari-604-branch/Source

Versioning.

12:40 PM Changeset in webkit [222043] by jmarcell@apple.com
  • 3 edits in branches/safari-604-branch/Source/WebKit

Cherry-pick r221647. rdar://problem/34439121

12:40 PM Changeset in webkit [222042] by jmarcell@apple.com
  • 3 edits in branches/safari-604-branch/Source/WebKit

Cherry-pick r221061. rdar://problem/34439121

12:18 PM Changeset in webkit [222041] by jmarcell@apple.com
  • 3 edits in tags/Safari-605.1.6/Source/JavaScriptCore

Cherry-pick r222035. rdar://problem/34422397

12:18 PM Changeset in webkit [222040] by Antti Koivisto
  • 12 edits
    2 adds in trunk

Computing animated style should not require renderers
https://bugs.webkit.org/show_bug.cgi?id=171926
<rdar://problem/34428035>

Reviewed by Sam Weinig.

Source/WebCore:

CSS animation system is now element rather than renderer based. This allows cleaning up
style resolution and render tree update code.

This also fixes bug animation doesn't run if display property is animated from one rendered type
to another. Added a test case for this.

Test: transitions/transition-display-property-2.html

  • page/animation/CSSAnimationController.cpp:

(WebCore::CSSAnimationController::updateAnimations):

Pass in the old style instead of getting it from the renderer.
Factor to return the animated style as a return value.

  • page/animation/CSSAnimationController.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::willBeDestroyed):

Animation are now canceled by RenderTreeUpdater::tearDownRenderers.

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasInitialAnimatedStyle const): Deleted.
(WebCore::RenderElement::setHasInitialAnimatedStyle): Deleted.

We no longer need to this concept.

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::RenderTreeUpdater::createRenderer):

We now get correct animated style from style resolution in all cases so we don't need to compute
it separately for new renderers.

(WebCore::RenderTreeUpdater::tearDownRenderers):

Cancel animations when render tree is fully torn down. Keep them when updating style.

  • style/RenderTreeUpdater.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::createAnimatedElementUpdate):

We can now compute animated style without renderer. Special cases dealing with rendererless case
can be removed.

LayoutTests:

  • transitions/transition-display-property-2-expected.html: Added.
  • transitions/transition-display-property-2.html: Added.
  • transitions/transition-display-property.html:
11:56 AM Changeset in webkit [222039] by commit-queue@webkit.org
  • 4 edits in trunk

Allow WTF::map to take function as parameter
https://bugs.webkit.org/show_bug.cgi?id=176909

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

Source/WTF:

  • wtf/Vector.h:

(WTF::map):

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::multiplyByTwo):
(TestWebKitAPI::TEST):
(TestWebKitAPI::multiplyByTwoMoveOnly):

11:33 AM Changeset in webkit [222038] by fpizlo@apple.com
  • 17 edits
    3 adds in trunk/Tools

WSL IntLiteralType should become int32 if unified with a type variable
https://bugs.webkit.org/show_bug.cgi?id=176707

Reviewed by Myles Maxfield.

This makes it so that this works:

T foo<T>(T x) { return x; }
foo(42); T becomes int32


Previously, it did not work because IntLiteralType did not recognize TypeVariable as a number. Also,
TypeVariable would try to evaluate protocol inheritance of IntLiteralType, which would not go well. One
of the tests that this patch adds didn't just fail; it gave such an absurd 7-line type error that I felt
like I was using SML.

This fixes the problem by introducing what I think is a super deterministic way of handling literals and
type variables:

Before verifying a unification context, we now give all literals a chance to perform an extra
unification step. This is a two-phase process. This ensures that the unification performed by one
literal does not throw off the logic of some other literal. For example, if we do:

void foo<T>(T, T) { }
foo(42, 42u);


Then we want to always fail to compile, rather than sometimes succeeding. So, we first ask each literal
if it thinks that it needs to do extra unification. Both of the literals will report that they want to
in this case, because they will notice that they got unified with either at type variable or a literal,
which isn't specific enough. Then after they all register to do extra unification, they will both try to
unify with their preferred types (int32 for 42, uint32 for 42u). The first one will succeed, and the
second will give an error.

Without the special two-phase arrangement, it was possible to either get a type error or not depending
on the order - for example foo(42, 42u) might fail while foo(42u, 42) succeeds. It was definitely not
decidable, at least not unless you mandate the unification order as part of the type system spec. I
think that would have been nuts.

Both IntLiteral and UintLiteral are now "flexible"; the uint one will reject non-int or signed int
types and will prefer uint, but otherwise it's the same logic. This means that this will be valid:

uint8 x = 5u;


But this is still wrong:

int x = 5u;


To make this easy, I turned IntLiteral and UintLiteral (and IntLiteralType and UintLiteralType) into
factory-built generic types (see createLiteral() and createLiteralType()). Because visitors use the
constructor's declared name (GenericLiteral and GenericLiteralType in this case), it means that we can
share a ton of code between the different literals. I love that ES6 lets you do that.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/CreateLiteral.js: Added.

(createLiteral.GenericLiteral):
(createLiteral.GenericLiteral.prototype.get value):
(createLiteral.GenericLiteral.prototype.get isConstexpr):
(createLiteral.GenericLiteral.prototype.toString):
(createLiteral):

  • WebGPUShadingLanguageRI/CreateLiteralType.js: Added.

(createLiteralType.GenericLiteralType):
(createLiteralType.GenericLiteralType.prototype.get origin):
(createLiteralType.GenericLiteralType.prototype.get value):
(createLiteralType.GenericLiteralType.prototype.get isPrimitive):
(createLiteralType.GenericLiteralType.prototype.get isUnifiable):
(createLiteralType.GenericLiteralType.prototype.get isLiteral):
(createLiteralType.GenericLiteralType.prototype.typeVariableUnify):
(createLiteralType.GenericLiteralType.prototype.unifyImpl):
(createLiteralType.GenericLiteralType.prototype.prepareToVerify):
(createLiteralType.GenericLiteralType.prototype.verifyAsArgument):
(createLiteralType.GenericLiteralType.prototype.verifyAsParameter):
(createLiteralType.GenericLiteralType.prototype.conversionCost):
(createLiteralType.GenericLiteralType.prototype.commitUnification):
(createLiteralType.GenericLiteralType.prototype.toString):
(createLiteralType):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitIntLiteral): Deleted.
(Evaluator.prototype.visitUintLiteral): Deleted.

  • WebGPUShadingLanguageRI/IntLiteral.js:

(let.IntLiteral.createLiteral.createType):
(IntLiteral): Deleted.
(IntLiteral.prototype.get value): Deleted.
(IntLiteral.prototype.get isConstexpr): Deleted.
(IntLiteral.prototype.toString): Deleted.

  • WebGPUShadingLanguageRI/IntLiteralType.js:

(IntLiteralType): Deleted.
(IntLiteralType.prototype.get origin): Deleted.
(IntLiteralType.prototype.get value): Deleted.
(IntLiteralType.prototype.get isPrimitive): Deleted.
(IntLiteralType.prototype.get isUnifiable): Deleted.
(IntLiteralType.prototype.typeVariableUnify): Deleted.
(IntLiteralType.prototype.unifyImpl): Deleted.
(IntLiteralType.prototype.verifyAsArgument): Deleted.
(IntLiteralType.prototype.verifyAsParameter): Deleted.
(IntLiteralType.prototype.conversionCost): Deleted.
(IntLiteralType.prototype.commitUnification): Deleted.
(IntLiteralType.prototype.toString): Deleted.

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/LiteralTypeChecker.js:

(LiteralTypeChecker.prototype.visitIntLiteralType): Deleted.

  • WebGPUShadingLanguageRI/Node.js:

(Node.prototype.prepareToVerify):
(Node.prototype.commitUnification):
(Node.prototype.get isLiteral):

  • WebGPUShadingLanguageRI/NullType.js:

(NullType.prototype.get isLiteral):
(NullType.prototype.toString):
(NullType):

  • WebGPUShadingLanguageRI/Parse.js:

(parseTerm):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitGenericLiteralType):
(Rewriter.prototype.visitIntLiteral): Deleted.
(Rewriter.prototype.visitIntLiteralType): Deleted.
(Rewriter.prototype.visitUintLiteral): Deleted.
(Rewriter.prototype.visitBoolLiteral): Deleted.

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(makeUint):
(checkUint):
(TEST_uintSimpleMath):
(TEST_equality):
(TEST_notEquality):
(TEST_intLiteralGeneric):
(TEST_intLiteralGenericWithProtocols):
(TEST_uintLiteralGeneric):
(TEST_uintLiteralGenericWithProtocols):
(TEST_intLiteralGenericSpecific):
(TEST_twoIntLiterals):
(TEST_unifyDifferentLiterals):
(makeUInt): Deleted.
(checkUInt): Deleted.

  • WebGPUShadingLanguageRI/Type.js:
  • WebGPUShadingLanguageRI/UintLiteral.js:

(let.UintLiteral.createLiteral.createType):
(UintLiteral): Deleted.
(UintLiteral.prototype.get value): Deleted.
(UintLiteral.prototype.get isConstexpr): Deleted.
(UintLiteral.prototype.toString): Deleted.

  • WebGPUShadingLanguageRI/UintLiteralType.js: Added.

(let.UintLiteralType.createLiteralType.verifyAsArgument):

  • WebGPUShadingLanguageRI/UnificationContext.js:

(UnificationContext.prototype.verify):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

11:20 AM Changeset in webkit [222037] by Ryan Haddad
  • 2 edits in trunk/Tools

Unreviewed, rolling out r221868.

Rolling out this change while we investigate test262 failures.

Reverted changeset:

"Turn on exception scope verification for JSC tests."
https://bugs.webkit.org/show_bug.cgi?id=162351
http://trac.webkit.org/changeset/221868

11:09 AM Changeset in webkit [222036] by commit-queue@webkit.org
  • 19 edits
    3 adds in trunk

Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
<rdar://problem/34290931>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-14
Reviewed by Devin Rousso.

Source/WebCore:

Test: inspector/timeline/timeline-event-EventDispatch.html

  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchEvent):
Include defaultPrevented when notifying inspector.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didDispatchEventImpl):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didDispatchEvent):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
Pass defaultPrevented on to agent.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didDispatchEvent):
(WebCore::InspectorTimelineAgent::didLayout):
(WebCore::InspectorTimelineAgent::didPaint):

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::appendLayoutRoot):
(WebCore::TimelineRecordFactory::appendDidDispatchEventData):

  • inspector/TimelineRecordFactory.h:

Append a boolean defaultPrevented property on the EventDispatch timeline record's data.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:

New string.

  • UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager.prototype._processRecord):
Include the whole data object as extra details.

  • UserInterface/Models/ScriptTimelineRecord.js:

(WI.ScriptTimelineRecord):
(WI.ScriptTimelineRecord.prototype.get extraDetails):
Wholesale copy of the extra data instead of just a single property.

  • UserInterface/Views/ScriptDetailsTimelineView.js:

(WI.ScriptDetailsTimelineView):
Give the name column more initial space, there is still extra space
after this adjustment but name is comfortably larger (and the most
likely to be expanded).

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WI.ScriptTimelineDataGridNode.prototype.get subtitle):
Include "default prevented" as the event's subtitle if it was prevented.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Agent.prototype.dispatchEvent):
(InspectorBackend.Agent):

  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WI.loaded):
Add the ScriptProfilerObserver to tests since it is on by default for Timelines.

LayoutTests:

  • inspector/timeline/resources/timeline-event-utilities.js: Added.

(TestPage.registerInitializer.window.captureTimelineWithScript):
(TestPage.registerInitializer):
(finishRecording):
Helper code for creating a recording from a function.

  • inspector/timeline/timeline-event-EventDispatch-expected.txt: Added.
  • inspector/timeline/timeline-event-EventDispatch.html: Added.

Test for Timeline's EventDispatch records. Ensure it has
the new "defaultPrevented" details data.

11:05 AM Changeset in webkit [222035] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Disable Arity Fixup Inlining until crash in facebook.com is fixed
https://bugs.webkit.org/show_bug.cgi?id=176917

Reviewed by Saam Barati.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::inliningCost):

  • runtime/Options.h:
11:04 AM Changeset in webkit [222034] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Fixed typo in expectations.

Unreviewed test expectations.

  • platform/mac/TestExpectations:
10:55 AM Changeset in webkit [222033] by achristensen@apple.com
  • 25 edits in trunk

Add WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, headerHeight, and footerHeight
https://bugs.webkit.org/show_bug.cgi?id=176889
<rdar://problem/29270035>

Reviewed by Andy Estes.

Source/WebKit:

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadAlternateHTMLString):
(WKPageLoadAlternateHTMLStringWithUserData):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::headerHeight):
(WebKit::UIDelegate::UIClient::footerHeight):
(WebKit::UIDelegate::UIClient::drawHeader):
(WebKit::UIDelegate::UIClient::drawFooter):

  • UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:

(-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::printOperationWithPrintInfo):

  • UIProcess/FrameLoadState.cpp:

(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didSameDocumentNotification):
(WebKit::FrameLoadState::setUnreachableURL):
(WebKit::FrameLoadState::FrameLoadState): Deleted.

  • UIProcess/FrameLoadState.h:

(WebKit::FrameLoadState::url const):
(WebKit::FrameLoadState::provisionalURL const):
(WebKit::FrameLoadState::unreachableURL const):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::loadURL):
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameProxy::didSameDocumentNavigation):
(WebKit::WebFrameProxy::setUnreachableURL):

  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::url const):
(WebKit::WebFrameProxy::provisionalURL const):
(WebKit::WebFrameProxy::unreachableURL const):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didChangeProvisionalURLForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidChangeProvisionalURL):
(WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadURLInFrame):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(-[PrintDelegate _webView:printFrame:]):
(-[PrintDelegate _webViewHeaderHeight:]):
(-[PrintDelegate _webViewFooterHeight:]):
(-[PrintDelegate _webView:drawHeaderInRect:forPageWithTitle:URL:]):
(-[PrintDelegate _webView:drawFooterInRect:forPageWithTitle:URL:]):
(callbacksEqual):
(TEST):

  • TestWebKitAPI/cocoa/TestWKWebView.h:
  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[TestWKWebView hostWindow]):

10:53 AM Changeset in webkit [222032] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] Add a switch to start the mini-browser in full-screen mode
https://bugs.webkit.org/show_bug.cgi?id=176904

Reviewed by Carlos Garcia Campos.

  • MiniBrowser/gtk/main.c:

(main):

10:38 AM Changeset in webkit [222031] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Follow up expectations to r222008.

Unreviewed test gardening.

  • platform/ios/TestExpectations:
10:17 AM Changeset in webkit [222030] by Ryan Haddad
  • 19 edits
    15 deletes in trunk

Unreviewed, rolling out r222015.

The LayoutTests added with this change are flaky.

Reverted changeset:

"Web Inspector: Timeline should show when events
preventDefault() was called on an event or not"
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222015

9:56 AM Changeset in webkit [222029] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix a typo that was preventing a test from running.

  • WebGPUShadingLanguageRI/Test.js:
9:45 AM Changeset in webkit [222028] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Fail to build using internal jhbuild if libgtk3-dev is not installed in the system
https://bugs.webkit.org/show_bug.cgi?id=176778

Reviewed by Carlos Alberto Lopez Perez.

We are building gtk+ in the jhbuild with introspection disabled, but Gtk-3.gir is required to build the
WebKitGTK+ introspection. Also, if wayland-protocols is not installed, gtk+ is built without the wayland backend
and it's no possible to enable the wayland target in WebKitGTK+ either.

  • gtk/jhbuild.modules: Do not disable introspection when building gtk+ and add wayland-protocols as a dependency.
9:43 AM Changeset in webkit [222027] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK][Wayland] Flickering when resizing the window
https://bugs.webkit.org/show_bug.cgi?id=176774

Reviewed by Michael Catanzaro.

This regressed when we switched to always start the wayland compositor. In
AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState() we check if the nested compositor is
running, which is always true now (if EGL and the required extensions are available). We should check if we are
in AC mode instead.

  • UIProcess/AcceleratedDrawingAreaProxy.cpp:

(WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):

9:35 AM Changeset in webkit [222026] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Allow passing sequences to various WebGL2 methods.
https://bugs.webkit.org/show_bug.cgi?id=176892

Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-14
Reviewed by Sam Weinig.

This matches the specification as well as Gecko and Chromium.

Source/WebCore:

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

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::uniform1uiv):
(WebCore::WebGL2RenderingContext::uniform2uiv):
(WebCore::WebGL2RenderingContext::uniform3uiv):
(WebCore::WebGL2RenderingContext::uniform4uiv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
(WebCore::WebGL2RenderingContext::vertexAttribI4iv):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

  • fast/canvas/webgl/webgl2/sequences-expected.txt: Added.
  • fast/canvas/webgl/webgl2/sequences.html: Added.
9:22 AM Changeset in webkit [222025] by commit-queue@webkit.org
  • 14 edits in trunk/Source/WebCore

[Cleanup] Cleanup uses of the FileList class
https://bugs.webkit.org/show_bug.cgi?id=176800

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

  • fileapi/FileList.cpp:
  • fileapi/FileList.h:

Store list of files as Refs, rather than RefPtrs.
Add direct accessor to the underlying Vector for faster iteration.
Add file(unsigned) function to allow direct indexing, rather than using
the DOM exposed item function which always does a length check.

  • Modules/entriesapi/HTMLInputElementEntriesAPI.cpp:

Remove unused RuntimeEnabledFeatures.h #include.
Use modern for loop and the new direct file vector access.

  • bindings/js/SerializedScriptValue.cpp:

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

Remove unnecessary #includes, adopt auto, and use modern for-loop
for FileList.

  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::files const):
(WebCore::DataTransfer::hasFileOfType):

Use auto.

(WebCore::DataTransfer::createForInputEvent):

Use initializer list for the typeToStringMap.

  • dom/DataTransferItemList.cpp:

(WebCore::DataTransferItemList::ensureItems const):

Use auto and modern for-loop for FileList.

  • html/FileInputType.cpp:

(WebCore::FileInputType::filesFromFormControlState):
(WebCore::FileInputType::saveFormControlState const):
(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::getTypeSpecificValue):
(WebCore::FileInputType::disabledAttributeChanged):
(WebCore::FileInputType::multipleAttributeChanged):
(WebCore::FileInputType::setFiles):
(WebCore::FileInputType::receiveDroppedFiles):
(WebCore::FileInputType::defaultToolTip const):

Adopt auto, brace-initialization, and modern for-loops.

  • html/FileListCreator.cpp:

(WebCore::appendDirectoryFiles):
(WebCore::FileListCreator::createFileList):

Update to work in terms of Vector<Ref<File>>.

  • html/FormController.h:

(WebCore::FormControlState::FormControlState):

Re-format existing constructors and add one that takes an r-value
Vector<String> to allow construction from a pre-created list (used
in FileInputType::saveFormControlState)

  • platform/DragData.h:
  • platform/gtk/DragDataGtk.cpp:

(WebCore::DragData::asFilenames const):

  • platform/mac/DragDataMac.mm:

(WebCore::DragData::asFilenames const):

  • platform/win/DragDataWin.cpp:

(WebCore::DragData::asFilenames const):

Convert asFilenames to return, rather than take, a Vector<String>.

9:15 AM Changeset in webkit [222024] by jmarcell@apple.com
  • 8 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222008. rdar://problem/34426473

9:15 AM Changeset in webkit [222023] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222005. rdar://problem/34426487

9:15 AM Changeset in webkit [222022] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/Source/WebCore

Cherry-pick r221968. rdar://problem/34169683

9:09 AM Changeset in webkit [222021] by Ryan Haddad
  • 1 edit
    1 add in trunk/LayoutTests

Rebaseline fast/forms/append-children-during-form-submission.html for iOS.

Unreviewed test gardening.

  • platform/ios/fast/forms/append-children-during-form-submission-expected.txt: Added.
8:37 AM Changeset in webkit [222020] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[Harfbuzz] Wrong offset returned by HarfBuzzShaper::offsetForPosition() when target point is at the middle of a character
https://bugs.webkit.org/show_bug.cgi?id=176897

Reviewed by Michael Catanzaro.

We should include the character when the point is greater than the center of the character.

Fixes: fast/multicol/hit-test-end-of-column-with-line-height.html

fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):

7:20 AM Changeset in webkit [222019] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark svg/as-image/svg-image-with-data-uri-use-data-uri.svg as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176901

Unreviewed test gardening.

  • platform/win/TestExpectations:
7:12 AM Changeset in webkit [222018] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Fix typo in entries-api test names.

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:17 AM Changeset in webkit [222017] by Yusuke Suzuki
  • 21 edits
    1 add in trunk

[JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
https://bugs.webkit.org/show_bug.cgi?id=176867

Reviewed by Sam Weinig.

JSTests:

  • microbenchmarks/object-get-own-property-symbols.js: Added.

(test):

Source/JavaScriptCore:

We rarely require private symbols when enumerating property names.
This patch adds PrivateSymbolMode::{Include,Exclude}. If PrivateSymbolMode::Exclude
is specified, PropertyNameArray does not include private symbols.
This removes many ad-hoc Identifier::isPrivateName() in enumeration operations.

One additional good thing is that we do not need to filter private symbols out from PropertyNameArray.
It allows us to use Object.keys()'s fast path for Object.getOwnPropertySymbols.

object-get-own-property-symbols 48.6275+-1.0021 38.1846+-1.7934 definitely 1.2735x faster

  • API/JSObjectRef.cpp:

(JSObjectCopyPropertyNames):

  • bindings/ScriptValue.cpp:

(Inspector::jsToInspectorValue):

  • bytecode/ObjectAllocationProfile.h:

(JSC::ObjectAllocationProfile::possibleDefaultPropertyCount):

  • runtime/EnumerationMode.h:
  • runtime/IntlObject.cpp:

(JSC::supportedLocales):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Stringifier):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):

  • runtime/JSPropertyNameEnumerator.cpp:

(JSC::JSPropertyNameEnumerator::create):

  • runtime/JSPropertyNameEnumerator.h:

(JSC::propertyNameEnumerator):

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetOwnPropertyDescriptors):
(JSC::objectConstructorAssign):
(JSC::objectConstructorValues):
(JSC::defineProperties):
(JSC::setIntegrityLevel):
(JSC::testIntegrityLevel):
(JSC::ownPropertyKeys):

  • runtime/PropertyNameArray.h:

(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::propertyNameMode const):
(JSC::PropertyNameArray::privateSymbolMode const):
(JSC::PropertyNameArray::addUncheckedInternal):
(JSC::PropertyNameArray::addUnchecked):
(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::isUidMatchedToTypeMode):
(JSC::PropertyNameArray::includeSymbolProperties const):
(JSC::PropertyNameArray::includeStringProperties const):
(JSC::PropertyNameArray::mode const): Deleted.

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::performGetOwnPropertyNames):

Source/WebCore:

  • bindings/js/JSDOMConvertRecord.h:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):

  • bridge/NP_jsobject.cpp:

(_NPN_Enumerate):

Source/WebKit:

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::enumerate):

Source/WebKitLegacy/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::enumerate):

2:22 AM Changeset in webkit [222016] by rniwa@webkit.org
  • 1 edit
    2 copies in trunk/LayoutTests

Reverted r222014, and added El Capitan specific result for fast/forms/append-children-during-form-submission.html

  • fast/forms/append-children-during-form-submission-expected.txt: Reverted r222014.
  • platform/mac-elcapitan/fast/forms/append-children-during-form-submission-expected.txt: Added.
12:57 AM Changeset in webkit [222015] by commit-queue@webkit.org
  • 19 edits
    15 adds in trunk

Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
<rdar://problem/34290931>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-14
Reviewed by Devin Rousso.

Source/WebCore:

Tests: inspector/timeline/timeline-event-CancelAnimationFrame.html

inspector/timeline/timeline-event-EventDispatch.html
inspector/timeline/timeline-event-FireAnimationFrame.html
inspector/timeline/timeline-event-RequestAnimationFrame.html
inspector/timeline/timeline-event-TimerFire.html
inspector/timeline/timeline-event-TimerInstall.html
inspector/timeline/timeline-event-TimerRemove.html

  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchEvent):
Include defaultPrevented when notifying inspector.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didDispatchEventImpl):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didDispatchEvent):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
Pass defaultPrevented on to agent.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didDispatchEvent):
(WebCore::InspectorTimelineAgent::didLayout):
(WebCore::InspectorTimelineAgent::didPaint):

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::appendLayoutRoot):
(WebCore::TimelineRecordFactory::appendDidDispatchEventData):

  • inspector/TimelineRecordFactory.h:

Append a boolean defaultPrevented property on the EventDispatch timeline record's data.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:

New string.

  • UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager.prototype._processRecord):
Include the whole data object as extra details.

  • UserInterface/Models/ScriptTimelineRecord.js:

(WI.ScriptTimelineRecord):
(WI.ScriptTimelineRecord.prototype.get extraDetails):
Wholesale copy of the extra data instead of just a single property.

  • UserInterface/Views/ScriptDetailsTimelineView.js:

(WI.ScriptDetailsTimelineView):
Give the name column more initial space, there is still extra space
after this adjustment but name is comfortably larger (and the most
likely to be expanded).

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WI.ScriptTimelineDataGridNode.prototype.get subtitle):
Include "default prevented" as the event's subtitle if it was prevented.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Agent.prototype.dispatchEvent):
(InspectorBackend.Agent):

  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WI.loaded):
Add the ScriptProfilerObserver to tests since it is on by default for Timelines.

LayoutTests:

  • inspector/timeline/resources/timeline-event-utilities.js: Added.

(TestPage.registerInitializer.window.captureTimelineWithScript):
(TestPage.registerInitializer):
(finishRecording):
Helper code for creating a recording from a function.

  • inspector/timeline/timeline-event-CancelAnimationFrame-expected.txt: Added.
  • inspector/timeline/timeline-event-CancelAnimationFrame.html: Added.
  • inspector/timeline/timeline-event-EventDispatch-expected.txt: Added.
  • inspector/timeline/timeline-event-EventDispatch.html: Added.
  • inspector/timeline/timeline-event-FireAnimationFrame-expected.txt: Added.
  • inspector/timeline/timeline-event-FireAnimationFrame.html: Added.
  • inspector/timeline/timeline-event-RequestAnimationFrame-expected.txt: Added.
  • inspector/timeline/timeline-event-RequestAnimationFrame.html: Added.
  • inspector/timeline/timeline-event-TimerFire-expected.txt: Added.
  • inspector/timeline/timeline-event-TimerFire.html: Added.
  • inspector/timeline/timeline-event-TimerInstall-expected.txt: Added.
  • inspector/timeline/timeline-event-TimerInstall.html: Added.
  • inspector/timeline/timeline-event-TimerRemove-expected.txt: Added.
  • inspector/timeline/timeline-event-TimerRemove.html: Added.

Tests for different, specific, Timeline domain EventTypes.
This includes EventDispatch with its new "defaultPrevented" details data.

12:37 AM Changeset in webkit [222014] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Rebaseline a test after r222005.

  • fast/forms/append-children-during-form-submission-expected.txt:
12:01 AM Changeset in webkit [222013] by commit-queue@webkit.org
  • 12 edits
    1 add in trunk

Introduce the option to mark an HTML element as having AutoFill available.
https://bugs.webkit.org/show_bug.cgi?id=176710

Patch by Maureen Daum <mdaum@apple.com> on 2017-09-14
Reviewed by Alex Christensen.

Source/WebCore:

Introduce the option to mark an HTML element as having AutoFill available. Accessibility
can use this property when deciding whether to announce that the focused field offers
AutoFill.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isValueAutofillAvailable const):
Check if the field is explicitly marked as having AutoFill available.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::HTMLInputElement):

  • html/HTMLInputElement.h:

(WebCore::HTMLInputElement::isAutoFillAvailable const):
(WebCore::HTMLInputElement::setAutoFillAvailable):

Source/WebKit:

Introduce the option to mark an HTML element as having AutoFill available. Accessibility
can use this property when deciding whether to announce that the focused field offers
AutoFill.

  • WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:

(WKBundleNodeHandleGetHTMLInputElementAutoFillAvailable):
(WKBundleNodeHandleSetHTMLInputElementAutoFillAvailable):

  • WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::isAutoFillAvailable const):
(WebKit::InjectedBundleNodeHandle::setAutoFillAvailable):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:

Tools:

Add an API test that verifies after we mark a field as having AutoFill available,
Accessibility also considers it to have AutoFill available.

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

Create an input element, mark it as having AutoFill available, then focus it so that
we can get the accessibility information for it. Ask accessibility whether it considers
the field to have AutoFill available, and pick the alert message based on that.
(-[AutoFillAvailable webProcessPlugIn:didCreateBrowserContextController:]):

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(TEST):
(-[AutoFillAvailableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
Verify that we get the alert message indicating that accessibility indeed considers
the input element as having AutoFill available after we explicitly marked it as so.

Note: See TracTimeline for information about the timeline view.