Timeline
Sep 18, 2017:
- 11:41 PM Changeset in webkit [222204] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 20 edits6 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
-
- 5 edits2 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
-
- 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
-
- 12 edits6 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
-
- 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
-
- 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
-
- 69 edits1 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
-
- 5 edits1 copy1 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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,remoteObjectwill 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
-
- 7 edits1 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
-
- 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
-
- 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
-
- 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
-
- 16 edits2 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
-
- 8 edits1 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
-
- 11 edits3 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
-
- 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
-
- 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
-
- 2 edits in trunk/LayoutTests
Another WK1 unflake attempt.
- transitions/transition-display-property-2.html:
- 1:48 PM Changeset in webkit [222177] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 2 edits in trunk/Tools
Unreviewed, fix typo.
- WebGPUShadingLanguageRI/WSL.md:
- 11:57 AM Changeset in webkit [222172] by
-
- 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
-
- 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_recordingCanvasto null whenever a recording has finished and been sent to the
frontend. It is also necessary to do this insidestopRecording, 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
-
- 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
-
- 49 edits13 adds4 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
-
- 4 edits2 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
-
- 4 edits2 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
-
- 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
-
- 9 edits3 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
-
- 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
-
- 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
-
- 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
-
- 2 edits1 copy1 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
-
- 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
-
- 1 edit in trunk/Tools/ChangeLog
Land a patch to verify svn->git update is working.
- 9:26 AM Changeset in webkit [222158] by
-
- 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
-
- 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
-
- 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
-
- 1 edit in trunk/Tools/ChangeLog
Update my status.
Unreviewed.
- Scripts/webkitpy/common/config/contributors.json:
- 9:26 AM Changeset in webkit [222154] by
-
- 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
-
- 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
-
- 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
-
- 22 edits2 moves2 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
-
- 36 edits5 copies1 move1 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
-
- 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
-
- 10 edits1 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
-
- 8 edits2 moves2 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
-
- 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
-
- 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
-
- 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
-
- 27 edits2 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
-
- 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
-
- 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
-
- 1 edit1 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
-
- 11 edits1 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
-
- 11 edits4 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
-
- 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
-
- 20 edits2 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
-
- 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
-
- 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
-
- 3 edits1 copy1 add2 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
-
- 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.