Timeline
Aug 28, 2016:
- 11:55 PM Changeset in webkit [205111] by
-
- 12 edits5 adds in trunk
Add support for non-BMP operators U+1EEF0 and U+1EEF1
https://bugs.webkit.org/show_bug.cgi?id=153984
Source/WebCore:
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-25
Reviewed by Darin Adler.
Tests: mathml/presentation/non-bmp-operators-spacing.html
mathml/presentation/non-bmp-operators-stretching.html
- mathml/MathMLOperatorDictionary.cpp: We move the definition of operator dictionary Entry
here as it is not used by external code.
We now also accept non-BMP operators and add entries for U+1EEF0 and U+1EEF1.
(WebCore::extractProperty): Helper function to convert from Entry structure to a Property
structure.
(WebCore::MathMLOperatorDictionary::search): This function now accepts a non-BMP parameter
and returns a Property structure.
(WebCore::MathMLOperatorDictionary::isVertical): This function now accepts a non-BMP parameter.
- mathml/MathMLOperatorDictionary.h: Replace the Entry structure with a Property structure
which was used by MathMLOperatorElement. Update the signatures of search and isVertical.
- mathml/MathMLOperatorElement.cpp:
(WebCore::MathMLOperatorElement::parseOperatorChar): Remove the special case that excludes
non-BMP operators.
(WebCore::MathMLOperatorElement::computeDictionaryProperty): Rename the property structure
to use the one moved into MathMLOperatorDictionary.h. We no longer need to convert the result
of the search call.
(WebCore::MathMLOperatorElement::dictionaryProperty): Rename the property structure.
- mathml/MathMLOperatorElement.h: Make OperatorChar accept non-BMP operators.
MathMLOperatorElement::DictionaryProperty is now moved into MathMLOperatorDictionary
and renamed Property.
- rendering/mathml/MathOperator.cpp: Accept non-BMP operators.
- rendering/mathml/MathOperator.h: Ditto.
- rendering/mathml/RenderMathMLFencedOperator.cpp:
(WebCore::RenderMathMLFencedOperator::updateOperatorContent): Adjust code to use the new
return type of MathMLOperatorDictionary::search.
- rendering/mathml/RenderMathMLFencedOperator.h: Accept non-BMP operators.
- rendering/mathml/RenderMathMLOperator.cpp: Ditto.
- rendering/mathml/RenderMathMLOperator.h: Ditto.
LayoutTests:
We add two reftests to check that the non-BMP operators are properly
handled by the MathML dictionary (form, properties, direction) as well
as the rendering code (spacing, stretching). We test the new horizontal
strechy operators U+1EEF0 and U+1EEF1 as well as the letter U+1D400
which is not a real mathematical operator. We add a minimal test
font which contains a black square for U+005F, U+1EEF0, U+1EEF1, U+1D400
and the data that can be used to stretch them horizontally.
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-25
Reviewed by Darin Adler.
- mathml/presentation/non-bmp-operators-spacing-expected.html: Added.
- mathml/presentation/non-bmp-operators-spacing.html: Added.
- mathml/presentation/non-bmp-operators-stretching-expected.html: Added.
- mathml/presentation/non-bmp-operators-stretching.html: Added.
- mathml/presentation/non-bmp-operators.woff: Added.
- 11:49 PM Changeset in webkit [205110] by
-
- 11 edits2 adds in trunk
[Fetch API] Ensure response cloning works when data is loading
https://bugs.webkit.org/show_bug.cgi?id=161137
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-28
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/response/response-clone-expected.txt:
- web-platform-tests/fetch/api/response/response-clone.html: New tests highly inspired from Chromium similar tests.
Source/WebCore:
Test: http/tests/fetch/clone-after-load-is-finished.html and updated wpt test
FetchBody is only able to clone data when requested by Response in case the data is already there.
If data is loaded from FetchLoader, each received chunk should be given to each cloned response.
The simplest approach is to create a ReadableStream body for the cloned Response and use it for the teeing.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::BodyLoader::didSucceed): Postpone stream closing if there is still data to enqueue in the FetchBody.
- Modules/fetch/FetchResponse.h:
- Modules/fetch/FetchResponse.idl:
- Modules/fetch/FetchResponse.js:
(clone): If response is being loaded, create a ReadableStream body so that loaded data cloning is handled by ReadableStream tee.
- Modules/streams/ReadableStreamInternals.js: Restrict firstReadCallback to the case of a readable ReadableStream.
If stream is errored or closed, FetchResponse will already have disposed of its source.
(readFromReadableStreamDefaultReader):
- bindings/js/WebCoreBuiltinNames.h:
LayoutTests:
- http/tests/fetch/clone-response-body-expected.txt: Added.
- http/tests/fetch/clone-response-body.html: Added.
- 10:57 PM Changeset in webkit [205109] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 6:19 PM Changeset in webkit [205108] by
-
- 3 edits in trunk/LayoutTests
Remove flakiness expectations from switch to threaded compositor
This is completely hopeless, since there is a seemingly-unlimited number of tests that have
been broken. Suppressing an arbitrary subset of the failures is not helping anything. Keep
only records for tests that are really flaky.
Retain expectations for flaky timeouts and crashes.
- TestExpectations:
- platform/gtk/TestExpectations:
- 4:31 PM Changeset in webkit [205107] by
-
- 6 edits in trunk/Source/JavaScriptCore
Make SpeculatedType a 64-bit integer
https://bugs.webkit.org/show_bug.cgi?id=161268
Reviewed by Filip Pizlo and Benjamin Poulain.
I'm going to introduce two new types into this and we only
have room for one in 32-bits. So, this patch widens SpeculatedType
to 64 bits. This also pulls this information through the DFG where
we needed to change DFGNode to support this.
- bytecode/SpeculatedType.h:
- dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToPutHint):
(JSC::DFG::Node::promotedLocationDescriptor):
- dfg/DFGNode.h:
(JSC::DFG::Node::Node):
(JSC::DFG::Node::convertToCheckStructure):
(JSC::DFG::Node::constant):
(JSC::DFG::Node::convertToConstant):
(JSC::DFG::Node::convertToConstantStoragePointer):
(JSC::DFG::Node::convertToPutStack):
(JSC::DFG::Node::convertToGetStack):
(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToMultiGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::convertToMultiPutByOffset):
(JSC::DFG::Node::convertToPhantomNewObject):
(JSC::DFG::Node::convertToPhantomNewFunction):
(JSC::DFG::Node::convertToPhantomNewGeneratorFunction):
(JSC::DFG::Node::convertToPhantomCreateActivation):
(JSC::DFG::Node::convertToGetLocal):
(JSC::DFG::Node::lazyJSValue):
(JSC::DFG::Node::initializationValueForActivation):
(JSC::DFG::Node::tryGetVariableAccessData):
(JSC::DFG::Node::variableAccessData):
(JSC::DFG::Node::unlinkedLocal):
(JSC::DFG::Node::unlinkedMachineLocal):
(JSC::DFG::Node::stackAccessData):
(JSC::DFG::Node::phi):
(JSC::DFG::Node::identifierNumber):
(JSC::DFG::Node::getPutInfo):
(JSC::DFG::Node::accessorAttributes):
(JSC::DFG::Node::newArrayBufferData):
(JSC::DFG::Node::indexingType):
(JSC::DFG::Node::typedArrayType):
(JSC::DFG::Node::inlineCapacity):
(JSC::DFG::Node::scopeOffset):
(JSC::DFG::Node::capturedArgumentsOffset):
(JSC::DFG::Node::variablePointer):
(JSC::DFG::Node::callVarargsData):
(JSC::DFG::Node::loadVarargsData):
(JSC::DFG::Node::targetBytecodeOffsetDuringParsing):
(JSC::DFG::Node::targetBlock):
(JSC::DFG::Node::branchData):
(JSC::DFG::Node::switchData):
(JSC::DFG::Node::getHeapPrediction):
(JSC::DFG::Node::cellOperand):
(JSC::DFG::Node::watchpointSet):
(JSC::DFG::Node::storagePointer):
(JSC::DFG::Node::uidOperand):
(JSC::DFG::Node::typeInfoOperand):
(JSC::DFG::Node::transition):
(JSC::DFG::Node::structureSet):
(JSC::DFG::Node::structure):
(JSC::DFG::Node::storageAccessData):
(JSC::DFG::Node::multiGetByOffsetData):
(JSC::DFG::Node::multiPutByOffsetData):
(JSC::DFG::Node::objectMaterializationData):
(JSC::DFG::Node::arrayMode):
(JSC::DFG::Node::arithMode):
(JSC::DFG::Node::arithRoundingMode):
(JSC::DFG::Node::setArithRoundingMode):
(JSC::DFG::Node::executionCounter):
(JSC::DFG::Node::typeLocation):
(JSC::DFG::Node::basicBlockLocation):
(JSC::DFG::Node::numberOfArgumentsToSkip):
(JSC::DFG::Node::OpInfoWrapper::OpInfoWrapper):
(JSC::DFG::Node::OpInfoWrapper::operator=):
- dfg/DFGOpInfo.h:
(JSC::DFG::OpInfo::OpInfo):
- dfg/DFGPromotedHeapLocation.h:
(JSC::DFG::PromotedLocationDescriptor::imm1):
(JSC::DFG::PromotedLocationDescriptor::imm2):
- 3:38 PM Changeset in webkit [205106] by
-
- 7 edits in trunk/Source
document.title setter can't throw.
<https://webkit.org/b/161302>
Reviewed by Antti Koivisto.
Source/WebCore:
Remove [SetterRaisesException] from document.title and replace
ExceptionCode propagation with ASSERT_NO_EXCEPTION.
Setting the .textContent of a SVGTitleElement or HTMLTitleElement
will never fail, so there's no exception to propagate.
- dom/Document.cpp:
(WebCore::Document::setTitle):
- dom/Document.h:
- dom/Document.idl:
- html/ImageDocument.cpp:
(WebCore::ImageDocument::finishedParsing):
Source/WebKit/mac:
- DOM/DOMDocument.mm:
(-[DOMDocument setTitle:]):
- 10:36 AM Changeset in webkit [205105] by
-
- 9 edits in trunk/Source/WebCore
MathML renderers should use struct to pass long list of LayoutUnits
https://bugs.webkit.org/show_bug.cgi?id=161084
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-23
Reviewed by Darin Adler.
RenderMathMLFraction, RenderMathMLMenclose, RenderMathMLScripts and RenderMathMLUnderOver
have helper functions to retrieve a list of LayoutUnit parameters. We gather them in a single
struct instead of using a long list of LayoutUnit& parameters.
No new tests, behavior is unchanged.
- rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::getFractionParameters):
(WebCore::RenderMathMLFraction::getStackParameters):
(WebCore::RenderMathMLFraction::layoutBlock):
- rendering/mathml/RenderMathMLFraction.h:
- rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::getSpaceAroundContent):
(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::layoutBlock):
- rendering/mathml/RenderMathMLMenclose.h:
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::getScriptMetricsAndLayoutIfNeeded):
(WebCore::RenderMathMLScripts::layoutBlock):
- rendering/mathml/RenderMathMLScripts.h:
- rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::getVerticalParameters):
(WebCore::RenderMathMLUnderOver::layoutBlock):
- rendering/mathml/RenderMathMLUnderOver.h:
- 9:54 AM Changeset in webkit [205104] by
-
- 17 edits in trunk/Source
Clean up some .text attribute setters that don't throw.
<https://webkit.org/b/161292>
Reviewed by Darin Adler.
Source/WebCore:
Remove [SetterRaisesException] for three .text attributes
and replace them with ASSERT_NO_EXCEPTION.
These setters behave like .textContent, which can't throw as
it's always okay to replace an Element's children with a Text.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setText):
- html/HTMLAnchorElement.h:
- html/HTMLAnchorElement.idl:
- html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::setText):
- html/HTMLOptionElement.h:
- html/HTMLOptionElement.idl:
- html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::setText):
- html/HTMLTitleElement.h:
- html/HTMLTitleElement.idl:
Source/WebKit/mac:
- DOM/DOMHTMLTitleElement.mm:
(-[DOMHTMLTitleElement setText:]):
- 8:46 AM Changeset in webkit [205103] by
-
- 8 edits20 adds2 deletes in trunk/Source/WebCore
Initial landing of CSS Parser Tokenization (and files to support that). Not used yet.
https://bugs.webkit.org/show_bug.cgi?id=161174
This code is imported from Blink and is their CSS parser (modified to work in WebKit).
It is from commit e4bb90df7f2ed8a63975b5ed27a1b488cb9b146f, Mon Aug 22 2016.
Reviewed by Simon Fraser.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSMarkup.cpp: Added.
(WebCore::isCSSTokenizerIdentifier):
(WebCore::serializeCharacter):
(WebCore::serializeCharacterAsCodePoint):
(WebCore::serializeIdentifier):
(WebCore::serializeString):
(WebCore::serializeURI):
(WebCore::serializeFontFamily):
- css/CSSMarkup.h: Added.
- css/CSSOMUtils.cpp: Removed.
- css/CSSOMUtils.h: Removed.
- css/CSSSelector.cpp:
- css/parser/CSSParserFastPaths.cpp: Added.
- css/parser/CSSParserFastPaths.h: Added.
- css/parser/CSSParserIdioms.h: Added.
(WebCore::isCSSSpace):
(WebCore::isNameStartCodePoint):
(WebCore::isNameCodePoint):
- css/parser/CSSParserObserver.h: Added.
(WebCore::CSSParserObserver::~CSSParserObserver):
- css/parser/CSSParserObserverWrapper.cpp: Added.
(WebCore::CSSParserObserverWrapper::startOffset):
(WebCore::CSSParserObserverWrapper::previousTokenStartOffset):
(WebCore::CSSParserObserverWrapper::endOffset):
(WebCore::CSSParserObserverWrapper::skipCommentsBefore):
(WebCore::CSSParserObserverWrapper::yieldCommentsBefore):
- css/parser/CSSParserObserverWrapper.h: Added.
(WebCore::CSSParserObserverWrapper::CSSParserObserverWrapper):
(WebCore::CSSParserObserverWrapper::observer):
(WebCore::CSSParserObserverWrapper::addComment):
(WebCore::CSSParserObserverWrapper::addToken):
(WebCore::CSSParserObserverWrapper::finalizeConstruction):
- css/parser/CSSParserToken.cpp: Added.
(WebCore::cssPrimitiveValueUnitFromTrie):
(WebCore::stringToUnitType):
(WebCore::CSSParserToken::CSSParserToken):
(WebCore::CSSParserToken::convertToDimensionWithUnit):
(WebCore::CSSParserToken::convertToPercentage):
(WebCore::CSSParserToken::delimiter):
(WebCore::CSSParserToken::numericSign):
(WebCore::CSSParserToken::numericValueType):
(WebCore::CSSParserToken::numericValue):
(WebCore::CSSParserToken::parseAsUnresolvedCSSPropertyID):
(WebCore::CSSParserToken::id):
(WebCore::CSSParserToken::functionId):
(WebCore::CSSParserToken::hasStringBacking):
(WebCore::CSSParserToken::copyWithUpdatedString):
(WebCore::CSSParserToken::valueDataCharRawEqual):
(WebCore::CSSParserToken::operator==):
(WebCore::CSSParserToken::serialize):
- css/parser/CSSParserToken.h: Added.
(WebCore::CSSParserToken::operator!=):
(WebCore::CSSParserToken::type):
(WebCore::CSSParserToken::value):
(WebCore::CSSParserToken::getHashTokenType):
(WebCore::CSSParserToken::getBlockType):
(WebCore::CSSParserToken::unitType):
(WebCore::CSSParserToken::unicodeRangeStart):
(WebCore::CSSParserToken::unicodeRangeEnd):
(WebCore::CSSParserToken::initValueFromStringView):
- css/parser/CSSParserTokenRange.cpp: Added.
(WebCore::CSSParserTokenRange::eofToken):
(WebCore::CSSParserTokenRange::makeSubRange):
(WebCore::CSSParserTokenRange::consumeBlock):
(WebCore::CSSParserTokenRange::consumeComponentValue):
(WebCore::CSSParserTokenRange::serialize):
- css/parser/CSSParserTokenRange.h: Added.
(WebCore::CSSParserTokenRange::CSSParserTokenRange):
(WebCore::CSSParserTokenRange::atEnd):
(WebCore::CSSParserTokenRange::end):
(WebCore::CSSParserTokenRange::peek):
(WebCore::CSSParserTokenRange::consume):
(WebCore::CSSParserTokenRange::consumeIncludingWhitespace):
(WebCore::CSSParserTokenRange::consumeWhitespace):
(WebCore::CSSParserTokenRange::begin):
- css/parser/CSSPropertyParser.cpp: Added.
(WebCore::hasPrefix):
(WebCore::cssPropertyID):
(WebCore::cssPropertyNameIOSAliasing):
(WebCore::isAppleLegacyCssValueKeyword):
(WebCore::cssValueKeywordID):
(WebCore::unresolvedCSSPropertyID):
- css/parser/CSSPropertyParser.h: Added.
(WebCore::CSSPropertyParser::inQuirksMode):
- css/parser/CSSPropertyParserHelpers.cpp: Added.
- css/parser/CSSPropertyParserHelpers.h: Added.
(WebCore::CSSPropertyParserHelpers::identMatches):
(WebCore::CSSPropertyParserHelpers::consumeIdent):
(WebCore::CSSPropertyParserHelpers::isCSSWideKeyword):
- css/parser/CSSTokenizer.cpp: Added.
(WebCore::CSSTokenizer::Scope::Scope):
(WebCore::CSSTokenizer::Scope::tokenRange):
(WebCore::CSSTokenizer::Scope::tokenCount):
(WebCore::isNewLine):
(WebCore::twoCharsAreValidEscape):
(WebCore::CSSTokenizer::CSSTokenizer):
(WebCore::CSSTokenizer::reconsume):
(WebCore::CSSTokenizer::consume):
(WebCore::CSSTokenizer::whiteSpace):
(WebCore::CSSTokenizer::blockStart):
(WebCore::CSSTokenizer::blockEnd):
(WebCore::CSSTokenizer::leftParenthesis):
(WebCore::CSSTokenizer::rightParenthesis):
(WebCore::CSSTokenizer::leftBracket):
(WebCore::CSSTokenizer::rightBracket):
(WebCore::CSSTokenizer::leftBrace):
(WebCore::CSSTokenizer::rightBrace):
(WebCore::CSSTokenizer::plusOrFullStop):
(WebCore::CSSTokenizer::asterisk):
(WebCore::CSSTokenizer::lessThan):
(WebCore::CSSTokenizer::comma):
(WebCore::CSSTokenizer::hyphenMinus):
(WebCore::CSSTokenizer::solidus):
(WebCore::CSSTokenizer::colon):
(WebCore::CSSTokenizer::semiColon):
(WebCore::CSSTokenizer::hash):
(WebCore::CSSTokenizer::circumflexAccent):
(WebCore::CSSTokenizer::dollarSign):
(WebCore::CSSTokenizer::verticalLine):
(WebCore::CSSTokenizer::tilde):
(WebCore::CSSTokenizer::commercialAt):
(WebCore::CSSTokenizer::reverseSolidus):
(WebCore::CSSTokenizer::asciiDigit):
(WebCore::CSSTokenizer::letterU):
(WebCore::CSSTokenizer::nameStart):
(WebCore::CSSTokenizer::stringStart):
(WebCore::CSSTokenizer::endOfFile):
(WebCore::CSSTokenizer::nextToken):
(WebCore::CSSTokenizer::consumeNumber):
(WebCore::CSSTokenizer::consumeNumericToken):
(WebCore::CSSTokenizer::consumeIdentLikeToken):
(WebCore::CSSTokenizer::consumeStringTokenUntil):
(WebCore::CSSTokenizer::consumeUnicodeRange):
(WebCore::isNonPrintableCodePoint):
(WebCore::CSSTokenizer::consumeUrlToken):
(WebCore::CSSTokenizer::consumeBadUrlRemnants):
(WebCore::CSSTokenizer::consumeSingleWhitespaceIfNext):
(WebCore::CSSTokenizer::consumeUntilCommentEndFound):
(WebCore::CSSTokenizer::consumeIfNext):
(WebCore::CSSTokenizer::consumeName):
(WebCore::CSSTokenizer::consumeEscape):
(WebCore::CSSTokenizer::nextTwoCharsAreValidEscape):
(WebCore::CSSTokenizer::nextCharsAreNumber):
(WebCore::CSSTokenizer::nextCharsAreIdentifier):
(WebCore::CSSTokenizer::registerString):
- css/parser/CSSTokenizer.h: Added.
(WebCore::CSSTokenizer::Scope::storeString):
- css/parser/CSSTokenizerInputStream.cpp: Added.
(WebCore::CSSTokenizerInputStream::CSSTokenizerInputStream):
(WebCore::CSSTokenizerInputStream::advanceUntilNonWhitespace):
(WebCore::CSSTokenizerInputStream::getDouble):
- css/parser/CSSTokenizerInputStream.h: Added.
(WebCore::CSSTokenizerInputStream::nextInputChar):
(WebCore::CSSTokenizerInputStream::peekWithoutReplacement):
(WebCore::CSSTokenizerInputStream::advance):
(WebCore::CSSTokenizerInputStream::pushBack):
(WebCore::CSSTokenizerInputStream::skipWhilePredicate):
(WebCore::CSSTokenizerInputStream::length):
(WebCore::CSSTokenizerInputStream::offset):
(WebCore::CSSTokenizerInputStream::rangeAt):
- platform/Length.h:
- 7:45 AM Changeset in webkit [205102] by
-
- 4 edits2 adds in trunk
Should never be reached failure in WebCore::RenderFlexibleBox::alignChildren
https://bugs.webkit.org/show_bug.cgi?id=151591
<rdar://problem/27711829>
Reviewed by Darin Adler.
Source/WebCore:
The align-self and align-items CSS properties were originally defined in the
Flexbible Box specification. The new CSS Box Alignment specification tries
to generalize them so they can be used by other layout models, as it's the
case of the GridLayout spec.
Since we have implemented the Grid Layout spec behind a runtime flag, we should
do the same with the new syntax of these properties.
Test: css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html
- css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::alignChildren):
LayoutTests:
Test to verify that align-self and align-items CSS properties use the old
syntax when the Grid Layout feature is not enabled.
- css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled-expected.txt: Added.
- css3/flexbox/new-alignment-values-invalid-if-grid-not-enabled.html: Added.
- 2:35 AM Changeset in webkit [205101] by
-
- 6 edits in trunk
Improve parsing of the menclose notation attribute value
https://bugs.webkit.org/show_bug.cgi?id=161045
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-28
Reviewed by Darin Adler.
Source/WebCore:
We improve the way the list of menclose notations is parsed to avoid allocating a vector and
accept any whitespace as separators.
New test cases in mathml/presentation/menclose-notation-equivalence.html
- mathml/MathMLMencloseElement.cpp: Include HTMLParserIdioms.h to use isHTMLSpace.
(WebCore::MathMLMencloseElement::addNotationFlags): Helper function to perform the relevant
addNotation calls from a notation name.
(WebCore::MathMLMencloseElement::parseNotationAttribute): Use only simple string operations
to determine the list of notations.
- mathml/MathMLMencloseElement.h: Declare the new helper function.
LayoutTests:
We add some cases in menclose-notation-equivalence to verify that one can use any sequence of
whitespace to separate notation values. We try with 0, 1, 2 or 3 notation values.
- mathml/presentation/menclose-notation-equivalence-expected.html:
- mathml/presentation/menclose-notation-equivalence.html:
- 1:50 AM Changeset in webkit [205100] by
-
- 5 edits in trunk/Source/WebCore
Make MathMLSpaceElement and MathMLTokenElement inherit from MathMLPresentationElement
https://bugs.webkit.org/show_bug.cgi?id=161232
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-28
Reviewed by Darin Adler.
The mrow-like features of MathMLPresentationElement are now moved into RenderMathMLRow.
Hence we make MathMLSpaceElement and MathMLTokenElement inherit from the generic class
MathMLPresentationElement for presentation MathML elements.
No new tests, already covered by existing tests.
- mathml/MathMLSpaceElement.cpp:
(WebCore::MathMLSpaceElement::MathMLSpaceElement): Derive from MathMLPresentationElement.
(WebCore::MathMLSpaceElement::parseAttribute): Ditto.
- mathml/MathMLSpaceElement.h: Ditto. Override acceptsDisplayStyleAttribute as a small
optimization. isPresentationMathML is no longer needed.
- mathml/MathMLTokenElement.cpp:
(WebCore::MathMLTokenElement::MathMLTokenElement): Derive from MathMLPresentationElement.
(WebCore::MathMLTokenElement::didAttachRenderers): Ditto.
(WebCore::MathMLTokenElement::childrenChanged): Ditto.
(WebCore::MathMLTokenElement::parseAttribute): Deleted. No need to override this function
any more since it's already implemented in MathMLPresentationElement.
- mathml/MathMLTokenElement.h: Derive from MathMLPresentationElement. Override
acceptsDisplayStyleAttribute as a small optimization. isPresentationMathML is no longer
needed.
- 1:41 AM Changeset in webkit [205099] by
-
- 3 edits in trunk/Source/WebCore
RenderMathMLRow::firstLineBaseline does not need to be overridden in RenderMathMLMenclose
https://bugs.webkit.org/show_bug.cgi?id=161127
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-28
Reviewed by Darin Adler.
RenderMathMLRow::firstLineBaseline already provides the correct calculation of ascent for
non-empty menclose elements. Empty menclose elements are not used in practice so the
calculated value is irrelevant. Aligning on mrow (i.e. leaving firstLineBaseline to 0)
is fine. This change allows to get rid of the m_ascent member and helps to keep good baseline
alignment when the zoom level changes (bug 161126).
No new tests, already covered by existing tests.
- rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::RenderMathMLMenclose): Remove initialization of m_ascent.
(WebCore::RenderMathMLMenclose::layoutBlock): No need to calculate m_ascent. The height and
content location can be determined without introducing local variables ascent or descent.
(WebCore::RenderMathMLMenclose::firstLineBaseline): Deleted. We just use the implementation
from RenderMathMLRow.
- rendering/mathml/RenderMathMLMenclose.h: Delete m_ascent and do not override
firstLineBaseline.
- 1:26 AM Changeset in webkit [205098] by
-
- 4 edits2 adds in trunk
More cleanup for the mpadded implementation
https://bugs.webkit.org/show_bug.cgi?id=161136
Source/WebCore:
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-28
Reviewed by Darin Adler.
We perform the following cleanup for the mpadded renderer class:
1) We do not store the ascent on the class. This may make update more reliable and will
help for general improvement of MathML ascents (bug 155879).
2) We split resolveWidth/resolveAttributes into smaller functions and improve the coding
style. This helps to calculate firstLineBaseline in 1).
3) We do not override updateFromElement and styleDidChange to perform setNeedsLayout calls.
These calls already seem unnecessary and can be removed even more safely after 1).
We add a test for style change. Change of attributes as well as metrics calcuation of empty
and non-empty mpadded elements are already covered by other tests.
Test: mathml/presentation/mpadded-style-change.html
- rendering/mathml/RenderMathMLPadded.cpp:
(WebCore::RenderMathMLPadded::voffset): New helper function to resolve voffset.
(WebCore::RenderMathMLPadded::lspace): Ditto for lspace.
(WebCore::RenderMathMLPadded::mpaddedWidth): Ditto for width.
(WebCore::RenderMathMLPadded::mpaddedHeight): Ditto for height.
(WebCore::RenderMathMLPadded::mpaddedDepth): Ditto for detph.
(WebCore::RenderMathMLPadded::computePreferredLogicalWidths): Use mpaddedWidth().
(WebCore::RenderMathMLPadded::layoutBlock): Use the new helper functions.
(WebCore::RenderMathMLPadded::firstLineBaseline): Use voffset or mpaddedHeight for baseline
calculation instead of m_padded.
(WebCore::RenderMathMLPadded::resolveWidth): Deleted. Renamed mpaddedWidth.
(WebCore::RenderMathMLPadded::resolveAttributes): Deleted. Split into smaller functions.
(WebCore::RenderMathMLPadded::updateFromElement): Deleted. We do not need to call
setNeedsLayout.
(WebCore::RenderMathMLPadded::styleDidChange): Deleted. Ditto.
- rendering/mathml/RenderMathMLPadded.h: Update function declaration and remove m_ascent.
LayoutTests:
We add a test for style change in mpadded.
Patch by Frederic Wang <fwang@igalia.com> on 2016-08-28
Reviewed by Darin Adler.
- mathml/presentation/mpadded-style-change-expected.html: Added.
- mathml/presentation/mpadded-style-change.html: Added.
Aug 27, 2016:
- 10:55 PM Changeset in webkit [205097] by
-
- 8 edits in trunk
URLParser should parse relative URLs
https://bugs.webkit.org/show_bug.cgi?id=161282
Patch by Alex Christensen <achristensen@webkit.org> on 2016-08-27
Reviewed by Darin Adler.
Source/WebCore:
Partially covered by new API tests, but once the parser is complete enough we can
use the url web platform tests to more fully test this. It's still a work in
progress only used by tests.
- platform/URLParser.cpp:
(WebCore::URLParser::urlLengthUntilPart):
(WebCore::URLParser::copyURLPartsUntil):
Added some helper functions to reduce redundant code. When parsing relative URLs,
we often want to copy large parts of the base URL, but the stopping point differs.
(WebCore::URLParser::parse):
The parser now returns a URL instead of an Optional<URL> because a URL has a m_isValid which behaves like Optional.
- platform/URLParser.h:
(WebCore::URLParser::parse):
Source/WTF:
- wtf/text/StringView.h:
Use a std::reference_wrapper for the StringView& to make it reassignable so we can add an operator=.
Tools:
- TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
Added some tests for the new operator=.
Test saving iterators, restoring iterators, and even assigning iterators to new CodePoints objects.
Using the same iterator to iterate multiple objects is bad practice, but it's possible and now tested.
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::checkRelativeURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::shouldFail):
Add some relative URL tests.
- 10:29 PM Changeset in webkit [205096] by
-
- 15 edits in trunk
Update generated bindings to throw a SecurityError when denying cross-origin access to properties
https://bugs.webkit.org/show_bug.cgi?id=161270
Reviewed by Darin Adler.
Source/WebCore:
Update generated bindings to throw a SecurityError when denying cross-origin
access to properties, as per the HTML specification:
- https://html.spec.whatwg.org/#crossorigingetownpropertyhelper-(-o,-p-)
- https://html.spec.whatwg.org/#crossoriginproperties-(-o-)
Firefox and Chrome already throw but Webkit was logging an error message and
returning undefined instead.
No new tests, updated existing tests.
- bindings/js/JSDOMBinding.cpp:
(WebCore::canAccessDocument):
(WebCore::BindingSecurity::shouldAllowAccessToNode):
- bindings/js/JSDOMBinding.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
LayoutTests:
Update / rebaseline existing tests to reflect behavior change.
- http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
- http/tests/security/cross-frame-access-call-expected.txt:
- http/tests/security/cross-frame-access-call.html:
- http/tests/security/cross-origin-window-property-access-expected.txt:
- http/tests/security/location-cross-origin-expected.txt:
- http/tests/security/location-cross-origin.html:
- http/tests/security/xss-DENIED-assign-location-href-javascript-expected.txt:
- http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-method-with-iframe-proto.html:
- 10:24 PM Changeset in webkit [205095] by
-
- 3 edits in trunk/Source/WebCore
Follow-up fixes after r205030.
https://bugs.webkit.org/show_bug.cgi?id=161216
Reviewed by Darin Adler.
- html/parser/HTMLParserIdioms.cpp:
(WebCore::isHTMLSpaceOrDelimiter):
(WebCore::isNumberStart):
(WebCore::parseHTMLListOfOfFloatingPointNumberValues):
- html/parser/HTMLParserIdioms.h:
- 6:27 PM Changeset in webkit [205094] by
-
- 13 edits in trunk
WTR needs an implementation of setAutomaticLinkDetectionEnabled
https://bugs.webkit.org/show_bug.cgi?id=87162
Patch by Jonathan Bedard <Jonathan Bedard> on 2016-08-27
Source/WebKit2:
Reviewed by Darin Adler
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetAutomaticLinkDetectionEnabled): Added WKBundleSetAutomaticLinkDetectionEnabled definition.
- WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetAutomaticLinkDetectionEnabled declaration.
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setAutomaticLinkDetectionEnabled): Added setAutomaticLinkDetectionEnabled definition.
- WebProcess/InjectedBundle/InjectedBundle.h: Added setAutomaticLinkDetectionEnabled declaration.
- WebProcess/WebProcess.h: Declared setTextCheckerState public.
Tools:
Reviewed by Darin Adler.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Added setAutomaticLinkDetectionEnabled binding.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting): Set automatic link detection to false by default.
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setAutomaticLinkDetectionEnabled): Added setAutomaticLinkDetectionEnabled definition.
- WebKitTestRunner/InjectedBundle/TestRunner.h: Added setAutomaticLinkDetectionEnabled declaration.
LayoutTests:
Reviewed by Darin Adler.
- platform/wk2/TestExpectations: Removed 2 now passing tests.
- 5:40 PM Changeset in webkit [205093] by
-
- 71 edits in trunk/Source/WebCore
Add final keyword to final classes and overriden methods in WebCore/css
https://bugs.webkit.org/show_bug.cgi?id=161182
Patch by Rawinder Singh <rawinder.singh-webkit@cisra.canon.com.au> on 2016-08-27
Reviewed by Darin Adler.
- Mark classes in the WebCore/css directory final as appropriate.
- Update WebCore/css classes so that overriden methods in final classes are marked final.
- css/CSSAnimationTriggerScrollValue.h:
- css/CSSAspectRatioValue.h:
- css/CSSBasicShapes.h:
- css/CSSBorderImageSliceValue.h:
- css/CSSCalculationValue.cpp:
(WebCore::determineCategory):
- css/CSSCalculationValue.h:
- css/CSSCanvasValue.h:
- css/CSSCharsetRule.h:
- css/CSSComputedStyleDeclaration.h:
- css/CSSContentDistributionValue.h:
- css/CSSCrossfadeValue.h:
- css/CSSCursorImageValue.h:
- css/CSSCustomPropertyValue.h:
- css/CSSFilterImageValue.h:
- css/CSSFontFaceLoadEvent.h:
- css/CSSFontFaceSrcValue.h:
- css/CSSFontFeatureValue.h:
- css/CSSFontSelector.h:
- css/CSSFontValue.h:
- css/CSSFunctionValue.h:
- css/CSSGradientValue.h:
- css/CSSGridAutoRepeatValue.h:
- css/CSSGridLineNamesValue.h:
- css/CSSGridTemplateAreasValue.h:
- css/CSSImageSetValue.h:
- css/CSSImageValue.h:
- css/CSSInheritedValue.h:
- css/CSSInitialValue.h:
- css/CSSKeyframeRule.h:
- css/CSSKeyframesRule.h:
- css/CSSLineBoxContainValue.h:
- css/CSSNamedImageValue.h:
- css/CSSPrimitiveValue.h:
- css/CSSReflectValue.h:
- css/CSSRevertValue.h:
- css/CSSRuleList.h:
- css/CSSSegmentedFontFace.h:
- css/CSSShadowValue.h:
- css/CSSStyleSheet.cpp:
- css/CSSStyleSheet.h:
- css/CSSSupportsRule.h:
- css/CSSTimingFunctionValue.h:
- css/CSSUnicodeRangeValue.h:
- css/CSSUnknownRule.h:
- css/CSSUnsetValue.h:
- css/CSSValue.cpp:
- css/CSSVariableDependentValue.h:
- css/CSSVariableValue.h:
- css/Counter.h:
- css/DOMCSSNamespace.h:
- css/DashboardRegion.h:
- css/LengthRepeat.h:
- css/MediaList.h:
- css/MediaQueryList.h:
- css/MediaQueryMatcher.h:
- css/Pair.h:
- css/PropertySetCSSStyleDeclaration.h:
- css/RGBColor.h:
- css/Rect.h:
- css/StyleMedia.h:
- css/StyleProperties.h:
- css/StyleRule.h:
- css/StyleRuleImport.h:
- css/StyleSheetContents.h:
- css/StyleSheetList.h:
- css/ViewportStyleResolver.h:
- css/WebKitCSSFilterValue.h:
- css/WebKitCSSRegionRule.h:
- css/WebKitCSSTransformValue.h:
- css/WebKitCSSViewportRule.h:
- 5:36 PM Changeset in webkit [205092] by
-
- 6 edits in trunk/Source
Add more Editing logging
https://bugs.webkit.org/show_bug.cgi?id=161287
Reviewed by Darin Adler.
Add logging which tracks how key events get from the UI process to the
web process, and down to form fields.
- editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::appliedEditing):
- editing/TypingCommand.cpp:
(WebCore::TypingCommand::insertText):
(WebCore::TypingCommand::insertTextAndNotifyAccessibility):
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::didEditInnerTextValue):
- page/EventHandler.cpp:
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::handleTextInputEvent):
- 5:15 PM Changeset in webkit [205091] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unused cxxabi.h include in JSGlobalObjectInspectorController.cpp
https://bugs.webkit.org/show_bug.cgi?id=161120
Patch by Don Olmstead <don.olmstead@am.sony.com> on 2016-08-27
Reviewed by Darin Adler.
- inspector/JSGlobalObjectInspectorController.cpp:
- 5:14 PM Changeset in webkit [205090] by
-
- 2 edits in trunk
[Win] Enable 'warning as error' compiler setting.
https://bugs.webkit.org/show_bug.cgi?id=161243
Reviewed by Darin Adler.
- Source/cmake/OptionsWin.cmake:
- 5:13 PM Changeset in webkit [205089] by
-
- 6 edits in trunk
Web Inspector: Make localizedString.js diff and commit friendly (UTF16 -> UTF8)
https://bugs.webkit.org/show_bug.cgi?id=28685
<rdar://problem/16460975>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-08-27
Reviewed by Darin Adler.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- WebInspectorUI.xcodeproj/project.pbxproj:
Convert the file to UTF-8. Future diffs should display as text.
Tools:
- Scripts/extract-localizable-js-strings:
- Scripts/update-webkit-localizable-strings:
WebInspectorUI localizedStrings.js is now UTF-8. Other clients of
this script still use UTF-16, so keep that the default.
- 5:12 PM Changeset in webkit [205088] by
-
- 16 edits5 deletes in trunk
Remove more custom JavaScript bindings
https://bugs.webkit.org/show_bug.cgi?id=161293
Patch by Sam Weinig <sam@webkit.org> on 2016-08-27
Reviewed by Darin Adler.
Source/WebCore:
Remove custom bindings for AudioContext, DOMFormData, MediaSession and WebKitPoint.
- Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::MediaSession):
- Modules/mediasession/MediaSession.h:
Change to take Document explicitly, since that is what it
expecting.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::create):
- Modules/webaudio/AudioContext.h:
Remove unused ExceptionCode parameter.
- Modules/webaudio/AudioContext.idl:
- html/DOMFormData.idl:
- html/HTMLFormElement.idl:
- page/WebKitPoint.idl:
Switch to use the generated constructor.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSBindingsAllInOne.cpp:
Remove files.
- bindings/js/JSAudioContextCustom.cpp: Removed.
- bindings/js/JSDOMFormDataCustom.cpp: Removed.
- bindings/js/JSMediaSessionCustom.cpp: Removed.
- bindings/js/JSWebKitPointCustom.cpp: Removed.
Remove in favor of generated variants.
- bindings/js/JSHTMLInputElementCustom.h: Removed.
Remove unused header.
- page/WebKitPoint.h:
(WebCore::WebKitPoint::create):
(WebCore::WebKitPoint::WebKitPoint):
Move NaN replacement into the implementation and out of the bindings.
LayoutTests:
- webaudio/audionode-expected.txt:
- webaudio/audionode.html:
Update test for correct behavior of the constructor.
- 5:11 PM Changeset in webkit [205087] by
-
- 2 edits in trunk/Tools
REGRESSION (r204052): Popovers on bot watcher's dashboard are broken
https://bugs.webkit.org/show_bug.cgi?id=161254
Reviewed by Darin Adler.
Simplify the CSS. My understanding that the CSS was correct, and the root cause
is tracked in bug 160478.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Popover.css:
- 5:10 PM Changeset in webkit [205086] by
-
- 9 edits in trunk/LayoutTests
Race between creating/deleting a database in test
https://bugs.webkit.org/show_bug.cgi?id=161285
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-08-27
Reviewed by Darin Adler.
Because IndexedDB creation is asynchronous, we were not waiting for the
database to be completely open before sending more commands. These
could race and give unexpected results. Wait for the database to be
successfully created before interacting with it.
- inspector/indexeddb/resources/utilities.js:
(createEmptyDatabase):
(createDatabaseWithStores):
Send a single when the database creation is completed.
- inspector/indexeddb/clearObjectStore-expected.txt:
- inspector/indexeddb/clearObjectStore.html:
- inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
- inspector/indexeddb/requestData-expected.txt:
- inspector/indexeddb/requestDatabase-expected.txt:
- inspector/indexeddb/requestDatabase.html:
- inspector/indexeddb/requestDatabaseNames.html:
Listen for the database created signal before proceeding
with the test.
- 3:13 PM Changeset in webkit [205085] by
-
- 9 edits2 adds in trunk
Source/WebCore:
Add adopted callback for custom elements
https://bugs.webkit.org/show_bug.cgi?id=161284
Reviewed by Antti Koivisto.
Added the support for adoptedCallback: https://dom.spec.whatwg.org/#concept-node-adopt
For now, we only support this callback on appendChild.
Test: fast/custom-elements/adopted-callback.html
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::invokeCallback): Added JSDOMGlobalObject* as an argument to the callback so that
we can invoke toJS on Document in invokeAdoptedCallback.
(WebCore::JSCustomElementInterface::setAdoptedCallback): Added.
(WebCore::JSCustomElementInterface::invokeAdoptedCallback): Added.
(WebCore::JSCustomElementInterface::setAttributeChangedCallback):
- bindings/js/JSCustomElementInterface.h:
(WebCore::JSCustomElementInterface::hasConnectedCallback): Added.
(WebCore::JSCustomElementInterface::hasDisconnectedCallback): Added.
(WebCore::JSCustomElementInterface::hasAdoptedCallback): Added.
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::JSCustomElementRegistry::define):
- dom/CustomElementReactionQueue.cpp:
(WebCore::CustomElementReactionQueueItem::CustomElementReactionQueueItem): Added a variant that takes two documents.
(WebCore::CustomElementReactionQueueItem::invoke):
(WebCore::CustomElementReactionQueue::enqueueConnectedCallbackIfNeeded): Fixed a bug that this function was always
enqueuing a callback even when the interface didn't have connectedCallback. Also, there is no need to check
the nullity of the interface since it should never be null.
(WebCore::CustomElementReactionQueue::enqueueDisconnectedCallbackIfNeeded): Ditto.
(WebCore::CustomElementReactionQueue::enqueueAdoptedCallbackIfNeeded): Added.
(WebCore::CustomElementReactionQueue::enqueueAttributeChangedCallbackIfNeeded): Assert that the interface is never
null instead of exiting early.
- dom/CustomElementReactionQueue.h:
- dom/Element.cpp:
(WebCore::Element::didMoveToNewDocument): Added a call to enqueueAdoptedCallbackIfNeeded.
LayoutTests:
adoptcallback
Add adopted callback for custom elements
https://bugs.webkit.org/show_bug.cgi?id=161284
Reviewed by Antti Koivisto.
- fast/custom-elements/adopted-callback-expected.txt: Added.
- fast/custom-elements/adopted-callback.html: Added.
- fast/custom-elements/resources/document-types.js:
(const.DocumentTypes.create):
- 2:34 PM Changeset in webkit [205084] by
-
- 2 edits in trunk/Source/WebCore
Fix the !PLATFORM(WIN) && USE(CURL) build.
https://bugs.webkit.org/show_bug.cgi?id=161281
Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2016-08-27
Reviewed by Alex Christensen.
- platform/network/curl/ResourceHandleCurl.cpp:
- 1:55 PM Changeset in webkit [205083] by
-
- 2 edits in trunk/LayoutTests
html/dom/interfaces.html is flaky due to WebSocket test
https://bugs.webkit.org/show_bug.cgi?id=161290
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27
- platform/mac/TestExpectations: Making html/dom/interfaces.html expectation specific to Release.
- 1:47 PM Changeset in webkit [205082] by
-
- 8 edits in trunk
[Fetch API] Opaque responses should not have any body
https://bugs.webkit.org/show_bug.cgi?id=161130
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/cors/cors-basic.js:
(cors): Adding response body checking.
Source/WebCore:
Covered by updated test.
Added a new ThreadableLoader option to receive or not opaque response body.
By default, option is set to Receive.
FetchLoader is setting it to DoNotReceive.
- Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::start):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse): Calling didFinishLoading just after didReceiveResponse in case of Opaque responses.
- loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
- loader/ThreadableLoader.h:
- loader/WorkerThreadableLoader.cpp:
(WebCore::LoaderTaskOptions::LoaderTaskOptions):
- 11:43 AM Changeset in webkit [205081] by
-
- 6 edits in trunk
[Fetch API] opaqueredirect responses should have their URL set to the original URL
https://bugs.webkit.org/show_bug.cgi?id=161194
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/redirect/redirect-mode.html:
- web-platform-tests/fetch/api/redirect/redirect-mode.js:
(redirectMode): Updating test to ease the computation of the absolute URL.
Source/WebCore:
Covered by updated tests.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse):
- loader/SubresourceLoader.cpp: Removing isNull ASSERT since we now set the response URL.
(WebCore::SubresourceLoader::willSendRequestInternal): Setting opaqueredirect response URL to the original URL.
- 11:07 AM Changeset in webkit [205080] by
-
- 7 edits in trunk
Add run-webkit-tests --print-expectations to show expectations for all or a subset of tests
https://bugs.webkit.org/show_bug.cgi?id=161217
Reviewed by Ryosuke Niwa.
Tools:
"run-webkit-tests --print-expectations" runs the same logic as running the tests, but
dumps out the lists of tests that would be run and skipped, and, for each, the entry
in TestExpectations that determines the expected outcome of the test.
This is an improved version of webkit-patch print-expectations.
See bug for sample output.
- Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._print_expectations_for_subset): Print out the list of tests and expected
outcome for some subset of tests.
(Manager.print_expectations): Do the same splitting by device class that running tests
does, and for each subset of tests, call _print_expectations_for_subset.
- Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser.expectation_for_skipped_test): Set the flag
expectation_line.not_applicable_to_current_platform
(TestExpectationLine.init): Init not_applicable_to_current_platform to False
(TestExpectationLine.expected_behavior): line.expectation is PASS by default,
even for skipped tests. This function returns a list relevant for display, taking the skipped
modifier into account.
(TestExpectationLine.create_passing_expectation): expectations is normally a list, not a set.
(TestExpectations.readable_filename_and_line_number): Return something printable for
lines with and without filenames
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main): Handle options.print_expectations
(parse_args): Add support for --print-expectations
(_print_expectations):
- Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.default_child_processes): Make this a debug log.
LayoutTests:
Explicitly skip fast/viewport
- platform/mac/TestExpectations:
- 10:45 AM Changeset in webkit [205079] by
-
- 4 edits in trunk
script.text should behave like script.textContent on setting
<https://webkit.org/b/148852>
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-text-expected.txt:
Source/WebCore:
HTMLScriptElement.text should behave just like .textContent when setting,
so just forward setText() to setTextContent().
Test: import/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.html
- html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::setText):
- 8:09 AM Changeset in webkit [205078] by
-
- 2 edits in trunk/LayoutTests
html/dom/interfaces.html is flaky due to WebSocket test
https://bugs.webkit.org/show_bug.cgi?id=161290
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27
- platform/mac/TestExpectations: Marking html/dom/interfaces.html expectation from Skip to Pass|Failure.
- 7:31 AM Changeset in webkit [205077] by
-
- 94 edits1 move4 adds1 delete in trunk/LayoutTests
Sync web-platform-tests up to revision e827374
https://bugs.webkit.org/show_bug.cgi?id=161231
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27
Reviewed by Sam Weinig.
- resources/ImportExpectations: Skipped some new test suites. Added 'url' test suite as Import.
- resources/TestRepositories: Updated revision to e827374
- resources/web-platform-tests-modules.json:
- web-platform-tests/XMLHttpRequest/abort-during-upload-expected.txt:
- web-platform-tests/XMLHttpRequest/abort-during-upload.htm:
- web-platform-tests/XMLHttpRequest/abort-event-order.htm:
- web-platform-tests/XMLHttpRequest/event-error-expected.txt:
- web-platform-tests/XMLHttpRequest/event-error-order.sub-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/event-error-order.sub.html: Added.
- web-platform-tests/XMLHttpRequest/event-error.html:
- web-platform-tests/XMLHttpRequest/event-error.sub-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/event-error.sub.html: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-error.html.
- web-platform-tests/XMLHttpRequest/event-progress.htm:
- web-platform-tests/XMLHttpRequest/resources/trickle.py:
(main):
- web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
- web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-event-order.js: Added.
(global.prepare_xhr_for_event_order_test):
(global.assert_xhr_event_order_matches):
- web-platform-tests/XMLHttpRequest/response-data-progress-expected.txt:
- web-platform-tests/XMLHttpRequest/response-data-progress.htm:
- web-platform-tests/XMLHttpRequest/response-method-expected.txt:
- web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
- web-platform-tests/XMLHttpRequest/security-consideration.sub.html:
- web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
- web-platform-tests/XMLHttpRequest/send-no-response-event-order-expected.txt:
- web-platform-tests/XMLHttpRequest/send-no-response-event-order.htm:
- web-platform-tests/XMLHttpRequest/send-sync-response-event-order-expected.txt:
- web-platform-tests/XMLHttpRequest/send-sync-response-event-order.htm:
- web-platform-tests/XMLHttpRequest/w3c-import.log:
- web-platform-tests/common/get-host-info.sub.js: Added.
(get_host_info):
- web-platform-tests/common/w3c-import.log:
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/dom/interfaces.html:
- web-platform-tests/dom/nodes/attributes-expected.txt:
- web-platform-tests/dom/nodes/attributes.html:
- web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html:
- web-platform-tests/dom/traversal/TreeWalker-basic.html:
- web-platform-tests/dom/traversal/TreeWalker-currentNode.html:
- web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html:
- web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html:
- web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html:
- web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html:
- web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html:
- web-platform-tests/domparsing/w3c-import.log:
- web-platform-tests/fetch/api/basic/scheme-about-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-about.js:
(checkFetchResponse):
(checkKoUrl): Deleted.
- web-platform-tests/fetch/api/basic/w3c-import.log:
- web-platform-tests/fetch/api/cors/cors-cookies.js:
(corsCookies):
- web-platform-tests/fetch/api/cors/cors-redirect.js:
(corsRedirect):
- web-platform-tests/fetch/api/headers/headers-basic-expected.txt:
- web-platform-tests/fetch/api/headers/headers-basic.html:
- web-platform-tests/fetch/api/redirect/w3c-import.log:
- web-platform-tests/fetch/api/request/request-cache-expected.txt:
- web-platform-tests/html/browsers/history/the-location-interface/security_location_0.sub.htm:
- web-platform-tests/html/browsers/the-window-object/security-window/window-security.sub.html:
- web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html:
- web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub-expected.txt:
- web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub.html:
- web-platform-tests/html/dom/elements-forms.js:
- web-platform-tests/html/dom/elements-tabular.js:
- web-platform-tests/html/dom/elements/global-attributes/dataset-expected.txt:
- web-platform-tests/html/dom/elements/global-attributes/dataset.html:
- web-platform-tests/html/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces.html:
- web-platform-tests/html/dom/reflection-forms-expected.txt:
- web-platform-tests/html/dom/reflection-tabular-expected.txt:
- web-platform-tests/html/dom/reflection.js:
(ReflectionTests.typeMap.string_appeared_here.toString):
(ReflectionTests.typeMap.string_appeared_here.valueOf):
(ReflectionTests.typeMap.string_appeared_here.string_appeared_here):
- web-platform-tests/html/semantics/document-metadata/the-base-element/base_href_specified.sub.html:
- web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context-expected.txt:
- web-platform-tests/html/semantics/document-metadata/the-link-element/link-load-event.html:
- web-platform-tests/html/semantics/document-metadata/the-link-element/link-style-error-01-expected.txt:
- web-platform-tests/html/semantics/document-metadata/the-link-element/link-style-error-01.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.sub-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.sub.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.sub-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.sub.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.sub-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.sub.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.sub-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.sub.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.sub-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.sub.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.sub-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.sub.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.sub-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.sub.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.sub-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.sub.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.sub-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.sub.html:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.sub-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.sub.html:
- web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
- web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooShort.html:
- web-platform-tests/html/semantics/interfaces-expected.txt:
- web-platform-tests/html/semantics/interfaces.html:
- web-platform-tests/html/semantics/interfaces.js:
- web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid-expected.txt:
- web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid.html:
- web-platform-tests/lint.whitelist:
- web-platform-tests/url/w3c-import.log: Added.
- 3:40 AM Changeset in webkit [205076] by
-
- 13 edits in trunk
[Fetch API] Blob type should be set from Response/Request contentType header
https://bugs.webkit.org/show_bug.cgi?id=161228
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/request/request-consume.html:
- web-platform-tests/fetch/api/request/request-headers-expected.txt:
- web-platform-tests/fetch/api/request/request-headers.html:
- web-platform-tests/fetch/api/response/response-consume-expected.txt:
- web-platform-tests/fetch/api/response/response-consume.html:
- web-platform-tests/fetch/api/response/response-init-002-expected.txt:
- web-platform-tests/fetch/api/response/response-init-002.html:
Source/WebCore:
Covered by updated tests.
Renaming FetchBody::m_mimeType to m_contentType since that better relates to Content-Type header.
Updated FetchRequest and FetchResponse to set m_contentType according request/response headers.
Handled the case of a Request created from JS, a Response created from JS and a Response created internally to
be used as resolve value in the fetch promise.
In case Content-Type is set but is empty, its empty value should be used for blob type.
Updated contentType checks to use isNull in lieu of isEmpty.
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::updateContentType): Routine to synchronize headers with m_contentType.
(WebCore::FetchBody::FetchBody): Renamed m_mimeType to m_contentType.
(WebCore::FetchBody::blob): Ditto.
- Modules/fetch/FetchBody.h: Ditto.
(WebCore::FetchBody::contentType):
(WebCore::FetchBody::setMimeType): Deleted.
(WebCore::FetchBody::mimeType): Deleted.
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::setBody): set FetchBody::m_contentType according HTTP headers.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::initializeWith): Ditto.
(WebCore::FetchResponse::BodyLoader::didReceiveResponse): Ditto.
- 2:18 AM Changeset in webkit [205075] by
-
- 3 edits in trunk/Source/WebKit2
[GTK][Threaded Compositor] Several flaky tests
https://bugs.webkit.org/show_bug.cgi?id=161242
Reviewed by Michael Catanzaro.
We still have a lot of flaky tests since we switched to the threaded compositor. The UI process might
take the screenshot too early, before everything is actually painted. I can't reproduce the problem, so this is
actually a speculative fix or workaround. Our implementation of DrawingArea::dispatchAfterEnsuringDrawing() is
quite simple, we just dispatch the callback in the next run loop iteration, which doesn't really ensures any
drawing at all. So, we can wait for draw events before dispatching the given callback. Since we don't really
know if draw events were already processed before dispatchAfterEnsuringDrawing() is called, or if there will be
more than one damage event in a short time, this patch waits up to 1 second for draw events, and if a draw
happens it stops if there isn't another draw event in the next 100ms. This should ensure a drawing if it was
really needed.
- UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::DrawingMonitor):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::~DrawingMonitor):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::webViewDrawCallback):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::stop):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::didDraw):
(WebKit::DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing):
- UIProcess/DrawingAreaProxyImpl.h: