Timeline
Jul 14, 2016:
- 11:03 PM Changeset in webkit [203270] by
-
- 1 edit24089 adds in trunk/Source/JavaScriptCore
Add Test262 test files and yaml
Rubber Stamped by Benjamin Poulain.
This patch adds all the test262 test files and the yaml that drives
run-jsc-stress-tests.
- tests/test262.yaml: Added. Yaml file to drive the test262 test suite with our driver.
- tests/test262/LICENSE: Added. License for the test262 test suite.
- tests/test262/harness/: Added. Harness directory for the test262 tests.
- tests/test262/test/: Added. Directory with all the actual test files.
- 10:49 PM Changeset in webkit [203269] by
-
- 7 edits in trunk
Change CSSParser::sourceSize returning Optional<CSSParser::SourceSize>
https://bugs.webkit.org/show_bug.cgi?id=159666
Reviewed by Michael Catanzaro.
Source/WebCore:
Tests:
fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html
- css/CSSGrammar.y.in: Avoid adding SourceSize to source_size_list when the value is a Nullopt.
- css/CSSParser.cpp:
(WebCore::CSSParser::sourceSize): Return a Nullopt when an invalid value is encountered.
- css/CSSParser.h:
LayoutTests:
Added a test to make sure that an invalid source-size value is skipped, but the next one is properly picked.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt:
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html:
- 9:59 PM Changeset in webkit [203268] by
-
- 2 edits in trunk/Source/JavaScriptCore
Return the correct value from Heap::externalMemorySize
https://bugs.webkit.org/show_bug.cgi?id=159797
<rdar://problem/27362446>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-07-14
Reviewed by Timothy Hatcher.
- heap/Heap.h:
(JSC::Heap::externalMemorySize):
We should have been returning m_externalMemorySize which is a subset
of m_extraMemorySize. In practice the difference can be small. A major
difference in "extra memory size" may be from deprecated memory size
and array buffer sizes.
- 8:56 PM Changeset in webkit [203267] by
-
- 8 edits6 adds in trunk
[RTL Scrollbars] Frame scrollbars don't move to the right when text direction changes to RTL
https://bugs.webkit.org/show_bug.cgi?id=158252
Patch by Antonio Gomes <tonikitoo@igalia.com> on 2016-07-14
Reviewed by Myles C. Maxfield.
Source/WebCore:
When the 'dir' attribute changes either on body or on the document
element level, the associated FrameView does not trigger an update on
the frame level vertical scrollbar.
Patch adds a 'hook' so that RenderBox::styleDidChange can call in
order to get the document level scrollbar placed properly in the next
layout.
Test: fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement.html
fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-2.html
fast/scrolling/rtl-scrollbars-alternate-iframe-body-dir-attr-does-not-update-scrollbar-placement.html
- page/FrameView.cpp:
(WebCore::FrameView::topContentDirectionDidChange):
- page/FrameView.h:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
LayoutTests:
- fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement.html: Added.
- fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-expected.txt: Added.
- fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-2.html: Added.
- fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-2-expected.html: Added.
- fast/scrolling/rtl-scrollbars-alternate-iframe-body-dir-attr-does-not-update-scrollbar-placement.html: Added.
- fast/scrolling/rtl-scrollbars-alternate-iframe-body-dir-attr-does-not-update-scrollbar-placement-expected.txt: Added.
- 8:11 PM Changeset in webkit [203266] by
-
- 10 edits52 adds in trunk
Support new emoji group candidates
https://bugs.webkit.org/show_bug.cgi?id=159755
<rdar://problem/27325521>
Reviewed by Dean Jackson.
Source/WebCore:
There are a few code points which should be able to be joined (with ZWJ) to
either U+2640 or U+2642 to change the gender of the emoji. These patterns
should also work with an additional 0xFE0F variation selector. This patch
adds these new patterns to our existing emoji group candidate infrastructure.
Tests: fast/text/emoji-gender-2-3.html
fast/text/emoji-gender-2-4.html
fast/text/emoji-gender-2-5.html
fast/text/emoji-gender-2-6.html
fast/text/emoji-gender-2-7.html
fast/text/emoji-gender-2-8.html
fast/text/emoji-gender-2-9.html
fast/text/emoji-gender-2.html
fast/text/emoji-gender-3.html
fast/text/emoji-gender-4.html
fast/text/emoji-gender-5.html
fast/text/emoji-gender-6.html
fast/text/emoji-gender-7.html
fast/text/emoji-gender-8.html
fast/text/emoji-gender-9.html
fast/text/emoji-gender-fe0f-3.html
fast/text/emoji-gender-fe0f-4.html
fast/text/emoji-gender-fe0f-5.html
fast/text/emoji-gender-fe0f-6.html
fast/text/emoji-gender-fe0f-7.html
fast/text/emoji-gender-fe0f-8.html
fast/text/emoji-gender-fe0f-9.html
fast/text/emoji-gender.html
fast/text/emoji-num-glyphs.html
fast/text/emoji-single-parent-family-2.html
fast/text/emoji-single-parent-family.html
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Removed incorrect ASSERT()s.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::characterRangeCodePath):
- platform/text/CharacterProperties.h:
(WebCore::isEmojiGroupCandidate):
Source/WTF:
This patch doesn't update the rules for our cursor movement iterator, because
I don't know the language used for implementing these rules. These rules will
be updated in the near future. When they do,
editing/deleting/delete-emoji-expected.txt will need to be updated.
- wtf/text/TextBreakIterator.cpp:
(WTF::cursorMovementIterator):
LayoutTests:
Because this patch doesn't update the rules for our cursor movement
iterator, the new expected result for editing/deleting/delete-emoji.html
expects incorrect results. In the patch where we update these rules,
the expected result should also be updated.
Because these new emoji require system support, TestExpectations has
been updated to mark the tests as failing until the system support has
been added.
- TestExpectations:
- editing/deleting/delete-emoji-expected.txt:
- editing/deleting/delete-emoji.html:
- fast/text/emoji-gender-2-3-expected.html: Added.
- fast/text/emoji-gender-2-3.html: Added.
- fast/text/emoji-gender-2-4-expected.html: Added.
- fast/text/emoji-gender-2-4.html: Added.
- fast/text/emoji-gender-2-5-expected.html: Added.
- fast/text/emoji-gender-2-5.html: Added.
- fast/text/emoji-gender-2-6-expected.html: Added.
- fast/text/emoji-gender-2-6.html: Added.
- fast/text/emoji-gender-2-7-expected.html: Added.
- fast/text/emoji-gender-2-7.html: Added.
- fast/text/emoji-gender-2-8-expected.html: Added.
- fast/text/emoji-gender-2-8.html: Added.
- fast/text/emoji-gender-2-9-expected.html: Added.
- fast/text/emoji-gender-2-9.html: Added.
- fast/text/emoji-gender-2-expected-mismatch.html: Added.
- fast/text/emoji-gender-2.html: Added.
- fast/text/emoji-gender-3-expected.html: Added.
- fast/text/emoji-gender-3.html: Added.
- fast/text/emoji-gender-4-expected.html: Added.
- fast/text/emoji-gender-4.html: Added.
- fast/text/emoji-gender-5-expected.html: Added.
- fast/text/emoji-gender-5.html: Added.
- fast/text/emoji-gender-6-expected.html: Added.
- fast/text/emoji-gender-6.html: Added.
- fast/text/emoji-gender-7-expected.html: Added.
- fast/text/emoji-gender-7.html: Added.
- fast/text/emoji-gender-8-expected.html: Added.
- fast/text/emoji-gender-8.html: Added.
- fast/text/emoji-gender-9-expected.html: Added.
- fast/text/emoji-gender-9.html: Added.
- fast/text/emoji-gender-expected-mismatch.html: Added.
- fast/text/emoji-gender-fe0f-3-expected.html: Added.
- fast/text/emoji-gender-fe0f-3.html: Added.
- fast/text/emoji-gender-fe0f-4-expected.html: Added.
- fast/text/emoji-gender-fe0f-4.html: Added.
- fast/text/emoji-gender-fe0f-5-expected.html: Added.
- fast/text/emoji-gender-fe0f-5.html: Added.
- fast/text/emoji-gender-fe0f-6-expected.html: Added.
- fast/text/emoji-gender-fe0f-6.html: Added.
- fast/text/emoji-gender-fe0f-7-expected.html: Added.
- fast/text/emoji-gender-fe0f-7.html: Added.
- fast/text/emoji-gender-fe0f-8-expected.html: Added.
- fast/text/emoji-gender-fe0f-8.html: Added.
- fast/text/emoji-gender-fe0f-9-expected.html: Added.
- fast/text/emoji-gender-fe0f-9.html: Added.
- fast/text/emoji-gender.html: Added.
- fast/text/emoji-num-glyphs-expected.txt: Added.
- fast/text/emoji-num-glyphs.html: Added.
- fast/text/emoji-single-parent-family-2-expected-mismatch.html: Added.
- fast/text/emoji-single-parent-family-2.html: Added.
- fast/text/emoji-single-parent-family-expected-mismatch.html: Added.
- fast/text/emoji-single-parent-family.html: Added.
- 7:31 PM Changeset in webkit [203265] by
-
- 2 edits in trunk/Source/WebCore
CrashTracer: com.apple.WebKit.WebContent at WebCore: WebCore::MediaQueryEvaluator::evaluate const
https://bugs.webkit.org/show_bug.cgi?id=159799
<rdar://problem/27346959>
Reviewed by Myles Maxfield.
Speculative fix for this crash, which seems to happen when asking for the Node's
renderer(). From the incoming crash logs, it is triggered by mutations on
a <picture> or <img> element, which would require choosing a new source,
and causing some media queries to evaluate.
The only place in MediaQueryEvaluator that has anything to do with
renderers is when gathering up some style information to pass to the
actual evaluation function. I put a guard against a missing documentElement
in there.
- css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::evaluate): Make sure documentElement is not
null.
- 7:17 PM Changeset in webkit [203264] by
-
- 55 edits in trunk/Source/WebCore
Update HTML*Element class override methods in final classes
https://bugs.webkit.org/show_bug.cgi?id=159456
Patch by Rawinder Singh <rawinder.singh-webkit@cisra.canon.com.au> on 2016-07-14
Reviewed by Youenn Fablet.
Update HTML*Element classes so that overriden methods in final classes are marked final.
Also marked HTMLDivElement overriden methods as final since they are not overridden by derived classes.
- html/HTMLAppletElement.h:
- html/HTMLAreaElement.h:
- html/HTMLAttachmentElement.h:
- html/HTMLAudioElement.h:
- html/HTMLBRElement.h:
- html/HTMLBaseElement.h:
- html/HTMLBodyElement.h:
- html/HTMLButtonElement.h:
- html/HTMLCanvasElement.h:
- html/HTMLDataElement.h:
- html/HTMLDetailsElement.h:
- html/HTMLDivElement.h:
- html/HTMLEmbedElement.h:
- html/HTMLFieldSetElement.h:
- html/HTMLFontElement.h:
- html/HTMLFormElement.h:
- html/HTMLFrameSetElement.h:
- html/HTMLHRElement.h:
- html/HTMLHtmlElement.h:
- html/HTMLKeygenElement.h:
- html/HTMLLIElement.h:
- html/HTMLLabelElement.h:
- html/HTMLLegendElement.h:
- html/HTMLLinkElement.h:
- html/HTMLMapElement.h:
- html/HTMLMarqueeElement.h:
- html/HTMLMetaElement.h:
- html/HTMLMeterElement.h:
- html/HTMLModElement.h:
- html/HTMLOListElement.h:
- html/HTMLObjectElement.h:
- html/HTMLOptGroupElement.h:
- html/HTMLOptionElement.h:
- html/HTMLOutputElement.h:
- html/HTMLParagraphElement.h:
- html/HTMLParamElement.h:
- html/HTMLPreElement.h:
- html/HTMLProgressElement.h:
- html/HTMLQuoteElement.h:
- html/HTMLScriptElement.h:
- html/HTMLSourceElement.h:
- html/HTMLStyleElement.h:
- html/HTMLSummaryElement.h:
- html/HTMLTableCaptionElement.h:
- html/HTMLTableColElement.h:
- html/HTMLTableElement.h:
- html/HTMLTableSectionElement.h:
- html/HTMLTemplateElement.h:
- html/HTMLTextAreaElement.h:
- html/HTMLTitleElement.h:
- html/HTMLUListElement.h:
- html/HTMLUnknownElement.h:
- html/HTMLVideoElement.h:
- html/HTMLWBRElement.h:
- 7:11 PM Changeset in webkit [203263] by
-
- 8 edits in trunk
It should be a syntax error to have a 'use strict' directive inside a function that has a non-simple parameter list
https://bugs.webkit.org/show_bug.cgi?id=159790
<rdar://problem/27171636>
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Is is a syntax error for a function's parameter list to be non-simple
and for the function to also contain a 'use strict' directive.
See section 14.2.1 of the spec:
https://tc39.github.io/ecma262/#sec-arrow-function-definitions-static-semantics-early-errors
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseSourceElements):
(JSC::Parser<LexerType>::parseFormalParameters):
- parser/Parser.h:
(JSC::Scope::Scope):
(JSC::Scope::strictMode):
(JSC::Scope::isValidStrictMode):
(JSC::Scope::shadowsArguments):
(JSC::Scope::setHasNonSimpleParameterList):
(JSC::Scope::hasNonSimpleParameterList):
(JSC::Scope::copyCapturedVariablesToVector):
LayoutTests:
- js/parser-syntax-check-expected.txt:
- js/script-tests/parser-syntax-check.js:
- 7:07 PM Changeset in webkit [203262] by
-
- 2 edits in trunk/Source/WebCore
Modernize GlyphMetricsMap
https://bugs.webkit.org/show_bug.cgi?id=159788
Reviewed by Darin Adler.
Modernize GlyphMetricsMap a bit.
- platform/graphics/GlyphMetricsMap.h:
- Drop WTF_MAKE_NONCOPYABLE as the class is already non-copyable due to having to having a std::unique_ptr data member.
- Drop GlyphMetricsMap default constructor and let the compiler generate it instead. This required using inline initialization for m_filledPrimaryPage.
(WebCore::GlyphMetricsMap::GlyphMetricsPage::GlyphMetricsPage):
- Make m_metrics data member private as it does not need to be public.
- Make setMetricsForIndex(unsigned index, const T& metrics) setter private as it does not need to be public.
- Make GlyphMetricsPage(const T& initialValue) constructor explicit as it takes only 1 parameter.
(WebCore::GlyphMetricsMap<T>::locatePageSlowCase):
- Use HashMap::ensure() to make the code a bit nicer.
- 6:46 PM Changeset in webkit [203261] by
-
- 5 edits5 adds in trunk
[iOS WK2] When scrolling apple.com/music on iPad Pro in landscape, left-hand tiles appear first
https://bugs.webkit.org/show_bug.cgi?id=159798
rdar://problem/27362717
Reviewed by Tim Horton.
Source/WebCore:
In out-of-visible tiled layers, we always allocated the top-left tile, wasting
memory and causing ugliness when scrolling that layer into view. This happened
because getTileIndexRangeForRect() had no way to express the fact that no tiles
should be created.
Fix getTileIndexRangeForRect() to return a bool, and fix callers to respect the
return value.
Test: compositing/tiling/offscreen-tiled-layer.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::setNeedsDisplayInRect):
(WebCore::TileGrid::tilesWouldChangeForCoverageRect):
(WebCore::TileGrid::getTileIndexRangeForRect):
(WebCore::TileGrid::revalidateTiles):
(WebCore::TileGrid::ensureTilesForRect):
(WebCore::TileGrid::extent):
- platform/graphics/ca/TileGrid.h:
LayoutTests:
Test with an offscreen tiled layer.
- compositing/tiling/offscreen-tiled-layer-expected.txt: Added.
- compositing/tiling/offscreen-tiled-layer.html: Added.
- platform/ios-simulator-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt: Added.
- platform/ios-simulator-wk2/compositing/tiling/offscreen-tiled-layer-expected.txt: Added.
- platform/mac-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt: Added.
- 5:52 PM Changeset in webkit [203260] by
-
- 2 edits in trunk/LayoutTests
Skipping editing/spelling/copy-paste-crash.html on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=142969
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 5:39 PM Changeset in webkit [203259] by
-
- 1 edit4 adds in trunk/LayoutTests
Merge Blink test case
https://bugs.webkit.org/show_bug.cgi?id=117422
Patch is from a set of Blink changes (patches by <leviw@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/507e1576555bd2ce6688206f28339c25761893b1>
<https://chromium.googlesource.com/chromium/blink/+/4c95872f52340cf0cf9a2a7078bb63a94f38d302>
- fast/list/list-style-position-inside-expected.txt: Added.
- fast/list/list-style-position-inside.html: Added.
- fast/sub-pixel/float-list-inside-expected.txt: Added.
- fast/sub-pixel/float-list-inside.html: Added.
- 5:10 PM Changeset in webkit [203258] by
-
- 3 edits2 adds in trunk
Remove credentials in URL when accessed through location.href
https://bugs.webkit.org/show_bug.cgi?id=139562
<rdar://problem/27331164>
Reviewed by Brent Fulgham.
Source/WebCore:
Test: http/tests/security/location-href-clears-username-password.html
The reason for this change is to not allow scripts on the page to
exfiltrate username and password from the URL.
- page/Location.cpp:
(WebCore::Location::href):
Now checks if there is a username or password in the URL. If so,
it copies the URL and removes the username and password.
LayoutTests:
The reason for this change is to not allow scripts on the page to
exfiltrate username and password from the URL.
- http/tests/security/location-href-clears-username-password-expected.txt: Added.
- http/tests/security/location-href-clears-username-password.html: Added.
Test case adapted from https://src.chromium.org/viewvc/blink?revision=189367&view=revision.
- 5:00 PM Changeset in webkit [203257] by
-
- 4 edits in trunk
Allow RefPtrs of const RefCounted types
https://bugs.webkit.org/show_bug.cgi?id=158269
Patch by Alex Christensen <achristensen@webkit.org> on 2016-07-14
Reviewed by Anders Carlsson.
Source/WTF:
- wtf/RefCounted.h:
(WTF::RefCountedBase::ref):
(WTF::RefCountedBase::~RefCountedBase):
(WTF::RefCountedBase::derefBase):
(WTF::RefCounted::deref):
Creating references to a const object does not really modify the object,
so everything in RefCounted is now mutable, and ref and deref are const.
Tools:
- TestWebKitAPI/Tests/WTF/RefPtr.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::ConstRefCounted::create):
(TestWebKitAPI::returnConstRefCountedRef):
(TestWebKitAPI::returnRefCountedRef):
- 4:46 PM Changeset in webkit [203256] by
-
- 4 edits in trunk/Websites/webkit.org
Improved WebKit Nightly start page design.
https://bugs.webkit.org/show_bug.cgi?id=159780
Reviewed by Timothy Hatcher.
Added better 404 handling, improved presentation of the
start page and new Apache rewrites for the P1 bug list.
- .htaccess:
- wp-content/themes/webkit/functions.php:
- wp-content/themes/webkit/nightly-start.php:
- 4:45 PM Changeset in webkit [203255] by
-
- 1 edit2 adds in trunk/LayoutTests
Merge Blink test case
https://bugs.webkit.org/show_bug.cgi?id=116507
Patch is from a Blink change (patch by <ojan@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/6598fc75a7260643ecfc42856ef24bcf96380443>
- compositing/iframes/crash-mouse-event-expected.txt: Added.
- compositing/iframes/crash-mouse-event.html: Added.
- 4:38 PM Changeset in webkit [203254] by
-
- 7 edits1 copy in trunk/Source/WebInspectorUI
Web Inspector: Rename CCTNode to CallingContextTreeNode
https://bugs.webkit.org/show_bug.cgi?id=159782
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-07-14
Reviewed by Timothy Hatcher.
- UserInterface/Models/CallingContextTree.js:
- UserInterface/Models/CallingContextTreeNode.js:
Extra to its own file and rename.
- UserInterface/Main.html:
- UserInterface/Test.html:
- UserInterface/TestStub.html:
Include the new file.
- UserInterface/Views/ProfileDataGridNode.js:
(WebInspector.ProfileDataGridNode):
- UserInterface/Views/ProfileDataGridTree.js:
(WebInspector.ProfileDataGridTree.prototype._updateCurrentFocusDetails):
Rename shorthand "cctnode".
- 4:37 PM Changeset in webkit [203253] by
-
- 9 edits in trunk/Source/WebInspectorUI
Web Inspector: SidebarPanel classes should use View.layout instead of "refresh"
https://bugs.webkit.org/show_bug.cgi?id=159745
<rdar://problem/27335252>
Reviewed by Timothy Hatcher.
- UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.set applicationCacheFrame):
Use needsLayout.
- UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.layout):
Move refresh logic to layout.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._styleSheetAddedOrRemoved):
Defer layout to coalesce updates.
(WebInspector.CSSStyleDetailsSidebarPanel):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): Deleted.
- UserInterface/Views/DOMDetailsSidebarPanel.js:
(WebInspector.DOMDetailsSidebarPanel.prototype.set domNode):
Use needsLayout.
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
Move refresh logic to layout.
- UserInterface/Views/DetailsSidebarPanel.js:
(WebInspector.DetailsSidebarPanel.prototype.shown): Deleted.
Base class already forces a layout when shown.
(WebInspector.DetailsSidebarPanel.prototype.needsRefresh): Deleted.
No longer needed.
(WebInspector.DetailsSidebarPanel.prototype.refresh): Deleted.
Renamed layout.
(WebInspector.DetailsSidebarPanel): Deleted.
- UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel.prototype.supportsDOMNode):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._layerTreeDidChange):
Use needsLayout.
(WebInspector.LayerTreeDetailsSidebarPanel.prototype.shown):
Base class already forces a layout when shown.
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
Use needsLayout.
- UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.set callFrame):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpression):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._removeWatchExpression):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressions):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._refreshAllWatchExpressionsButtonClicked):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._didEvaluateExpression):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._mainResourceDidChange):
Use needsLayout.
- 4:33 PM Changeset in webkit [203252] by
-
- 4 edits in trunk/Source/WebCore
[css-grid] Handle min-content/max-content with orthogonal flows
https://bugs.webkit.org/show_bug.cgi?id=159294
Reviewed by Darin Adler.
Currently there is no support for orthogonal flows in many aspects of the
Grid Layout logic.
The Grid sizing algorithm should be adapted to this scenario, hence this
patch focus on the min-content and max-content functions, used to resolve
content based track sizes.
There are still issues related to alignment and sizes using percentages,
but they will be addressed in different patches.
Tests: fast/css-grid-layout/grid-item-positioning-with-orthogonal-flows.html
fast/css-grid-layout/grid-item-sizing-with-orthogonal-flows.html
fast/css-grid-layout/grid-item-spanning-and-orthogonal-flows.html
fast/css-grid-layout/grid-track-sizing-with-orthogonal-flows.html
fast/css-grid-layout/grid-track-sizing-with-percentages-and-orthogonal-flows.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::GridSizingData::advanceNextState):
(WebCore::RenderGrid::GridSizingData::isValidTransitionForDirection):
(WebCore::RenderGrid::computeTrackSizesForDirection):
(WebCore::RenderGrid::repeatTracksSizingIfNeeded): Added.
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeIntrinsicLogicalHeight):
(WebCore::hasOverrideContainingBlockContentSizeForChild):
(WebCore::overrideContainingBlockContentSizeForChild):
(WebCore::setOverrideContainingBlockContentSizeForChild):
(WebCore::shouldClearOverrideContainingBlockContentSizeForChild):
(WebCore::RenderGrid::gridTrackSize):
(WebCore::RenderGrid::isOrthogonalChild): Added.
(WebCore::RenderGrid::logicalHeightForChild):
(WebCore::RenderGrid::flowAwareDirectionForChild): Added.
(WebCore::RenderGrid::minSizeForChild):
(WebCore::RenderGrid::updateOverrideContainingBlockContentSizeForChild):
(WebCore::RenderGrid::minContentForChild):
(WebCore::RenderGrid::maxContentForChild):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::layoutPositionedObject):
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
(WebCore::RenderGrid::assumedRowsSizeForOrthogonalChild): Added.
(WebCore::RenderGrid::gridAreaBreadthForChild):
(WebCore::RenderGrid::columnAxisPositionForChild):
(WebCore::RenderGrid::rowAxisPositionForChild):
(WebCore::RenderGrid::findChildLogicalPosition):
- rendering/RenderGrid.h:
(WebCore::RenderGrid::SizingOperation): This enum has been moved to the header file.
(WebCore::RenderGrid::m_hasAnyOrthogonalChild): New class attribute to know if there are any orthogonal grid items.
(WebCore::RenderGrid::updateOverrideContainingBlockContentSizeForChild):
(WebCore::RenderGrid::logicalHeightForChild):
(WebCore::RenderGrid::gridAreaBreadthForChild):
(WebCore::RenderGrid::assumedRowsSizeForOrthogonalChild):
- 4:21 PM Changeset in webkit [203251] by
-
- 14 edits in trunk/Source/WebKit2
Unreviewed, rolling out r203248.
This change causes LayoutTests to crash and exit early
Reverted changeset:
"Use more Refs with WorkQueues"
https://bugs.webkit.org/show_bug.cgi?id=159792
http://trac.webkit.org/changeset/203248
- 4:17 PM Changeset in webkit [203250] by
-
- 25 edits in trunk/Source
Use emptyString() instead of "" when possible
https://bugs.webkit.org/show_bug.cgi?id=159789
Reviewed by Alex Christensen.
Use emptyString() instead of "" when possible to reduce String allocations.
Source/WebCore:
- Modules/webdatabase/Database.cpp:
(WebCore::Database::performOpenAndVerify):
- css/CSSSelector.h:
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::removeProperty):
(WebCore::MutableStyleProperties::removeCustomProperty):
- editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
(WebCore::TextCheckingHelper::findFirstBadGrammar):
- editing/TypingCommand.h:
(WebCore::TypingCommand::create):
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::cleanup):
- inspector/InspectorStyleSheet.cpp:
(WebCore::fillMediaListChain):
- page/UserContentURLPattern.cpp:
(WebCore::UserContentURLPattern::parse):
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::load):
- platform/gtk/DataObjectGtk.h:
(WebCore::DataObjectGtk::clearURIList):
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
- platform/network/curl/ResourceHandleManager.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText):
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::updateContent):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::noneDashboardRegions):
- rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::SVGTextMetrics):
- xml/XPathParser.cpp:
(WebCore::XPath::Parser::lexString):
Source/WebKit/cf:
- WebCoreSupport/WebInspectorClientCF.cpp:
(populateSetting):
Source/WebKit/win:
- Plugins/PluginView.cpp:
(WebCore::parseRFC822HeaderFields):
Source/WebKit2:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::pasteboardChangedOwner):
- WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::parseRFC822HeaderFields):
(WebKit::NPN_Status):
- 4:15 PM Changeset in webkit [203249] by
-
- 4 edits2 adds in trunk
editing/spelling/spellcheck-async.html sometimes crashes with GuardMalloc
https://bugs.webkit.org/show_bug.cgi?id=142969
<rdar://problem/27331095>
Reviewed by Alex Christensen.
Fix based on a Blink change (patch by <rouslan@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/c713736b122c2224804b2db72f1f711cb47ee260%5E%21/#F1>
Source/WebCore:
Test: editing/spelling/copy-paste-crash.html
editing/spelling/spellcheck-async.html
- editing/SpellChecker.cpp:
(WebCore::SpellCheckRequest::didSucceed):
(WebCore::SpellCheckRequest::didCancel):
LayoutTests:
- editing/spelling/copy-paste-crash-expected.txt: Added.
- editing/spelling/copy-paste-crash.html: Added.
- platform/platform/mac-wk2/TestExpectations: Skip test on mac-wk2 since all Spelling tests are
currently broken (see <https://webkit.org/b/105616>).
- 4:04 PM Changeset in webkit [203248] by
-
- 14 edits in trunk/Source/WebKit2
Use more Refs with WorkQueues
https://bugs.webkit.org/show_bug.cgi?id=159792
Reviewed by Brady Eidson.
- NetworkProcess/CustomProtocols/CustomProtocolManager.h:
- Platform/IPC/Connection.cpp:
(IPC::Connection::setShouldExitOnSyncMessageSendFailure):
(IPC::Connection::addWorkQueueMessageReceiver):
- Platform/IPC/Connection.h:
- Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::initializeConnection):
- UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::create):
(WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
- UIProcess/Storage/LocalStorageDatabaseTracker.h:
- UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::openDatabaseAndImportItemsIfNeeded):
(WebKit::StorageManager::StorageManager):
- UIProcess/Storage/StorageManager.h:
- UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::processWillOpenConnection):
(WebKit::WebResourceLoadStatisticsStore::processDidCloseConnection):
- UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::initializeConnection):
(WebKit::SecItemShimProxy::secItemRequest):
- WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::initializeConnection):
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
- WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::initializeConnection):
(WebKit::EventDispatcher::wheelEvent):
- WebProcess/WebPage/ViewUpdateDispatcher.cpp:
(WebKit::ViewUpdateDispatcher::initializeConnection):
(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):
- 3:14 PM Changeset in webkit [203247] by
-
- 2 edits in trunk/LayoutTests
Remove duplicate TestExpectations entry.
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:05 PM Changeset in webkit [203246] by
-
- 2 edits in trunk/Source/WebCore
ImageBuffer's succes flag should be set to false at the very beginning of the c'tor.
https://bugs.webkit.org/show_bug.cgi?id=159784
Reviewed by Simon Fraser.
No change in functionality.
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
- 2:52 PM Changeset in webkit [203245] by
-
- 6 edits in trunk/Source/WebKit2
Web Automation: FrameNotFound errors happen a lot for the main frame
https://bugs.webkit.org/show_bug.cgi?id=159777
rdar://problem/27224628
Send both pageID and frameID, and have the WebProcess side resolve the
mainFrame from 0 based on the known pageID. This avoids a race waiting
for the DidCreateMainFrame message.
Reviewed by Brian Burg.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::webFrameIDForHandle):
(WebKit::WebAutomationSession::switchToBrowsingContext):
(WebKit::WebAutomationSession::evaluateJavaScriptFunction):
(WebKit::WebAutomationSession::resolveChildFrameHandle):
(WebKit::WebAutomationSession::resolveParentFrameHandle):
(WebKit::WebAutomationSession::computeElementLayout):
(WebKit::WebAutomationSession::getAllCookies):
(WebKit::WebAutomationSession::deleteSingleCookie):
(WebKit::WebAutomationSession::webFrameProxyForHandle): Deleted.
(WebKit::WebAutomationSession::webFrameIDForHandle): Added.
- UIProcess/Automation/WebAutomationSession.h:
- WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction):
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithOrdinal):
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithNodeHandle):
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithName):
(WebKit::WebAutomationSessionProxy::resolveParentFrame):
(WebKit::WebAutomationSessionProxy::focusFrame):
(WebKit::WebAutomationSessionProxy::computeElementLayout):
(WebKit::WebAutomationSessionProxy::takeScreenshot):
(WebKit::WebAutomationSessionProxy::getCookiesForFrame):
(WebKit::WebAutomationSessionProxy::deleteCookie):
- WebProcess/Automation/WebAutomationSessionProxy.h:
- WebProcess/Automation/WebAutomationSessionProxy.messages.in:
- 2:43 PM Changeset in webkit [203244] by
-
- 26 edits2 adds4 deletes in trunk/Source
Use SocketProvider to create SocketStreamHandles
https://bugs.webkit.org/show_bug.cgi?id=159774
Source/WebCore:
Reviewed by Brady Eidson.
No new tests. No change in behaviour.
In r202930 I introduced the SocketProvider, but I used it to make a WebSocketChannel
instead of a SocketStreamHandle, which is the class I want to make into an interface
and proxy the web traffic over to the NetworkProcess.
- CMakeLists.txt:
- Modules/websockets/ThreadableWebSocketChannel.cpp: Added.
(WebCore::ThreadableWebSocketChannel::create):
I removed this in 202930, so this is restoring it from that patch, hence the old copyright.
- Modules/websockets/ThreadableWebSocketChannel.h:
(WebCore::ThreadableWebSocketChannel::ThreadableWebSocketChannel):
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::connect):
- Modules/websockets/WebSocketChannel.h:
(WebCore::WebSocketChannel::create):
- Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::resume):
(WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::~Bridge):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
- Modules/websockets/WorkerThreadableWebSocketChannel.h:
(WebCore::WorkerThreadableWebSocketChannel::create):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
- WebCore.xcodeproj/project.pbxproj:
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::overlayPage):
- loader/EmptyClients.cpp:
(WebCore::EmptyEditorClient::registerRedoStep):
(WebCore::EmptySocketProvider::createWebSocketChannel): Deleted.
- loader/EmptyClients.h:
- page/SocketProvider.cpp: Added.
(WebCore::SocketProvider::createSocketStreamHandle):
- page/SocketProvider.h:
(WebCore::SocketProvider::~SocketProvider): Deleted.
- platform/network/cf/SocketStreamHandle.h:
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
Source/WebKit:
Reviewed by Alex Christensen.
- PlatformMac.cmake:
- PlatformWin.cmake:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKit/mac:
Reviewed by Brady Eidson.
- Misc/WebSocketProvider.h: Removed.
- Misc/WebSocketProvider.mm: Removed.
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
Source/WebKit/win:
Reviewed by Brady Eidson.
- WebSocketProvider.cpp: Removed.
- WebSocketProvider.h: Removed.
- WebView.cpp: Replaced WebSocketProvider with SocketProvider as we did in WebCore.
Source/WebKit2:
Reviewed by Brady Eidson.
- WebProcess/Network/WebSocketProvider.cpp:
(WebKit::WebSocketProvider::createSocketStreamHandle):
(WebKit::WebSocketProvider::createWebSocketChannel): Deleted.
- WebProcess/Network/WebSocketProvider.h:
- 2:42 PM Changeset in webkit [203243] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Maintain selected function when switching between different profile representations
https://bugs.webkit.org/show_bug.cgi?id=159778
<rdar://problem/27355913>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-07-14
Reviewed by Timothy Hatcher.
- UserInterface/Models/CallingContextTree.js:
(WebInspector.CCTNode):
(WebInspector.CCTNode.prototype.get hash):
(WebInspector.CCTNode.prototype.findOrMakeChild):
(WebInspector.CCTNode.prototype.equals):
Expose the hash so two nodes can be compared cheaply.
- UserInterface/Views/ProfileView.js:
(WebInspector.ProfileView.prototype._repopulateDataGridFromTree):
(WebInspector.ProfileView.prototype._restoreSharedState):
(WebInspector.ProfileView.prototype._dataGridNodeSelected):
Share data between multiple ProfileViews. Currently just remembering
and restoring the selected function.
- UserInterface/Views/ScriptProfileTimelineView.js:
(WebInspector.ScriptProfileTimelineView):
(WebInspector.ScriptProfileTimelineView.prototype._showProfileViewForOrientation):
Include the shared data when constructing new ProfileViews.
- 2:39 PM Changeset in webkit [203242] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][iOS] Potential null dereference under ViewGestureController::beginSwipeGesture()
https://bugs.webkit.org/show_bug.cgi?id=159776
<rdar://problem/22467100>
Reviewed by Tim Horton.
Potential null dereference under ViewGestureController::beginSwipeGesture() of:
m_webPageProxy.backForwardList().currentItem()
The client side is expected to call ViewGestureController::canSwipeInDirection() but
this only guarantees that the m_alternateBackForwardListSourceView's currentItem is
non-null when m_alternateBackForwardListSourceView is non-null. It does not guarantee
that m_webPageProxy's currentItem is non-null.
- UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
- 2:15 PM Changeset in webkit [203241] by
-
- 4 edits in trunk/Source/WebCore
"User delete" tests are flakey timeouts (and/or DatabaseProcess crashes).
https://bugs.webkit.org/show_bug.cgi?id=158741
Reviewed by Alex Christensen.
No new tests (Covered by existing tests in some configurations)
- Check if a database hard delete is complete in more places.
- Asynchronously clear out the hard close protector instead of synchronously.
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformUnconditionalDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::didFinishHandlingVersionChange):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::transactionCompleted):
(WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTaskReply):
(WebCore::IDBServer::UniqueIDBDatabase::maybeFinishHardClose):
(WebCore::IDBServer::UniqueIDBDatabase::isDoneWithHardClose):
(WebCore::IDBServer::UniqueIDBDatabase::doneWithHardClose): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
(WebCore::IDBServer::UniqueIDBDatabase::hardClosedForUserDelete):
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didAbortTransaction):
- 2:01 PM Changeset in webkit [203240] by
-
- 4 edits in trunk/Source/WebCore
CSSStyleSheet members should clear their owner node when destroyed
https://bugs.webkit.org/show_bug.cgi?id=117470
Reviewed by Chris Dumez.
Make sure that CSSStyleSheet members are detached from their owner node when
the owning object is destroyed.
I audited other CSSStyleSheet uses, and found one other place where the owner node was not
being cleared during destruction. The Inspector also uses CSSStyleSheet, but seems to
handle the node ownership properly.
Fix based on a Blink change (patch by <haraken@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/c4949bfdeb2a613701afa1410bdae70531b8f6bf>
Also includes a follow-up fix (patch by <haraken@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/9c3932dc80b33429db3a5873cb266b726c8a19bf>
No test case. Was found by the Chromium team through review of their crash traces under minor DOM GC.
- contentextensions/ContentExtensionStyleSheet.cpp:
(WebCore::ContentExtensions::ContentExtensionStyleSheet::~ContentExtensionStyleSheet):
- contentextensions/ContentExtensionStyleSheet.h:
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::~InlineStyleSheetOwner):
(WebCore::authorStyleSheetsForElement):
- 1:54 PM Changeset in webkit [203239] by
-
- 2 edits2 adds in trunk/Source/JavaScriptCore
ASSERTION FAILED: : this != replacement()
https://bugs.webkit.org/show_bug.cgi?id=159779
Reviewed by Michael Saboff.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::jettison): If we jettison during GC, and our owner
is dead, we choose not to replace ourselves. (See
https://bugs.webkit.org/show_bug.cgi?id=159588.) So, it's possible to
invalidate and still be our owner's CodeBlock. Relax our ASSERT to allow
for this.
- 1:14 PM Changeset in webkit [203238] by
-
- 12 edits in trunk/Source
Fix the !ENABLE(WEB_SOCKETS) build after r202930
https://bugs.webkit.org/show_bug.cgi?id=159768
Reviewed by Alex Christensen.
Source/WebCore:
- loader/EmptyClients.cpp:
- loader/EmptyClients.h:
- page/SocketProvider.h:
- workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
- workers/WorkerThread.cpp:
(WebCore::WorkerThread::WorkerThread):
Source/WebKit/mac:
- Misc/WebSocketProvider.h:
Source/WebKit/win:
- WebSocketProvider.h:
Source/WebKit2:
- WebProcess/Network/WebSocketProvider.h:
- 12:46 PM Changeset in webkit [203237] by
-
- 1 edit2 adds in trunk/LayoutTests
Add test to confirm we do not crash in media destruction
https://bugs.webkit.org/show_bug.cgi?id=122816
Test based on a Blink change (patch by <igor.o@sisa.samsung.com>):
<https://chromium.googlesource.com/chromium/blink/+/7a2b2dcefbc013003487d5055eeda7a57daafa93%5E%21/#F0>
We do not seem to have the bug that prompted the Chromium source change. Adding
test case to ensure we do not introduce this problem in the future.
- editing/undo/audio-in-undo-stack-crash-expected.txt: Added.
- editing/undo/audio-in-undo-stack-crash.html: Added.
- 12:45 PM Changeset in webkit [203236] by
-
- 3 edits in trunk/Source/WTF
Avoid an extra heap allocation when dispatching Functions to WorkQueue
https://bugs.webkit.org/show_bug.cgi?id=158367
Reviewed by Anders Carlsson.
Avoid an extra heap allocation when dispatching Functions to WorkQueue
by adding leakCallable() / adoptCallable() functions to Function.
- wtf/Function.h:
- wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):
- 12:32 PM Changeset in webkit [203235] by
-
- 4 edits1 add in trunk
DOMIterators should be assigned a correct prototype
https://bugs.webkit.org/show_bug.cgi?id=159115
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-14
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/headers/headers-basic.html: Updating test (changes to be upstreamed to w3c wpt repo)
Source/WebCore:
Default iterator object internal prototype property is the Iterator prototype as defined in
http://heycam.github.io/webidl/#dfn-iterator-prototype-object.
Linking DOMIterator prototype to IteratorPrototype.
This allows adding @@iterator property to the result of entries, keys and values methods.
This in turns allow doing for-of loops on them.
Covered by updated test.
- ForwardingHeaders/runtime/IteratorPrototype.h: Added.
- bindings/js/JSDOMIterator.h: Setting correct prototype and marking next prototype property as enumerable.
- 12:30 PM Changeset in webkit [203234] by
-
- 5 edits in trunk
Remove support for value iterators from JSDOMIterator
https://bugs.webkit.org/show_bug.cgi?id=159293
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-14
Reviewed by Chris Dumez.
Source/WebCore:
Value iterators are now handled without using DOMIterator.
Since FontFaceSet is using DOMIterator as an intermediate step towards supporting set-like,
entries and forEach implementation should be made compliant with set-like.
This means that item value should be passed instead of an index in entries iterator and forEach callback.
Covered by updated test.
- bindings/js/JSDOMIterator.h:
(WebCore::JSDOMIterator<JSWrapper>::asJS): Pass set item as entries value field.
(WebCore::appendForEachArguments): Pass set item as second parameter.
(WebCore::iteratorForEach): Remove index handling.
LayoutTests:
- fast/text/font-face-set-javascript-expected.txt:
- fast/text/font-face-set-javascript.html:
- 12:29 PM Changeset in webkit [203233] by
-
- 2 edits in trunk/Source/WebCore
Fix the !ENABLE(MATHML) build after r201739
https://bugs.webkit.org/show_bug.cgi?id=159767
Reviewed by Alex Christensen.
- dom/Document.cpp:
(WebCore::Document::validateCustomElementName):
- 12:28 PM Changeset in webkit [203232] by
-
- 2 edits in trunk/Source/WebCore
Fix the !ENABLE(CSS_IMAGE_SET) build
https://bugs.webkit.org/show_bug.cgi?id=159766
Reviewed by Alex Christensen.
- css/CSSParser.cpp:
- 12:09 PM Changeset in webkit [203231] by
-
- 2 edits in trunk/LayoutTests
Land test expectations for rdar://problem/27353750.
- platform/mac/TestExpectations:
- 11:33 AM Changeset in webkit [203230] by
-
- 2 edits in trunk/Source/WebKit2
Possible crash under NavigationState::NavigationClient::processDidCrash()
https://bugs.webkit.org/show_bug.cgi?id=159773
<rdar://problem/19814215>
Reviewed by Anders Carlsson.
Add a m_navigationState.m_navigationDelegateMethods.webViewWebProcessDidCrash before
trying to call it to avoid crashing if the client does not implement it.
At the beginning of the method, we abort early only if both webViewWebContentProcessDidTerminate
and webViewWebProcessDidCrash are implemented. However, if webViewWebContentProcessDidTerminate
implemented but not webViewWebProcessDidCrash we can end up crashing as we fail to check later
on before trying to call it.
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::processDidCrash):
- 11:18 AM Changeset in webkit [203229] by
-
- 5 edits1 add in trunk
JSONObject Walker::walk must save array length before processing array elements.
https://bugs.webkit.org/show_bug.cgi?id=153485
Reviewed by Darin Adler and Michael Saboff.
Source/JavaScriptCore:
According to https://tc39.github.io/ecma262/#sec-internalizejsonproperty,
JSON.parse() should cache the length of an array and use the cached length when
iterating array elements (see section 24.3.1.1 2.b.iii).
- runtime/JSONObject.cpp:
(JSC::Walker::walk):
- tests/stress/JSON-parse-should-cache-array-lengths.js: Added.
(toString):
(shouldBe):
(test):
(test2):
LayoutTests:
- js/JSON-parse-reviver-expected.txt:
- js/script-tests/JSON-parse-reviver.js:
- Fixed a bug in arrayReviver() where it was setting the array length to 3, but was immediately returning a value from the reviver for index 3. This effectively forces array.length to 4. As a result, case 4 always failed silently, and case 5 never executed.
- Added tracking of cases visited by the revivers so that they can be verified.
- 10:59 AM Changeset in webkit [203228] by
-
- 26 edits in trunk/Source/WebCore
Cleanup of MathML headers
https://bugs.webkit.org/show_bug.cgi?id=159336
Reviewed by Alex Christensen.
We do some cleanup in MathML headers:
- Use #pragma once
- Use final for class that are not extended.
- Use final instead of override for virtual members that are not overridden by derived classes.
- Try and reduce the visibility of function members to private or protected as appropriate.
- Remove useless #include
- Remove useless class or friendship declaration
- Remove unused functions
No new tests, behavior is unchanged.
- mathml/MathMLElement.h:
- mathml/MathMLInlineContainerElement.h:
- mathml/MathMLMathElement.h:
- mathml/MathMLMencloseElement.h:
- mathml/MathMLOperatorDictionary.h:
- mathml/MathMLPaddedElement.h:
- mathml/MathMLSelectElement.h:
- mathml/MathMLSpaceElement.h:
- mathml/MathMLTextElement.h:
- rendering/mathml/MathOperator.h:
- rendering/mathml/RenderMathMLBlock.h:
- rendering/mathml/RenderMathMLFenced.h:
- rendering/mathml/RenderMathMLFraction.h:
- rendering/mathml/RenderMathMLMath.h:
- rendering/mathml/RenderMathMLMenclose.h:
- rendering/mathml/RenderMathMLOperator.h:
- rendering/mathml/RenderMathMLRoot.h:
- rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::RenderMathMLRow): Deleted. We no longer create anonymous row.
- rendering/mathml/RenderMathMLRow.h:
- rendering/mathml/RenderMathMLScripts.h:
- rendering/mathml/RenderMathMLSpace.h:
- rendering/mathml/RenderMathMLToken.h:
- rendering/mathml/RenderMathMLUnderOver.h:
- 10:50 AM Changeset in webkit [203227] by
-
- 2 edits in trunk/Source/WebKit2
Fix the DatabaseProcess build with disabled IDB
https://bugs.webkit.org/show_bug.cgi?id=159769
Reviewed by Alex Christensen.
- WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
(WebKit::WebToDatabaseProcessConnection::didClose):
- 10:38 AM Changeset in webkit [203226] by
-
- 2 edits in trunk/Source/JavaScriptCore
[mips] Handle properly unaligned halfword load
https://bugs.webkit.org/show_bug.cgi?id=153226
Patch by Julien Brianceau <jbriance@cisco.com> on 2016-07-14
Reviewed by Michael Catanzaro.
Waiting for the kernel to silently fix-up unaligned accesses is
not efficient, so let's provide an implementation of load16Unaligned
in mips macro assembler.
Performance improvement seen with SunSpider's regexp-dna test.
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::load16Unaligned):
(JSC::MacroAssemblerMIPS::load32WithUnalignedHalfWords):
- 10:26 AM Changeset in webkit [203225] by
-
- 6 edits in trunk/Source/WebCore
Pass SessionID to WebSocketHandle constructor
https://bugs.webkit.org/show_bug.cgi?id=159772
Reviewed by Brady Eidson.
No new tests. No change in behavior.
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect):
- platform/network/cf/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):
- platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
- platform/network/curl/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):
- platform/network/soup/SocketStreamHandle.h:
- 8:48 AM Changeset in webkit [203224] by
-
- 2 edits in trunk/Source/WebCore
[GLib] Use a GSource instead of a thread to poll memory pressure eventFD in linux implementation
https://bugs.webkit.org/show_bug.cgi?id=159346
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-07-14
Reviewed by Antonio Gomes.
This is a follow up of r203216 to fix wrong use of Optional values.
- platform/linux/MemoryPressureHandlerLinux.cpp:
- 5:33 AM Changeset in webkit [203223] by
-
- 2 edits in trunk/Source/WebKit2
[ThreadedCompositor] Build fails in debug mode after r202040
https://bugs.webkit.org/show_bug.cgi?id=159757
Patch by Hyunjun Ko <Hyunjun Ko> on 2016-07-14
Reviewed by Michael Catanzaro.
Debug mode build failed due to call getter method, which is
removed, in ASSERT().
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::glContext): Deleted.
(WebKit::ThreadedCompositor::didChangeVisibleRect): Deleted.
(WebKit::ThreadedCompositor::renderLayerTree): Deleted.
- 4:16 AM Changeset in webkit [203222] by
-
- 13 edits15 adds in trunk
DOM value iterable interfaces should use Array prototype methods
https://bugs.webkit.org/show_bug.cgi?id=159296
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-14
Reviewed by Chris Dumez and Mark Lam.
Source/JavaScriptCore:
- JavaScriptCore.xcodeproj/project.pbxproj: Marking some header files as private so that they can be included in
WebCore.
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation): copying iterable methods (entries, forEach, keys and values) to private slots.
Source/WebCore:
Test: fast/dom/NodeList/nodelist-iterable.html
Also covered by updated layout test and binding tests.
For value iterators, copy the iterator methods from Array prototype: as per https://heycam.github.io/webidl/#es-iterable,
[re: entries] If the interface has a value iterator, then the Function object is the initial value of the "entries" data property of %ArrayPrototype% ([ECMA-262], section 6.1.7.4).
[re: keys] If the interface has a value iterator, then the Function object is the initial value of the "keys" data property of %ArrayPrototype% ([ECMA-262], section 6.1.7.4).
[re: forEach] If the interface defines an indexed property getter, then the Function object is the initial value of the "forEach" data property of %ArrayPrototype% ([ECMA-262], section 6.1.7.4).
[re: Symbol.iterator] If the interface defines an indexed property getter, then the Function object is %ArrayProto_values% ([ECMA-262], section 6.1.7.4).
[re: values] If the interface has a value iterator, then the Function object is the value of the @@iterator property.
This change applies only to NodeList at the moment.
Copy of Array prototype iterator methods is disabled if the interface has no indexed getter.
- CMakeLists.txt:
- ForwardingHeaders/builtins/BuiltinNames.h: Added.
- ForwardingHeaders/builtins/JSCBuiltins.h: Added.
- ForwardingHeaders/runtime/CommonIdentifiers.h: Added.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSDOMIterator.cpp: Added.
(WebCore::addValueIterableMethods): Copy iterator methods from array prototype.
- bindings/js/JSDOMIterator.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GeneratePropertiesHashTable):
(GenerateImplementation):
(IsValueIterableInterface): Introduced to only copy iterator methods if the interface has an indexed getter.
(IsKeyValueIterableInterface): Introduced to detect whether generating iterator methods.
(GenerateImplementationIterableFunctions):
- bindings/scripts/test/GObject/WebKitDOMTestIterable.cpp: Added.
- bindings/scripts/test/GObject/WebKitDOMTestIterable.h: Added.
- bindings/scripts/test/GObject/WebKitDOMTestIterablePrivate.h: Added.
- bindings/scripts/test/JS/JSTestIterable.cpp: Added.
- bindings/scripts/test/JS/JSTestIterable.h: Added.
- bindings/scripts/test/JS/JSTestObj.cpp: Updated as TestObj defines both iterable<> and indexed getter.
- bindings/scripts/test/ObjC/DOMTestIterable.h: Added.
- bindings/scripts/test/ObjC/DOMTestIterable.mm: Added.
- bindings/scripts/test/ObjC/DOMTestIterableInternal.h: Added.
- bindings/scripts/test/TestIterable.idl: Added to handle the case of value iterator without indexed getter defined.
Array prototype methods should not be copied.
- bindings/scripts/test/TestObj.idl: Changing to be a value iterator (with indexed getter already defined).
Array prototype methods should be copied.
LayoutTests:
- fast/dom/nodeListIterator-expected.txt:
- fast/dom/nodeListIterator.html:
- fast/dom/NodeList/nodelist-iterable-expected.txt: Added.
- fast/dom/NodeList/nodelist-iterable.html: Added.
- 3:14 AM Changeset in webkit [203221] by
-
- 11 edits3 adds in trunk
[Fetch API] Request and Response url getter should use URL serialization
https://bugs.webkit.org/show_bug.cgi?id=159705
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-14
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/basic/response-url-expected.txt: Added.
- web-platform-tests/fetch/api/basic/response-url-worker-expected.txt: Added.
- web-platform-tests/fetch/api/basic/response-url-worker.html: Added.
- web-platform-tests/fetch/api/basic/response-url.html: Added.
- web-platform-tests/fetch/api/basic/response-url.js: Added.
(checkResponseURL):
- web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt:
- web-platform-tests/fetch/api/request/request-init-003.sub.html:
Source/WebCore:
Tests: fetch/fetch-url-serialization.html
imported/w3c/web-platform-tests/fetch/api/basic/response-url-worker.html
imported/w3c/web-platform-tests/fetch/api/basic/response-url.html
Implementing https://url.spec.whatwg.org/#concept-url-serializer and applying it to Request and Response getter.
Adding a temporary routine to compute url cannot-be-a-base-url flag. The parsing routine should store that
information in the URL itself.
Added tests to cover serialization routine. Failing tests are mostly due to limitations of the URL parser.
Tests do not check for URLs with username and password as Request constructor throws with such URLs.
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::url): Adding request url serialization, fragment included.
- Modules/fetch/FetchRequest.h:
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::url): Adding response url serialization, fragment excluded.
- Modules/fetch/FetchResponse.h:
- platform/URL.cpp:
(WebCore::cannotBeABaseURL): Temporary helper function to have a coarse evaluation of url cannot-be-a-base-url flag.
(WebCore::URL::serialize): Implementation of https://url.spec.whatwg.org/#concept-url-serializer.
- platform/URL.h:
(WebCore::URL::hasUser): Helper getter.
(WebCore::URL::hasPassword): Ditto.
(WebCore::URL::hasQuery): Ditto.
(WebCore::URL::hasFragment): Ditto.
LayoutTests:
- fetch/fetch-url-serialization-expected.txt: Added.
- fetch/fetch-url-serialization.html: Added.
- fetch/fetch-urls.json: Added.
- 1:36 AM Changeset in webkit [203220] by
-
- 3 edits in trunk/Source/WebCore
[css-grid] Const-ify track sizing algorithm
https://bugs.webkit.org/show_bug.cgi?id=159716
Reviewed by Carlos Garcia Campos.
All the methods used to run the track sizing algorithm should not
modify the state of LayoutGrid. We can safely const-ify all of them
and remove the ugly const_cast in computeIntrinsicLogicalWidths().
No new tests needed as there is no change in behavior.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::logicalHeightForChild):
(WebCore::RenderGrid::minSizeForChild):
(WebCore::RenderGrid::updateOverrideContainingBlockContentLogicalWidthForChild):
(WebCore::RenderGrid::minContentForChild):
(WebCore::RenderGrid::maxContentForChild):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems):
(WebCore::RenderGrid::currentItemSizeForTrackSizeComputationPhase):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
(WebCore::RenderGrid::distributeSpaceToTracks):
- rendering/RenderGrid.h:
- 12:54 AM Changeset in webkit [203219] by
-
- 4 edits in trunk
REGRESSION (r202918): LayoutTest media/video-main-content-allow-then-deny.html is flaky, failing almost every time on El Capitan
https://bugs.webkit.org/show_bug.cgi?id=159533
Reviewed by Eric Carlson.
Source/WebCore:
Move the contents of mainContentCheckTimerFired() into updateIsMainContent() so that the
results of changing the m_isMainContent ivar are acted upon no matter why m_isMainContent
changes.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::mainContentCheckTimerFired):
(WebCore::MediaElementSession::updateIsMainContent):
LayoutTests:
- platform/mac/TestExpectations:
- 12:29 AM Changeset in webkit [203218] by
-
- 2 edits in trunk/LayoutTests
Rebaseline test after r203204 and r203207.
- js/typed-array-mutated-during-set-expected.txt:
- 12:05 AM Changeset in webkit [203217] by
-
- 14 edits in trunk/Source
Modernize WebSocket handle
https://bugs.webkit.org/show_bug.cgi?id=159750
Reviewed by Brady Eidson.
Source/WebCore:
No new tests. No change in behavior.
This patch just removes ThreadableWebSocketChannel::InvalidMessage which is never used
and makes our use of SocketStreamHandleClient a reference instead of a pointer.
- Modules/websockets/ThreadableWebSocketChannel.h:
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::send):
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect):
- platform/network/SocketStreamHandleBase.cpp:
(WebCore::SocketStreamHandleBase::SocketStreamHandleBase):
(WebCore::SocketStreamHandleBase::send):
(WebCore::SocketStreamHandleBase::disconnect):
(WebCore::SocketStreamHandleBase::sendPendingData):
(WebCore::SocketStreamHandleBase::setClient): Deleted.
- platform/network/SocketStreamHandleBase.h:
(WebCore::SocketStreamHandleBase::~SocketStreamHandleBase):
(WebCore::SocketStreamHandleBase::bufferedAmount):
(WebCore::SocketStreamHandleBase::client):
- platform/network/cf/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):
- platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::addCONNECTCredentials):
(WebCore::SocketStreamHandle::copyCFStreamDescription):
(WebCore::SocketStreamHandle::readStreamCallback):
(WebCore::SocketStreamHandle::writeStreamCallback):
(WebCore::SocketStreamHandle::reportErrorToClient):
(WebCore::SocketStreamHandle::~SocketStreamHandle):
(WebCore::SocketStreamHandle::platformClose):
(WebCore::SocketStreamHandle::port):
- platform/network/curl/SocketStreamHandle.h:
(WebCore::SocketStreamHandle::create):
- platform/network/curl/SocketStreamHandleCurl.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::platformClose):
(WebCore::SocketStreamHandle::readData):
(WebCore::SocketStreamHandle::didReceiveData):
(WebCore::SocketStreamHandle::didOpenSocket):
(WebCore::SocketStreamHandle::createCopy):
- platform/network/soup/SocketStreamHandle.h:
- platform/network/soup/SocketStreamHandleSoup.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::~SocketStreamHandle):
(WebCore::SocketStreamHandle::connected):
(WebCore::SocketStreamHandle::connectedCallback):
(WebCore::SocketStreamHandle::readBytes):
(WebCore::SocketStreamHandle::didFail):
(WebCore::SocketStreamHandle::writeReady):
(WebCore::SocketStreamHandle::platformClose):
(WebCore::SocketStreamHandle::beginWaitingForSocketWritability):
Source/WebKit2:
- UIProcess/InspectorServer/soup/WebSocketServerSoup.cpp:
(WebKit::connectionCallback):
Jul 13, 2016:
- 11:36 PM Changeset in webkit [203216] by
-
- 4 edits in trunk/Source/WebCore
[GLib] Use a GSource instead of a thread to poll memory pressure eventFD in linux implementation
https://bugs.webkit.org/show_bug.cgi?id=159346
Reviewed by Antonio Gomes.
The eventFD file descriptor is pollable, so it would be much better to use a poll instead of a blocking read in
a secondary thread and then communicate back to the main thread. This is very easy to do with GSource in GLib,
so we could use that when GLib is available and keep the current implementation as a fallback.
- platform/MemoryPressureHandler.cpp:
(WebCore::m_holdOffTimer): Use a RunLoop timer.
- platform/MemoryPressureHandler.h:
- platform/linux/MemoryPressureHandlerLinux.cpp:
(WebCore::MemoryPressureHandler::EventFDPoller::EventFDPoller): Helper class do the eventFD polling.
(WebCore::MemoryPressureHandler::logErrorAndCloseFDs): Check if file descriptors are -1 not 0.
(WebCore::MemoryPressureHandler::install): Return early also if the hold off timer is active. Use EventFDPoller
to do the polling.
(WebCore::MemoryPressureHandler::uninstall): Stop the hold off timer and clear the EventFDPoller.
- 11:34 PM Changeset in webkit [203215] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION(r202273): [GTK] Redirected X window is resized to the previous size on size allocate
https://bugs.webkit.org/show_bug.cgi?id=159551
Reviewed by Michael Catanzaro.
In r202273 I added webkitWebViewBaseResizeRedirectedWindow() helper to remove duplicated code in all places
where we were resizing the redirected window to the current drawing area size. But on size allocate, we were
updating the redirected window first, and then the drawing area, to ensure that when the drawing area notifies
the web process the redirected window is already at the new size. This regression doesn't have any visual
effect, because we are ensure the right size always before rendering, but there's a small extra resize in this case.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseSizeAllocate): Resize the redirected window before updating the drawing area size.
- 11:17 PM Changeset in webkit [203214] by
-
- 2 edits in trunk/Tools
Test WTF.StringViewIterators is crashing since r203119
https://bugs.webkit.org/show_bug.cgi?id=159710
Reviewed by Darin Adler.
There are two problems in the test case added in r203119. First is that it's testing
StringView::CodeUnits::Iterator instead of StringView::CodePoints::Iterator, and second is that
StringView::codePoints() returns a temporary, so the iterator created from the temporary ends up pointing to a
const reference to the string view member of the deleted CodePoints object.
- TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
- 10:24 PM Changeset in webkit [203213] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix the magic numbers for ARM traditional in InlineAccess.h
https://bugs.webkit.org/show_bug.cgi?id=159708
Reviewed by Saam Barati.
- bytecode/InlineAccess.h:
(JSC::InlineAccess::sizeForPropertyAccess):
(JSC::InlineAccess::sizeForPropertyReplace):
(JSC::InlineAccess::sizeForLengthAccess):
- 9:55 PM Changeset in webkit [203212] by
-
- 25 edits in trunk/LayoutTests
Rebaseline EFL and Windows MathML tests after r203171
Unreviewed test gardening.
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-13
- platform/efl/mathml/opentype/horizontal-expected.txt:
- platform/efl/mathml/opentype/horizontal-munderover-expected.txt:
- platform/efl/mathml/opentype/large-operators-expected.txt:
- platform/efl/mathml/opentype/opentype-stretchy-expected.txt:
- platform/efl/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
- platform/efl/mathml/opentype/vertical-expected.txt:
- platform/efl/mathml/presentation/menclose-notation-default-longdiv-expected.txt:
- platform/efl/mathml/presentation/menclose-notation-values-expected.txt:
- platform/efl/mathml/presentation/mo-stretch-expected.txt:
- platform/efl/mathml/presentation/mspace-children-expected.txt:
- platform/efl/mathml/presentation/roots-expected.txt:
- platform/efl/mathml/radical-fallback-expected.txt:
- platform/win/mathml/mathml-in-dashboard-expected.txt:
- platform/win/mathml/opentype/horizontal-expected.txt:
- platform/win/mathml/opentype/horizontal-munderover-expected.txt:
- platform/win/mathml/opentype/large-operators-expected.txt:
- platform/win/mathml/opentype/opentype-stretchy-expected.txt:
- platform/win/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
- platform/win/mathml/opentype/vertical-expected.txt:
- platform/win/mathml/presentation/menclose-notation-default-longdiv-expected.txt:
- platform/win/mathml/presentation/mo-stretch-expected.txt:
- platform/win/mathml/presentation/mspace-children-expected.txt:
- platform/win/mathml/presentation/roots-expected.txt:
- platform/win/mathml/radical-fallback-expected.txt:
- 8:45 PM Changeset in webkit [203211] by
-
- 2 edits in trunk/Source/WebCore
[CSS][ARMv7] :nth-child() do not reserve enough registers if it is in backtracking chain
https://bugs.webkit.org/show_bug.cgi?id=159746
rdar://problem/26156169
Reviewed by Andreas Kling.
The generator generateElementIsNthChild() requires 6 registers in style resolution
to mark previous siblings with generateAddStyleRelationIfResolvingStyle() in the loop.
We were only reserving 5, which is a problem is the sixth is taken by the backtracking
register. x86_64 was already requiring 6 for unrelated reasons and ARM64 has so many registers
that you cannot possibly run out of them in CSS JIT.
I generalized the x86_64 path to all architectures.
I did not limit this case to style resolution because the extra register is irrelevant
in most cases. The only difference is one extra push/pop on ARMv7 if you use querySelector
with :nth-child in a backtracking chain.
This problem is covered by the existing test fast/selectors/nth-child-with-backtracking.html
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::minimumRegisterRequirements): Deleted.
- 8:43 PM Changeset in webkit [203210] by
-
- 2 edits in trunk/Source/WebCore
Drop unnecessary check from ContainerNode::removeChild()
https://bugs.webkit.org/show_bug.cgi?id=159747
Reviewed by Andreas Kling.
Drop unnecessary check from ContainerNode::removeChild() to make sure that
the parent of the node being removed is |this|. We already do this check
a few lines above. The only thing that happens in between is the ref'ing
of the node, which does not cause any JS execution.
This check was introduced in r55783 because there used to be a call to
document()->removeFocusedNodeOfSubtree(child.get());
between the two checks. However, this call has been removed since then
and the extra parentNode() check was left in.
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::removeChild): Deleted.
- 7:38 PM Changeset in webkit [203209] by
-
- 3 edits in trunk/Tools
[iOS] Copy WebKitTestRunnerInjectedBundle.bundle into PlugIns subdirectory and code sign it
https://bugs.webkit.org/show_bug.cgi?id=159738
<rdar://problem/27304649>
Reviewed by Dan Bernstein.
The bundle WebKitTestRunnerInjectedBundle.bundle contains executable code and should be
code signed if applicable. We should also copy this bundle into the PlugIns subdirectory
of the WebKitTestRunnerApp.app bundle instead of the top-level bundle directory as the
PlugIns subdirectory is the directory where loadable bundles of an app are expected to live.
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::initializeInjectedBundlePath): Modified code to look for the
bundle WebKitTestRunnerInjectedBundle.bundle in the plugin directory of the main bundle.
- 7:01 PM Changeset in webkit [203208] by
-
- 2 edits in trunk/Source/WTF
Addressing post-review comments after r203119
https://bugs.webkit.org/show_bug.cgi?id=159749
Unreviewed.
- wtf/text/StringView.h:
(WTF::StringView::CodePoints::Iterator::Iterator):
(WTF::StringView::CodePoints::Iterator::operator*):
(WTF::StringView::CodePoints::Iterator::operator==):
- 6:45 PM Changeset in webkit [203207] by
-
- 3 edits in trunk/LayoutTests
Unreviewed, rebaseline tests for ES6 TypedArray behavior.
- js/typed-array-mutated-during-set-expected.txt:
- js/typed-array-mutated-during-set.html:
- 6:20 PM Changeset in webkit [203206] by
-
- 5 edits1 add in trunk/Source/JavaScriptCore
YARR uses mixture of int and unsigned values to index into subject string
https://bugs.webkit.org/show_bug.cgi?id=159744
Reviewed by Benjamin Poulain.
In most cases, we refer to characters in subject strings using a negative index from the number of
"checked" characters in a subject string. The required length is compared against the actual length
and then we use that required length as the checked amount. For example, when matching the string of
4 digits in the RegExp /abc \d{4}/, we know that need 8 characters in the subject string. We refer
to the digits part of the expression from an already checked index of 8 and use negative offsets of
-4 through -1. In many cases we used a signed int for the negative offsets. There are other cases
where we used unsigned values as the amount of negative offset to use when accessing subject characters.
Changed all occurrances of character offsets to unsigned or Checked Arithmetic unsigned values. Note
that the pre-existing Checked class is used in other places to check for under/overflow with arithmetic
operations. Those unsigned offsets are always the number of characters before (negative) from the
current checked character offset. Also added some asserts for cases where arithmetic is not protected
by other checks or with Checked<> wrapped values.
In the case of the JIT, subject characters are accessed using base with scaled index and offset
addressing. The MacroAssembler provides this addressing using the BaseIndex struct. The offset for
this struct is a 32 bit signed quantity. Since we only care about negative offsets, we really only
have 31 bits. Changed the generation of a BaseOffset address to handle the case when the offset and
scaled combination will exceed the 31 bits of negative offset. This is done by moving the base value
into a temp register and biasing the temp base and offset to smaller values so that we can emit
instructions that can reference characters without exceeding the 31 bits of negative offset.
To abstract the character address generation, put the base with scaled index and offset into
one function and used that function everywhere the YARR JIT wants to access subject characters.
Also consilidated a few cases where we were generating inline what readCharacter() does. Usually
this was due to using a different index register.
Added a new regression test.
- tests/stress/regress-159744.js: Added regression test.
(testRegExp):
- yarr/YarrInterpreter.cpp:
(JSC::Yarr::Interpreter::recordParenthesesMatch):
(JSC::Yarr::Interpreter::resetMatches):
(JSC::Yarr::Interpreter::matchParenthesesOnceEnd):
(JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd):
(JSC::Yarr::ByteCompiler::closeBodyAlternative):
(JSC::Yarr::ByteCompiler::atomParenthesesSubpatternEnd):
(JSC::Yarr::ByteCompiler::atomParenthesesOnceEnd):
(JSC::Yarr::ByteCompiler::atomParenthesesTerminalEnd):
(JSC::Yarr::ByteCompiler::emitDisjunction):
- yarr/YarrInterpreter.h:
(JSC::Yarr::ByteTerm::ByteTerm):
(JSC::Yarr::ByteTerm::BOL):
(JSC::Yarr::ByteTerm::UncheckInput):
(JSC::Yarr::ByteTerm::EOL):
(JSC::Yarr::ByteTerm::WordBoundary):
(JSC::Yarr::ByteTerm::BackReference):
- yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::notAtEndOfInput):
(JSC::Yarr::YarrGenerator::negativeOffsetIndexedAddress):
(JSC::Yarr::YarrGenerator::readCharacter):
(JSC::Yarr::YarrGenerator::jumpIfCharNotEquals):
(JSC::Yarr::YarrGenerator::storeToFrame):
(JSC::Yarr::YarrGenerator::generateAssertionBOL):
(JSC::Yarr::YarrGenerator::backtrackAssertionBOL):
(JSC::Yarr::YarrGenerator::generateAssertionEOL):
(JSC::Yarr::YarrGenerator::matchAssertionWordchar):
(JSC::Yarr::YarrGenerator::generateAssertionWordBoundary):
(JSC::Yarr::YarrGenerator::generatePatternCharacterOnce):
(JSC::Yarr::YarrGenerator::generatePatternCharacterFixed):
(JSC::Yarr::YarrGenerator::generatePatternCharacterGreedy):
(JSC::Yarr::YarrGenerator::backtrackPatternCharacterNonGreedy):
(JSC::Yarr::YarrGenerator::generateCharacterClassOnce):
(JSC::Yarr::YarrGenerator::generateCharacterClassFixed):
(JSC::Yarr::YarrGenerator::generateCharacterClassGreedy):
(JSC::Yarr::YarrGenerator::backtrackCharacterClassNonGreedy):
(JSC::Yarr::YarrGenerator::generate):
(JSC::Yarr::YarrGenerator::backtrack):
(JSC::Yarr::YarrGenerator::YarrGenerator):
- yarr/YarrPattern.h:
(JSC::Yarr::PatternTerm::PatternTerm):
- 5:52 PM Changeset in webkit [203205] by
-
- 1 copy in tags/Safari-602.1.40.1.1
New tag.
- 5:15 PM Changeset in webkit [203204] by
-
- 8 edits in trunk/Source/JavaScriptCore
Crashes with detached ArrayBuffers
https://bugs.webkit.org/show_bug.cgi?id=157088
<rdar://problem/27327362>
Reviewed by Filip Pizlo.
TypedArray.prototype.fill was incorrect because it should perform
ToNumber coercion each time it tries to store the
object. Currently, we only perform the coercion once at the
beginning of the loop. If we find that we need to improve the
performance of this function, we can add a faster C++ path back
that only handles the primitive case.
This patch also moves the isNeutered() checks from put and
putByIndex into setIndex. This fixes an issue where setIndex might
store to a no longer valid offset.
- builtins/TypedArrayPrototype.js:
(globalPrivate.typedArrayClampArgumentToStartOrEnd):
(fill):
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndexQuickly):
(JSC::JSGenericTypedArrayView::setIndex):
(JSC::JSGenericTypedArrayView::setRangeToValue): Deleted.
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::put): Deleted.
(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): Deleted.
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncFill): Deleted.
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::JSTypedArrayViewPrototype::finishCreation):
(JSC::typedArrayViewProtoFuncFill): Deleted.
- tests/stress/typedarray-fill.js:
- tests/stress/typedarray-functions-with-neutered.js:
(defaultForArg):
(test2):
(checkArgumentsForType): Deleted.
(checkArguments): Deleted.
- 5:12 PM Changeset in webkit [203203] by
-
- 2 edits in trunk/Tools
Attempted build fix.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- 5:11 PM Changeset in webkit [203202] by
-
- 3 edits3 adds in trunk
Some bad unicode regex escapes aren't flagged as errors
https://bugs.webkit.org/show_bug.cgi?id=158080
Reviewed by Saam Barati.
Source/JavaScriptCore:
If we have a partial unicode escape, eg /\u{1/u or /\u12|abc/u, we
didn't check for the closing '}' and processed the unicode escape with
the hex value provided.
Added a check that we properly terminated a \u{} unicode escape.
If we fail that check and there isn't a prior error, we record that we
have an invalid unicode escape. The next existing line in the code will
terminate parsing and bubble up the error.
- yarr/YarrParser.h:
(JSC::Yarr::Parser::parseEscape):
LayoutTests:
New tests.
- js/regress-158080.html: Added.
- js/script-tests/regress-158080.js: Added.
- 5:08 PM Changeset in webkit [203201] by
-
- 3 edits118 adds in trunk/LayoutTests
Import W3C WebCryptoAPI tests
https://bugs.webkit.org/show_bug.cgi?id=159636
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- WebCryptoAPI/OWNERS: Added.
- WebCryptoAPI/README.md: Added.
- WebCryptoAPI/WebCryptoAPI.idl: Added.
- WebCryptoAPI/digest/digest.js: Added.
(run_test.):
(run_test.copyBuffer):
(run_test.equalBuffers):
(run_test):
- WebCryptoAPI/digest/digest.worker.js: Added.
- WebCryptoAPI/digest/test_digest-expected.txt: Added.
- WebCryptoAPI/digest/test_digest.html: Added.
- WebCryptoAPI/digest/w3c-import.log: Added.
- WebCryptoAPI/encrypt_decrypt/aes.js: Added.
(run_test.):
(run_test.importVectorKey):
(run_test):
(run_test.equalBuffers):
- WebCryptoAPI/encrypt_decrypt/aes_cbc.worker.js: Added.
- WebCryptoAPI/encrypt_decrypt/aes_cbc_vectors.js: Added.
(getTestVectors):
- WebCryptoAPI/encrypt_decrypt/aes_ctr.worker.js: Added.
- WebCryptoAPI/encrypt_decrypt/aes_ctr_vectors.js: Added.
(getTestVectors):
- WebCryptoAPI/encrypt_decrypt/aes_gcm.worker.js: Added.
- WebCryptoAPI/encrypt_decrypt/aes_gcm_vectors.js: Added.
(getTestVectors):
- WebCryptoAPI/encrypt_decrypt/rsa.js: Added.
(run_test.):
(run_test.else):
(run_test.importVectorKeys):
(run_test.copyBuffer):
(run_test.equalBuffers):
(run_test):
- WebCryptoAPI/encrypt_decrypt/rsa.worker.js: Added.
- WebCryptoAPI/encrypt_decrypt/rsa_vectors.js: Added.
(getTestVectors):
- WebCryptoAPI/encrypt_decrypt/test_aes_cbc-expected.txt: Added.
- WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html: Added.
- WebCryptoAPI/encrypt_decrypt/test_aes_ctr-expected.txt: Added.
- WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html: Added.
- WebCryptoAPI/encrypt_decrypt/test_aes_gcm-expected.txt: Added.
- WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html: Added.
- WebCryptoAPI/encrypt_decrypt/test_rsa_oaep-expected.txt: Added.
- WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html: Added.
- WebCryptoAPI/encrypt_decrypt/w3c-import.log: Added.
- WebCryptoAPI/generateKey/failures.js: Added.
(run_test.parameterString):
(run_test.testError):
(run_test):
(run_test.invalidUsages):
(run_test.):
- WebCryptoAPI/generateKey/failures.worker.js: Added.
- WebCryptoAPI/generateKey/failures_AES-CBC.worker.js: Added.
- WebCryptoAPI/generateKey/failures_AES-CTR.worker.js: Added.
- WebCryptoAPI/generateKey/failures_AES-GCM.worker.js: Added.
- WebCryptoAPI/generateKey/failures_AES-KW.worker.js: Added.
- WebCryptoAPI/generateKey/failures_ECDH.worker.js: Added.
- WebCryptoAPI/generateKey/failures_ECDSA.worker.js: Added.
- WebCryptoAPI/generateKey/failures_HMAC.worker.js: Added.
- WebCryptoAPI/generateKey/failures_RSA-OAEP.worker.js: Added.
- WebCryptoAPI/generateKey/failures_RSA-PSS.worker.js: Added.
- WebCryptoAPI/generateKey/failures_RSASSA-PKCS1-v1_5.worker.js: Added.
- WebCryptoAPI/generateKey/successes.js: Added.
(run_test.parameterString):
(run_test.):
(run_test.testSuccess):
(run_test):
- WebCryptoAPI/generateKey/successes.worker.js: Added.
- WebCryptoAPI/generateKey/successes_AES-CBC.worker.js: Added.
- WebCryptoAPI/generateKey/successes_AES-CTR.worker.js: Added.
- WebCryptoAPI/generateKey/successes_AES-GCM.worker.js: Added.
- WebCryptoAPI/generateKey/successes_AES-KW.worker.js: Added.
- WebCryptoAPI/generateKey/successes_ECDH.worker.js: Added.
- WebCryptoAPI/generateKey/successes_ECDSA.worker.js: Added.
- WebCryptoAPI/generateKey/successes_HMAC.worker.js: Added.
- WebCryptoAPI/generateKey/successes_RSA-OAEP.worker.js: Added.
- WebCryptoAPI/generateKey/successes_RSA-PSS.worker.js: Added.
- WebCryptoAPI/generateKey/successes_RSASSA-PKCS1-v1_5.worker.js: Added.
- WebCryptoAPI/generateKey/test_aes-cbc-expected.txt: Added.
- WebCryptoAPI/generateKey/test_aes-cbc.html: Added.
- WebCryptoAPI/generateKey/test_aes-ctr-expected.txt: Added.
- WebCryptoAPI/generateKey/test_aes-ctr.html: Added.
- WebCryptoAPI/generateKey/test_failures-expected.txt: Added.
- WebCryptoAPI/generateKey/test_failures.html: Added.
- WebCryptoAPI/generateKey/test_failures_AES-CBC-expected.txt: Added.
- WebCryptoAPI/generateKey/test_failures_AES-CBC.html: Added.
- WebCryptoAPI/generateKey/test_failures_AES-CTR-expected.txt: Added.
- WebCryptoAPI/generateKey/test_failures_AES-CTR.html: Added.
- WebCryptoAPI/generateKey/test_failures_AES-GCM-expected.txt: Added.
- WebCryptoAPI/generateKey/test_failures_AES-GCM.html: Added.
- WebCryptoAPI/generateKey/test_failures_AES-KW-expected.txt: Added.
- WebCryptoAPI/generateKey/test_failures_AES-KW.html: Added.
- WebCryptoAPI/generateKey/test_failures_ECDH-expected.txt: Added.
- WebCryptoAPI/generateKey/test_failures_ECDH.html: Added.
- WebCryptoAPI/generateKey/test_failures_ECDSA-expected.txt: Added.
- WebCryptoAPI/generateKey/test_failures_ECDSA.html: Added.
- WebCryptoAPI/generateKey/test_failures_HMAC-expected.txt: Added.
- WebCryptoAPI/generateKey/test_failures_HMAC.html: Added.
- WebCryptoAPI/generateKey/test_failures_RSA-OAEP-expected.txt: Added.
- WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html: Added.
- WebCryptoAPI/generateKey/test_failures_RSA-PSS-expected.txt: Added.
- WebCryptoAPI/generateKey/test_failures_RSA-PSS.html: Added.
- WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5-expected.txt: Added.
- WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html: Added.
- WebCryptoAPI/generateKey/test_successes-expected.txt: Added.
- WebCryptoAPI/generateKey/test_successes.html: Added.
- WebCryptoAPI/generateKey/test_successes_AES-CBC-expected.txt: Added.
- WebCryptoAPI/generateKey/test_successes_AES-CBC.html: Added.
- WebCryptoAPI/generateKey/test_successes_AES-CTR-expected.txt: Added.
- WebCryptoAPI/generateKey/test_successes_AES-CTR.html: Added.
- WebCryptoAPI/generateKey/test_successes_AES-GCM-expected.txt: Added.
- WebCryptoAPI/generateKey/test_successes_AES-GCM.html: Added.
- WebCryptoAPI/generateKey/test_successes_AES-KW-expected.txt: Added.
- WebCryptoAPI/generateKey/test_successes_AES-KW.html: Added.
- WebCryptoAPI/generateKey/test_successes_ECDH-expected.txt: Added.
- WebCryptoAPI/generateKey/test_successes_ECDH.html: Added.
- WebCryptoAPI/generateKey/test_successes_ECDSA-expected.txt: Added.
- WebCryptoAPI/generateKey/test_successes_ECDSA.html: Added.
- WebCryptoAPI/generateKey/test_successes_HMAC-expected.txt: Added.
- WebCryptoAPI/generateKey/test_successes_HMAC.html: Added.
- WebCryptoAPI/generateKey/test_successes_RSA-OAEP-expected.txt: Added.
- WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html: Added.
- WebCryptoAPI/generateKey/test_successes_RSA-PSS-expected.txt: Added.
- WebCryptoAPI/generateKey/test_successes_RSA-PSS.html: Added.
- WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5-expected.txt: Added.
- WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html: Added.
- WebCryptoAPI/generateKey/w3c-import.log: Added.
- WebCryptoAPI/getRandomValues.js: Added.
(run_test.):
(run_test):
- WebCryptoAPI/getRandomValues.worker.js: Added.
- WebCryptoAPI/idlharness-expected.txt: Added.
- WebCryptoAPI/idlharness.html: Added.
- WebCryptoAPI/idlharness.worker.js: Added.
(request.onload):
- WebCryptoAPI/test_getRandomValues-expected.txt: Added.
- WebCryptoAPI/test_getRandomValues.html: Added.
- WebCryptoAPI/tools/generate.py: Added.
- WebCryptoAPI/tools/w3c-import.log: Added.
- WebCryptoAPI/util/helpers.js: Added.
(allNonemptySubsetsOf):
(objectToString.):
(objectToString):
(assert_goodCryptoKey):
(allAlgorithmSpecifiersFor):
(allValidUsages):
(allNameVariants):
- WebCryptoAPI/util/w3c-import.log: Added.
- WebCryptoAPI/w3c-import.log: Added.
LayoutTests:
Skip test cases for unimplemented features.
- 4:54 PM Changeset in webkit [203200] by
-
- 8 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r203199.
Broke the build
Reverted changeset:
"Crashes with detached ArrayBuffers"
https://bugs.webkit.org/show_bug.cgi?id=157088
http://trac.webkit.org/changeset/203199
- 4:38 PM Changeset in webkit [203199] by
-
- 8 edits in trunk/Source/JavaScriptCore
Crashes with detached ArrayBuffers
https://bugs.webkit.org/show_bug.cgi?id=157088
<rdar://problem/27327362>
Reviewed by Filip Pizlo.
TypedArray.prototype.fill was incorrect because it should perform
ToNumber coercion each time it tries to store the
object. Currently, we only perform the coercion once at the
beginning of the loop. If we find that we need to improve the
performance of this function, we can add a faster C++ path back
that only handles the primitive case.
This patch also moves the isNeutered() checks from put and
putByIndex into setIndex. This fixes an issue where setIndex might
store to a no longer valid offset.
- builtins/TypedArrayPrototype.js:
(globalPrivate.typedArrayClampArgumentToStartOrEnd):
(fill):
- runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndexQuickly):
(JSC::JSGenericTypedArrayView::setIndex):
(JSC::JSGenericTypedArrayView::setRangeToValue): Deleted.
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::put): Deleted.
(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): Deleted.
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncFill): Deleted.
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::JSTypedArrayViewPrototype::finishCreation):
(JSC::typedArrayViewProtoFuncFill): Deleted.
- tests/stress/typedarray-fill.js:
- tests/stress/typedarray-functions-with-neutered.js:
(defaultForArg):
(test2):
(checkArgumentsForType): Deleted.
(checkArguments): Deleted.
- 4:33 PM Changeset in webkit [203198] by
-
- 2 edits in trunk/Source/WebInspectorUI
Uncaught Exception: TypeError: null is not an object (evaluating 'this._contentViewContainer.currentContentView.showsFilterBar')
https://bugs.webkit.org/show_bug.cgi?id=159696
<rdar://problem/27312356>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
Early return if content view not visible, since the event is sent during
tab teardown and the current TimelineView may be invalid.
- 3:43 PM Changeset in webkit [203197] by
-
- 1 delete in trunk/Websites/test-results
Remove test-results.
- 3:42 PM Changeset in webkit [203196] by
-
- 20 edits in trunk/Source/WebKit2
[WK2] Use more references for connections
https://bugs.webkit.org/show_bug.cgi?id=159739
Reviewed by Alex Christensen.
Use more references for connections to make it more obvious they cannot
be null.
- DatabaseProcess/DatabaseToWebProcessConnection.cpp:
(WebKit::DatabaseToWebProcessConnection::DatabaseToWebProcessConnection):
- DatabaseProcess/DatabaseToWebProcessConnection.h:
(WebKit::DatabaseToWebProcessConnection::connection):
- DatabaseProcess/IndexedDB/WebIDBConnectionToClient.cpp:
(WebKit::WebIDBConnectionToClient::messageSenderConnection):
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles):
- NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::connection):
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::messageSenderConnection):
- Shared/mac/CookieStorageShim.mm:
(WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::messageSenderConnection):
(WebKit::preregisterSandboxExtensionsIfNecessary):
- WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
(WebKit::WebToDatabaseProcessConnection::WebToDatabaseProcessConnection):
- WebProcess/Databases/WebToDatabaseProcessConnection.h:
(WebKit::WebToDatabaseProcessConnection::connection):
- WebProcess/FileAPI/BlobRegistryProxy.cpp:
(WebKit::BlobRegistryProxy::registerFileBlobURL):
(WebKit::BlobRegistryProxy::registerBlobURL):
(WebKit::BlobRegistryProxy::registerBlobURLOptionallyFileBacked):
(WebKit::BlobRegistryProxy::unregisterBlobURL):
(WebKit::BlobRegistryProxy::registerBlobURLForSlice):
(WebKit::BlobRegistryProxy::blobSize):
(WebKit::BlobRegistryProxy::writeBlobsToTemporaryFiles):
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::NetworkProcessConnection):
(WebKit::NetworkProcessConnection::writeBlobsToTemporaryFiles):
- WebProcess/Network/NetworkProcessConnection.h:
(WebKit::NetworkProcessConnection::connection):
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::remove):
(WebKit::WebLoaderStrategy::setDefersLoading):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::createPingHandle):
- WebProcess/Network/WebResourceLoader.cpp:
(WebKit::WebResourceLoader::messageSenderConnection):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::cookiesForDOM):
(WebKit::WebPlatformStrategies::setCookiesFromDOM):
(WebKit::WebPlatformStrategies::cookiesEnabled):
(WebKit::WebPlatformStrategies::cookieRequestHeaderFieldValue):
(WebKit::WebPlatformStrategies::getRawCookies):
(WebKit::WebPlatformStrategies::deleteCookie):
(WebKit::WebPlatformStrategies::addCookie):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload):
(WebKit::WebFrame::convertMainResourceLoadToDownload):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensureLegacyPrivateBrowsingSessionInNetworkProcess):
(WebKit::WebProcess::networkConnection):
(WebKit::WebProcess::prefetchDNS):
- WebProcess/WebProcess.h:
- 3:40 PM Changeset in webkit [203195] by
-
- 4 edits in trunk/Source/WebKit2
Move WKPreferencesRef functions to the correct file
https://bugs.webkit.org/show_bug.cgi?id=159741
Reviewed by Sam Weinig.
Also, get rid of WKPreferencesGetPaymentsEnabled and WKPreferencesSetPaymentsEnabled.
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesGetApplePayEnabled):
(WKPreferencesSetApplePayEnabled):
(WKPreferencesGetApplePayCapabilityDisclosureAllowed):
(WKPreferencesSetApplePayCapabilityDisclosureAllowed):
- UIProcess/API/C/WKPreferencesRef.h:
- UIProcess/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WKPreferencesGetApplePayEnabled): Deleted.
(WKPreferencesSetApplePayEnabled): Deleted.
(WKPreferencesGetApplePayCapabilityDisclosureAllowed): Deleted.
(WKPreferencesSetApplePayCapabilityDisclosureAllowed): Deleted.
(WKPreferencesGetPaymentsEnabled): Deleted.
(WKPreferencesSetPaymentsEnabled): Deleted.
- 3:18 PM Changeset in webkit [203194] by
-
- 2 edits in trunk/LayoutTests
Remove duplicated TestExpectation for perf/rel-list-remove.html on ios-simulator
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 3:02 PM Changeset in webkit [203193] by
-
- 4 edits in trunk/LayoutTests
Test gardening for fast/text/font-face-javascript.html
https://bugs.webkit.org/show_bug.cgi?id=156631
Unreviewed.
- TestExpectations:
- fast/text/font-face-javascript-expected.txt:
- fast/text/font-face-javascript.html:
- 2:58 PM Changeset in webkit [203192] by
-
- 3 edits in trunk/Source/WebKit2
Add _applePayCapabilityDisclosureAllowed SPI declaration
https://bugs.webkit.org/show_bug.cgi?id=159740
Reviewed by Dan Bernstein.
Also, delete an old method that is no longer used.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _paymentsEnabled]): Deleted.
(-[WKWebViewConfiguration _setPaymentsEnabled:]): Deleted.
- 2:56 PM Changeset in webkit [203191] by
-
- 2 edits in tags/Safari-602.1.41/Source/WebCore
Merged r203172. rdar://problem/27306545
- 2:42 PM Changeset in webkit [203190] by
-
- 3 edits in trunk/LayoutTests
Marking imported/blink/storage/indexeddb/blob-valid-after-deletion.html as flaky on Mac and ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=158640
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- 2:33 PM Changeset in webkit [203189] by
-
- 2 edits in trunk/Source/WebKit2
Blank news article on kottke.org
https://bugs.webkit.org/show_bug.cgi?id=159733
<rdar://problem/26743065>
Reviewed by Simon Fraser.
This patch ensures that we update the visible content rect, when Auto Layout moves the WKWebView around.
We normally expect setFrameRect to be called to position WKWebView. However Auto Layout relies on layoutSubviews,
and in order to always have up-to-date visible content rect, we need to override layoutSubviews in WKWebView.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView layoutSubviews]):
- 2:14 PM Changeset in webkit [203188] by
-
- 1 edit4 adds in trunk/LayoutTests
Add test verifying detached iframes cannot set IDB values
https://bugs.webkit.org/show_bug.cgi?id=159736
Patch by Alex Christensen <achristensen@webkit.org> on 2016-07-13
Reviewed by Brady Eidson.
We match Chrome but not Firefox in this case.
- storage/indexeddb/detached-iframe-expected.txt: Added.
- storage/indexeddb/detached-iframe.html: Added.
- storage/indexeddb/resources/detached-iframe.html: Added.
- storage/indexeddb/resources/detached-iframe.js: Added.
(done):
(unexpectedErrorCallback):
(getRequestCallback):
(dbOpenedSecondTime):
(getValueFromIDB):
(makeDetachedFrame):
(prepareDatabase):
- 1:52 PM Changeset in webkit [203187] by
-
- 8 edits3 copies5 adds in trunk
REGRESSION(r202953): Clicking on input[type=file] doesn't open a file picker
https://bugs.webkit.org/show_bug.cgi?id=159686
Source/WebCore:
Reviewed by Chris Dumez.
The bug was caused by DOMActivate event not propagating out of the user-agent shadow tree
of a file input, and FileInputType not receiving the event to open the file picker.
Made DOMActivate "composed" event which cross shadow boundaries to fix the bug. The feedback
was given back to W3C on https://github.com/w3c/webcomponents/issues/513#issuecomment-231851617
Test: fast/forms/file/open-file-panel.html
- dom/Event.cpp:
(WebCore::Event::composed):
Tools:
Reviewed by Chris Dumez.
Added a code to print "OPEN FILE PANEL" in the text when runOpenPanel is called in the UI delegate.
- WebKitTestRunner/TestController.cpp:
(WTR::runOpenPanel):
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
LayoutTests:
<rdar://problem/27263589>
Reviewed by Chris Dumez.
Added a regression test for opening a file picker on a type=file input element.
The test currently only works on WebKit2 since the support for logging "OPEN FILE PANEL"
was only added to WebKitTestRunner.
Also added WebKit2 specific expected results for some tests that tries to open file panel.
- fast/forms/file/open-file-panel-expected.txt: Added.
- fast/forms/file/open-file-panel.html: Added.
- platform/ios-simulator-wk1/TestExpectations:
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- platform/wk2/accessibility: Added.
- platform/wk2/accessibility/axpress-on-aria-button-expected.txt: Copied from LayoutTests/accessibility/axpress-on-aria-button-expected.txt.
- platform/wk2/accessibility/file-upload-button-with-axpress-expected.txt: Copied from LayoutTests/accessibility/file-upload-button-with-axpress-expected.txt.
- platform/wk2/fast: Added.
- platform/wk2/fast/events: Added.
- platform/wk2/fast/events/domactivate-sets-underlying-click-event-as-handled-expected.txt: Copied from LayoutTests/fast/events/domactivate-sets-underlying-click-event-as-handled-expected.txt.
- 1:51 PM Changeset in webkit [203186] by
-
- 5 edits1 move1 add in trunk
Add more candidate tests
https://bugs.webkit.org/show_bug.cgi?id=159730
Reviewed by Tim Horton.
Source/WebKit/mac:
Move shouldRequestCandidates from WebViewInternal to WebViewPrivate so that
we can use it in tests.
- WebView/WebViewInternal.h:
- WebView/WebViewPrivate.h:
Tools:
This patch re-names ViewWithEditableAreaLeak.mm to CandidateTests.mm and adds
two new tests to that file.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/focus-inputs.html: Added.
- TestWebKitAPI/Tests/mac/CandidateTests.mm: Copied from TestWebKitAPI/Tests/mac/ViewWithEditableAreaLeak.mm.
(-[CandidateRequestFrameLoadDelegate webView:didFinishLoadForFrame:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/ViewWithEditableAreaLeak.mm: Removed.
- 1:33 PM Changeset in webkit [203185] by
-
- 2 adds in trunk/Websites/test-results
Update results-safari config.
- 1:32 PM Changeset in webkit [203184] by
-
- 2 edits in branches/safari-602.1.40.1-branch/Source/WebCore
Merged r203172. rdar://problem/27306545
- 1:31 PM Changeset in webkit [203183] by
-
- 5 edits in branches/safari-602.1.40.1-branch/Source
Versioning.
- 1:30 PM Changeset in webkit [203182] by
-
- 1 copy in branches/safari-602.1.40.1-branch
New Branch.
- 1:26 PM Changeset in webkit [203181] by
-
- 4 edits in tags/Safari-602.1.41
Merged r203167. rdar://problem/26358998
- 1:25 PM Changeset in webkit [203180] by
-
- 5 edits in branches/safari-602.1.40-branch/Source
Versioning.
- 1:23 PM Changeset in webkit [203179] by
-
- 5 edits in trunk/Source
Versioning.
- 1:20 PM Changeset in webkit [203178] by
-
- 1 copy in tags/Safari-602.1.41
New tag.
- 1:09 PM Changeset in webkit [203177] by
-
- 8 edits1 delete in trunk/Websites/test-results
Revert 203176.
- 1:04 PM Changeset in webkit [203176] by
-
- 8 edits1 add in trunk/Websites/test-results
Update command for the results maintenance script.
- 1:02 PM Changeset in webkit [203175] by
-
- 1 copy in tags/Safari-602.1.40.7
New tag.
- 1:01 PM Changeset in webkit [203174] by
-
- 2 edits in trunk/Source/WebKit2
WebKit2 shouldn't signal custom protocol clients from the NSURLConnection loader thread.
https://bugs.webkit.org/show_bug.cgi?id=159725
<rdar://problem/27323131>
Reviewed by Andy Estes.
WebKit2 shouldn't signal custom protocol clients from the NSURLConnection
loader thread. Instead, use the RunLoop the WKCustomProtocol was initialized
on.
- NetworkProcess/CustomProtocols/Cocoa/CustomProtocolManagerCocoa.mm:
(-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
(WebKit::dispatchOnInitializationRunLoop):
(WebKit::CustomProtocolManager::didFailWithError):
(WebKit::CustomProtocolManager::didLoadData):
(WebKit::CustomProtocolManager::didReceiveResponse):
(WebKit::CustomProtocolManager::didFinishLoading):
(WebKit::CustomProtocolManager::wasRedirectedToRequest):
(WebKit::dispatchOnResourceLoaderRunLoop): Deleted.
- 1:00 PM Changeset in webkit [203173] by
-
- 4 edits in branches/safari-602.1.40-branch
Merged r203167. rdar://problem/26358998
- 12:17 PM Changeset in webkit [203172] by
-
- 2 edits in trunk/Source/WebCore
v2: WebContent crash due to RELEASE_ASSERT(!m_inLoadPendingImages) in StyleResolver::~StyleResolver()
https://bugs.webkit.org/show_bug.cgi?id=159722
Reviewed by Andreas Kling.
We have crashes where a StyleResolver is deleted underneath pseudoStyleForElement (key parts of the stack):
0 WebCore::StyleResolver::~StyleResolver
3 WebCore::AuthorStyleSheets::updateActiveStyleSheets
4 WebCore::Document::styleResolverChanged
5 WebKit::WebPage::viewportConfigurationChanged()
6 WebKit::WebPage::mainFrameDidLayout()
9 WebCore::FrameLoader::checkCompleted
13 WebCore::ResourceLoader::cancel
19 WebKit::WebLoaderStrategy::loadResource
24 WebCore::Style::loadPendingImage
27 WebCore::StyleResolver::pseudoStyleForElement
29 WebCore::RenderTreeUpdater::updateBeforeOrAfterPseudoElement
33 WebCore::Document::recalcStyle
This appears to be happening when a content blocker blocks a resource load for an image referenced from a stylesheet
and triggers synchronous cancellation of the load. With engine in suitable state this can clear style resolver.
No test, don't know how to make one. This is very timing and engine state dependent.
- dom/AuthorStyleSheets.cpp:
(WebCore::AuthorStyleSheets::updateActiveStyleSheets):
We have an existing check here that prevents destruction of the style resolver when we are in the middle of
a style resolution. However the old inStyleRecalc() bit no longer covers the render tree update phase. Pseudo
elements are resolved during render tree update.
Fix by adding a check for inRenderTreeUpdate() bit too.
This just fixes a regression. A proper fix would be to gather all resources during style resolution
and trigger the loads afterwards.
- 12:14 PM Changeset in webkit [203171] by
-
- 68 edits in trunk
Remove padding and margin around the <math> element
https://bugs.webkit.org/show_bug.cgi?id=157989
Source/WebCore:
Reviewed by Brent Fulgham.
No new tests, already covered by existing tests.
- css/mathml.css:
(math): Remove padding.
(math[display="block"]): Remove margin.
LayoutTests:
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-13
Reviewed by Brent Fulgham.
- imported/mathml-in-html5/mathml/relations/html5-tree/href-click-1.html: Remove spacing hack.
- imported/mathml-in-html5/mathml/relations/html5-tree/href-click-2.html: Ditto.
- mathml/presentation/fractions-box-expected.html: Ditto.
- mathml/presentation/fractions-box.html: Ditto.
- mathml/presentation/href-enter.html: Ditto.
- mathml/presentation/maction-toggle-href.html: Ditto.
- mathml/presentation/mpadded-1-2.html: Ditto.
- mathml/presentation/mpadded-1.html: Ditto.
- mathml/presentation/mpadded-2.html: Ditto.
- mathml/presentation/mpadded-3.html: Ditto.
- mathml/presentation/mpadded-4-expected.html: Ditto.
- mathml/presentation/mpadded-4.html: Ditto.
- mathml/presentation/mspace-prefered-width.html: Ditto.
- mathml/presentation/mspace-units-expected.html: Ditto.
- mathml/presentation/mspace-units.html: Ditto.
- mathml/presentation/mspace.html: Ditto.
- mathml/presentation/scripts-height-expected.html: Ditto.
- mathml/presentation/scripts-subsup-expected.html: Ditto.
- mathml/presentation/scripts-subsup.html: Ditto.
- mathml/presentation/scripts-underover-expected.html: Ditto.
- mathml/presentation/scripts-underover.html: Ditto.
- mathml/presentation/semantics-2.html: Ditto.
- mathml/presentation/semantics-3.html: Ditto.
- mathml/presentation/semantics-4.html: Ditto.
- mathml/presentation/semantics-href.html: Ditto.
- mathml/presentation/style-border-padding-background.html: Ditto.
- platform/gtk/mathml/opentype/horizontal-expected.png: Rebaseline due to spacing change around the math tag.
- platform/gtk/mathml/opentype/horizontal-expected.txt: Ditto.
- platform/gtk/mathml/opentype/horizontal-munderover-expected.png: Ditto.
- platform/gtk/mathml/opentype/horizontal-munderover-expected.txt: Ditto.
- platform/gtk/mathml/opentype/large-operators-expected.txt: Ditto.
- platform/gtk/mathml/opentype/opentype-stretchy-expected.png: Ditto.
- platform/gtk/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
- platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.png: Ditto.
- platform/gtk/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Ditto.
- platform/gtk/mathml/opentype/vertical-expected.png: Ditto.
- platform/gtk/mathml/opentype/vertical-expected.txt: Ditto.
- platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.png: Ditto.
- platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Ditto.
- platform/gtk/mathml/presentation/menclose-notation-values-expected.png: Ditto.
- platform/gtk/mathml/presentation/menclose-notation-values-expected.txt: Ditto.
- platform/gtk/mathml/presentation/mo-stretch-expected.png: Ditto.
- platform/gtk/mathml/presentation/mo-stretch-expected.txt: Ditto.
- platform/gtk/mathml/presentation/mspace-children-expected.txt: Ditto.
- platform/gtk/mathml/presentation/roots-expected.png: Ditto.
- platform/gtk/mathml/presentation/roots-expected.txt: Ditto.
- platform/gtk/mathml/radical-fallback-expected.png: Ditto.
- platform/gtk/mathml/radical-fallback-expected.txt: Ditto.
- platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
- platform/ios-simulator/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Ditto.
- platform/ios-simulator/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Ditto.
- platform/ios-simulator/mathml/presentation/menclose-notation-values-expected.txt: Ditto.
- platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt: Ditto.
- platform/ios-simulator/mathml/presentation/mspace-children-expected.txt: Ditto.
- platform/ios-simulator/mathml/presentation/roots-expected.txt: Ditto.
- platform/ios-simulator/mathml/radical-fallback-expected.txt: Ditto.
- platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
- platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Ditto.
- platform/mac/mathml/presentation/menclose-notation-default-longdiv-expected.txt: Ditto.
- platform/mac/mathml/presentation/menclose-notation-values-expected.txt: Ditto.
- platform/mac/mathml/presentation/mo-stretch-expected.txt: Ditto.
- platform/mac/mathml/presentation/mspace-children-expected.txt: Ditto.
- platform/mac/mathml/presentation/roots-expected.txt: Ditto.
- platform/mac/mathml/radical-fallback-expected.txt: Ditto.
- mathml/mathml-in-dashboard-expected.txt: Ditto
- 12:11 PM Changeset in webkit [203170] by
-
- 5 edits in trunk
AX: [ATK] spinbutton-crash.html fails
https://bugs.webkit.org/show_bug.cgi?id=159723
Reviewed by Chris Fleizach.
Tools:
Implement support for AXDecrementButton and AXIncrementButton in
ATK's AccessibilityUIElement::uiElementAttributeValue().
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::AccessibilityUIElement::uiElementAttributeValue):
LayoutTests:
In ATK, the accessible object for an input element has no children for
the text component. As a result, the spinner is the first and only child.
In AXAPI, the input element has an AXGroup child for the text component.
As a result, the spinner is the second of two children. Therefore, add a
helper method to accessibility-helper.js to retrieve the correct child
for the current platform use it in spinbutton-crash.html.
- accessibility/spinbutton-crash.html: Modified.
- resources/accessibility-helper.js:
(spinnerForTextInput): Added.
- 11:44 AM Changeset in webkit [203169] by
-
- 14 edits in trunk/Source
Update supported platforms in xcconfig files to match the sdk names.
https://bugs.webkit.org/show_bug.cgi?id=159728
Reviewed by Tim Horton.
- Configurations/Base.xcconfig:
- 11:36 AM Changeset in webkit [203168] by
-
- 2 edits in trunk/Source/WebCore
"requiredShippingAddressFields" has been deprecated error thrown when using "requiredBillingAddressFields"
https://bugs.webkit.org/show_bug.cgi?id=159729
rdar://problem/27314974
Reviewed by Tim Horton.
Fix a paste-o.
- Modules/applepay/ApplePaySession.cpp:
(WebCore::createPaymentRequest):
- 10:49 AM Changeset in webkit [203167] by
-
- 4 edits in trunk
[Win] DLLs are missing version information.
https://bugs.webkit.org/show_bug.cgi?id=159349
Reviewed by Alex Christensen.
Avoid using environment variable WEBKIT_LIBRARIES when finding version stamper utility,
in case it is not defined. Instead, use the location of the perl script to find the
utility.
.:
- Source/cmake/tools/scripts/version-stamp.pl:
WebKitLibraries:
- win/tools/scripts/version-stamp.pl:
- 10:40 AM Changeset in webkit [203166] by
-
- 3 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-post-upload.htm as failing on Mac and ios-sim Release WK2
https://bugs.webkit.org/show_bug.cgi?id=159724
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 10:25 AM Changeset in webkit [203165] by
-
- 3 edits3 adds in trunk
[WK1][iOS] Crash when WebSocket attempts to dispatch a mixed content blocker event
https://bugs.webkit.org/show_bug.cgi?id=159680
<rdar://problem/22102028>
Reviewed by Zalan Bujtas.
Source/WebCore:
WK1 on iOS should not use RunLoop::main(). Instead, it should be dispatching events
on the WebThread.
Test: http/tests/ssl/mixedContent/insecure-websocket.html
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect): Do not use RunLoop::main() when we should be using
the WebThread.
LayoutTests:
- http/tests/ssl/mixedContent: Added.
- http/tests/ssl/mixedContent/insecure-websocket-expected.txt: Added.
- http/tests/ssl/mixedContent/insecure-websocket.html: Added.
- 9:30 AM Changeset in webkit [203164] by
-
- 44 edits117 adds in trunk/LayoutTests
Refresh WPT tests up to c875b42
https://bugs.webkit.org/show_bug.cgi?id=159712
Patch by Youenn Fablet <youennf@gmail.com> on 2016-07-13
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- resources/ImportExpectations:
- resources/TestRepositories:
- resources/web-platform-tests-modules.json:
- web-platform-tests/XMLHttpRequest/open-url-multi-window-6-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/open-url-multi-window-6.htm: Added.
- web-platform-tests/XMLHttpRequest/responsexml-basic-expected.txt:
- web-platform-tests/XMLHttpRequest/responsexml-basic.htm:
- web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
- web-platform-tests/XMLHttpRequest/send-redirect-post-upload-expected.txt: Added.
- web-platform-tests/XMLHttpRequest/send-redirect-post-upload.htm: Added.
- web-platform-tests/init.py:
- web-platform-tests/dom/events/CustomEvent-expected.txt: Added.
- web-platform-tests/dom/events/CustomEvent.html: Added.
- web-platform-tests/dom/events/Event-dispatch-bubbles-true-expected.txt: Added.
- web-platform-tests/dom/events/Event-dispatch-bubbles-true.html: Added.
- web-platform-tests/dom/events/Event-dispatch-detached-click-expected.txt: Added.
- web-platform-tests/dom/events/Event-dispatch-detached-click.html: Added.
- web-platform-tests/dom/events/Event-dispatch-multiple-stopPropagation-expected.txt: Added.
- web-platform-tests/dom/events/Event-dispatch-multiple-stopPropagation.html: Added.
- web-platform-tests/dom/events/Event-dispatch-order-expected.txt: Added.
- web-platform-tests/dom/events/Event-dispatch-order.html: Added.
- web-platform-tests/dom/events/Event-dispatch-throwing-expected.txt: Added.
- web-platform-tests/dom/events/Event-dispatch-throwing.html: Added.
- web-platform-tests/dom/events/Event-init-while-dispatching-expected.txt: Added.
- web-platform-tests/dom/events/Event-init-while-dispatching.html: Added.
- web-platform-tests/dom/events/Event-subclasses-constructors-expected.txt: Added.
- web-platform-tests/dom/events/Event-subclasses-constructors.html: Added.
- web-platform-tests/dom/events/EventListener-handleEvent-expected.txt: Added.
- web-platform-tests/dom/events/EventListener-handleEvent.html: Added.
- web-platform-tests/dom/events/EventListener-incumbent-global-1.sub-expected.txt: Added.
- web-platform-tests/dom/events/EventListener-incumbent-global-1.sub.html: Added.
- web-platform-tests/dom/events/EventListener-incumbent-global-2.sub-expected.txt: Added.
- web-platform-tests/dom/events/EventListener-incumbent-global-2.sub.html: Added.
- web-platform-tests/dom/events/EventListener-incumbent-global-subframe-1.sub.html: Added.
- web-platform-tests/dom/events/EventListener-incumbent-global-subframe-2.sub.html: Added.
- web-platform-tests/dom/events/EventListener-incumbent-global-subsubframe.sub.html: Added.
- web-platform-tests/dom/lists/DOMTokenList-coverage-for-attributes-expected.txt: Added.
- web-platform-tests/dom/lists/DOMTokenList-coverage-for-attributes.html: Added.
- web-platform-tests/dom/nodes/Document-createElement-namespace-expected.txt:
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html: Added.
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg: Added.
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml: Added.
- web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml: Added.
- web-platform-tests/dom/nodes/ProcessingInstruction-escapes-1-expected.txt: Added.
- web-platform-tests/dom/nodes/ProcessingInstruction-escapes-1.xhtml: Added.
- web-platform-tests/domparsing/DOMParser-parseFromString-html-expected.txt:
- web-platform-tests/domparsing/DOMParser-parseFromString-html.html:
- web-platform-tests/domparsing/createContextualFragment-expected.txt: Added.
- web-platform-tests/domparsing/createContextualFragment.html: Added.
- web-platform-tests/domparsing/innerhtml-01-expected.txt: Added.
- web-platform-tests/domparsing/innerhtml-01.xhtml: Added.
- web-platform-tests/domparsing/innerhtml-03-expected.txt: Added.
- web-platform-tests/domparsing/innerhtml-03.xhtml: Added.
- web-platform-tests/domparsing/innerhtml-04-expected.txt: Added.
- web-platform-tests/domparsing/innerhtml-04.html: Added.
- web-platform-tests/domparsing/innerhtml-05-expected.txt: Added.
- web-platform-tests/domparsing/innerhtml-05.xhtml: Added.
- web-platform-tests/domparsing/innerhtml-06-expected.txt: Added.
- web-platform-tests/domparsing/innerhtml-06.html: Added.
- web-platform-tests/domparsing/innerhtml-07-expected.txt: Added.
- web-platform-tests/domparsing/innerhtml-07.html: Added.
- web-platform-tests/domparsing/insert_adjacent_html-expected.txt: Added.
- web-platform-tests/domparsing/insert_adjacent_html.html: Added.
- web-platform-tests/domparsing/insert_adjacent_html.js: Added.
(testThrowingNoParent):
- web-platform-tests/domparsing/outerhtml-01-expected.txt: Added.
- web-platform-tests/domparsing/outerhtml-01.html: Added.
- web-platform-tests/domparsing/outerhtml-02-expected.txt: Added.
- web-platform-tests/domparsing/outerhtml-02.html: Added.
- web-platform-tests/domparsing/xml-serialization-expected.txt: Added.
- web-platform-tests/domparsing/xml-serialization.xhtml: Added.
- web-platform-tests/fetch/api/basic/request-head-expected.txt: Added.
- web-platform-tests/fetch/api/basic/request-head-worker-expected.txt: Added.
- web-platform-tests/fetch/api/basic/request-head-worker.html: Added.
- web-platform-tests/fetch/api/basic/request-head.html: Added.
- web-platform-tests/fetch/api/basic/request-head.js: Added.
(promise_test):
- web-platform-tests/fetch/api/basic/request-headers-expected.txt:
- web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
- web-platform-tests/fetch/api/basic/request-headers.js:
- web-platform-tests/fetch/api/basic/response-url-expected.txt: Added.
- web-platform-tests/fetch/api/basic/response-url-worker-expected.txt: Added.
- web-platform-tests/fetch/api/basic/response-url-worker.html: Added.
- web-platform-tests/fetch/api/basic/response-url.html: Added.
- web-platform-tests/fetch/api/basic/response-url.js: Added.
(checkResponseURL):
- web-platform-tests/fetch/api/basic/w3c-import.log:
- web-platform-tests/fetch/api/cors/cors-basic-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-cookies-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight.js:
(corsPreflight):
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt:
- web-platform-tests/fetch/api/credentials/authentication-basic-worker-expected.txt:
- web-platform-tests/fetch/api/credentials/cookies-worker-expected.txt:
- web-platform-tests/fetch/api/policies/referrer-origin-worker-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-location-worker-expected.txt:
- web-platform-tests/fetch/api/redirect/redirect-mode-worker-expected.txt:
- web-platform-tests/fetch/api/request/request-init-002.html:
- web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt:
- web-platform-tests/fetch/api/request/request-init-003.sub.html:
- web-platform-tests/html/dom/interfaces.html:
- web-platform-tests/html/dom/interfaces-expected.txt:
- web-platform-tests/html/semantics/document-metadata/the-base-element/base_about_blank-expected.txt: Added.
- web-platform-tests/html/semantics/document-metadata/the-base-element/base_about_blank.html: Added.
- web-platform-tests/html/semantics/document-metadata/the-base-element/base_href_invalid-expected.txt: Added.
- web-platform-tests/html/semantics/document-metadata/the-base-element/base_href_invalid.html: Added.
- web-platform-tests/html/semantics/document-metadata/the-base-element/base_srcdoc-expected.txt: Added.
- web-platform-tests/html/semantics/document-metadata/the-base-element/base_srcdoc.html: Added.
- web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context-expected.txt: Added.
- web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context.html: Added.
- 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/document-metadata/the-link-element/stylesheet.py: Added.
(main):
- web-platform-tests/html/semantics/document-metadata/the-link-element/w3c-import.log:
- web-platform-tests/html/semantics/embedded-content/media-elements/video_008-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/media-elements/video_008.htm: Added.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-subdocument.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_child.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_grandchild.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_parentage-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/change_parentage.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_child.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_grandchild.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-load-event-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-load-event.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_harness.js: Added.
(get_test_results.):
(get_test_results):
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_helper.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_child.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_grandchild.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_parentage-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_parentage.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/stash.py: Added.
(main):
- web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-img-element/invalid-src-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/invalid-src.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
- web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body-expected.txt: Added.
- web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body.html: Added.
- web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange-expected.txt:
- web-platform-tests/html/semantics/forms/textfieldselection/textfieldselection-setSelectionRange.html:
- web-platform-tests/html/semantics/forms/the-form-element/form-indexed-element-expected.txt: Added.
- web-platform-tests/html/semantics/forms/the-form-element/form-indexed-element.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown-child.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown.js: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/scripting-enabled-expected.txt: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/scripting-enabled.html: Added.
- web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
- web-platform-tests/lint.whitelist:
- web-platform-tests/streams/readable-streams/bad-strategies.https-expected.txt:
- web-platform-tests/streams/readable-streams/bad-strategies.js:
(get string_appeared_here):
(promise_test): Deleted.
LayoutTests:
- TestExpectations: Adding some test expectations and skipping some resource files.
- 9:10 AM Changeset in webkit [203163] by
-
- 3 edits2 adds in trunk
The display property of many MathML elements can not be overriden by page authors
https://bugs.webkit.org/show_bug.cgi?id=139403
Source/WebCore:
The mathml.css user agent stylesheet currently forces most MathML elements to render with
'display: block'. We remove the !important keyword so that users can override the display
property, for example to hide elements with 'display: none'. This is consistent with the
behavior for SVG or HTML elements.
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-13
Reviewed by Brent Fulgham.
Test: imported/mathml-in-html5/mathml/relations/css-styling/display-1.html
- css/mathml.css:
(math):
(math[display="block"]):
(ms, mspace, mtext, mi, mn, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose, semantics, mpadded, maction):
(mtd > *):
LayoutTests:
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-13
Reviewed by Brent Fulgham.
- imported/mathml-in-html5/mathml/relations/css-styling/display-1-expected.html: Added.
- imported/mathml-in-html5/mathml/relations/css-styling/display-1.html: Added.
- 9:08 AM Changeset in webkit [203162] by
-
- 11 edits in trunk
[Fetch API] Response should not become disturbed on the ReadableStream creation
https://bugs.webkit.org/show_bug.cgi?id=159714
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-13
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/response/response-stream-disturbed-1-expected.txt:
Source/WebCore:
Covered by rebased test and existing tests.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::stop): Making the response disturbed if cancelled.
- Modules/fetch/FetchResponseSource.cpp:
(WebCore::FetchResponseSource::firstReadCallback): Start enqueueing as soon as first read is made.
(WebCore::FetchResponseSource::doStart): Keep the start promise unresolved so that pull is not called.
FetchResponse is a push source.
- Modules/fetch/FetchResponseSource.h:
- Modules/streams/ReadableStreamInternals.js:
(readFromReadableStreamReader): Calling @firstReadCallback.
- Modules/streams/ReadableStreamSource.h:
(WebCore::ReadableStreamSource::firstReadCallback): Default implementation (does nothing).
- Modules/streams/ReadableStreamSource.idl: Adding firstReadCallback private method.
- bindings/js/WebCoreBuiltinNames.h: Adding @firstReadCallback.
- 7:48 AM Changeset in webkit [203161] by
-
- 2 edits in trunk/LayoutTests
Update Windows expectations for two MathML tests.
Unreviewed test gardening.
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-13
- platform/win/TestExpectations:
- 6:09 AM Changeset in webkit [203160] by
-
- 4 edits in trunk
[EFL] [GTK] Enable back crypto subtle on development builds.
https://bugs.webkit.org/show_bug.cgi?id=159260
Reviewed by Carlos Garcia Campos.
Tools:
- Scripts/webkitperl/FeatureList.pm:
LayoutTests:
- platform/gtk/TestExpectations: Enable back the tests that were
passing on GTK.
- 5:03 AM Changeset in webkit [203159] by
-
- 5 edits in trunk/Source/WebCore
[GStreamer][GL] crash within triggerRepaint
https://bugs.webkit.org/show_bug.cgi?id=159552
Reviewed by Xabier Rodriguez-Calvar.
Revert the un-needed changes introduced in r203056 and use the
MainThreadNotifier without redundant checks.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(WebCore::MediaPlayerPrivateGStreamer::createWeakPtr):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
(WebCore::MediaPlayerPrivateGStreamerBase::createWeakPtr): Deleted.
- 4:37 AM Changeset in webkit [203158] by
-
- 6 edits in trunk/Source/WebCore
Unreviewed. Fix GObject DOM bindings API breaks after r203047-
webkit_dom_document_set_title() and webkit_dom_html_title_element_set_text() now can raise exceptions.
- bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_document_set_title):
(webkit_dom_html_title_element_set_text):
- bindings/gobject/WebKitDOMDeprecated.h:
- bindings/gobject/WebKitDOMDeprecated.symbols:
- bindings/gobject/webkitdom.symbols:
- bindings/scripts/CodeGeneratorGObject.pm:
(GenerateProperty):
(FunctionUsedToNotRaiseException):
- 4:00 AM Changeset in webkit [203157] by
-
- 8 edits in trunk/Source
[Coordinated Graphics] Remove toCoordinatedGraphicsLayer and use downcast instead
https://bugs.webkit.org/show_bug.cgi?id=159469
Reviewed by Michael Catanzaro.
Source/WebCore:
- page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:
(WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
(WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):
(WebCore::ScrollingCoordinatorCoordinatedGraphics::scrollableAreaScrollLayerDidChange):
(WebCore::ScrollingCoordinatorCoordinatedGraphics::willDestroyScrollableArea):
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::isCoordinatedGraphicsLayer):
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::toCoordinatedLayerID):
(WebCore::CoordinatedGraphicsLayer::setShouldUpdateVisibleRect):
(WebCore::CoordinatedGraphicsLayer::removeFromParent):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):
(WebCore::CoordinatedGraphicsLayer::findFirstDescendantWithContentsRecursively):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffersIncludingSubLayers):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
(WebCore::CoordinatedGraphicsLayer::selfOrAncestorHasActiveTransformAnimation):
(WebCore::CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
(WebCore::toCoordinatedGraphicsLayer): Deleted.
- platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
Source/WebKit2:
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::flushPendingLayerChanges):
(WebKit::CompositingCoordinator::initializeRootCompositingLayerIfNeeded):
(WebKit::CompositingCoordinator::mainContentsLayer):
- 3:22 AM Changeset in webkit [203156] by
-
- 4 edits in trunk/Source/JavaScriptCore
CLoop buildfix after r203142
https://bugs.webkit.org/show_bug.cgi?id=159706
Unreviewed buildfix.
- interpreter/CLoopStack.cpp:
(JSC::CLoopStack::isSafeToRecurse):
- interpreter/CLoopStack.h:
- interpreter/CLoopStackInlines.h:
(JSC::CLoopStack::isSafeToRecurse): Deleted.
- 1:36 AM Changeset in webkit [203155] by
-
- 9 edits1 copy in trunk/Source
[GTK] WebKitGtk+ uses too many file descriptors
https://bugs.webkit.org/show_bug.cgi?id=152316
Reviewed by Michael Catanzaro.
Source/WebKit2:
The problem is that we are keeping file descriptors open in SharedMemory objects. Those objects can be kept
alive for a long time, for example in case of cached resources sent from the network process as shareable
resources. The thing is that we keep the file descriptor in the SharedMemory object only to be able to create a
Handle, duplicating the file descriptor. However, we are also assuming that we create handles for SharedMemory
objects created by another handle which is wrong. SharedMemory objects are created to map a file or data and
then a handle is created to send it to another process, or to map an existing file or data for a given handle
received from another process. They can also be created to wrap another map, but in that case we don't own the
file descritor nor the mapped data. So, after mapping from a handle, we no longer need the file descriptor, and
it can be closed to release it, while the mapped memory data will still be alive until munmap() is called. This
drastically reduces the amount of file descriptors used by WebKitGTK+.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::readBytesFromSocket): Use setCloseOnExec().
(IPC::Connection::createPlatformConnection): Ditto.
- Platform/SharedMemory.h:
- Platform/unix/SharedMemoryUnix.cpp:
(WebKit::SharedMemory::map): Close the file descriptor right after mmap.
(WebKit::SharedMemory::~SharedMemory): Close the file descriptor only if it hasn't been closed yet.
(WebKit::SharedMemory::createHandle): Add an ASSERT to ensure we only try to create a handle for SharedMemory
objects having a valid file descriptor. Use dupCloseOnExec() to duplicate the handle and set the close on exec flag.
- UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess): Use setCloseOnExec().
Source/WTF:
Add helper functions to duplicate a file descriptor setting close on exec flag, and also to set close on exec
flag to an existing file descriptor.
- wtf/UniStdExtras.h:
- wtf/UniStdExtras.cpp
(WTF::setCloseOnExec):
(WTF::dupCloseOnExec):
- 1:21 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 12:21 AM Changeset in webkit [203154] by
-
- 6 edits in trunk/LayoutTests
Update MathML expectations on EFL and Windows ports.
Unreviewed test gardening.
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-13
- platform/efl/mathml/opentype/horizontal-expected.txt:
- platform/efl/mathml/opentype/horizontal-munderover-expected.txt:
- platform/win/TestExpectations:
- platform/win/mathml/opentype/horizontal-expected.txt:
- platform/win/mathml/opentype/horizontal-munderover-expected.txt:
Jul 12, 2016:
- 11:44 PM Changeset in webkit [203153] by
-
- 5 edits in trunk
[Fetch API] isRedirected should be conveyed in workers
https://bugs.webkit.org/show_bug.cgi?id=159676
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-12
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/redirect/redirect-method-worker-expected.txt:
Source/WebCore:
Passing isRedirected value between threads.
Rebasing corresponding worker test, even though it is currently skipped (due to crashing flakiness).
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::crossThreadData):
(WebCore::ResourceResponseBase::fromCrossThreadData):
- platform/network/ResourceResponseBase.h:
- 10:45 PM Changeset in webkit [203152] by
-
- 1 edit in trunk/Websites/test-results/init-database.sql
Fix SQL: quote hyphenated string.
- 9:50 PM Changeset in webkit [203151] by
-
- 6 edits2 adds in trunk
REGRESSION (r202509): media controls controls enabled AirPlay placeholder is shown
https://bugs.webkit.org/show_bug.cgi?id=159685
<rdar://problem/27198899>
Reviewed by Dean Jackson.
Source/WebCore:
Test: media/controls/airplay-controls.html
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.shouldShowControls): Split some of the logic out of shouldHaveControls.
(Controller.prototype.shouldHaveControls): Having controls != showing controls.
(Controller.prototype.updateControls): Call shouldShowControls, not shouldHaveControls.
(Controller.prototype.updateWirelessPlaybackStatus): Add 'appletv' to the class when active.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): Call ensureMediaControlsShadowRoot
in case the controls haven't been created yet.
LayoutTests:
- media/controls/airplay-controls-expected.txt: Added.
- media/controls/airplay-controls.html: Added.
- media/controls/controls-test-helpers.js:
(ControlsTest.prototype.get currentState): Put a try block around the call to get the current
status in case it fails.
- platform/mac/TestExpectations: Skip the new test on Yosemite where AirPlay doesn't work.
- 9:47 PM Changeset in webkit [203150] by
-
- 8 edits1 copy1 add in trunk/Source/WebCore
Move parsing of mpadded attributes to a MathMLPaddedElement class
https://bugs.webkit.org/show_bug.cgi?id=159620
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-12
Reviewed by Brent Fulgham.
No new tests, behavior is unchanged.
- CMakeLists.txt: Add MathMLPaddedElement files.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- mathml/MathMLAllInOne.cpp: Ditto.
- mathml/MathMLInlineContainerElement.cpp: Remove handling of mpadded.
- mathml/MathMLPaddedElement.cpp: Added.
(WebCore::MathMLPaddedElement::MathMLPaddedElement):
(WebCore::MathMLPaddedElement::create):
(WebCore::MathMLPaddedElement::width): Expose width attribute as a MathMLLength until mpadded
pseudo-units are supported.
(WebCore::MathMLPaddedElement::height): Ditto.
(WebCore::MathMLPaddedElement::depth): Ditto
(WebCore::MathMLPaddedElement::lspace): Ditto.
(WebCore::MathMLPaddedElement::voffset): Ditto.
(WebCore::MathMLPaddedElement::parseAttribute): Make length attribute dirty.
(WebCore::MathMLPaddedElement::createElementRenderer): Moved code from MathMLInlineContainerElement.
- mathml/MathMLPaddedElement.h: Added.
- mathml/mathtags.in: Map mapdded to MathMLPaddedElement.
- rendering/mathml/RenderMathMLPadded.cpp:
(WebCore::RenderMathMLPadded::resolveWidth): Helper function to resolve width.
(WebCore::RenderMathMLPadded::resolveAttributes): Helper function to resolve all attributes.
(WebCore::RenderMathMLPadded::computePreferredLogicalWidths): Use resolveWidth.
(WebCore::RenderMathMLPadded::layoutBlock): Use resolveAttributes.
- rendering/mathml/RenderMathMLPadded.h: Add new helper functions to access attributes from
the MathMLPaddedElement class.
- 9:05 PM Changeset in webkit [203149] by
-
- 3 edits in trunk/Source/WebCore
[Cocoa] Simulated memory warning doesn't trigger libcache purge.
<https://webkit.org/b/159688>
Reviewed by Chris Dumez.
Since simulated memory warnings will have the "is under memory pressure" flag set,
we were skipping the libcache purge call.
Add a separate flag that tracks whether we're under simulated pressure, and always
prod libcache in that case.
- platform/MemoryPressureHandler.h:
- platform/cocoa/MemoryPressureHandlerCocoa.mm:
(WebCore::MemoryPressureHandler::platformReleaseMemory):
(WebCore::MemoryPressureHandler::install):
- 8:30 PM Changeset in webkit [203148] by
-
- 2 edits2 adds in trunk/Websites/test-results
<rdar://problem/22524456> Mitigate performance degradation of the flakiness dashboard
Rubber-stamped by Dean Johnson.
- init-database.sql:
Rewrite the init-database.sql file to allow for table partitioning, based on insert date.
Some important things to note:
The main results table is unchanged, but will no longer contain any rows.
Partitioned tables will be generated on demand, and will inherit from 'results'
It is possible to query the 'results' table directly, and that will get data from all child tables.
This should keep us from requiring any client side code changes.
- public_partition_maintenance: Added.
Maintenance script which will be called on a nightly schedule to purge expired data.
This data will be exported and compressed to a sub-folder, then dropped from the database.
I'm not sure how big it will be, so we'll likely need to keep an eye on it.
- test-database.sql: Added.
Simple helper function to test that results partitions are created/deleted correctly.
- 6:25 PM Changeset in webkit [203147] by
-
- 9 edits3 adds6 deletes in trunk
[JSC] Array.prototype.join() fails some conformance tests
https://bugs.webkit.org/show_bug.cgi?id=159657
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-07-12
Reviewed by Saam Barati.
Source/JavaScriptCore:
There were a couple of failures:
-separator.toString() was called *before* we get the length
and process ToLength() on it.
-We were using toUInt32() on length instead of ToLength(),
failing on big integers and various negative numbers.
Additionally, I replaced the "fast" ArrayStorage path
by a fully generic implementation that does not depends on StringJoiner.
The reason is StringJoiner was doing poorly on sparse objects
in certain cases.
If you have a sparse object with a length > INT_MAX but very few
indices defined, and you join on the empty string, it should be possible
to join the array (albeit very slowly). With StringJoiner, we fail
because we try to allocate > INT_MAX empty strings in a contiguous vector.
- runtime/ArrayPrototype.cpp:
(JSC::slowJoin):
(JSC::canUseFastJoin):
(JSC::fastJoin):
(JSC::arrayProtoFuncJoin):
(JSC::join): Deleted.
- runtime/JSArray.h:
(JSC::toLength):
Source/WTF:
- wtf/text/AtomicString.cpp:
(WTF::AtomicString::number):
- wtf/text/AtomicString.h:
LayoutTests:
I removed 3 sputnik tests that are incorrect in the latest spec.
In ES5, Array.prototype.join() was using ToUint32 on the argument:
In ES6, the function uses ToLength:
The test use Infinity and very large integer as the length.
They are guaranteed to time out or run out of memory.
Even if we waited the hours it takes to run this, the results would be different
from what the tests expect.
- js/array-join-expected.txt: Added.
- js/array-join.html: Added.
- js/script-tests/array-join.js: Added.
- 6:24 PM Changeset in webkit [203146] by
-
- 18 edits in trunk/Source/WebCore
Purge PassRefPtr in Modules/webdatabase
https://bugs.webkit.org/show_bug.cgi?id=159255
Reviewed by Benjamin Poulain.
As a step to remove PassRefPtr use, this patch cleans it up in Modules/webdatabase.
Additionally unnecessary spaces and tabs are removed too.
- Modules/webdatabase/ChangeVersionWrapper.cpp:
- Modules/webdatabase/DOMWindowWebDatabase.h:
- Modules/webdatabase/Database.cpp:
(WebCore::Database::Database):
(WebCore::Database::~Database):
(WebCore::Database::scheduleTransaction):
(WebCore::Database::runTransaction):
- Modules/webdatabase/Database.h:
- Modules/webdatabase/DatabaseAuthorizer.cpp:
(WebCore::DatabaseAuthorizer::allowRead):
- Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::openDatabase):
(WebCore::DatabaseManager::fullPathForDatabase):
(WebCore::DatabaseManager::detailsForNameAndOrigin):
- Modules/webdatabase/DatabaseManager.h:
- Modules/webdatabase/DatabaseTask.cpp:
(WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
- Modules/webdatabase/DatabaseTask.h:
- Modules/webdatabase/SQLCallbackWrapper.h:
(WebCore::SQLCallbackWrapper::SQLCallbackWrapper):
- Modules/webdatabase/SQLResultSetRowList.h:
- Modules/webdatabase/SQLStatement.cpp:
(WebCore::SQLStatement::SQLStatement):
(WebCore::SQLStatement::sqlError):
(WebCore::SQLStatement::sqlResultSet):
- Modules/webdatabase/SQLStatement.h:
- Modules/webdatabase/SQLTransaction.h:
- Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::create):
(WebCore::SQLTransactionBackend::SQLTransactionBackend):
(WebCore::SQLTransactionBackend::transactionError):
- Modules/webdatabase/SQLTransactionBackend.h:
- 5:55 PM Changeset in webkit [203145] by
-
- 2 edits in trunk/Source/WebKit2
[iOS WK2] After zooming and when under memory pressure, page tiles sometimes don't redraw while panning
https://bugs.webkit.org/show_bug.cgi?id=159697
rdar://problem/26314075
Reviewed by Benjamin Poulain.
When under memory pressure, and after pinching back to minimum scale, WebPage::updateVisibleContentRects()
would sometimes always bail under the "boundedScale != currentScale..." condition.
This happened because the visibleContentRectUpdateInfo.scale() is a double, but m_page->pageScaleFactor()
is a float, and the constraining between min and max scale (which are doubles) caused boundedScale
to be always different from currentScale.
Fix by using floats throughout.
No test because there's no way to simulate memory pressure for testing.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateVisibleContentRects):
- 5:45 PM Changeset in webkit [203144] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: C Loop build fix after r203142.
Not reviewed.
- interpreter/CLoopStackInlines.h:
(JSC::CLoopStack::isSafeToRecurse):
- 5:20 PM Changeset in webkit [203143] by
-
- 8 edits2 copies4 adds3 deletes in trunk
Unreviewed, rolling out r203131.
https://bugs.webkit.org/show_bug.cgi?id=159698
This change caused an existing LayoutTest to time out on debug
testers (Requested by ryanhaddad on #webkit).
Reverted changeset:
"[JSC] Array.prototype.join() fails some conformance tests"
https://bugs.webkit.org/show_bug.cgi?id=159657
http://trac.webkit.org/changeset/203131
Patch by Commit Queue <commit-queue@webkit.org> on 2016-07-12
- 5:19 PM Changeset in webkit [203142] by
-
- 23 edits1 add in trunk
We should use different stack limits for stack checks from JS and host code.
https://bugs.webkit.org/show_bug.cgi?id=159442
<rdar://problem/26889188>
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
We have 2 stack reservedZoneSizes:
- Options::softReservedZoneSize()
- Options::reservedZoneSize()
Respectively, there are used to define 2 stack limits based on these reserved
zone sizes:
- VM::m_softStackLimit
- VM::m_stackLimit
Options::reservedZoneSize() is the amount of the stack space that JSC guarantees
to the VM and client host code for it's use. Host code that has well known
stack usage characteristics (i.e. doesn't call arbitrary code) may do stack
checks against the VM::m_stackLimit limit (which is computed using
Options::reservedZoneSize()).
Options::softReservedZoneSize() is a more conservative amount of reserved stack
space. This is used to compute the VM::m_softStackLimit limit. Any code that
is difficult to have its stack usage characterized (i.e. may call arbitrary code)
may need more stack space for its work. Hence, these should do stack checks
against the VM::m_softStackLimit limit.
JS code and host code that may call into JS code falls into the category of code
that may call arbitrary code. Hence, they should do stack checks against the
VM::m_softStackLimit limit.
Accordingly, the VM now provides 2 recursion check functions:
- VM::isSafeToRecurseSoft() will do a stack check against VM::m_softStackLimit. In addition, for C Loop builds, VM::isSafeToRecurseSoft() will also check the CLoopStack against VM::m_cloopStackLimit.
- VM::isSafeToRecurse() will do a stack check against VM::m_stackLimit.
Also added a promise-infinite-recursion-should-not-crash.js test.
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitNodeInTailPosition):
(JSC::BytecodeGenerator::emitNodeInConditionContext):
- interpreter/CLoopStack.cpp:
(JSC::CLoopStack::grow):
- interpreter/CLoopStack.h:
(JSC::CLoopStack::size):
- interpreter/CLoopStackInlines.h:
(JSC::CLoopStack::ensureCapacityFor):
(JSC::CLoopStack::isSafeToRecurse):
(JSC::CLoopStack::topOfFrameFor):
- interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
- interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- parser/Parser.cpp:
- runtime/Options.h:
- runtime/ProxyObject.cpp:
(JSC::performProxyGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::getOwnPropertySlotCommon):
(JSC::ProxyObject::performPut):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):
- runtime/RegExp.cpp:
(JSC::RegExp::finishCreation):
(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):
- runtime/StringRecursionChecker.h:
(JSC::StringRecursionChecker::performCheck):
- runtime/VM.cpp:
(JSC::VM::setStackPointerAtVMEntry):
(JSC::VM::updateSoftReservedZoneSize):
(JSC::preCommitStackMemory):
(JSC::VM::updateStackLimits):
(JSC::VM::updateStackLimit): Deleted.
- runtime/VM.h:
(JSC::VM::stackLimit):
(JSC::VM::softStackLimit):
(JSC::VM::addressOfSoftStackLimit):
(JSC::VM::setCLoopStackLimit):
(JSC::VM::isSafeToRecurse):
(JSC::VM::lastStackTop):
(JSC::VM::setException):
- runtime/VMInlines.h:
(JSC::VM::ensureStackCapacityFor):
(JSC::VM::isSafeToRecurseSoft):
(JSC::VM::shouldTriggerTermination):
- tests/stress/promise-infinite-recursion-should-not-crash.js: Added.
(testPromise):
(promiseFunc):
- yarr/YarrPattern.cpp:
Tools:
In http://trac.webkit.org/r203067, we limited the amount of stack that tests will
run with to keep stack overflow tests sane. Turns out, we also need to teach the
LayoutTestRelay to pass env vars over to the iOS simulator. This is needed in
order to keep the js/regress-139548.html test happy with this patch.
Also fixed up run_webkit_tests.py to explicitly pass an int size value for the
JSC_maxPerThreadStackUsage option. Otherwise, it will pass a float value.
- LayoutTestRelay/LayoutTestRelay/LTRelayController.m:
(-[LTRelayController _environmentVariables]):
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main):
LayoutTests:
- js/regress-141098-expected.txt:
- js/script-tests/regress-141098.js:
(testEval):
(probeAndRecurse):
- Gave all the test constants names.
- Tweaked the constants to allow the test to run in the least amount of time, and also to behave consistently across all test configurations.
- Re-enable eager tests now that the test should finish quickly.
- 5:05 PM Changeset in webkit [203141] by
-
- 4 edits in trunk
platformUserPreferredLanguages on Mac should not try to put the region into the language
https://bugs.webkit.org/show_bug.cgi?id=159693
Rubber stamped by Alexey Proskuryakov.
Source/WTF:
Currently, navigator.language is the thing that we use as the BCP-47 tag in our Intl code
when certain APIs are called without a locale argument. That mostly makes sense, and is
deeply wired into our engine.
In r200105, we made Intl aware of the region as a separate thing from the language by having
platformUserPreferredLanguages() return something like a BCP-47 tag that was
<language>-<region>. For example, if I told System Preferences that I want to speak English
but live in Poland then we'd get "en-pl". This had the effect of making Intl APIs format
dates using Polish formatting, for example.
But this is an odd change, since that same function also feeds into navigator.language.
"en-pl" isn't what we want there, since my System Preferences settings aren't supposed to
mean that I want to speak Polish-style English. There's no such thing.
It may be worthwhile to wire the region settings more elegantly into Intl, but if we do that,
it should be via a mechanism that is separate from navigator.language. So, this change simply
reverts r200105.
- wtf/PlatformUserPreferredLanguagesMac.mm:
(WTF::httpStyleLanguageCode):
(WTF::platformUserPreferredLanguages):
(WTF::isValidICUCountryCode): Deleted.
Tools:
Revert the test change in r200105.
- TestWebKitAPI/Tests/mac/NavigatorLanguage.mm:
(TestWebKitAPI::languageForSystemLanguage):
- 5:02 PM Changeset in webkit [203140] by
-
- 5 edits in branches/safari-602.1.40-branch/Source
Versioning.
- 4:57 PM Changeset in webkit [203139] by
-
- 1 copy in tags/Safari-602.1.40.6
New tag.
- 4:57 PM Changeset in webkit [203138] by
-
- 6 edits in branches/safari-602.1.40-branch/Source
Merged r203134. rdar://problem/27312176
- 4:49 PM Changeset in webkit [203137] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (202694): Audio and Video playback controls: Cannot find a position slider to adjust playback position using VO.
https://bugs.webkit.org/show_bug.cgi?id=159661
<rdar://problem/27285135>
Unreviewed. Slight tweak to test to hopefully avoid flakiness.
- media/controls/default-size-should-show-scrubber-expected.txt:
- media/controls/default-size-should-show-scrubber.html:
- 4:20 PM Changeset in webkit [203136] by
-
- 2 edits in trunk/LayoutTests
Marking fast/css/ancestor-of-hovered-element-detached.html as flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=159173
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 4:16 PM Changeset in webkit [203135] by
-
- 3 edits in trunk/Source/WebInspectorUI
REGRESSION(r192789): Web Inspector: Log Value context menu appears twice
https://bugs.webkit.org/show_bug.cgi?id=159681
<rdar://problem/27304804>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-07-12
Reviewed by Brian Burg.
In r192789 contextmenu events may bubble up so that multiple handlers
may append ContextMenuItems. In nested ObjectTrees / ObjectPreviews
this could result in duplicate items. Add a flag on the bubbling event
so that we only include Object Tree context menu items for the deepest
part of the Object Tree, but still allow bubbling up to the root.
- UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView.prototype._contextMenuHandler):
(WebInspector.ObjectPreviewView):
- UserInterface/Views/ObjectTreeBaseTreeElement.js:
(WebInspector.ObjectTreeBaseTreeElement.prototype._contextMenuHandler):
- 4:14 PM Changeset in webkit [203134] by
-
- 6 edits in trunk/Source
[Win] Fix for build error when trying to version stamp dll.
https://bugs.webkit.org/show_bug.cgi?id=159692
Reviewed by Brent Fulgham.
Use correct path to version stamp script.
Source/JavaScriptCore:
- CMakeLists.txt:
Source/WebKit:
- CMakeLists.txt:
Source/WTF:
- wtf/CMakeLists.txt:
- 3:43 PM Changeset in webkit [203133] by
-
- 8 edits in trunk/Source/WebKit2
[WK2][NetworkSession] Fix unsafe RunLoop::dispatch() in NetworkLoad constructor
https://bugs.webkit.org/show_bug.cgi?id=159691
Reviewed by Brady Eidson.
Remove unsafe RunLoop::dispatch() in NetworkLoad constructor. It captured |this| but there
was no guarantee the NetworkLoad would still be alive by the time the lambda gets executed.
Instead, the constructor now takes a NetworkSession& parameter so that the call sites
have to retrieve the NetworkSession for a given SessionID and deal with the fact that
there may be no such NetworkSession before constructing the NetworkLoad.
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
- NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::PendingDownload):
- NetworkProcess/Downloads/PendingDownload.h:
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::SpeculativeLoad):
- 3:21 PM Changeset in webkit [203132] by
-
- 5 edits2 adds in trunk
Web Inspector: ER: Copy as cURL
https://bugs.webkit.org/show_bug.cgi?id=159380
Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-07-12
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
This "Copy as cURL" feature only approximates the original request as only some parts of
that request is known to the frontend.
- UserInterface/Models/Resource.js:
(WebInspector.Resource.prototype.generateCURLCommand.escapeStringPosix.escapeCharacter):
(WebInspector.Resource.prototype.generateCURLCommand.escapeStringPosix):
(WebInspector.Resource.prototype.generateCURLCommand):
(WebInspector.Resource):
- UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode.prototype.appendContextMenuItems):
LayoutTests:
- http/tests/inspector/network/copy-as-curl-expected.txt: Added.
- http/tests/inspector/network/copy-as-curl.html: Added.
- 3:08 PM Changeset in webkit [203131] by
-
- 8 edits3 adds6 deletes in trunk
[JSC] Array.prototype.join() fails some conformance tests
https://bugs.webkit.org/show_bug.cgi?id=159657
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-07-12
Reviewed by Saam Barati.
Source/JavaScriptCore:
There were a couple of failures:
-separator.toString() was called *before* we get the length
and process ToLength() on it.
-We were using toUInt32() on length instead of ToLength(),
failing on big integers and various negative numbers.
Additionally, I replaced the "fast" ArrayStorage path
by a fully generic implementation that does not depends on StringJoiner.
The reason is StringJoiner was doing poorly on sparse objects
in certain cases.
If you have a sparse object with a length > INT_MAX but very few
indices defined, and you join on the empty string, it should be possible
to join the array (albeit very slowly). With StringJoiner, we fail
because we try to allocate > INT_MAX empty strings in a contiguous vector.
- runtime/ArrayPrototype.cpp:
(JSC::slowJoin):
(JSC::canUseFastJoin):
(JSC::fastJoin):
(JSC::arrayProtoFuncJoin):
(JSC::join): Deleted.
- runtime/JSArray.h:
(JSC::toLength):
Source/WTF:
- wtf/text/AtomicString.cpp:
(WTF::AtomicString::number):
- wtf/text/AtomicString.h:
LayoutTests:
I removed 3 sputnik tests that are incorrect in the latest spec.
In ES5, Array.prototype.join() was using ToUint32 on the argument:
In ES6, the function uses ToLength:
The test use Infinity and very large integer as the length.
They are guaranteed to time out or run out of memory.
Even if we waited the hours it takes to run this, the results would be different
from what the tests expect.
- js/array-join-expected.txt: Added.
- js/array-join.html: Added.
- js/script-tests/array-join.js: Added.
- 3:06 PM Changeset in webkit [203130] by
-
- 21 edits in trunk/Source/JavaScriptCore
More stack limit and reserved zone renaming.
https://bugs.webkit.org/show_bug.cgi?id=159690
Rubber-stamped by Geoffrey Garen.
We should rename the following:
osStackLimitWithReserve => softStackLimit
reservedZoneSize => softReservedZoneSize
errorModeReservedZoneSize => reservedZoneSize
- API/tests/PingPongStackOverflowTest.cpp:
(testPingPongStackOverflow):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::lower):
- interpreter/CLoopStack.cpp:
(JSC::CLoopStack::CLoopStack):
(JSC::CLoopStack::grow):
(JSC::CLoopStack::releaseExcessCapacity):
(JSC::CLoopStack::addToCommittedByteCount):
(JSC::CLoopStack::setSoftReservedZoneSize):
(JSC::CLoopStack::setReservedZoneSize): Deleted.
- interpreter/CLoopStack.h:
(JSC::CLoopStack::size):
- interpreter/CLoopStackInlines.h:
(JSC::CLoopStack::shrink):
- jit/JIT.cpp:
(JSC::JIT::compileWithoutLinking):
- jit/SetupVarargsFrame.cpp:
(JSC::emitSetupVarargsFrameFastCase):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/ErrorHandlingScope.cpp:
(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):
- runtime/ErrorHandlingScope.h:
- runtime/Options.h:
- runtime/RegExp.cpp:
(JSC::RegExp::finishCreation):
(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::setStackPointerAtVMEntry):
(JSC::VM::updateSoftReservedZoneSize):
(JSC::VM::updateStackLimit):
(JSC::VM::updateReservedZoneSize): Deleted.
- runtime/VM.h:
(JSC::VM::stackPointerAtVMEntry):
(JSC::VM::softReservedZoneSize):
(JSC::VM::softStackLimit):
(JSC::VM::addressOfSoftStackLimit):
(JSC::VM::cloopStackLimit):
(JSC::VM::setCLoopStackLimit):
(JSC::VM::isSafeToRecurse):
(JSC::VM::reservedZoneSize): Deleted.
(JSC::VM::osStackLimitWithReserve): Deleted.
(JSC::VM::addressOfOSStackLimitWithReserve): Deleted.
- runtime/VMInlines.h:
(JSC::VM::ensureStackCapacityFor):
- wasm/WASMFunctionCompiler.h:
(JSC::WASMFunctionCompiler::startFunction):
- 2:51 PM Changeset in webkit [203129] by
-
- 4 edits4 adds in trunk
[WK2] Protect against bad database data in LocalStorageDatabase::importItems()
https://bugs.webkit.org/show_bug.cgi?id=159663
<rdar://problem/18995873>
Reviewed by Benjamin Poulain.
Source/WebKit2:
Protect against bad database data in LocalStorageDatabase::importItems(). We
crash if the database contains a null key or a null value so protect against
it given that we have evidence it can happen.
With this change, I can no longer reproduce the UIProcess crash on evernote.com
that is documented at <rdar://problem/18995873>.
- UIProcess/Storage/LocalStorageDatabase.cpp:
(WebKit::LocalStorageDatabase::importItems):
Tools:
Add API test coverage.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.localstorage: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.localstorage-shm: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.mm: Added.
(-[LocalStorageNullEntriesMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
- 2:09 PM Changeset in webkit [203128] by
-
- 2 edits in trunk/LayoutTests
Marking storage/indexeddb/database-close-private.html as flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=158500
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:48 PM Changeset in webkit [203127] by
-
- 2 edits in trunk/LayoutTests
Marking storage/indexeddb/modern/handle-user-delete.html as flaky on Yosemite Release
https://bugs.webkit.org/show_bug.cgi?id=158741
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:31 PM Changeset in webkit [203126] by
-
- 5 edits in branches/safari-602.1.40-branch/Source
Versioning.
- 1:25 PM Changeset in webkit [203125] by
-
- 1 copy in tags/Safari-602.1.40.5
New tag.
- 1:24 PM Changeset in webkit [203124] by
-
- 10 edits in branches/safari-602.1.40-branch
Merged r203111. rdar://problem/26358998
- 12:40 PM Changeset in webkit [203123] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/indexeddb/deleteDatabaseNamesWithSpace.html as a flaky timeout on Mac debug.
https://bugs.webkit.org/show_bug.cgi?id=159684
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 12:40 PM Changeset in webkit [203122] by
-
- 2 edits in trunk/LayoutTests
Update test expectations for rdar://problem/26590623 after r203117.
- platform/mac/TestExpectations:
- 12:12 PM Changeset in webkit [203121] by
-
- 3 edits in trunk/LayoutTests
Marking imported/w3c/web-platform-tests/fetch/api/request/request-cache.html as flaky on Mac and ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=159683
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- 11:50 AM Changeset in webkit [203120] by
-
- 3 edits2 adds in trunk
REGRESSION (202694): Audio and Video playback controls: Cannot find a position slider to adjust playback position using VO.
https://bugs.webkit.org/show_bug.cgi?id=159661
<rdar://problem/27285135>
Reviewed by Eric Carlson.
Source/WebCore:
The change in r202694 caused MediaDocuments to not always
show their scrubber. The fix is to reduce the minimum amount
of size needed to show the scrubber.
Test: media/controls/default-size-should-show-scrubber.html
- Modules/mediacontrols/mediaControlsApple.js: 80 pixels is enough
to show the scrubber.
LayoutTests:
Add a test that checks the scrubber is visible on a default media element.
Unfortunately this isn't quite an accurate test, since we really want to
examine a Media Document, but it's close enough.
- media/controls/default-size-should-show-scrubber-expected.txt: Added.
- media/controls/default-size-should-show-scrubber.html: Added.
- 11:48 AM Changeset in webkit [203119] by
-
- 4 edits in trunk
Relax ordering requirements on StringView::CodePoints iterator
https://bugs.webkit.org/show_bug.cgi?id=159609
Reviewed by Darin Adler.
Source/WTF:
Previously, there was a requirement where if you use a CodePoints
iterator, you couldn't dereference twice in a row or increment
twice in a row. This restriction is unnecessary.
- wtf/text/StringView.h:
(WTF::StringView::CodePoints::Iterator::Iterator):
(WTF::StringView::CodePoints::Iterator::advanceCurrentCodePoint):
(WTF::StringView::CodePoints::Iterator::operator*):
(WTF::StringView::CodePoints::Iterator::operator==):
Tools:
- TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::TEST):
- 10:43 AM Changeset in webkit [203118] by
-
- 2 edits in trunk/Tools
Fixing Tools/Scripts/run-builtins-generator-tests after https://trac.webkit.org/changeset/202975
https://bugs.webkit.org/show_bug.cgi?id=159564
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-12
Reviewed by Brian Burg.
- Scripts/webkitpy/codegen/main.py:
(BuiltinsGeneratorTests.generate_from_js_builtins): Changing --with-wrapper-files option to --wrappers.
- 10:17 AM Changeset in webkit [203117] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/preload/single_download_preload_runner.html as a timeout
https://bugs.webkit.org/show_bug.cgi?id=159678
Unreviewed test gardening.
- 9:43 AM Changeset in webkit [203116] by
-
- 4 edits2 moves in trunk/Source/WebCore
Move MathMLOperatorDictionary from rendering to DOM
https://bugs.webkit.org/show_bug.cgi?id=159619
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-12
Reviewed by Brent Fulgham.
No new tests, behavior is unchanged.
- CMakeLists.txt: Use the new location of MathMLOperatorDictionary files.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- mathml/MathMLAllInOne.cpp: Add MathMLOperatorDictionary.cpp
- mathml/MathMLOperatorDictionary.cpp: Renamed from Source/WebCore/rendering/mathml/MathMLOperatorDictionary.cpp.
- mathml/MathMLOperatorDictionary.h: Renamed from Source/WebCore/rendering/mathml/MathMLOperatorDictionary.h.
- 7:36 AM Changeset in webkit [203115] by
-
- 14 edits in trunk
Remove ENABLE_CSS3_TEXT_LINE_BREAK flag
https://bugs.webkit.org/show_bug.cgi?id=159671
Reviewed by Csaba Osztrogonác.
ENABLE_CSS3_TEXT_LINE_BREAK feature was implemented without guards.
https://bugs.webkit.org/show_bug.cgi?id=89235
So this guard can be removed in build scripts.
.:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Tools:
- Scripts/webkitperl/FeatureList.pm:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 6:05 AM Changeset in webkit [203114] by
-
- 4 edits2 adds in trunk/Source/WebInspectorUI
Web Inspector: Use separate files for TreeOutline/TreeElement and DataGrid/DataGridNode
https://bugs.webkit.org/show_bug.cgi?id=159659
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-07-12
Reviewed by Timothy Hatcher.
- UserInterface/Main.html:
- UserInterface/Views/DataGrid.js:
- UserInterface/Views/DataGridNode.js: Added.
- UserInterface/Views/TreeElement.js: Added.
- UserInterface/Views/TreeOutline.js:
Extra the component classes to their own file.
- 6:04 AM Changeset in webkit [203113] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r203059.
https://bugs.webkit.org/show_bug.cgi?id=159673
B and R channels now swapped on desktop GL builds (Requested
by philn on #webkit).
Reverted changeset:
"Red and blue colors are swapped in video rendered through
WebGL when GSTREAMER_GL is enabled"
https://bugs.webkit.org/show_bug.cgi?id=159621
http://trac.webkit.org/changeset/203059
- 4:29 AM Changeset in webkit [203112] by
-
- 2 edits2 adds in trunk/Source/WTF
JSCOnly bulidfix after r203078
https://bugs.webkit.org/show_bug.cgi?id=159669
Reviewed by Yusuke Suzuki.
- wtf/PlatformJSCOnly.cmake:
- wtf/text/jsconly/TextBreakIteratorInternalICUJSCOnly.cpp: Added.
(WTF::currentSearchLocaleID):
(WTF::currentTextBreakLocaleID):
- 4:14 AM Changeset in webkit [203111] by
-
- 10 edits in trunk
[Win] DLLs are missing version information.
https://bugs.webkit.org/show_bug.cgi?id=159349
Reviewed by Brent Fulgham.
.:
The version stamping will fail if the target path has forward slashes.
- Source/cmake/tools/scripts/version-stamp.pl: Replace forward slashes with backslashes.
Source/JavaScriptCore:
Generate autoversion.h and run perl version stamp utility.
- CMakeLists.txt:
Source/WebKit:
Run perl version stamp utility.
- CMakeLists.txt:
Source/WTF:
Generate autoversion.h and run perl version stamp utility.
- wtf/CMakeLists.txt:
WebKitLibraries:
The version stamping will fail if the target path has forward slashes.
- win/tools/scripts/version-stamp.pl: Replace forward slashes with backslashes.
- 2:04 AM Changeset in webkit [203110] by
-
- 4 edits in trunk/Source/WebCore
js/dom/global-constructors-attributes.html is flaky: ResourceTiming runtime feature leaks between tests
https://bugs.webkit.org/show_bug.cgi?id=158902
Reviewed by Benjamin Poulain.
Adds a new reset() mechanism to RuntimeEnabledFeatures so that they could be brought back to the initial state.
This reset() is then called from DumpRenderTree and WebKitTestRunner.
No new tests but hopefully current tests will be less flaky.
- bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::reset):
- bindings/generic/RuntimeEnabledFeatures.h:
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): reset RuntimeEnabledFeatures.
Jul 11, 2016:
- 11:24 PM Changeset in webkit [203109] by
-
- 24 edits in trunk/Source
Purge PassRefPtr in platform/efl and platform/mac
https://bugs.webkit.org/show_bug.cgi?id=159548
Reviewed by Alex Christensen.
Remove all use of PassRefPtr and clean up unnecessary tabs and spaces.
Source/WebCore:
WebKit2 codes are also changed because of setBufferForType()'s modification.
No new tests, no behavior changes.
- platform/PasteboardStrategy.h:
- platform/PlatformPasteboard.h:
- platform/PlatformSpeechSynthesizer.h:
- platform/SerializedPlatformRepresentation.h:
- platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:
(WebCore::PlatformSpeechSynthesisProviderEfl::speak):
- platform/efl/PlatformSpeechSynthesisProviderEfl.h:
- platform/efl/PlatformSpeechSynthesizerEfl.cpp:
(WebCore::PlatformSpeechSynthesizer::speak):
- platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::setBufferForType):
- platform/ios/PlatformSpeechSynthesizerIOS.mm:
(SOFT_LINK_CONSTANT):
(-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:]):
(-[WebSpeechSynthesisWrapper mapSpeechRateToPlatformRate:]):
(-[WebSpeechSynthesisWrapper speakUtterance:]):
(-[WebSpeechSynthesisWrapper pause]):
(-[WebSpeechSynthesisWrapper resume]):
(-[WebSpeechSynthesisWrapper cancel]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didStartSpeechUtterance:]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeechUtterance:]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didPauseSpeechUtterance:]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didContinueSpeechUtterance:]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didCancelSpeechUtterance:]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakRangeOfSpeechString:utterance:]):
(WebCore::PlatformSpeechSynthesizer::speak):
- platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::write):
- platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::getTypes):
(WebCore::PlatformPasteboard::getPathnamesForType):
(WebCore::PlatformPasteboard::color):
(WebCore::PlatformPasteboard::copy):
(WebCore::PlatformPasteboard::setBufferForType):
(WebCore::PlatformPasteboard::setPathnamesForType):
- platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:]):
(-[WebSpeechSynthesisWrapper speakUtterance:]):
(-[WebSpeechSynthesisWrapper pause]):
(-[WebSpeechSynthesisWrapper resume]):
(-[WebSpeechSynthesisWrapper cancel]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
(WebCore::PlatformSpeechSynthesizer::speak):
- platform/mac/SerializedPlatformRepresentationMac.h:
- platform/mac/SerializedPlatformRepresentationMac.mm:
(WebCore::SerializedPlatformRepresentationMac::data):
(WebCore::jsValueWithValueInContext):
- platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
(WebCore::PlatformSpeechSynthesizerMock::speak):
(WebCore::PlatformSpeechSynthesizerMock::cancel):
- platform/mock/PlatformSpeechSynthesizerMock.h:
Source/WebKit/mac:
- WebCoreSupport/WebPlatformStrategies.h:
- WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::setBufferForType):
Source/WebKit2:
WebKit2 codes are also changed because of setBufferForType()'s modification.
- UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::setPasteboardBufferForType):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::setBufferForType):
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- 11:04 PM MathML/Early_2016_Refactoring edited by
- (diff)
- 10:59 PM Changeset in webkit [203108] by
-
- 9 edits1 copy1 add in trunk/Source/WebCore
Move parsing of mspace attributes to a MathMLSpaceElement class
https://bugs.webkit.org/show_bug.cgi?id=156795
Patch by Frederic Wang <fwang@igalia.org> on 2016-07-11
Reviewed by Brent Fulgham.
No new tests, already covered by existing tests.
- CMakeLists.txt: Add MathMLSpaceElement to the build system.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::cachedMathMLLength): Helper function to returned the cached parsed
value of a MathML length and parsing the corresponding attribute value if the cache is dirty.
- mathml/MathMLElement.h: Add a dirty boolean to MathML Length structure. Declare cachedMathMLLength.
- mathml/MathMLSpaceElement.cpp: New class for the <mspace> element.
(WebCore::MathMLSpaceElement::MathMLSpaceElement):
(WebCore::MathMLSpaceElement::create):
(WebCore::MathMLSpaceElement::parseAttribute): Make width, height, depth attributes dirty.
(WebCore::MathMLSpaceElement::createElementRenderer):
- mathml/MathMLSpaceElement.h: New class for the <mspace> element.
We define MathML lengths for width, height and depth attributes are on the class and expose
with the corresponding helper functions via memoization.
- mathml/MathMLTextElement.cpp: Remove handling of mspace from this class.
(WebCore::MathMLTextElement::createElementRenderer):
- mathml/mathtags.in: Change the interface for mspace to use the new class.
- rendering/mathml/RenderMathMLSpace.cpp: Do not store width/height/depth values on the
renderer and instead just use the corresponding MathML lengths on the element class.
(WebCore::RenderMathMLSpace::RenderMathMLSpace): Use MathMLSpaceElement and remove member
initialization.
(WebCore::RenderMathMLSpace::computePreferredLogicalWidths): Use spaceWidth().
(WebCore::RenderMathMLSpace::spaceWidth): Helper function to resolve the width attribute value.
(WebCore::RenderMathMLSpace::getSpaceHeightAndDepth): Ditto for height and depth.
(WebCore::RenderMathMLSpace::layoutBlock): Use the helper functions to get the mspace metrics.
(WebCore::RenderMathMLSpace::firstLineBaseline): Ditto.
(WebCore::RenderMathMLSpace::updateFromElement): Deleted.
(WebCore::RenderMathMLSpace::styleDidChange): Deleted.
- rendering/mathml/RenderMathMLSpace.h: Use MathMLSpaceElement, replace members with helper
functions and and make element() usable from a const instance.
- 10:06 PM Changeset in webkit [203107] by
-
- 7 edits3 adds in trunk
ECMAScript 2016: %TypedArray%.prototype.includes implementation
https://bugs.webkit.org/show_bug.cgi?id=159385
Patch by Caio Lima <Caio Lima> on 2016-07-11
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
This patch implements the ECMAScript 2016:
%TypedArray%.prototype.includes
following spec 22.2.3.14
https://tc39.github.io/ecma262/2016/#sec-%typedarray%.prototype.includes
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncIncludes):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewProtoFuncIncludes):
(JSC::JSTypedArrayViewPrototype::finishCreation):
LayoutTests:
This patch implements test case to ECMAScript 2016:
%TypedArray%.prototype.includes implementation
following spec 22.2.3.14
https://tc39.github.io/ecma262/2016/#sec-%typedarray%.prototype.includes
- js/regress/script-tests/typed-array-includes.js: Added.
(assertProperError):
(testIntTypedArray):
(testFloatTypedArray):
- js/typed-array-includes-expected.txt: Added.
- js/typed-array-includes.html: Added.
- 9:47 PM Changeset in webkit [203106] by
-
- 5 edits in trunk/Source/WebCore
Create a MathMLLength struct to handle the parsing of MathML length.
https://bugs.webkit.org/show_bug.cgi?id=156792
Patch by Frederic Wang <fwang@igalia.org> on 2016-07-11
Reviewed by Brent Fulgham.
We introduce a structure for MathML lengths that will be used in the future to store the
parsed values in the MathElement class. We also rewrite the parsing function for MathML
lengths in order to improve efficiency and code reuse. This function is moved into the
MathElement class and only the conversion to LayoutUnit remains in the renderer classes.
No new tests, already covered by existing tests.
- mathml/MathMLElement.cpp:
(WebCore::parseNamedSpace): Helper function to parse a named space.
(WebCore::MathMLElement::parseMathMLLength): Parsing function for MathML lengths.
- mathml/MathMLElement.h: Declare new function and structure to handle MathML lengths.
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::toUserUnits): Helper function to resolve a MathML length.
(WebCore::parseMathMLLength): Remove the old parsing code and just use MathMLElement::parseMathMLLength and toUserUnits instead.
(WebCore::parseMathMLNamedSpace): Deleted.
- rendering/mathml/RenderMathMLBlock.h: Remove unused function.
- 9:34 PM Changeset in webkit [203105] by
-
- 2 edits in trunk/LayoutTests
Disable some a failing test.
Unreviewed test gardening.
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
- imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-1.html:
- 9:28 PM Changeset in webkit [203104] by
-
- 9 edits13 adds in trunk
Add support for @href attribute in MathML
https://bugs.webkit.org/show_bug.cgi?id=85733
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
Reviewed by Brent Fulgham.
Source/WebCore:
We add support for the href attribute from MathML 3 but ignore the deprecated XLink version.
We also use the code from HTMLAnchorElement SVGAElement to make MathMLElement with a href
attribute behave as a link.
Finally, we adjust mathml.css based on rules from the html and svg user agent stylesheets.
Tests: mathml/mathml-in-html5/href-click-1.html
mathml/mathml-in-html5/href-click-2.html
mathml/presentation/href-enter.html
mathml/presentation/href-style.html
mathml/presentation/maction-toggle-href.html
mathml/presentation/semantics-href.html
- css/mathml.css:
(:any-link): Set color and mouse cursor of links.
(:any-link:active): Set color of active links.
(:focus): Set outline of focused links.
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::parseAttribute): Parse the href attribute.
(WebCore::MathMLElement::willRespondToMouseClickEvents): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::defaultEventHandler): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::canStartSelection): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::isFocusable): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::isKeyboardFocusable): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::isMouseFocusable): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::isURLAttribute): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::supportsFocus): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::tabIndex): Based on HTMLAnchorElement/SVGAElement.
- mathml/MathMLElement.h: Define new members.
- mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::willRespondToMouseClickEvents): We also verify whether
the parent class will respond.
- mathml/mathattrs.in: Add href attribute.
LayoutTests:
We import some tests from the MathML in HTML5 test suite to
test clicks on href attributes and write similar tests.
We also test tab/enter keys and user agent style with links.
- mathml/mathml-in-html5/href-click-1.html: Added. Verify mouse click on a MathML link.
- mathml/mathml-in-html5/href-click-1-expected.html: Added.
- mathml/mathml-in-html5/href-click-2.html: Added.
Verify mouse click on a descendant of a MathML link.
- mathml/mathml-in-html5/href-click-2-expected.html: Added.
- mathml/presentation/href-enter.html: Added.
Verify tab navigation and activing link with enter.
- mathml/presentation/href-enter-expected.html: Added.
- mathml/presentation/href-style.html: Added.
Verify default style of links and of focused links.
- mathml/presentation/href-style-expected.html: Added.
- mathml/presentation/maction-toggle-href.html: Added.
Verify conflicts between maction toggle and href link.
- mathml/presentation/maction-toggle-href-expected.html: Added.
- mathml/presentation/semantics-href.html: Added. Verify mouse click on a <semantics> link.
- mathml/presentation/semantics-href-expected.html: Added.
- platform/mac/TestExpectations: Disable MathML link tests that rely on keyboard events.
- platform/ios-simulator/TestExpectations: Ditto.
- 9:03 PM Changeset in webkit [203103] by
-
- 2 edits2 adds2 deletes in trunk/LayoutTests
Replace reftest mathml/presentation/fractions-positions.html with script tests
https://bugs.webkit.org/show_bug.cgi?id=159558
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
Reviewed by Martin Robinson.
- TestExpectations: Remove fractions-positions.html
- imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-1-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-1.html: Added.
- mathml/presentation/fractions-positions-expected.html: Removed.
- mathml/presentation/fractions-positions.html: Removed.
- 8:30 PM Changeset in webkit [203102] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: ProfileView sometimes shows Top Functions data despite Top Functions being disabled
https://bugs.webkit.org/show_bug.cgi?id=159660
<rdar://problem/27291647>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-07-11
Reviewed by Timothy Hatcher.
- UserInterface/Views/ScriptProfileTimelineView.js:
(WebInspector.ScriptProfileTimelineView.prototype._profileOrientationButtonClicked):
Pass the value of the setting, not the setting itself.
- 5:57 PM Changeset in webkit [203101] by
-
- 7 edits in trunk
[JSC] Array.from() and Array.of() try to build objects even if "this" is not a constructor
https://bugs.webkit.org/show_bug.cgi?id=159604
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
The spec says IsConstructor(), we were just checking if "this"
is any function.
- builtins/ArrayConstructor.js:
(of):
(from):
LayoutTests:
- js/array-from-expected.txt:
- js/array-of-expected.txt:
- js/script-tests/array-from.js:
- js/script-tests/array-of.js:
- 5:16 PM Changeset in webkit [203100] by
-
- 4 edits in trunk/Source/bmalloc
Crash due to abort() calling libc++.1.dylib: std::1::thread::detach()
https://bugs.webkit.org/show_bug.cgi?id=159655
Reviewed by Sam Weinig.
It's not entirely clear what was happening in these crashes, but our
use of detach() was 100% forward-looking, so we can just remove it for
now.
This patch removes the ability for the scavenger owner to die before
the scavenger thread dies (which was unused) and also removes the
ability for the scavenger thread to exit (which was used, but we
messed up and did thread joining lazily, so we never got any benefit
from thread exit.)
We can add these features back when we need them, and make them work then.
- bmalloc/AsyncTask.h:
(bmalloc::Function>::AsyncTask): We start out in the running state now
because we know that starting our thread will run it.
(bmalloc::Function>::~AsyncTask): We don't support destruction anymore.
(bmalloc::Function>::runSlowCase): I removed the Exited state.
(bmalloc::Function>::threadRunLoop): I removed the Exited and
ExitRequested states.
- bmalloc/Heap.h:
- bmalloc/VMHeap.h:
- 4:53 PM Changeset in webkit [203099] by
-
- 3 edits in trunk/Source/WebCore
Speech Synthesis: getting list of voices no longer works
<rdar://problem/22954120>
https://bugs.webkit.org/show_bug.cgi?id=159656
Reviewed by Tim Horton.
- platform/PlatformSpeechSynthesizer.h:
- platform/mac/PlatformSpeechSynthesizerMac.mm:
Default initialize m_voiceListIsInitialized to false so it is
initialized on both Mac and iOS. Remove the explicit initialization
from the Mac.
- 4:44 PM Changeset in webkit [203098] by
-
- 2 edits in trunk/Source/WebCore
<rdar://problem/27285599> REGRESSION: Assertion under CertificateInfo::trust() every time I focus a text field
Reviewed by Sam Weinig.
The assertion added to CertificateInfo::trust() in r203040 is wrong, and is triggered when
focusing a form field via calls to -[WKWebProcessPlugInFrame _serverTrust], so remove it.
- platform/network/cf/CertificateInfo.h:
(WebCore::CertificateInfo::trust):
- 4:44 PM Changeset in webkit [203097] by
-
- 3 edits2 adds in trunk
Deleting in a text input inside an iframe causes the page to scroll incorrectly
https://bugs.webkit.org/show_bug.cgi?id=159654
rdar://problem/26805722
Reviewed by Zalan Bujtas.
Source/WebCore:
Editor::revealSelectionAfterEditingOperation() needs the same iOS-specific reveal
behavior as was added for typing in r202295.
Test: fast/forms/ios/delete-in-input-in-iframe.html
- editing/Editor.cpp:
(WebCore::Editor::revealSelectionAfterEditingOperation):
LayoutTests:
- fast/forms/ios/delete-in-input-in-iframe-expected.txt: Added.
- fast/forms/ios/delete-in-input-in-iframe.html: Added.
- 4:39 PM Changeset in webkit [203096] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
defineProperty on a index of a TypedArray should throw if configurable
https://bugs.webkit.org/show_bug.cgi?id=159653
Reviewed by Saam Barati.
When I fixed this before I misread the spec and thought it said we
should throw if the descriptor said the proprety is not
configurable. This is the opposite. We should throw if the
descriptor says the property is configurable.
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
- tests/stress/typedarray-access-monomorphic-neutered.js:
- tests/stress/typedarray-access-neutered.js:
- tests/stress/typedarray-configure-index.js: Added.
(assert):
(assertThrows):
(makeDescriptor):
(test):
- 4:34 PM Changeset in webkit [203095] by
-
- 2 edits in trunk/Tools
SVN.create_patch should find svn-create-patch relative to the WebKit root.
https://bugs.webkit.org/show_bug.cgi?id=159652
Reviewed by Daniel Bates.
- Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.create_patch): Use WebKitFinder to find the WebKit checkout so that we can find svn-create-patch relative to it.
- 4:29 PM Changeset in webkit [203094] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][iOS] Intermittent crash in [UIApplication beginBackgroundTaskWithName] expiration handler
https://bugs.webkit.org/show_bug.cgi?id=159648
<rdar://problem/27219361>
Reviewed by Anders Carlsson.
We see an intermittent crash in [UIApplication beginBackgroundTaskWithName] expiration handler.
From the traces, we noticed the expiration handler can get called on a non-main thread under
certain conditions, which our code is designed to deal with.
In particular, we get called on a non-main thread when UIKit fails to acquire the assertion.
Update our expiration handler to always notify the clients on the main thread.
- UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
- 4:25 PM Changeset in webkit [203093] by
-
- 2 edits in trunk/Source/WebCore
Fix indentation in FrameLoaderTypes.h
https://bugs.webkit.org/show_bug.cgi?id=159650
Reviewed by Brady Eidson.
- loader/FrameLoaderTypes.h:
- 4:23 PM Changeset in webkit [203092] by
-
- 9 edits2 adds in trunk
Honor the second argument to FontFaceSet.load and FontFaceSet.check
https://bugs.webkit.org/show_bug.cgi?id=159607
<rdar://problem/27284902>
Reviewed by Zalan Bujtas.
Source/WebCore:
This second argument is used in conjunction with the unicode-range CSS property, so that
loading from a FontFaceSet only loads the fonts which actually match the characters given.
Previously, we hadn't implemented proper support for this unicode-range property, but now
that we have implemented it, we should honor this second argument.
Test: fast/text/unicode-range-javascript.html
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::rangesMatchCodePoint):
- css/CSSFontFace.h:
- css/CSSFontFaceSet.cpp:
(WebCore::codePointsFromString):
(WebCore::CSSFontFaceSet::matchingFaces):
LayoutTests:
- fast/text/font-face-set-document-expected.txt:
- fast/text/font-face-set-document.html:
- fast/text/font-face-set-javascript-expected.txt:
- fast/text/font-face-set-javascript.html:
- fast/text/unicode-range-javascript-expected.txt: Added.
- fast/text/unicode-range-javascript.html: Added.
- 4:18 PM Changeset in webkit [203091] by
-
- 3 edits in trunk/Source/WebCore
Unable to edit fields or drag to select text in Dashboard widgets.
https://bugs.webkit.org/show_bug.cgi?id=159647
<rdar://problem/26941698>
Reviewed by Brent Fulgham.
RenderObject::computeAbsoluteRepaintRect's first paramenter is no longer in/out. Use the return
value to set the clip on the dashboard region.
Not testable.
- rendering/RenderInline.cpp:
(WebCore::RenderInline::addAnnotatedRegions):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::addAnnotatedRegions):
- 4:05 PM Changeset in webkit [203090] by
-
- 2 edits in trunk/Source/WebKit/win
Build fix.
Unreviewed.
- WebDropSource.cpp:
(generateMouseEvent):
- 3:51 PM Changeset in webkit [203089] by
-
- 2 edits in trunk/Source/WebKit2
Tried to fix the macOS build.
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction description]):
- 3:35 PM Changeset in webkit [203088] by
-
- 2 edits in trunk/Source/WebCore
Potential null dereference under DocumentLoader::mainReceivedError()
https://bugs.webkit.org/show_bug.cgi?id=159640
<rdar://problem/27283372>
Reviewed by Brady Eidson.
Move frameLoader() null check a bit earlier in DocumentLoader::mainReceivedError()
as it was dereferenced before the check.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::mainReceivedError):
- 3:08 PM Changeset in webkit [203087] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
some paths in Array.prototype.splice don't account for the array not having certain indexed properties
https://bugs.webkit.org/show_bug.cgi?id=159641
<rdar://problem/27171999>
Reviewed by Filip Pizlo and Keith Miller.
Array.prototype.splice was incorrectly putting properties on
the result array even if the |this| array didn't have those
properties. This is not the behavior of the spec. However, this
could also cause a crash because we can construct a program where
we would putByIndex on a typed array where the value we are
putting is JSValue(). This is bad because the typed array will
try to convert JSValue() into an integer.
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSplice):
- tests/stress/array-prototype-splice-making-typed-array.js: Added.
(assert):
(test):
- 3:02 PM Changeset in webkit [203086] by
-
- 3 edits in trunk/Source/WebKit2
Cleaned up API availability.
Requested by Tim Horton.
- UIProcess/API/Cocoa/WKNavigationAction.mm:
- UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
- 2:34 PM Changeset in webkit [203085] by
-
- 38 edits in trunk/Source
Add synthetic click origin to WKNavigationAction.
https://bugs.webkit.org/show_bug.cgi?id=159584
rdar://problem/25610422
Reviewed by Tim Horton.
Source/WebCore:
Adding plumbing code to pass synthetic click type
through WebCore.
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent):
(WebCore::Element::dispatchMouseForceWillBegin):
- dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::initMouseEvent):
(WebCore::MouseEvent::cloneFor):
- dom/MouseEvent.h:
(WebCore::MouseEvent::createForBindings):
(WebCore::MouseEvent::button):
(WebCore::MouseEvent::syntheticClickType):
(WebCore::MouseEvent::buttonDown):
(WebCore::MouseEvent::setRelatedTarget):
- dom/SimulatedClick.cpp:
- dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::showContextMenuAt):
- page/DragController.cpp:
(WebCore::createMouseEvent):
(WebCore::DragController::DragController):
- page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
- platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
(WebCore::PlatformMouseEvent::clickCount):
(WebCore::PlatformMouseEvent::modifierFlags):
(WebCore::PlatformMouseEvent::force):
(WebCore::PlatformMouseEvent::syntheticClickType):
- replay/SerializationMethods.cpp:
(JSC::EncodingTraits<PlatformMouseEvent>::decodeValue):
Source/WebKit/ios:
- WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
Source/WebKit/mac:
- WebView/WebFrame.mm:
(-[WebFrame _dragSourceEndedAt:operation:]):
- WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
Source/WebKit/win:
- WebDropSource.cpp:
(generateMouseEvent):
Source/WebKit2:
Adds a private property to WKNavigationAction to retrieve
the origin of the synthetic click.
- Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode):
(WebKit::NavigationActionData::decode):
- Shared/NavigationActionData.h:
- Shared/WebEvent.h:
(WebKit::WebMouseEvent::button):
(WebKit::WebMouseEvent::menuTypeForEvent):
(WebKit::WebMouseEvent::force):
(WebKit::WebMouseEvent::syntheticClickType):
- Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode):
(WebKit::WebMouseEvent::decode):
- Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
- UIProcess/API/APINavigationAction.h:
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(toWKNavigationType):
(toWKSyntheticClickType):
(-[WKNavigationAction description]):
(-[WKNavigationAction sourceFrame]):
(-[WKNavigationAction request]):
(-[WKNavigationAction _syntheticClickType]):
(-[WKNavigationAction modifierFlags]):
- UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _twoFingerSingleTapGestureRecognized:]):
(-[WKContentView _longPressRecognized:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::getSelectionContext):
(WebKit::WebPageProxy::handleTwoFingerTapAtPoint):
(WebKit::WebPageProxy::selectWithTwoTouches):
- WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
(WebKit::mouseButtonForMouseEvent):
(WebKit::syntheticClickTypeForMouseEvent):
(WebKit::InjectedBundleNavigationAction::modifiersForNavigationAction):
(WebKit::InjectedBundleNavigationAction::mouseButtonForNavigationAction):
(WebKit::InjectedBundleNavigationAction::syntheticClickTypeForNavigationAction):
(WebKit::InjectedBundleNavigationAction::create):
(WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
- WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
(WebKit::InjectedBundleNavigationAction::navigationType):
(WebKit::InjectedBundleNavigationAction::modifiers):
(WebKit::InjectedBundleNavigationAction::mouseButton):
(WebKit::InjectedBundleNavigationAction::hitTestResult):
(WebKit::InjectedBundleNavigationAction::formElement):
(WebKit::InjectedBundleNavigationAction::syntheticClickType):
(WebKit::InjectedBundleNavigationAction::shouldOpenExternalURLs):
(WebKit::InjectedBundleNavigationAction::shouldTryAppLinks):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPage::contextMenuAtPointInWindow):
(WebKit::WebPage::dragEnded):
(WebKit::WebPage::simulateMouseDown):
(WebKit::WebPage::simulateMouseUp):
(WebKit::WebPage::simulateMouseMotion):
(WebKit::WebPage::setCompositionForTesting):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):
(WebKit::WebPage::completeSyntheticClick):
(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
(WebKit::WebPage::handleTwoFingerTapAtPoint):
(WebKit::WebPage::potentialTapAtPosition):
(WebKit::WebPage::inspectorNodeSearchMovedToPosition):
- 2:10 PM Changeset in webkit [203084] by
-
- 15 edits in trunk/Source
Able to open multiple payment sheets in Safari at the same time
https://bugs.webkit.org/show_bug.cgi?id=159637
rdar://problem/26411339
Reviewed by Beth Dakin.
Source/WebCore:
Fold PaymentCoordinator::showPaymentUI into PaymentCoordinator::beginPaymentSession and
change the return value of the latter member function to a bool to indicate whether the
payment UI could be shown (or whether it's already showing).
- Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::begin):
Check the return value of beginPaymentSession.
- Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::beginPaymentSession):
This now takes a payment session and returns a boolean.
(WebCore::PaymentCoordinator::showPaymentUI): Deleted.
- Modules/applepay/PaymentCoordinator.h:
- Modules/applepay/PaymentCoordinatorClient.h:
- loader/EmptyClients.cpp:
The showPaymentUI client function now returns a bool.
Source/WebKit/mac:
Update for WebCore changes.
- WebCoreSupport/WebPaymentCoordinatorClient.h:
- WebCoreSupport/WebPaymentCoordinatorClient.mm:
(WebPaymentCoordinatorClient::showPaymentUI):
Source/WebKit2:
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):
Add result out parameter. Set the result to false if isShowingPaymentUI is true, otherwise set isShowingPaymentUI to true.
(WebKit::WebPaymentCoordinatorProxy::didReachFinalState):
Set isShowingPaymentUI to false.
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in:
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::showPaymentUI):
- WebProcess/ApplePay/WebPaymentCoordinator.h:
The showPaymentUI message and client functions now return booleans.
- 2:04 PM Changeset in webkit [203083] by
-
- 3 edits2 adds in trunk
AX: Crash when backspacing in number field with spin button
https://bugs.webkit.org/show_bug.cgi?id=157830
Reviewed by Chris Fleizach.
Source/WebCore:
It's possible to access spin button parts after they've been detached from their parent, which can lead to crashes.
This adds in a number of redundant safeguards to prevent this and other cases in the future.
Test: accessibility/spinbutton-crash.html
- accessibility/AccessibilitySpinButton.cpp:
(WebCore::AccessibilitySpinButton::incrementButton):
(WebCore::AccessibilitySpinButton::decrementButton):
(WebCore::AccessibilitySpinButton::addChildren):
LayoutTests:
- accessibility/spinbutton-crash-expected.txt: Added.
- accessibility/spinbutton-crash.html: Added.
- 1:53 PM Changeset in webkit [203082] by
-
- 2 edits in trunk/Source/WebCore
Possible null dereference under EventHandler::dispatchMouseEvent()
https://bugs.webkit.org/show_bug.cgi?id=159632
<rdar://problem/27247619>
Reviewed by Andreas Kling.
FrameSelection::toNormalizedRange() can return null even when FrameSelection::isRange()
returns true so add a null check.
- page/EventHandler.cpp:
(WebCore::EventHandler::dispatchMouseEvent):
- 1:48 PM Changeset in webkit [203081] by
-
- 33 edits3 moves in trunk/Source/JavaScriptCore
Refactor JSStack to only be the stack data structure for the C Loop.
https://bugs.webkit.org/show_bug.cgi?id=159545
Reviewed by Geoffrey Garen.
Changes made:
- Renamed JSStack to CLoopStack.
- Made all of CLoopStack code to conditional on #if !ENABLE(JIT) i.e. they will only be in effect for the C Loop build.
- Changed clients of JSStack to use new equivalent VM APIs:
- JSStack::ensureCapacityFor() => VM::ensureStackCapacityFor()
- JSStack::committedByteCount() => VM::committedStackByteCount()
- Made VM::updateReservedZoneSize() call CLoopStack::setReservedZoneSize() instead of calling it from all the clients of VM::updateReservedZoneSize().
- Removed all unnecessary references to JSStack.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/MaxFrameExtentForSlowPathCall.h:
- bytecode/BytecodeConventions.h:
- dfg/DFGGraph.h:
- dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
- ftl/FTLOSREntry.cpp:
(JSC::FTL::prepareOSREntry):
- heap/Heap.cpp:
(JSC::Heap::finalizeUnconditionalFinalizers):
(JSC::Heap::willStartIterating):
(JSC::Heap::gatherJSStackRoots):
(JSC::Heap::stack): Deleted.
- heap/Heap.h:
- interpreter/CLoopStack.cpp: Copied from Source/JavaScriptCore/interpreter/JSStack.cpp.
(JSC::commitSize):
(JSC::CLoopStack::CLoopStack):
(JSC::CLoopStack::~CLoopStack):
(JSC::CLoopStack::grow):
(JSC::CLoopStack::gatherConservativeRoots):
(JSC::CLoopStack::sanitizeStack):
(JSC::CLoopStack::releaseExcessCapacity):
(JSC::CLoopStack::addToCommittedByteCount):
(JSC::CLoopStack::setReservedZoneSize):
(JSC::CLoopStack::committedByteCount):
(JSC::JSStack::JSStack): Deleted.
(JSC::JSStack::~JSStack): Deleted.
(JSC::JSStack::growSlowCase): Deleted.
(JSC::JSStack::gatherConservativeRoots): Deleted.
(JSC::JSStack::sanitizeStack): Deleted.
(JSC::JSStack::releaseExcessCapacity): Deleted.
(JSC::JSStack::addToCommittedByteCount): Deleted.
(JSC::JSStack::setReservedZoneSize): Deleted.
(JSC::JSStack::lowAddress): Deleted.
(JSC::JSStack::highAddress): Deleted.
(JSC::JSStack::committedByteCount): Deleted.
- interpreter/CLoopStack.h: Copied from Source/JavaScriptCore/interpreter/JSStack.h.
(JSC::CLoopStack::containsAddress):
(JSC::CLoopStack::lowAddress):
(JSC::CLoopStack::highAddress):
(JSC::CLoopStack::reservationTop):
(JSC::JSStack::containsAddress): Deleted.
(JSC::JSStack::lowAddress): Deleted.
(JSC::JSStack::highAddress): Deleted.
(JSC::JSStack::reservationTop): Deleted.
- interpreter/CLoopStackInlines.h: Copied from Source/JavaScriptCore/interpreter/JSStackInlines.h.
(JSC::CLoopStack::ensureCapacityFor):
(JSC::CLoopStack::topOfFrameFor):
(JSC::CLoopStack::topOfStack):
(JSC::CLoopStack::shrink):
(JSC::CLoopStack::setCLoopStackLimit):
(JSC::JSStack::ensureCapacityFor): Deleted.
(JSC::JSStack::topOfFrameFor): Deleted.
(JSC::JSStack::topOfStack): Deleted.
(JSC::JSStack::shrink): Deleted.
(JSC::JSStack::grow): Deleted.
(JSC::JSStack::setCLoopStackLimit): Deleted.
- interpreter/CallFrame.cpp:
(JSC::CallFrame::unsafeCallSiteIndex):
(JSC::CallFrame::currentVPC):
(JSC::CallFrame::stack): Deleted.
- interpreter/CallFrame.h:
(JSC::ExecState::callerFrameAndPC):
(JSC::ExecState::unsafeCallerFrameAndPC):
- interpreter/Interpreter.cpp:
(JSC::sizeOfVarargs):
(JSC::sizeFrameForForwardArguments):
(JSC::sizeFrameForVarargs):
(JSC::Interpreter::Interpreter):
- interpreter/Interpreter.h:
(JSC::Interpreter::cloopStack):
(JSC::Interpreter::getOpcode):
(JSC::Interpreter::isCallBytecode):
(JSC::Interpreter::stack): Deleted.
- interpreter/JSStack.cpp: Removed.
- interpreter/JSStack.h: Removed.
- interpreter/JSStackInlines.h: Removed.
- interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::dump):
- jit/JIT.h:
- jit/JITOperations.cpp:
- jit/JSInterfaceJIT.h:
- jit/SpecializedThunkJIT.h:
- jit/ThunkGenerators.cpp:
- llint/LLIntOffsetsExtractor.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::llint_stack_check_at_vm_entry):
- llint/LLIntThunks.cpp:
- llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::arityCheckFor):
- runtime/ErrorHandlingScope.cpp:
(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):
- runtime/JSGlobalObject.h:
- runtime/MemoryStatistics.cpp:
(JSC::globalMemoryStatistics):
- runtime/StackAlignment.h:
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::updateReservedZoneSize):
(JSC::sanitizeStackForVM):
(JSC::VM::committedStackByteCount):
- runtime/VM.h:
(JSC::VM::reservedZoneSize):
(JSC::VM::osStackLimitWithReserve):
(JSC::VM::addressOfOSStackLimitWithReserve):
- runtime/VMInlines.h:
(JSC::VM::ensureStackCapacityFor):
(JSC::VM::shouldTriggerTermination):
- 1:22 PM Changeset in webkit [203080] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Transition and Animation sections in Visual Styles sidebar should have more spacing to their left
https://bugs.webkit.org/show_bug.cgi?id=159633
<rdar://problem/27281805>
Reviewed by Timothy Hatcher.
- UserInterface/Views/VisualStyleDetailsPanel.css:
(.visual-style-property-container.animation):
- 1:11 PM Changeset in webkit [203079] by
-
- 9 edits in trunk/Source
Unreviewed, rolling out r203064.
https://bugs.webkit.org/show_bug.cgi?id=159642
This change causes LayoutTest crashes on WK1 ASan (Requested
by ryanhaddad on #webkit).
Reverted changeset:
"Use refs for ResourceLoaders"
https://bugs.webkit.org/show_bug.cgi?id=159592
http://trac.webkit.org/changeset/203064
Patch by Commit Queue <commit-queue@webkit.org> on 2016-07-11
- 12:50 PM Changeset in webkit [203078] by
-
- 7 edits in trunk
Implement grapheme cluster iterator on StringView
https://bugs.webkit.org/show_bug.cgi?id=159598
Reviewed by Anders Carlsson.
This is in preparation for honoring the second argument to FontFaceSet.load().
Source/WTF:
- wtf/text/StringView.cpp:
(WTF::StringView::GraphemeClusters::Iterator::Impl::Impl):
(WTF::StringView::GraphemeClusters::Iterator::Impl::operator++):
(WTF::StringView::GraphemeClusters::Iterator::Impl::operator*):
(WTF::StringView::GraphemeClusters::Iterator::Impl::operator==):
(WTF::StringView::GraphemeClusters::Iterator::Impl::computeIndexEnd):
(WTF::StringView::GraphemeClusters::Iterator::Iterator):
(WTF::StringView::GraphemeClusters::Iterator::~Iterator):
(WTF::StringView::GraphemeClusters::Iterator::operator*):
(WTF::StringView::GraphemeClusters::Iterator::operator==):
(WTF::StringView::GraphemeClusters::Iterator::operator!=):
- wtf/text/StringView.h:
(WTF::StringView::GraphemeClusters::GraphemeClusters):
- text/TextBreakIterator.cpp:
(WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator):
- text/TextBreakIterator.h:
Tools:
- TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::compareLoopIterations):
(TestWebKitAPI::TEST):
- 12:43 PM Changeset in webkit [203077] by
-
- 3 edits2 adds in trunk
[WebGL] Check for existing buffer exists for enabled vertex array attributes before permitting glDrawArrays to execute
https://bugs.webkit.org/show_bug.cgi?id=159590
<rdar://problem/26865535>
Reviewed by Dean Jackson.
Source/WebCore:
Test: fast/canvas/webgl/webgl-drawarrays-crash-2.html
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::validateVertexAttributes): If enabled array buffer attributes exist,
ensure that an array buffer has been bound.
LayoutTests:
- fast/canvas/webgl/webgl-drawarrays-crash-2-expected.txt: Added.
- fast/canvas/webgl/webgl-drawarrays-crash-2.html: Added.
- 12:13 PM Changeset in webkit [203076] by
-
- 10 edits3 adds in trunk
STP TypedArray.subarray 5x slowdown compared to 9.1
https://bugs.webkit.org/show_bug.cgi?id=156404
Source/JavaScriptCore:
<rdar://problem/26493032>
Reviewed by Geoffrey Garen.
This patch moves the species constructor work for
%TypedArray%.prototype.subarray to a js wrapper. By moving the
species constructor work to JS we are able to completely optimize
it out in DFG. The actual work of creating a TypedArray is still
done in C++ since we are able to avoid calling into the
constructor, which is expensive. This patch also changes the error
message when a %TypedArray%.prototype function is passed a non-typed
array this value. Finally, we used to check that the this value
had not been detached, however, this behavior was incorrect.
- builtins/BuiltinNames.h:
- builtins/TypedArrayPrototype.js:
(globalPrivate.typedArraySpeciesConstructor):
(subarray):
- runtime/ConstructData.cpp:
(JSC::construct):
- runtime/ConstructData.h:
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
(JSC::genericTypedArrayViewProtoFuncSubarray): Deleted.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewPrivateFuncLength):
(JSC::typedArrayViewPrivateFuncSubarrayCreate):
(JSC::JSTypedArrayViewPrototype::finishCreation):
(JSC::typedArrayViewProtoFuncSubarray): Deleted.
- runtime/JSTypedArrayViewPrototype.h:
LayoutTests:
Reviewed by Geoffrey Garen.
Add new micro-benchmark for testing subarray performance with small subarray sizes.
- js/regress/script-tests/typed-array-subarray.js: Added.
(createManySubs):
(go):
- js/regress/typed-array-subarray-expected.txt: Added.
- js/regress/typed-array-subarray.html: Added.
- 12:08 PM Changeset in webkit [203075] by
-
- 33 edits in trunk
AX: WKWebView should have API to prevent pinch-to-zoom always being allowed
https://bugs.webkit.org/show_bug.cgi?id=158364
Reviewed by Anders Carlsson.
Source/WebCore:
Removed the internals settings for viewport force always user scalable.
Changes are covered in modified tests.
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::Internals):
(WebCore::Internals::composedTreeAsText):
(WebCore::Internals::setLinkPreloadSupport):
(WebCore::Internals::setViewportForceAlwaysUserScalable): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit2:
Added a property in WKWebViewConfiguration so that developers can toggle the ignoring
viewport scale limits setting.
Changes are covered in modified tests.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageSetResourceCachingDisabled):
(WKPageSetIgnoresViewportScaleLimits):
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(shouldAllowPictureInPictureMediaPlayback):
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _navigationGestureDidEnd]):
(forceAlwaysUserScalableChangedCallback): Deleted.
(-[WKWebView _updateForceAlwaysUserScalable]): Deleted.
- UIProcess/API/Cocoa/WKWebViewConfiguration.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration encodeWithCoder:]):
(-[WKWebViewConfiguration initWithCoder:]):
(-[WKWebViewConfiguration copyWithZone:]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPageProxy::setForceAlwaysUserScalable):
(WebKit::WebPageProxy::setMaximumUnobscuredSize):
(WebKit::WebPageProxy::updateForceAlwaysUserScalable): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::disableInspectorNodeSearch):
(WebKit::WebPage::setForceAlwaysUserScalable):
(WebKit::innerFrameQuad):
(WebKit::WebPage::updateForceAlwaysUserScalable): Deleted.
Tools:
Added a function in TestRunner so that we can toggle the ignoring viewport
scale limits setting. Also added a test option for that in order to change the
configuration of the webview in test.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setNavigationGesturesEnabled):
(WTR::TestRunner::setIgnoresViewportScaleLimits):
(WTR::nextUIScriptCallbackID):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::shouldDecideNavigationPolicyAfterDelay):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
(WTR::TestController::setNavigationGesturesEnabled):
(WTR::TestController::setIgnoresViewportScaleLimits):
(WTR::TestController::platformWillRunTest):
- WebKitTestRunner/TestController.h:
(WTR::TestController::setShouldDecideNavigationPolicyAfterDelay):
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
- WebKitTestRunner/TestOptions.h:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
LayoutTests:
- fast/viewport/ios/force-always-user-scalable.html:
- fast/viewport/ios/user-scalable-does-not-scale-for-keyboard-focus-with-author-defined-scale.html:
- fast/viewport/ios/user-scalable-scales-for-keyboard-focus-with-no-author-defined-scale.html:
- 11:51 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 11:46 AM Changeset in webkit [203074] by
-
- 14 edits22 adds in trunk
Use parameters from the OpenType MATH table for <munderover>
https://bugs.webkit.org/show_bug.cgi?id=155756
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
Reviewed by Brent Fulgham.
Source/WebCore:
We follow the description from the MathML in HTML5 implementation
to improve the layout of <munderover> using some constants from the MATH table.
Tests: imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1.html
imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2.html
imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3.html
imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4.html
mathml/presentation/attributes-accent-accentunder-dynamic.html
- mathml/mathattrs.in: Add accentunder attribute.
- rendering/mathml/MathMLOperatorDictionary.h: Remove FIXME comment.
- rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::hasAccent): Helper function to determine whether
the over/under script should be treated as an accent.
(WebCore::RenderMathMLUnderOver::getVerticalParameters): Helper function to read
some vertical parameters from the MATH table.
(WebCore::RenderMathMLUnderOver::layoutBlock): Take into account the new vertical
parameters for the layout of <munderover>.
- rendering/mathml/RenderMathMLUnderOver.h: Define new helper functions.
LayoutTests:
Import some tests from the MathML in HTML5 test suite to verify
the layout of the <munderover> element. We also write a test to
verify dynamic change of accent/accentunder attributes and adjust
other tests.
- imported/mathml-in-html5/fonts/math/limits-lowerlimitbaselinedropmin3000.woff: Added.
- imported/mathml-in-html5/fonts/math/limits-lowerlimitgapmin11000.woff: Added.
- imported/mathml-in-html5/fonts/math/limits-upperlimitbaselinerisemin5000.woff: Added.
- imported/mathml-in-html5/fonts/math/limits-upperlimitgapmin7000.woff: Added.
- imported/mathml-in-html5/fonts/math/stretchstack-bottomshiftdown3000.woff: Added.
- imported/mathml-in-html5/fonts/math/stretchstack-gapabovemin7000.woff: Added.
- imported/mathml-in-html5/fonts/math/stretchstack-gapbelowmin11000.woff: Added.
- imported/mathml-in-html5/fonts/math/stretchstack-topshiftup5000.woff: Added.
- imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-overbarextraascender3000.woff: Added.
- imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-overbarverticalgap11000.woff: Added.
- imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-underbarextradescender5000.woff: Added.
- imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-underbarverticalgap7000.woff: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1.html: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2.html: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3.html: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4.html: Added.
- mathml/presentation/attributes-accent-accentunder-dynamic.html: Added.
Test dynamic changes of accent and accentunder.
- mathml/presentation/attributes-accent-accentunder-dynamic-expected.html: Added.
- mathml/presentation/scripts-underover.html: Remove one of the test since munderover
with an empty script is no longer equivalent to munder or mover.
- mathml/presentation/scripts-underover-expected.html: Ditto.
- platform/gtk/mathml/opentype/horizontal-expected.png: Updated due to change in
vertical metrics of scripts.
- platform/gtk/mathml/opentype/horizontal-expected.txt: Ditto.
- platform/gtk/mathml/opentype/horizontal-munderover-expected.png: Ditto.
- platform/gtk/mathml/opentype/horizontal-munderover-expected.txt: Ditto.
- platform/gtk/mathml/presentation/roots-expected.txt: Udapted due to script baseline fix.
- platform/gtk/mathml/presentation/roots-expected.png: ditto.
- mathml/presentation/underover-nonstretchy-or-vertical.html: Prevent the <mo> to be treated
as an accent so that we always get the same spacing as the reference. We also use the Ahem
font to make the result more reliable.
- 11:42 AM Changeset in webkit [203073] by
-
- 4 edits9 adds in trunk
Use Stack* parameters from the OpenType MATH table
https://bugs.webkit.org/show_bug.cgi?id=155714
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
Reviewed by Brent Fulgham.
Source/WebCore:
Test: mathml/mathml-in-html5/frac-parameters-2.html
- rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::updateFromElement): Set the stack parameters when
the line thickness is zero.
(WebCore::RenderMathMLFraction::layoutBlock): Correctly set the <mfrac> ascent and
the denominator vertical offset when the line thickness is zero.
(WebCore::RenderMathMLFraction::paint): Early return when we actually do not need to
paint any fraction bar.
- rendering/mathml/RenderMathMLFraction.h: Define an isStack helper function and define
members corresponding to stack parameters.
LayoutTests:
We import a test from the MathML in HTML5 test suite to verify Stack* parameters.
- imported/mathml-in-html5/fonts/math/stack-axisheight7000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-bottomdisplaystyleshiftdown5000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-bottomshiftdown6000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-displaystylegapmin4000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-gapmin8000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-topdisplaystyleshiftup3000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-topshiftup9000.woff: Added.
- imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-2-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-2.html: Added.
- 11:38 AM Changeset in webkit [203072] by
-
- 12 edits11 adds in trunk
Add support for mathvariants that cannot be emulated via CSS.
https://bugs.webkit.org/show_bug.cgi?id=108778
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
Reviewed by Brent Fulgham.
Source/WebCore:
Tests: mathml/mathml-in-html5/mathvariant-transforms-1.html
mathml/mathml-in-html5/mathvariant-transforms-2.html
mathml/presentation/mathvariant-inheritance.html
mathml/presentation/mathvariant-tokens.html
We remove the old code to emulate partial mathvariant support via CSS and add support
for all mathvariant values using the technique used for implicit italic on <mi> element.
We also rely on the MathMLStyle class introduced earlier to support custome MathML style
and manage inheritance of mathvariant values.
The function that tries and converts one base character into a transformed mathvariant
character is based on similar code from Gecko:
http://hg.mozilla.org/mozilla-central/file/tip/layout/generic/MathMLTextRunFactory.cpp
Note that we only support transform on token elements with a single character, which
should cover the most important use cases.
- css/mathml.css: Remove the CSS rules to emulate some mathvariant values.
(math[mathvariant="normal"], mstyle[mathvariant="normal"], mo[mathvariant="normal"], mn[mathvariant="normal"], mi[mathvariant="normal"], mtext[mathvariant="normal"], mspace[mathvariant="normal"], ms[mathvariant="normal"]): Deleted.
(math[mathvariant="bold"], mstyle[mathvariant="bold"], mo[mathvariant="bold"], mn[mathvariant="bold"], mi[mathvariant="bold"], mtext[mathvariant="bold"], mspace[mathvariant="bold"], ms[mathvariant="bold"]): Deleted.
(math[mathvariant="italic"], mstyle[mathvariant="italic"], mo[mathvariant="italic"], mn[mathvariant="italic"], mi[mathvariant="italic"], mtext[mathvariant="italic"], mspace[mathvariant="italic"], ms[mathvariant="italic"]): Deleted.
(math[mathvariant="bold-italic"], mstyle[mathvariant="bold-italic"], mo[mathvariant="bold-italic"], mn[mathvariant="bold-italic"], mi[mathvariant="bold-italic"], mtext[mathvariant="bold-italic"], mspace[mathvariant="bold-italic"], ms[mathvariant="bold-italic"]): Deleted.
- mathml/MathMLInlineContainerElement.cpp: We resolve mathml style when mathvariant changes.
(WebCore::MathMLInlineContainerElement::parseAttribute):
- mathml/MathMLMathElement.cpp: ditto.
(WebCore::MathMLMathElement::parseAttribute):
- mathml/MathMLTextElement.cpp: ditto.
(WebCore::MathMLTextElement::parseAttribute):
- rendering/mathml/MathMLStyle.cpp: Add mathvariant property to the MathML style.
(WebCore::MathMLStyle::MathMLStyle): Init mathvariant to none.
(WebCore::MathMLStyle::getMathMLStyle): Helper function to retrieve the MathML style on a renderer.
(WebCore::MathMLStyle::updateStyleIfNeeded): Take into account change of mathvariant.
(WebCore::MathMLStyle::parseMathVariant): Helper function to parse a mathvariant attribute.
(WebCore::MathMLStyle::resolveMathMLStyle): Take into account mathvariant value: it is None
by default, inherited and can be modified via an attribute on <math>, <mstyle> or token
elements. We also refactor a bit to share logic between displaystyle and mathvariant.
(WebCore::MathMLStyle::setDisplayStyle): Deleted.
- rendering/mathml/MathMLStyle.h: Add mathvariant members and update declarations.
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateTokenContent): Call the function from the parent class
to consider mathvariant on <mo>.
- rendering/mathml/RenderMathMLToken.cpp:
We implement a mathVariant function to transform a base character into its transformed mathvariant:
- There are some regularity that allows to perform this via simple linear transforms.
- However, there are also many exceptions and we rely on some sorted MathVariantMapping
tables to handle these cases.
(WebCore::ExtractKey): Helper function to perform binary searches on MathVariant tables.
(WebCore::MathVariantMappingSearch): ditto.
(WebCore::mathVariant): New function to perform mathvariant transforms.
(WebCore::RenderMathMLToken::updateMathVariantGlyph): Use the mathVariant function to
perform all transformations, not just the italic one.
(WebCore::transformToItalic): Deleted. Replaced with the more general mathVariant function.
LayoutTests:
Import a test from the MathML in HTML5 test suite to perform an exhaustive
verification of all the mathvariant transforms allowed.
We also add some tests to verify inheritance of the mathvariant style, the
effect on each token element and dynamic modification of mathvariant.
Finally, we modify one test now that mathvariant is no longer emulated via CSS.
- mathml/mathml-in-html5/fonts/mathvariant-transforms.woff: Added.
- mathml/mathml-in-html5/mathvariant-transforms-1-expected.html: Added.
- mathml/mathml-in-html5/mathvariant-transforms-1.html: Added.
- mathml/mathml-in-html5/mathvariant-transforms-2-expected.html: Added.
- mathml/mathml-in-html5/mathvariant-transforms-2.html: Added.
- mathml/presentation/attributes-mathvariant-expected.html: Update this test now that
mathvariant is correctly implemented using character transforms.
- mathml/presentation/mathvariant-inheritance-expected.html: Added.
- mathml/presentation/mathvariant-inheritance.html: Added.
- mathml/presentation/mathvariant-tokens-expected.html: Added.
- mathml/presentation/mathvariant-tokens.html: Added.
- mathml/presentation/mathvariant-dynamic.html: Added.
- mathml/presentation/mathvariant-dynamic-expected.html: Added.
- 11:31 AM Changeset in webkit [203071] by
-
- 2 edits in trunk/LayoutTests
Marking media/controls/inline-elements-dropoff-order.html as failing on El Capitan
https://bugs.webkit.org/show_bug.cgi?id=151287
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 11:08 AM Changeset in webkit [203070] by
-
- 2 edits in trunk/Tools
[GTK] install-dependencies should not install packages built by jhbuild.
https://bugs.webkit.org/show_bug.cgi?id=159628
Reviewed by Michael Catanzaro.
- gtk/install-dependencies:
Don't install icu, harfbuzz, orc, llvm, freetype, fontconfig.
- 11:05 AM Changeset in webkit [203069] by
-
- 2 edits in trunk/Tools
System proxy settings not used when building deps with jhbuild
https://bugs.webkit.org/show_bug.cgi?id=159567
Patch by Olivier Blin <Olivier Blin> on 2016-07-11
Reviewed by Michael Catanzaro.
This adds the gsettings-desktop-schemas-devel build dep to enable
the libgiognomeproxy.so gio module in glib-networking, which uses
GSettings on org.gnome.system.proxy.
This is needed to query system proxy settings for Gnome desktops.
dconf can be manually added to jhbuild to build the
libdconfsettings.so gio module for GSettings, so that
libgiognomeproxy.so can access system settings.
https://trac.webkit.org/wiki/WebKitGTK/StartHacking#Workingbehindaproxy
As an alternative to dconf settings, this commit also adds the
libproxy-devel build dep to enable the libgiolibproxy.so module in
glib-networking (suggested by Fujii Hironori).
It is useful to read proxy settings from environment variables.
From a Gnome desktop, one may unset the GNOME_DESKTOP_SESSION_ID
environment variable to force using the envvar module in libproxy.
- gtk/install-dependencies:
- 10:46 AM Changeset in webkit [203068] by
-
- 1 edit2 adds in trunk/LayoutTests
Add a test for media control dropoff
https://bugs.webkit.org/show_bug.cgi?id=151287
<rdar://problem/23544666>
Unreviewed El Capitan-specific test results after r203057.
- platform/mac-elcapitan/media/controls: Added.
- platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Added.
- platform/mac-yosemite/media/controls: Added.
- 10:04 AM Changeset in webkit [203067] by
-
- 6 edits in trunk
Change run-webkit-tests.py and run-jsc-stress-tests to use a smaller JS stack size for testing.
https://bugs.webkit.org/show_bug.cgi?id=159524
Reviewed by Michael Saboff.
Tools:
Forced tests to run with only a 1.5M JS stack size instead of the default 4M.
Also fixed up some tests to behave better to work with this new limit. This
should make stack overflow tests complete sooner.
- Scripts/run-jsc-stress-tests:
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main):
LayoutTests:
- js/dom/deep-recursion-test.html:
- js/script-tests/stack-overflow-arrity-catch.js:
(funcWith20Args):
- 9:33 AM Changeset in webkit [203066] by
-
- 3 edits in trunk/Source/WebCore
Pause small video elements when returning to inline.
https://bugs.webkit.org/show_bug.cgi?id=159535
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-07-11
Reviewed by Jer Noble.
Will add a test in a later commit.
When exiting fullscreen, don't allow playback to continue inline if video is too small.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isVideoTooSmallForInlinePlayback): Added.
(WebCore::HTMLMediaElement::exitFullscreen): Pause if video is too small.
- html/HTMLMediaElement.h:
- 9:26 AM Changeset in webkit [203065] by
-
- 12 edits in trunk/Source/WebCore
toNative functions in JSDOMBinding.h should take an ExecState reference instead of pointer
https://bugs.webkit.org/show_bug.cgi?id=159298
Reviewed by Youenn Fablet.
Pass ExecState by reference instead of pointer.
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyPathFromValue):
- bindings/js/JSBlobCustom.cpp:
(WebCore::constructJSBlob):
- bindings/js/JSDOMBinding.h: Pass ExecState by reference instead of pointer.
(WebCore::toJSSequence):
(WebCore::NativeValueTraits<String>::nativeValue):
(WebCore::NativeValueTraits<unsigned>::nativeValue):
(WebCore::NativeValueTraits<float>::nativeValue):
(WebCore::NativeValueTraits<double>::nativeValue):
(WebCore::toNativeArray):
(WebCore::toNativeArguments):
- bindings/js/JSDOMConvert.h:
(WebCore::Converter<Vector<T>>::convert):
- bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
- bindings/js/JSFileCustom.cpp:
(WebCore::constructJSFile):
- bindings/js/JSMessagePortCustom.cpp:
(WebCore::fillMessagePortArray):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(JSValueToNative):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArray):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArrayIsEmpty):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors5):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
- 9:01 AM Changeset in webkit [203064] by
-
- 9 edits in trunk/Source
Use refs for ResourceLoaders
https://bugs.webkit.org/show_bug.cgi?id=159592
Reviewed by Chris Dumez.
Source/WebCore:
No new tests. No change in behavior except a fixed memory leak in WebKit1.
- loader/LoaderStrategy.h:
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::finishNetworkLoad):
(WebCore::ResourceLoader::setDefersLoading):
(WebCore::ResourceLoader::frameLoader):
(WebCore::ResourceLoader::willSwitchToSubstituteResource):
(WebCore::ResourceLoader::willSendRequestInternal):
Source/WebKit:
- WebCoreSupport/WebResourceLoadScheduler.cpp:
(webResourceLoadScheduler):
(WebResourceLoadScheduler::hostForURL):
(WebResourceLoadScheduler::WebResourceLoadScheduler):
(WebResourceLoadScheduler::loadResource):
(WebResourceLoadScheduler::schedulePluginStreamLoad):
(WebResourceLoadScheduler::scheduleLoad):
(WebResourceLoadScheduler::remove):
(WebResourceLoadScheduler::setDefersLoading):
(WebResourceLoadScheduler::crossOriginRedirectReceived):
(WebResourceLoadScheduler::servePendingRequests):
(WebResourceLoadScheduler::resumePendingRequests):
(WebResourceLoadScheduler::HostInformation::priorityToIndex):
(WebResourceLoadScheduler::HostInformation::schedule):
(WebResourceLoadScheduler::HostInformation::addLoadInProgress):
(WebResourceLoadScheduler::HostInformation::remove):
- WebCoreSupport/WebResourceLoadScheduler.h:
(WebResourceLoadScheduler::HostInformation::name):
(WebResourceLoadScheduler::HostInformation::requestsPending):
m_nonHTTPProtocolHost used to be a leaked pointer, and now it's a member variable.
Source/WebKit2:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad):
(WebKit::WebLoaderStrategy::internallyFailedLoadTimerFired):
(WebKit::WebLoaderStrategy::startLocalLoad):
(WebKit::WebLoaderStrategy::remove):
(WebKit::WebLoaderStrategy::setDefersLoading):
(WebKit::WebLoaderStrategy::crossOriginRedirectReceived):
- WebProcess/Network/WebLoaderStrategy.h:
- 8:55 AM Changeset in webkit [203063] by
-
- 2 edits in trunk/Tools
[GTK] Whitespace fixes in install-dependencies script
Unreviewed.
- gtk/install-dependencies:
- 8:54 AM Changeset in webkit [203062] by
-
- 2 edits in trunk/Tools
[GTK] Install missing Fedora dependencies
Unreviewed.
- gtk/install-dependencies:
- 8:25 AM Changeset in webkit [203061] by
-
- 3 edits in trunk/Source/WebKit2
Update stable cache version in NetworkCache::Storage::deleteOldVersions()
https://bugs.webkit.org/show_bug.cgi?id=159618
rdar://problem/26715745
Reviewed by Chris Dumez.
NetworkCache::Storage::deleteOldVersions() keeps the previous shipped cache version (4) for Mac around so
development WebKit doesn’t clobber system Safari cache. Update this to the current version so old caches
go away in customer systems.
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::deleteOldVersions):
- NetworkProcess/cache/NetworkCacheStorage.h:
Move lastStableVersion to header next to the current version.
- 8:08 AM Changeset in webkit [203060] by
-
- 6 edits in trunk
Using dpi unit in sizes attribute raises SIGSEGV
https://bugs.webkit.org/show_bug.cgi?id=159412
Patch by Fujii Hironori <Fujii Hironori> on 2016-07-11
Reviewed by Darin Adler.
Source/WebCore:
CSSParser::sourceSize returns a invalid CSSParser::SourceSize
whose length is a null value for a dpi unit value. Because
CSSParserValue::createCSSValue returns null for a dpi value.
Tests:
fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html
- css/CSSParser.cpp:
(WebCore::CSSParser::sourceSize): Create a CSSPrimitiveValue of
CSS_UNKNOWN if CSSParserValue::createCSSValue returns null.
LayoutTests:
- TestExpectations: Unskip fast/dom/HTMLImageElement/sizes.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt: Updated.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html: Added a dpi unit test case.
Renumbering element IDs.
- 7:52 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 7:44 AM Changeset in webkit [203059] by
-
- 2 edits in trunk/Source/WebCore
Red and blue colors are swapped in video rendered through WebGL when GSTREAMER_GL is enabled
https://bugs.webkit.org/show_bug.cgi?id=159621
Patch by Olivier Blin <Olivier Blin> on 2016-07-11
Reviewed by Philippe Normand.
When a video is rendered through WebGL, and GSTREAMER_GL is enabled, red and blue colors are swapped.
This occurs for example with the following videos:
http://www.scirra.com/labs/bugs/webglvideo/
http://www.dailymotion.com/embed/video/x4jiicp?autoplay=1
This is because ImageGStreamerCairo expects video frames in either
BGRA or ARGB, while when GSTREAMER_GL is enabled,
createVideoSinkGL() forces a RGBA format.
Without GSTREAMER_GL, the rendering is fine since
VideoSinkGStreamer uses either BGRA or ARGB.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL):
- 7:41 AM Changeset in webkit [203058] by
-
- 7 edits in trunk/Source/WebCore
[GStreamer] remove WEBKIT_DEBUG support
https://bugs.webkit.org/show_bug.cgi?id=159553
Reviewed by Xabier Rodriguez-Calvar.
Remove the *_MEDIA_MESSAGE macros specific to the GStreamer
platform code and replace them with standard GST_DEBUG macros. In
Debug builds the WEBKIT_DEBUG=Media logs now only contain logs
related with the cross-platform Media element code. If GStreamer
logs are needed, the GST_DEBUG=webkit*:5 environment variable can
be used.
- platform/graphics/gstreamer/GStreamerUtilities.h:
- platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):
(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfStreamChanged):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::commitLoad):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
(WebCore::MediaPlayerPrivateGStreamer::play):
(WebCore::MediaPlayerPrivateGStreamer::pause):
(WebCore::MediaPlayerPrivateGStreamer::duration):
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
(WebCore::MediaPlayerPrivateGStreamer::paused):
(WebCore::MediaPlayerPrivateGStreamer::newTextSample):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
(WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
(WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
(WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress):
(WebCore::MediaPlayerPrivateGStreamer::totalBytes):
(WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
(WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering):
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
(WebCore::MediaPlayerPrivateGStreamerBase::setVolume):
(WebCore::MediaPlayerPrivateGStreamerBase::volumeChangedCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL):
(WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::~MediaPlayerPrivateGStreamerOwr):
(WebCore::MediaPlayerPrivateGStreamerOwr::play):
(WebCore::MediaPlayerPrivateGStreamerOwr::pause):
(WebCore::MediaPlayerPrivateGStreamerOwr::currentTime):
(WebCore::MediaPlayerPrivateGStreamerOwr::load):
(WebCore::MediaPlayerPrivateGStreamerOwr::internalLoad):
(WebCore::MediaPlayerPrivateGStreamerOwr::stop):
(WebCore::MediaPlayerPrivateGStreamerOwr::createGSTAudioSinkBin):
(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnded):
(WebCore::MediaPlayerPrivateGStreamerOwr::trackMutedChanged):
(WebCore::MediaPlayerPrivateGStreamerOwr::trackSettingsChanged):
(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnabledChanged):
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::getLanguageCode):
(WebCore::TrackPrivateBaseGStreamer::getTag):
- 7:37 AM Changeset in webkit [203057] by
-
- 6 edits4 adds in trunk
Add a test for media control dropoff
https://bugs.webkit.org/show_bug.cgi?id=151287
<rdar://problem/23544666>
Reviewed by Antoine Quint.
Source/WebCore:
Test: media/controls/inline-elements-dropoff-order.html
- Modules/mediacontrols/mediaControlsApple.js: Expose more state to testing.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::setAllowsAirPlayForMediaPlayback): Renamed from setWirelessPlaybackDisabled.
(WebCore::InternalSettings::setWirelessPlaybackDisabled): Deleted.
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
LayoutTests:
- media/controls/inline-elements-dropoff-order-expected.txt: Added.
- media/controls/inline-elements-dropoff-order.html: Added.
- platform/mac-yosemite/media/controls: Added.
- platform/mac-yosemite/media/controls/inline-elements-dropoff-order-expected.txt: Added.
- platform/mac-elcapitan/media/controls: Added.
- platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Added.
- 7:35 AM Changeset in webkit [203056] by
-
- 5 edits in trunk/Source/WebCore
[GStreamer][GL] crash within triggerRepaint
https://bugs.webkit.org/show_bug.cgi?id=159552
Reviewed by Xabier Rodriguez-Calvar.
Ensure the sizeChanged notification is emitted from the main
thread. When GStreamer-GL rendering is enabled the appsink draw
callbacks are fired in a non-main thread.
The WeakPtr support was moved to the player base class so that it
can be used there as well as in the MediaPlayerPrivateGStreamer
sub-class.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Deleted.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(WebCore::MediaPlayerPrivateGStreamer::createWeakPtr): Deleted.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
(WebCore::MediaPlayerPrivateGStreamerBase::createWeakPtr):
- 2:47 AM Changeset in webkit [203055] by
-
- 5 edits in trunk/LayoutTests
Update expectations for some MathML pixel tests on Windows.
Unreviewed test gardening.
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
- platform/win/mathml/opentype/vertical-expected.txt:
- platform/win/mathml/presentation/mo-stretch-expected.txt:
- platform/win/mathml/presentation/roots-expected.txt:
- platform/win/mathml/radical-fallback-expected.txt:
- 2:43 AM Changeset in webkit [203054] by
-
- 5 edits in trunk/LayoutTests
Update expectations for some MathML pixel tests on EFL.
Unreviewed test gardening.
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
- platform/efl/mathml/opentype/vertical-expected.txt:
- platform/efl/mathml/presentation/mo-stretch-expected.txt:
- platform/efl/mathml/presentation/roots-expected.txt:
- platform/efl/mathml/radical-fallback-expected.txt:
- 2:28 AM Changeset in webkit [203053] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION(r202992): JSC varargs tests are broken
https://bugs.webkit.org/show_bug.cgi?id=159616
Reviewed by Csaba Osztrogonác.
The substitution miss in r202992 causes varargs tests failures in GTK port.
- jit/SetupVarargsFrame.cpp:
(JSC::emitSetupVarargsFrameFastCase):
- 12:42 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 12:26 AM Changeset in webkit [203052] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
[ES6] Promise.{all,race} no longer use @@species
https://bugs.webkit.org/show_bug.cgi?id=159615
Reviewed by Keith Miller.
As per the latest ES draft, Promise.{all,race} no longer use @@species.
So, this patch drops FIXMEs.
- builtins/PromiseConstructor.js:
(all):
(race):
- tests/stress/ignore-promise-species.js: Added.
(shouldBe):
(DerivedPromise.prototype.get Symbol):
(DerivedPromise):
Jul 10, 2016:
- 11:09 PM Changeset in webkit [203051] by
-
- 5 edits in branches/safari-602.1.40-branch/Source
Versioning.
- 11:05 PM Changeset in webkit [203050] by
-
- 1 copy in tags/Safari-602.1.40.4
New tag.
- 11:03 PM Changeset in webkit [203049] by
-
- 2 edits in branches/safari-602.1.40-branch/Source/WebKit2
Merged r203044. rdar://problem/27268111
- 11:01 PM Changeset in webkit [203048] by
-
- 5 edits in branches/safari-602.1.40-branch/Source
Versioning.
- 10:06 PM Changeset in webkit [203047] by
-
- 14 edits4 adds in trunk
Setting document.title reuses <title>'s textnode child
https://bugs.webkit.org/show_bug.cgi?id=28864
<rdar://problem/7186473>
Reviewed by Benjamin Poulain.
Source/WebCore:
Setting document.title should be equivalent to setting the 'textContent'
IDL attribute of the <title> element:
In particular, this means we should always create a new Text node and
replace all the <title>'s children with this new Node, as per:
Previously, WebKit would in some cases reuse the existing <title>'s
Text node and merely update its data.
Firefox and Chrome behave as per the specification so this aligns our
behavior with other major browsers as well.
Test: fast/dom/title-setter-new-text-node.html
- dom/Document.cpp:
(WebCore::Document::setTitle):
- Call Node::setTextContent() instead of HTMLTitleElement::setText(), as per the specification.
- Take an ExceptionCode parameter and pass it to Node::setTextContent() as it may throw.
- dom/Document.h:
- dom/Document.idl:
- html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::setText):
Update implementation of HTMLTitleElement::setText() to call
setTextContent() as per the specification:
- html/HTMLTitleElement.h:
- html/HTMLTitleElement.idl:
- html/ImageDocument.cpp:
(WebCore::ImageDocument::finishedParsing):
- svg/SVGTitleElement.cpp:
- svg/SVGTitleElement.h:
Drop setText() setter which was duplicated from HTMLTitleElement::setText()
now that Document::setTitle() calls SVGTitleElement::setTextContent()
instead.
LayoutTests:
- fast/dom/title-setter-new-text-node-expected.txt: Added.
- fast/dom/title-setter-new-text-node.html: Added.
Add test coverage.
- fast/dom/title-text-property-2-expected.txt:
- fast/dom/title-text-property-expected.txt:
- http/tests/globalhistory/history-delegate-basic-title-expected.txt:
Rebaseline a few tests now that we do not reuse the <title>'s text
node child.
- 9:28 PM Changeset in webkit [203046] by
-
- 7 edits3 deletes in trunk
Unreviewed, rolling out r203037.
https://bugs.webkit.org/show_bug.cgi?id=159614
The JSC tests are breaking in elcapitan-debug-tests-jsc and
elcapitan-release-tests-jsc (Requested by caiolima on
#webkit).
Reverted changeset:
"ECMAScript 2016: %TypedArray%.prototype.includes
implementation"
https://bugs.webkit.org/show_bug.cgi?id=159385
http://trac.webkit.org/changeset/203037
- 8:58 PM Changeset in webkit [203045] by
-
- 4 edits2 adds in trunk
Fix LogicalSelectionOffsetCaches to work with detached render tree.
https://bugs.webkit.org/show_bug.cgi?id=159605
<rdar://problem/27248845>
Reviewed by Brent Fulgham.
Source/WebCore:
When the renderer that is being destroyed is on a selection boundary,
we need to ensure that all its cached pointers across the selection code (e.g. SelectionSubtreeData)
are getting reset. In order to do that, we call clearSelection() on the RenderView.
One of the last steps of clearing selection is to collect the selection gaps. Selection gaps uses this
LogicalSelectionOffsetCaches helper class to collect selection information across blocks.
LogicalSelectionOffsetCaches normally operates on rooted renderers. However we need to ensure sure that
it can also handle renderers that are no longer part of the render tree.
Test: fast/text/selection-on-a-detached-tree.html
- rendering/LogicalSelectionOffsetCaches.h:
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::setBlock):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalLeftSelectionOffset):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalRightSelectionOffset):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::logicalLeftSelectionOffset):
(WebCore::RenderBlock::logicalRightSelectionOffset):
LayoutTests:
- fast/text/selection-on-a-detached-tree-expected.txt: Added.
- fast/text/selection-on-a-detached-tree.html: Added.
- 7:52 PM Changeset in webkit [203044] by
-
- 1 edit1 add in trunk/Source/WebKit2
Update mediaIcon.pdf
https://bugs.webkit.org/show_bug.cgi?id=159613
-and corresponding-
rdar://problem/27268111
Reviewed by Sam Weinig.
- Resources/mediaIcon.pdf: Replaced.
- 4:28 PM Changeset in webkit [203043] by
-
- 3 edits4 adds in trunk
adoptNode() changes css class to lowercase for document loaded with XHR responseType = "document"
https://bugs.webkit.org/show_bug.cgi?id=159555
<rdar://problem/27252541>
Reviewed by Benjamin Poulain.
Source/WebCore:
Follow-up on r203018 which was incomplete. We need to update ElementData's
m_classNames / m_idForStyleResolution when the source document is in strict
mode and the destination document is in quirks mode as well.
Test: fast/dom/Document/adoptNode-quirks-mismatch2.html
- dom/Element.cpp:
(WebCore::Element::didMoveToNewDocument):
LayoutTests:
Add test coverage.
- fast/dom/Document/adoptNode-quirks-mismatch2-expected.txt: Added.
- fast/dom/Document/adoptNode-quirks-mismatch2.html: Added.
- fast/dom/Document/resources/document-noquirks-class.html: Added.
- fast/dom/Document/resources/document-noquirks-id.html: Added.
- 2:46 PM Changeset in webkit [203042] by
-
- 5 edits in trunk/Source/WebCore
Rename isEmojiModifier to isEmojiFitzpatrickModifier to better capture its function
https://bugs.webkit.org/show_bug.cgi?id=159610
Reviewed by Dan Bernstein.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::characterRangeCodePath):
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::advanceByCombiningCharacterSequence):
Update for rename.
- platform/text/CharacterProperties.h:
(WebCore::isEmojiGroupCandidate):
(WebCore::isEmojiFitzpatrickModifier):
(WebCore::isVariationSelector):
Rename isEmojiModifier -> isEmojiFitzpatrickModifier. Also add some comments
explaining what the characters these predicate act on to demystify them a bit.
- rendering/RenderText.cpp:
(WebCore::RenderText::previousOffsetForBackwardDeletion):
Update for rename and rename a related variable.
- 11:50 AM Changeset in webkit [203041] by
-
- 2 edits in trunk/Source/WebKit2
Add self to WebKit2 Owners
https://bugs.webkit.org/show_bug.cgi?id=159499
Patch by Alex Christensen <achristensen@webkit.org> on 2016-07-10
Reviewed by Sam Weinig.
- Owners:
- 11:48 AM Changeset in webkit [203040] by
-
- 4 edits in trunk/Source
Fix client certificate authentication after r200463
https://bugs.webkit.org/show_bug.cgi?id=159574
<rdar://problem/26931006>
Patch by Alex Christensen <achristensen@webkit.org> on 2016-07-10
Reviewed by Sam Weinig.
Source/WebCore:
No new tests. We really need a test for this
- platform/network/cf/CertificateInfo.h:
(WebCore::CertificateInfo::CertificateInfo):
(WebCore::CertificateInfo::trust):
Make sure we only get the trust for Trust type CertificateInfos.
If we mix up our types, we get unexpected nullptrs, which will cause authentication to fail.
Source/WebKit2:
- Shared/Authentication/mac/AuthenticationManager.mac.mm:
(WebKit::leafCertificate):
(WebKit::chain):
Handle the different types of CertificateInfos.
- 10:53 AM Changeset in webkit [203039] by
-
- 2 edits in trunk/Source/WebCore
Fix Windows build after r203038
Unreviewed.
- platform/text/TextAllInOne.cpp:
- 10:15 AM Changeset in webkit [203038] by
-
- 43 edits8 copies6 moves6 adds3 deletes in trunk/Source
Move breaking iterator code to WTF
https://bugs.webkit.org/show_bug.cgi?id=159594
Reviewed by Alex Christensen.
This is in preparation for giving StringView a GraphemeClusters iterator.
Such an interator needs to be implemented on top of our breaking iterator
code.
Source/WebCore:
No new tests because there is no behavior change.
- CMakeLists.txt:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- PlatformWin.cmake:
- WebCore.xcodeproj/project.pbxproj:
- dom/CharacterData.cpp:
- editing/TextCheckingHelper.cpp:
- editing/TextIterator.cpp:
- editing/VisibleUnits.cpp:
- html/HTMLInputElement.cpp:
- html/HTMLTextAreaElement.cpp:
- html/InputType.cpp:
- html/TextFieldInputType.cpp:
- html/TextInputType.cpp:
- platform/LocalizedStrings.cpp:
- platform/graphics/StringTruncator.cpp:
- platform/graphics/cg/ColorCG.cpp:
(WTF::RetainPtr<CGColorRef>>::createValueForKey):
(WebCore::RetainPtr<CGColorRef>>::createValueForKey): Deleted.
- platform/graphics/mac/ComplexTextController.cpp:
- platform/text/LineBreakIteratorPoolICU.h:
(WebCore::LineBreakIteratorPool::LineBreakIteratorPool): Deleted.
(WebCore::LineBreakIteratorPool::sharedPool): Deleted.
(WebCore::LineBreakIteratorPool::makeLocaleWithBreakKeyword): Deleted.
(WebCore::LineBreakIteratorPool::take): Deleted.
(WebCore::LineBreakIteratorPool::put): Deleted.
- platform/text/TextBoundaries.cpp:
- platform/text/TextBreakIterator.cpp:
(WebCore::initializeIterator): Deleted.
(WebCore::initializeIteratorWithRules): Deleted.
(WebCore::setTextForIterator): Deleted.
(WebCore::setContextAwareTextForIterator): Deleted.
(WebCore::wordBreakIterator): Deleted.
(WebCore::sentenceBreakIterator): Deleted.
(WebCore::cursorMovementIterator): Deleted.
(WebCore::acquireLineBreakIterator): Deleted.
(WebCore::releaseLineBreakIterator): Deleted.
(WebCore::mapLineIteratorModeToRules): Deleted.
(WebCore::isCJKLocale): Deleted.
(WebCore::openLineBreakIterator): Deleted.
(WebCore::closeLineBreakIterator): Deleted.
(WebCore::compareAndSwapNonSharedCharacterBreakIterator): Deleted.
(WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Deleted.
(WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Deleted.
(WebCore::textBreakFirst): Deleted.
(WebCore::textBreakLast): Deleted.
(WebCore::textBreakNext): Deleted.
(WebCore::textBreakPrevious): Deleted.
(WebCore::textBreakPreceding): Deleted.
(WebCore::textBreakFollowing): Deleted.
(WebCore::textBreakCurrent): Deleted.
(WebCore::isTextBreak): Deleted.
(WebCore::isWordTextBreak): Deleted.
(WebCore::numGraphemeClusters): Deleted.
(WebCore::numCharactersInGraphemeClusters): Deleted.
- platform/text/TextBreakIterator.h:
(WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Deleted.
(WebCore::LazyLineBreakIterator::~LazyLineBreakIterator): Deleted.
(WebCore::LazyLineBreakIterator::string): Deleted.
(WebCore::LazyLineBreakIterator::isLooseCJKMode): Deleted.
(WebCore::LazyLineBreakIterator::lastCharacter): Deleted.
(WebCore::LazyLineBreakIterator::secondToLastCharacter): Deleted.
(WebCore::LazyLineBreakIterator::setPriorContext): Deleted.
(WebCore::LazyLineBreakIterator::updatePriorContext): Deleted.
(WebCore::LazyLineBreakIterator::resetPriorContext): Deleted.
(WebCore::LazyLineBreakIterator::priorContextLength): Deleted.
(WebCore::LazyLineBreakIterator::get): Deleted.
(WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator): Deleted.
(WebCore::NonSharedCharacterBreakIterator::operator TextBreakIterator*): Deleted.
- platform/text/cf/HyphenationCF.cpp:
- platform/text/efl/TextBreakIteratorInternalICUEfl.cpp:
(WebCore::currentSearchLocaleID): Deleted.
(WebCore::currentTextBreakLocaleID): Deleted.
- platform/text/enchant/TextCheckerEnchant.cpp:
- platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
(WebCore::currentSearchLocaleID): Deleted.
(WebCore::currentTextBreakLocaleID): Deleted.
- platform/text/icu/UTextProvider.cpp:
(WebCore::fixPointer): Deleted.
(WebCore::uTextCloneImpl): Deleted.
- platform/text/icu/UTextProvider.h:
(WebCore::uTextProviderContext): Deleted.
(WebCore::initializeContextAwareUTextProvider): Deleted.
(WebCore::uTextAccessPinIndex): Deleted.
(WebCore::uTextAccessInChunkOrOutOfRange): Deleted.
- platform/text/icu/UTextProviderLatin1.cpp:
(WebCore::uTextLatin1Clone): Deleted.
(WebCore::uTextLatin1NativeLength): Deleted.
(WebCore::uTextLatin1Access): Deleted.
(WebCore::uTextLatin1Extract): Deleted.
(WebCore::uTextLatin1MapOffsetToNative): Deleted.
(WebCore::uTextLatin1MapNativeIndexToUTF16): Deleted.
(WebCore::uTextLatin1Close): Deleted.
(WebCore::openLatin1UTextProvider): Deleted.
(WebCore::textLatin1ContextAwareGetCurrentContext): Deleted.
(WebCore::textLatin1ContextAwareMoveInPrimaryContext): Deleted.
(WebCore::textLatin1ContextAwareSwitchToPrimaryContext): Deleted.
(WebCore::textLatin1ContextAwareMoveInPriorContext): Deleted.
(WebCore::textLatin1ContextAwareSwitchToPriorContext): Deleted.
(WebCore::uTextLatin1ContextAwareClone): Deleted.
(WebCore::uTextLatin1ContextAwareNativeLength): Deleted.
(WebCore::uTextLatin1ContextAwareAccess): Deleted.
(WebCore::uTextLatin1ContextAwareExtract): Deleted.
(WebCore::uTextLatin1ContextAwareClose): Deleted.
(WebCore::openLatin1ContextAwareUTextProvider): Deleted.
- platform/text/icu/UTextProviderUTF16.cpp:
(WebCore::textUTF16ContextAwareGetCurrentContext): Deleted.
(WebCore::textUTF16ContextAwareMoveInPrimaryContext): Deleted.
(WebCore::textUTF16ContextAwareSwitchToPrimaryContext): Deleted.
(WebCore::textUTF16ContextAwareMoveInPriorContext): Deleted.
(WebCore::textUTF16ContextAwareSwitchToPriorContext): Deleted.
(WebCore::uTextUTF16ContextAwareClone): Deleted.
(WebCore::uTextUTF16ContextAwareNativeLength): Deleted.
(WebCore::uTextUTF16ContextAwareAccess): Deleted.
(WebCore::uTextUTF16ContextAwareExtract): Deleted.
(WebCore::uTextUTF16ContextAwareClose): Deleted.
(WebCore::openUTF16ContextAwareUTextProvider): Deleted.
- platform/text/mac/TextBoundaries.mm:
- platform/text/mac/TextBreakIteratorInternalICUMac.mm:
(WebCore::textBreakLocalePreference): Deleted.
(WebCore::topLanguagePreference): Deleted.
(WebCore::getLocale): Deleted.
(WebCore::getSearchLocale): Deleted.
(WebCore::currentSearchLocaleID): Deleted.
(WebCore::getTextBreakLocale): Deleted.
(WebCore::currentTextBreakLocaleID): Deleted.
- platform/text/win/TextBreakIteratorInternalICUWin.cpp:
(WebCore::currentSearchLocaleID): Deleted.
(WebCore::currentTextBreakLocaleID): Deleted.
- rendering/RenderBlock.cpp:
- rendering/RenderText.cpp:
- rendering/RenderText.h:
- rendering/SimpleLineLayoutTextFragmentIterator.h:
- rendering/break_lines.cpp:
- rendering/break_lines.h:
- rendering/line/LineBreaker.h:
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- icu/unicode/ubrk.h: Added.
- icu/unicode/utext.h: Renamed from Source/WebCore/icu/unicode/utext.h.
- wtf/CMakeLists.txt:
- wtf/PlatformEfl.cmake:
- wtf/PlatformGTK.cmake:
- wtf/PlatformMac.cmake:
- wtf/PlatformWin.cmake:
- wtf/TinyLRUCache.h:
- wtf/text/LineBreakIteratorPoolICU.h: Renamed from Source/WebCore/platform/text/LineBreakIteratorPoolICU.h.
(WTF::LineBreakIteratorPool::LineBreakIteratorPool):
(WTF::LineBreakIteratorPool::sharedPool):
(WTF::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
(WTF::LineBreakIteratorPool::take):
(WTF::LineBreakIteratorPool::put):
- wtf/text/TextBreakIterator.cpp: Renamed from Source/WebCore/platform/text/TextBreakIterator.cpp.
(WTF::initializeIterator):
(WTF::initializeIteratorWithRules):
(WTF::setTextForIterator):
(WTF::setContextAwareTextForIterator):
(WTF::wordBreakIterator):
(WTF::sentenceBreakIterator):
(WTF::cursorMovementIterator):
(WTF::acquireLineBreakIterator):
(WTF::releaseLineBreakIterator):
(WTF::mapLineIteratorModeToRules):
(WTF::isCJKLocale):
(WTF::openLineBreakIterator):
(WTF::closeLineBreakIterator):
(WTF::compareAndSwapNonSharedCharacterBreakIterator):
(WTF::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator):
(WTF::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator):
(WTF::textBreakFirst):
(WTF::textBreakLast):
(WTF::textBreakNext):
(WTF::textBreakPrevious):
(WTF::textBreakPreceding):
(WTF::textBreakFollowing):
(WTF::textBreakCurrent):
(WTF::isTextBreak):
(WTF::isWordTextBreak):
(WTF::numGraphemeClusters):
(WTF::numCharactersInGraphemeClusters):
- wtf/text/TextBreakIterator.h: Renamed from Source/WebCore/platform/text/TextBreakIterator.h.
(WTF::LazyLineBreakIterator::LazyLineBreakIterator):
(WTF::LazyLineBreakIterator::~LazyLineBreakIterator):
(WTF::LazyLineBreakIterator::string):
(WTF::LazyLineBreakIterator::isLooseCJKMode):
(WTF::LazyLineBreakIterator::lastCharacter):
(WTF::LazyLineBreakIterator::secondToLastCharacter):
(WTF::LazyLineBreakIterator::setPriorContext):
(WTF::LazyLineBreakIterator::updatePriorContext):
(WTF::LazyLineBreakIterator::resetPriorContext):
(WTF::LazyLineBreakIterator::priorContextLength):
(WTF::LazyLineBreakIterator::get):
(WTF::LazyLineBreakIterator::resetStringAndReleaseIterator):
(WTF::NonSharedCharacterBreakIterator::operator TextBreakIterator*):
- wtf/text/TextBreakIteratorInternalICU.h: Renamed from Source/WebCore/platform/text/TextBreakIteratorInternalICU.h.
- wtf/text/efl/TextBreakIteratorInternalICUEfl.cpp: Renamed from Source/WebCore/platform/text/efl/TextBreakIteratorInternalICUEfl.cpp.
(WebCore::currentSearchLocaleID):
(WebCore::currentTextBreakLocaleID):
- wtf/text/gtk/TextBreakIteratorInternalICUGtk.cpp: Renamed from Source/WebCore/platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp.
(WebCore::currentSearchLocaleID):
(WebCore::currentTextBreakLocaleID):
- wtf/text/icu/UTextProvider.cpp: Renamed from Source/WebCore/platform/text/icu/UTextProvider.cpp.
(WTF::fixPointer):
(WTF::uTextCloneImpl):
- wtf/text/icu/UTextProvider.h: Renamed from Source/WebCore/platform/text/icu/UTextProvider.h.
(WTF::uTextProviderContext):
(WTF::initializeContextAwareUTextProvider):
(WTF::uTextAccessPinIndex):
(WTF::uTextAccessInChunkOrOutOfRange):
- wtf/text/icu/UTextProviderLatin1.cpp: Renamed from Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp.
(WTF::uTextLatin1Clone):
(WTF::uTextLatin1NativeLength):
(WTF::uTextLatin1Access):
(WTF::uTextLatin1Extract):
(WTF::uTextLatin1MapOffsetToNative):
(WTF::uTextLatin1MapNativeIndexToUTF16):
(WTF::uTextLatin1Close):
(WTF::openLatin1UTextProvider):
(WTF::textLatin1ContextAwareGetCurrentContext):
(WTF::textLatin1ContextAwareMoveInPrimaryContext):
(WTF::textLatin1ContextAwareSwitchToPrimaryContext):
(WTF::textLatin1ContextAwareMoveInPriorContext):
(WTF::textLatin1ContextAwareSwitchToPriorContext):
(WTF::uTextLatin1ContextAwareClone):
(WTF::uTextLatin1ContextAwareNativeLength):
(WTF::uTextLatin1ContextAwareAccess):
(WTF::uTextLatin1ContextAwareExtract):
(WTF::uTextLatin1ContextAwareClose):
(WTF::openLatin1ContextAwareUTextProvider):
- wtf/text/icu/UTextProviderLatin1.h: Renamed from Source/WebCore/platform/text/icu/UTextProviderLatin1.h.
- wtf/text/icu/UTextProviderUTF16.cpp: Renamed from Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp.
(WTF::textUTF16ContextAwareGetCurrentContext):
(WTF::textUTF16ContextAwareMoveInPrimaryContext):
(WTF::textUTF16ContextAwareSwitchToPrimaryContext):
(WTF::textUTF16ContextAwareMoveInPriorContext):
(WTF::textUTF16ContextAwareSwitchToPriorContext):
(WTF::uTextUTF16ContextAwareClone):
(WTF::uTextUTF16ContextAwareNativeLength):
(WTF::uTextUTF16ContextAwareAccess):
(WTF::uTextUTF16ContextAwareExtract):
(WTF::uTextUTF16ContextAwareClose):
(WTF::openUTF16ContextAwareUTextProvider):
- wtf/text/icu/UTextProviderUTF16.h: Renamed from Source/WebCore/platform/text/icu/UTextProviderUTF16.h.
- wtf/text/mac/TextBreakIteratorInternalICUMac.mm: Renamed from Source/WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm.
(WTF::textBreakLocalePreference):
(WTF::topLanguagePreference):
(WTF::getLocale):
(WTF::getSearchLocale):
(WTF::currentSearchLocaleID):
(WTF::getTextBreakLocale):
(WTF::currentTextBreakLocaleID):
- wtf/text/win/TextBreakIteratorInternalICUWin.cpp: Renamed from Source/WebCore/platform/text/win/TextBreakIteratorInternalICUWin.cpp.
(WebCore::currentSearchLocaleID):
(WebCore::currentTextBreakLocaleID):
- 1:24 AM Changeset in webkit [203037] by
-
- 7 edits3 adds in trunk
ECMAScript 2016: %TypedArray%.prototype.includes implementation
https://bugs.webkit.org/show_bug.cgi?id=159385
Patch by Caio Lima <Caio Lima> on 2016-07-10
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
This patch implements the ECMAScript 2016:
%TypedArray%.prototype.includes
following spec 22.2.3.14
https://tc39.github.io/ecma262/2016/#sec-%typedarray%.prototype.includes
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncIncludes):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewProtoFuncIncludes):
(JSC::JSTypedArrayViewPrototype::finishCreation):
LayoutTests:
This patch implements test case to ECMAScript 2016:
%TypedArray%.prototype.includes implementation
following spec 22.2.3.14
https://tc39.github.io/ecma262/2016/#sec-%typedarray%.prototype.includes
- js/regress/script-tests/typed-array-includes.js: Added.
(assertProperError):
(testIntTypedArray):
(testFloatTypedArray):
- js/typed-array-includes-expected.txt: Added.
- js/typed-array-includes.html: Added.
- 1:03 AM Changeset in webkit [203036] by
-
- 42 edits2 adds in trunk
[GTK] Crash on https://diafygi.github.io/webcrypto-examples with ENABLE_SUBTLE_CRYPTO
https://bugs.webkit.org/show_bug.cgi?id=159189
Reviewed by Michael Catanzaro.
Source/WebCore:
Currently, we explicitly release the pointers of std::unique_ptr<CryptoAlgorithm> and std::unique_ptr<CryptoAlgorithmParameters>,
and delete them in the asynchronously called lambdas. In GnuTLS version, callback function is accidentally called twice,
and it incurs the double free problem.
In SubtleCrypto code, we have the rule that we must not call failureCallback when the error code is filled in synchronous execution.
So we drop the failureCallback calling code in GnuTLS subtle crypto code.
But, rather than carefully handling un-smart-pointer-managed raw pointer's life time, we should use ref counted pointer for that.
Using the raw delete is error-prone.
This patch also changes CryptoAlgorithm and CryptoAlgorithmParameters to RefCounted. And use Ref and RefPtr instead.
The change eliminates the ad-hoc delete code. And now, the lambdas can be called multiple times since once the result of the promise
is resolved or rejected, subsequent resolve / reject calls are ignored.
And this patch also fixes the incorrect call to the lambda that is already WTFMoved.
While we can see several
return WTFMove(...)
, they are necessary since it uses implicit type conversions, like,
Ref<A>
=>RefPtr<A>
, andRef<Derived>
=>Ref<Base>
.
- bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::createAesCbcParams):
(WebCore::createAesKeyGenParams):
(WebCore::createHmacParams):
(WebCore::createHmacKeyParams):
(WebCore::createRsaKeyGenParams):
(WebCore::createRsaKeyParamsWithHash):
(WebCore::createRsaOaepParams):
(WebCore::createRsaSsaParams):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
- bindings/js/JSCryptoAlgorithmDictionary.h:
- bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::createHMACParameters):
(WebCore::createRSAKeyParametersWithHash):
(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
- bindings/js/JSCryptoKeySerializationJWK.h:
- bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::createAlgorithmFromJSValue):
(WebCore::importKey):
(WebCore::JSSubtleCrypto::importKey):
(WebCore::JSSubtleCrypto::wrapKey):
(WebCore::JSSubtleCrypto::unwrapKey):
- crypto/CryptoAlgorithm.h:
- crypto/CryptoAlgorithmParameters.h:
- crypto/CryptoAlgorithmRegistry.cpp:
(WebCore::CryptoAlgorithmRegistry::create):
- crypto/CryptoAlgorithmRegistry.h:
- crypto/CryptoKeySerialization.h:
- crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
(WebCore::CryptoAlgorithmAES_CBC::create):
- crypto/algorithms/CryptoAlgorithmAES_CBC.h:
- crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
(WebCore::CryptoAlgorithmAES_KW::create):
- crypto/algorithms/CryptoAlgorithmAES_KW.h:
- crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::create):
- crypto/algorithms/CryptoAlgorithmHMAC.h:
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::create):
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::create):
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::create):
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
- crypto/algorithms/CryptoAlgorithmSHA1.cpp:
(WebCore::CryptoAlgorithmSHA1::create):
- crypto/algorithms/CryptoAlgorithmSHA1.h:
- crypto/algorithms/CryptoAlgorithmSHA224.cpp:
(WebCore::CryptoAlgorithmSHA224::create):
- crypto/algorithms/CryptoAlgorithmSHA224.h:
- crypto/algorithms/CryptoAlgorithmSHA256.cpp:
(WebCore::CryptoAlgorithmSHA256::create):
- crypto/algorithms/CryptoAlgorithmSHA256.h:
- crypto/algorithms/CryptoAlgorithmSHA384.cpp:
(WebCore::CryptoAlgorithmSHA384::create):
- crypto/algorithms/CryptoAlgorithmSHA384.h:
- crypto/algorithms/CryptoAlgorithmSHA512.cpp:
(WebCore::CryptoAlgorithmSHA512::create):
- crypto/algorithms/CryptoAlgorithmSHA512.h:
- crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp:
(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
- crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp:
(WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
- crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp:
(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):
- crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
- crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
- crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
- crypto/keys/CryptoKeySerializationRaw.cpp:
(WebCore::CryptoKeySerializationRaw::reconcileAlgorithm):
- crypto/keys/CryptoKeySerializationRaw.h:
LayoutTests:
If you execute the added test with subtle-crypto-enabled GTK environment without this patch, this causes the crash.
- crypto/subtle/unimplemented-unwrap-crash-expected.txt: Added.
- crypto/subtle/unimplemented-unwrap-crash.html: Added.