Timeline
Sep 9, 2015:
- 7:16 PM Changeset in webkit [189565] by
-
- 27 edits in trunk/Source/WebCore
Remove all uses of PassRefPtr in WebCore/svg
https://bugs.webkit.org/show_bug.cgi?id=148472
Reviewed by Darin Adler.
Clean up all uses of PassRefPtr in WebCore/svg.
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::addEventListener):
- Modules/webaudio/AudioScheduledSourceNode.h:
- Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::addEventListener):
- Modules/webaudio/ScriptProcessorNode.h:
- dom/EventListenerMap.cpp:
(WebCore::copyListenersNotCreatedFromMarkupToTarget):
- dom/EventTarget.cpp:
(WebCore::EventTarget::addEventListener):
- dom/EventTarget.h:
- dom/MessagePort.cpp:
(WebCore::MessagePort::addEventListener):
- dom/MessagePort.h:
- dom/Node.cpp:
(WebCore::tryAddEventListener):
(WebCore::Node::addEventListener):
- dom/Node.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addEventListener):
- html/HTMLMediaElement.h:
- html/ImageDocument.cpp:
(WebCore::ImageDocument::createDocumentStructure):
- html/shadow/MediaControlsApple.cpp:
(WebCore::MediaControlsApple::showClosedCaptionTrackList):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):
- page/DOMWindow.h:
- rendering/svg/RenderSVGResourceFilter.cpp:
(WebCore::RenderSVGResourceFilter::buildPrimitives):
- svg/SVGElement.cpp:
(WebCore::SVGElement::addEventListener):
- svg/SVGElement.h:
- svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::pathSegListChanged):
- svg/SVGPathUtilities.cpp:
(WebCore::appendSVGPathByteStreamFromSVGPathSeg):
- svg/SVGPathUtilities.h:
- svg/SVGTRefElement.cpp:
(WebCore::SVGTRefTargetEventListener::attach):
(WebCore::SVGTRefElement::buildPendingResource):
- svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::appendEffectToEffectReferences):
- svg/graphics/filters/SVGFilterBuilder.h:
- 7:04 PM Changeset in webkit [189564] by
-
- 16 edits in trunk
LayoutTests/imported/w3c:
Document.characterSet should return "UTF-8" by default.
https://bugs.webkit.org/show_bug.cgi?id=148810
<rdar://problem/22548727>
Reviewed by Ryosuke Niwa.
Update the tests which test the default encoding of document.
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:
- web-platform-tests/dom/nodes/Node-properties-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Document.characterSet should return "UTF-8" instead of null by default.
https://bugs.webkit.org/show_bug.cgi?id=148810
<rdar://problem/22548727>
Reviewed by Ryosuke Niwa.
Document encoding should default to "UTF-8" as is specified in
https://dom.spec.whatwg.org/#concept-document-encoding. This behavior
is consistent with Firefox and Chrome.
- dom/Document.cpp:
(WebCore::Document::encoding): Returns nullAtom according to declearation.
(WebCore::Document::characterSetForBindings): Returns "UTF-8" by default instead of null String.
- dom/Document.h:
(WebCore::Document::charset):
(WebCore::Document::inputEncoding): Deleted.
(WebCore::Document::characterSet): Deleted.
- dom/Document.idl:
- dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::createSheet):
- inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::mainResourceContent):
- inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
- loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::createDecoderIfNeeded):
- loader/FormSubmission.cpp:
(WebCore::encodingFromAcceptCharset):
LayoutTests:
Document.characterSet should return "UTF-8" by default.
https://bugs.webkit.org/show_bug.cgi?id=148810
<rdar://problem/22548727>
Reviewed by Ryosuke Niwa.
Update the tests which test the default encoding of document.
- dom/xhtml/level3/core/documentgetinputencoding02-expected.txt: Obsolete test.
- 6:43 PM Changeset in webkit [189563] by
-
- 5 edits2 adds in trunk/Source/JavaScriptCore
Implement internal calls in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148998
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-09
Reviewed by Filip Pizlo.
This patch implements internal calls to functions that return a 32-bit
integer in WebAssembly.
- tests/stress/wasm-calls.js: Added.
(shouldBe):
- tests/stress/wasm/calls.wasm: Added.
- wasm/WASMFunctionCompiler.h:
(JSC::WASMFunctionCompiler::WASMFunctionCompiler):
(JSC::WASMFunctionCompiler::endFunction):
(JSC::WASMFunctionCompiler::buildCallInternal):
(JSC::WASMFunctionCompiler::appendExpressionList):
(JSC::WASMFunctionCompiler::emitNakedCall):
(JSC::WASMFunctionCompiler::boxArgumentsAndAdjustStackPointer):
(JSC::WASMFunctionCompiler::callAndUnboxResult):
- wasm/WASMFunctionParser.cpp:
(JSC::WASMFunctionParser::compile):
(JSC::WASMFunctionParser::parseExpressionI32):
(JSC::WASMFunctionParser::parseCallInternalExpressionI32):
(JSC::WASMFunctionParser::parseCallArguments):
(JSC::WASMFunctionParser::parseCallInternal):
- wasm/WASMFunctionParser.h:
- wasm/WASMFunctionSyntaxChecker.h:
(JSC::WASMFunctionSyntaxChecker::buildCallInternal):
(JSC::WASMFunctionSyntaxChecker::appendExpressionList):
- 6:38 PM Changeset in webkit [189562] by
-
- 5 edits in trunk/Source/WebKit2
Web Inspector: Remove dead WebInspectorProxy related code
https://bugs.webkit.org/show_bug.cgi?id=149019
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-09
Reviewed by Timothy Hatcher.
- UIProcess/API/C/mac/WKInspectorPrivateMac.h:
- UIProcess/WebInspectorProxy.cpp:
- UIProcess/WebInspectorProxy.h:
- UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter attachRight:]): Deleted.
(-[WKWebInspectorProxyObjCAdapter attachBottom:]): Deleted.
- 5:27 PM Changeset in webkit [189561] by
-
- 5 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r189522.
https://bugs.webkit.org/show_bug.cgi?id=149020
"Caused a ~4% Speedometer regression" (Requested by cdumez on
#webkit).
Reverted changeset:
"Function.prototype.bind: Bound functions must use the
Prototype of their target function instead of
Function.prototype"
https://bugs.webkit.org/show_bug.cgi?id=145605
http://trac.webkit.org/changeset/189522
Patch by Commit Queue <commit-queue@webkit.org> on 2015-09-09
- 4:40 PM Changeset in webkit [189560] by
-
- 3 edits6 adds in trunk
CSS general sibling selectors does not work without CSS JIT
https://bugs.webkit.org/show_bug.cgi?id=148987
rdar://problem/22559860
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-09-09
Reviewed by Andreas Kling.
Source/WebCore:
When traversing with the indirect adjacent combinator, SelectorChecker
was not setting the style invalidation flag on the right element.
Tests: fast/css/indirect-adjacent-style-invalidation-1.html
fast/css/indirect-adjacent-style-invalidation-2.html
fast/css/indirect-adjacent-style-invalidation-3.html
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively):
LayoutTests:
There are multiple variations of the same tests to test
cases where we JIT and cases without JIT.
- fast/css/indirect-adjacent-style-invalidation-1-expected.txt: Added.
- fast/css/indirect-adjacent-style-invalidation-1.html: Added.
- fast/css/indirect-adjacent-style-invalidation-2-expected.txt: Added.
- fast/css/indirect-adjacent-style-invalidation-2.html: Added.
- fast/css/indirect-adjacent-style-invalidation-3-expected.txt: Added.
- fast/css/indirect-adjacent-style-invalidation-3.html: Added.
- 4:31 PM Changeset in webkit [189559] by
-
- 3 edits in trunk/Tools
Fix bit rot on bot watcher's dashboard page
https://bugs.webkit.org/show_bug.cgi?id=149012
Reviewed by Tim Horton.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
The code path used by the metrics page was trying to add properties to an undefined.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
Silence an expection that would occur when the step has no logs. This should never
happen, but it did (perhaps buildbot was misconfigured for a while).
- 4:16 PM Changeset in webkit [189558] by
-
- 4 edits in trunk/Source/WebCore
Web Inspector: Remove unused InspectorFrontendHost methods
https://bugs.webkit.org/show_bug.cgi?id=149013
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-09
Reviewed by Brian Burg.
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::canSaveAs): Deleted.
(WebCore::InspectorFrontendHost::canInspectWorkers): Deleted.
- inspector/InspectorFrontendHost.h:
- inspector/InspectorFrontendHost.idl:
- 3:42 PM Changeset in webkit [189557] by
-
- 4 edits2 adds in trunk
ASSERTION FAILED: typesettingFeatures & (Kerning | Ligatures) in WebCore::applyFontTransforms
https://bugs.webkit.org/show_bug.cgi?id=146194
Reviewed by Dean Jackson.
Source/WebCore:
We might trigger shaping even if the author hasn't specified kerning or ligatures.
Test: fast/text/softbank-emoji-no-ligatures-nor-kerning.html
- platform/graphics/WidthIterator.cpp:
(WebCore::isSoftBankEmoji):
(WebCore::WidthIterator::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
(WebCore::applyFontTransforms): Deleted.
- platform/graphics/WidthIterator.h:
LayoutTests:
- fast/text/softbank-emoji-no-ligatures-nor-kerning-expected.html: Added
- fast/text/softbank-emoji-no-ligatures-nor-kerning.html: Added
- 3:26 PM Changeset in webkit [189556] by
-
- 2 edits in trunk/Source/JavaScriptCore
2015-09-09 Geoffrey Garen <ggaren@apple.com>
Fix the no-DFG build.
Unreviewed.
- bytecode/CodeBlock.cpp: (JSC::CodeBlock::visitOSRExitTargets): (JSC::CodeBlock::stronglyVisitStrongReferences):
- 3:11 PM Changeset in webkit [189555] by
-
- 5 edits in trunk
Setting document.title when there is no title and no head element should no nothing
https://bugs.webkit.org/show_bug.cgi?id=149005
<rdar://problem/22567524>
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline tests now that more checks are passing.
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-01-expected.txt:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-02-expected.txt:
Source/WebCore:
Setting document.title when there is no title element and no head
element should no nothing:
Firefox and Chrome comply with the specification. However, WebKit
was returning the updated title when querying document.title after
setting it.
No new tests, covered by existing tests.
- dom/Document.cpp:
(WebCore::Document::setTitle):
- 3:06 PM Changeset in webkit [189554] by
-
- 3 edits in trunk/Source/JavaScriptCore
CodeBlocks should strongly visit their OSR exit targets
https://bugs.webkit.org/show_bug.cgi?id=148988
Reviewed by Saam Barati.
CodeBlocks jump to their OSR exit targets, so we need to keep them alive
explicitly.
This is a step toward throwing away CodeBlocks, which is only safe
if we keep alive logically in-use CodeBlocks.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitStrongly): Added a flag to indicate if visit
strongly had been performed yet, since we are likely to revisit
the same CodeBlock many times now.
(JSC::CodeBlock::visitOSRExitTargets):
(JSC::CodeBlock::stronglyVisitStrongReferences): Do the visiting.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::clearMarks):
(JSC::CodeBlockSet::mark): Added a helper function for clearing out
two flags.
- 3:00 PM Changeset in webkit [189553] by
-
- 10 edits in trunk/Source/JavaScriptCore
2015-09-09 Geoffrey Garen <ggaren@apple.com>
Unreviewed, rolling back in r189516.
https://bugs.webkit.org/show_bug.cgi?id=148989
Restored changeset:
"GC should be able to discover new strong CodeBlock references
during marking"
https://bugs.webkit.org/show_bug.cgi?id=148981
http://trac.webkit.org/changeset/189516
This patch caused infinite recursion on Windows because of a pre-existing
logical error in the non-parallel GC configuration. Even in non-parallel
GC, we must set the mark bit on a CodeBlock to avoid marking it twice
(or, in the case of our crash, infinitely recursively).
- 2:35 PM Changeset in webkit [189552] by
-
- 2 edits in trunk/Tools
Update LayoutTestRelay xcconfig file.
Rubber-stamped by Dan Bernstein.
- LayoutTestRelay/Configurations/DebugRelease.xcconfig:
- 2:15 PM Changeset in webkit [189551] by
-
- 3 edits in trunk/Source/WebKit2
Remove an unused NSString SPI constant
https://bugs.webkit.org/show_bug.cgi?id=149009
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/WKWebView.mm:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- 2:11 PM Changeset in webkit [189550] by
-
- 3 edits2 adds in trunk
[css-grid] Percentage columns shouldn't include border and padding
https://bugs.webkit.org/show_bug.cgi?id=148978
Reviewed by Sergio Villar Senin.
Source/WebCore:
Subtract border and padding when we're calculating the breadth of the
columns in LayoutGrid::computeUsedBreadthOfSpecifiedLength().
Added test to check the behavior for both columns and rows.
Test: fast/css-grid-layout/grid-percent-track-margin-border-padding.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
LayoutTests:
- fast/css-grid-layout/grid-percent-track-margin-border-padding-expected.txt: Added.
- fast/css-grid-layout/grid-percent-track-margin-border-padding.html: Added.
- 2:01 PM Changeset in webkit [189549] by
-
- 7 edits in trunk/Source/JavaScriptCore
Implement the relational instructions for doubles in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148999
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-09
Reviewed by Filip Pizlo.
Implements the relational instructions for doubles (float64) in
WebAssembly. Also pass the values into the test functions as Mark Lam
suggested in https://bugs.webkit.org/show_bug.cgi?id=148882#c3
- tests/stress/wasm-relational.js:
- tests/stress/wasm/relational.wasm:
- wasm/WASMFunctionCompiler.h:
(JSC::WASMFunctionCompiler::buildRelationalF64):
- wasm/WASMFunctionParser.cpp:
(JSC::WASMFunctionParser::parseExpressionI32):
(JSC::WASMFunctionParser::parseRelationalF64ExpressionI32):
- wasm/WASMFunctionParser.h:
- wasm/WASMFunctionSyntaxChecker.h:
(JSC::WASMFunctionSyntaxChecker::buildRelationalI32):
(JSC::WASMFunctionSyntaxChecker::buildRelationalF64):
- 1:58 PM Changeset in webkit [189548] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html as flaky on Windows
This test is marked as flaky on gtk and mak-wk2. It fails on Windows more
than it fails on any other platform.
- platform/win/TestExpectations:
- 1:57 PM Changeset in webkit [189547] by
-
- 32 edits in trunk/Source/WebKit2
Updated availability annotations for iOS 9 and OS X El Capitan.
Rubber-stamped by Anders Carlsson.
- Shared/API/Cocoa/_WKRenderingProgressEvents.h:
- UIProcess/API/Cocoa/WKError.h:
- UIProcess/API/Cocoa/WKErrorPrivate.h:
- UIProcess/API/Cocoa/WKFrameInfo.h:
- UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
- UIProcess/API/Cocoa/WKNavigationDelegate.h:
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/API/Cocoa/WKSecurityOrigin.h:
- UIProcess/API/Cocoa/WKUIDelegate.h:
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
- UIProcess/API/Cocoa/WKViewPrivate.h:
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.h:
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:
- UIProcess/API/Cocoa/_WKElementAction.h:
- UIProcess/API/Cocoa/_WKLayoutMode.h:
- UIProcess/API/Cocoa/_WKOverlayScrollbarStyle.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
- UIProcess/API/Cocoa/_WKUserContentFilter.h:
- UIProcess/API/Cocoa/_WKWebsiteDataRecord.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
- 1:39 PM Changeset in webkit [189546] by
-
- 4 edits in trunk
fast/dom/rtl-scroll-to-leftmost-and-resize.html is a flaky timeout - IPC drops messages
https://bugs.webkit.org/show_bug.cgi?id=148951
Reviewed by Anders Carlsson.
Source/WebKit2:
- Platform/IPC/Connection.cpp:
(IPC::Connection::waitForMessage): Don't modify m_waitingForMessage without holding
a lock. This is not part of this fix, but seems necessary for correctness.
(IPC::Connection::processIncomingMessage): Don't interrupt a wait that has already succeeded.
LayoutTests:
- platform/mac-wk2/TestExpectations: Unmark the test (it still fails per platform/mac
expectations, which is unrelated).
- 1:29 PM Changeset in webkit [189545] by
-
- 2 edits in trunk/LayoutTests
http/tests/xmlhttprequest/ontimeout-response-getters.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=148997
Reviewed by Alexey Proskuryakov.
- http/tests/xmlhttprequest/ontimeout-response-getters.html: Augmenting http response delay to trigger XHR timeout.
- 1:18 PM Changeset in webkit [189544] by
-
- 10 edits2 adds in trunk
DFG should have a debugging option that runs a phase that flushes all locals
https://bugs.webkit.org/show_bug.cgi?id=148916
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
There is now an option to enable the DFG's new MaximalFlushInsertionPhase
phase to run. This phase ensures that we keep all locals and arguments flushed
to the stack at all places in the CFG. This phase is helpful for finding
a class of bugs where enabling this phase to run removes the bug.
This may also be useful in the development of a faster debugger
that doesn't capture all variables.
- CMakeLists.txt:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
- JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGMaximalFlushInsertionPhase.cpp: Added.
(JSC::DFG::MaximalFlushInsertionPhase::MaximalFlushInsertionPhase):
(JSC::DFG::MaximalFlushInsertionPhase::run):
(JSC::DFG::MaximalFlushInsertionPhase::treatRegularBlock):
(JSC::DFG::MaximalFlushInsertionPhase::treatRootBlock):
(JSC::DFG::MaximalFlushInsertionPhase::newVariableAccessData):
(JSC::DFG::performMaximalFlushInsertion):
- dfg/DFGMaximalFlushInsertionPhase.h: Added.
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
- runtime/Options.cpp:
(JSC::recomputeDependentOptions):
- runtime/Options.h:
Tools:
- Scripts/run-jsc-stress-tests:
- 11:42 AM Changeset in webkit [189543] by
-
- 5 edits in trunk/Source
Versioning.
- 9:56 AM Changeset in webkit [189542] by
-
- 3 edits63 adds in trunk/LayoutTests
[iOS] Add layout tests for QuickLook
https://bugs.webkit.org/show_bug.cgi?id=148994
Reviewed by Daniel Bates.
Add tests that verify WebKit's ability to preview certain document types on iOS using QuickLook.framework.
These tests do not cover every document type supported by QuickLook, but they do cover common types like .pages,
.numbers, .key, .doc(x), .xls(x), and .ppt(x). These tests should detect regressions in WebKit's conversion code,
as well as regressions in QuickLook itself. The expected results might need to be occasionally updated if QuickLook
changes its preview markup.
These files contain text and images from webkit.org.
- TestExpectations: Skipped quicklook tests on all platforms.
- platform/ios-simulator/TestExpectations: Enabled quicklook tests on iOS.
- quicklook/excel-expected.html: Added.
- quicklook/excel-legacy-expected.html: Added.
- quicklook/excel-legacy.html: Added.
- quicklook/excel.html: Added.
- quicklook/keynote-09-expected.html: Added.
- quicklook/keynote-09.html: Added.
- quicklook/keynote-expected.html: Added.
- quicklook/keynote.html: Added.
- quicklook/numbers-09-expected.html: Added.
- quicklook/numbers-09.html: Added.
- quicklook/numbers-expected.html: Added.
- quicklook/numbers.html: Added.
- quicklook/pages-09-expected.html: Added.
- quicklook/pages-09.html: Added.
- quicklook/pages-expected.html: Added.
- quicklook/pages.html: Added.
- quicklook/powerpoint-expected.html: Added.
- quicklook/powerpoint-legacy-expected.html: Added.
- quicklook/powerpoint-legacy.html: Added.
- quicklook/powerpoint.html: Added.
- quicklook/resources/excel-expected.html: Added.
- quicklook/resources/excel-legacy-expected.html: Added.
- quicklook/resources/excel-legacy.xls: Added.
- quicklook/resources/excel.xlsx: Added.
- quicklook/resources/keynote-09-expected/index.css: Added.
- quicklook/resources/keynote-09-expected/index.html: Added.
- quicklook/resources/keynote-09-expected/index.js: Added.
- quicklook/resources/keynote-09.key: Added.
- quicklook/resources/keynote-expected.pdf: Added.
- quicklook/resources/keynote.key: Added.
- quicklook/resources/numbers-09-expected/canvas.js: Added.
- quicklook/resources/numbers-09-expected/index.html: Added.
- quicklook/resources/numbers-09-expected/navigation.css: Added.
- quicklook/resources/numbers-09-expected/navigation.html: Added.
- quicklook/resources/numbers-09-expected/sheet_1.html: Added.
- quicklook/resources/numbers-09.numbers: Added.
- quicklook/resources/numbers-expected.pdf: Added.
- quicklook/resources/numbers.numbers: Added.
- quicklook/resources/pages-09-expected/index.css: Added.
- quicklook/resources/pages-09-expected/index.html: Added.
- quicklook/resources/pages-09.pages: Added.
- quicklook/resources/pages-expected.pdf: Added.
- quicklook/resources/pages.pages: Added.
- quicklook/resources/powerpoint-expected.html: Added.
- quicklook/resources/powerpoint-legacy-expected.html: Added.
- quicklook/resources/powerpoint-legacy.ppt: Added.
- quicklook/resources/powerpoint.pptx: Added.
- quicklook/resources/webkit-icon.pdf: Added.
- quicklook/resources/webkit-icon.png: Added.
- quicklook/resources/webkit-icon.tiff: Added.
- quicklook/resources/word-expected.html: Added.
- quicklook/resources/word-legacy-expected.html: Added.
- quicklook/resources/word-legacy.doc: Added.
- quicklook/resources/word.docx: Added.
- quicklook/word-expected.html: Added.
- quicklook/word-legacy-expected.html: Added.
- quicklook/word-legacy.html: Added.
- quicklook/word.html: Added.
- 8:43 AM Changeset in webkit [189541] by
-
- 29 edits4 deletes in trunk
Unreviewed, rolling out r189536 and r189538.
https://bugs.webkit.org/show_bug.cgi?id=149002
broke tests on mac (Requested by alexchristensen on #webkit).
Reverted changesets:
"min-width/height should default to auto for flexbox items"
https://bugs.webkit.org/show_bug.cgi?id=146020
http://trac.webkit.org/changeset/189536
"[css-grid] Percentage columns shouldn't include border and
padding"
https://bugs.webkit.org/show_bug.cgi?id=148978
http://trac.webkit.org/changeset/189538
- 7:42 AM Changeset in webkit [189540] by
-
- 5 edits2 adds in trunk
REGRESSION: Inline-block baseline is wrong when zero-width replaced child is present
https://bugs.webkit.org/show_bug.cgi?id=147452
rdar://problem/21943074
Reviewed by Myles Maxfield.
Source/WebCore:
Added new test in fast/inline-block
Treat zero width replaced elements the same as replaced elements with width. Instead of
clearing floats based off having no committed width, we instead track both committed
width and committed replaced objects. We do this with two new booleans in LineWidth
so that we know when we have uncomitted and committed replaced objects.
- rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
- rendering/line/LineWidth.cpp:
(WebCore::LineWidth::LineWidth):
(WebCore::LineWidth::commit):
(WebCore::LineWidth::applyOverhang):
- rendering/line/LineWidth.h:
(WebCore::LineWidth::committedWidth):
(WebCore::LineWidth::availableWidth):
(WebCore::LineWidth::logicalLeftOffset):
(WebCore::LineWidth::hasCommitted):
(WebCore::LineWidth::addUncommittedWidth):
(WebCore::LineWidth::addUncommittedReplacedWidth):
LayoutTests:
- fast/inline-block/baseline-with-zero-width-replaced-child-expected.html: Added.
- fast/inline-block/baseline-with-zero-width-replaced-child.html: Added.
- 5:26 AM Changeset in webkit [189539] by
-
- 13 edits in trunk/Source/WebCore
Split mixed font GlyphPage functionality to separate class
https://bugs.webkit.org/show_bug.cgi?id=148965
Reviewed by Myles Maxfield.
Currently GlyphPage class is used for both immutable single font case (in Font) and
for caching mixed font mappings (in FontCascadeFonts). It is cleaner to use separate
classed for these cases. This will also make future improvements easier.
- platform/graphics/Font.cpp:
(WebCore::Font::~Font):
(WebCore::fillGlyphPage):
(WebCore::createAndFillGlyphPage):
(WebCore::Font::glyphPage):
(WebCore::Font::glyphForCharacter):
(WebCore::Font::glyphDataForCharacter):
- platform/graphics/Font.h:
- platform/graphics/FontCascadeFonts.cpp:
(WebCore::MixedFontGlyphPage::MixedFontGlyphPage):
(WebCore::MixedFontGlyphPage::glyphDataForCharacter):
(WebCore::MixedFontGlyphPage::setGlyphDataForCharacter):
(WebCore::MixedFontGlyphPage::setGlyphDataForIndex):
Mixed font pages are now an implementation detail of FontCascadeFonts.
(WebCore::FontCascadeFonts::GlyphPageCacheEntry::glyphDataForCharacter):
(WebCore::FontCascadeFonts::GlyphPageCacheEntry::setGlyphDataForCharacter):
(WebCore::FontCascadeFonts::GlyphPageCacheEntry::setSingleFontPage):
Cache entry is either shared single font GlyphPage or mutable MixedFontGlyphPage.
(WebCore::FontCascadeFonts::FontCascadeFonts):
(WebCore::FontCascadeFonts::glyphDataForCharacter):
(WebCore::FontCascadeFonts::pruneSystemFallbacks):
- platform/graphics/FontCascadeFonts.h:
(WebCore::FontCascadeFonts::GlyphPageCacheEntry::isNull):
(WebCore::FontCascadeFonts::GlyphPageCacheEntry::isMixedFont):
- platform/graphics/GlyphPage.h:
GlyphPage is now for single font mappings only.
Use regular allocation instead of variable size tricks.
It is always immutable after initialization (though currently a setter is still needed).
(WebCore::GlyphPage::create):
(WebCore::GlyphPage::~GlyphPage):
(WebCore::GlyphPage::count):
(WebCore::GlyphPage::indexForCharacter):
(WebCore::GlyphPage::glyphDataForCharacter):
(WebCore::GlyphPage::glyphForCharacter):
(WebCore::GlyphPage::glyphDataForIndex):
(WebCore::GlyphPage::glyphForIndex):
(WebCore::GlyphPage::setGlyphForIndex):
(WebCore::GlyphPage::font):
(WebCore::GlyphPage::GlyphPage):
(WebCore::GlyphPage::createForMixedFonts): Deleted.
(WebCore::GlyphPage::createCopyForMixedFonts): Deleted.
(WebCore::GlyphPage::createForSingleFont): Deleted.
(WebCore::GlyphPage::isImmutable): Deleted.
(WebCore::GlyphPage::setImmutable): Deleted.
(WebCore::GlyphPage::glyphAt): Deleted.
(WebCore::GlyphPage::fontForCharacter): Deleted.
(WebCore::GlyphPage::setGlyphDataForCharacter): Deleted.
(WebCore::GlyphPage::setGlyphDataForIndex): Deleted.
(WebCore::GlyphPage::hasPerGlyphFontData): Deleted.
- platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
(WebCore::GlyphPage::fill):
- platform/graphics/mac/GlyphPageMac.cpp:
(WebCore::GlyphPage::fill):
- platform/graphics/opentype/OpenTypeVerticalData.cpp:
(WebCore::OpenTypeVerticalData::substituteWithVerticalGlyphs):
- platform/graphics/win/GlyphPageTreeNodeCGWin.cpp:
(WebCore::GlyphPage::fill):
- platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
(WebCore::GlyphPage::fill):
- svg/SVGFontData.cpp:
(WebCore::SVGFontData::applySVGGlyphSelection):
(WebCore::SVGFontData::fillSVGGlyphPage):
(WebCore::SVGFontData::fillBMPGlyphs):
(WebCore::SVGFontData::fillNonBMPGlyphs):
- svg/SVGFontData.h:
(WebCore::SVGFontData::verticalAdvanceY):
- 5:16 AM WebKitGTK/2.10.x edited by
- Propose bug #145639 (diff)
- 4:23 AM Changeset in webkit [189538] by
-
- 3 edits2 adds in trunk
[css-grid] Percentage columns shouldn't include border and padding
https://bugs.webkit.org/show_bug.cgi?id=148978
Reviewed by Sergio Villar Senin.
Source/WebCore:
Subtract border and padding when we're calculating the breadth of the
columns in LayoutGrid::computeUsedBreadthOfSpecifiedLength().
Added test to check the behavior for both columns and rows.
Test: fast/css-grid-layout/grid-percent-track-margin-border-padding.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
LayoutTests:
- fast/css-grid-layout/grid-percent-track-margin-border-padding-expected.txt: Added.
- fast/css-grid-layout/grid-percent-track-margin-border-padding.html: Added.
- 1:49 AM Changeset in webkit [189537] by
-
- 5 edits2 adds in trunk
HTMLTableElement.tHead / tFoot / caption should be nullable
https://bugs.webkit.org/show_bug.cgi?id=148991
Reviewed by Ryosuke Niwa.
Source/WebCore:
According to the specification, HTMLTableElement.tHead / tFoot / caption
should be nullable:
https://html.spec.whatwg.org/multipage/tables.html#htmltableelement
Upon assigning null, we are supposed to remove the existing tHead / tFoot
/ caption element. However, we had a bug causing us to throw an exception
after removing the element. This is because we would try to insert a null
element and ContainerNode::insertBefore() throws when doing so.
Also, as per the specification, setting tHead / tFoot to something else
than a thead / tfoot element should throw a HierarchyRequestError:
https://html.spec.whatwg.org/multipage/tables.html#dom-table-thead
https://html.spec.whatwg.org/multipage/tables.html#dom-table-tfoot
Previously, WebKit did not check the tag and was happy inserting the
element as long as it was an HTMLTableSectionElement. This means that
you could set a tfoot by assigning table.tHead.
This patch corrects both bugs and adds test coverage for it.
Test: fast/dom/HTMLTableElement/nullable-attributes.html
- html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::setCaption):
Only call insertBefore() if newCaption is not null as insertBefore()
will throw an exception otherwise.
(WebCore::HTMLTableElement::setTHead):
- Throw a HierarchyRequestError if the HTMLTableSectionElement is not null or a <thead> element, as per the specification.
- Only call insertBefore() if newHead is not null as insertBefore() will throw an exception otherwise.
(WebCore::HTMLTableElement::setTFoot):
- Throw a HierarchyRequestError if the HTMLTableSectionElement is not null or a <tfoot> element, as per the specification.
- Only call insertBefore() if newFoot is not null as insertBefore() will throw an exception otherwise.
- html/HTMLTableElement.idl:
Use [StrictTypeChecking] for these 3 attributes so that the bindings
will throw a TypeError if the JS tries to assign a value with the
wrong type. When the implementation is called with null, we now know
this is because the JS assigned null (and not an invalid value).
This is important as assigning null is valid since those attributes
are nullable.
LayoutTests:
Add new test that covers the behavior of the following HTMLTableElement
attributes: caption / tHead / tFoot.
- fast/dom/HTMLTableElement/nullable-attributes-expected.txt: Added.
- fast/dom/HTMLTableElement/nullable-attributes.html: Added.
- fast/dom/setter-type-enforcement-expected.txt:
- 12:37 AM Changeset in webkit [189536] by
-
- 29 edits2 adds in trunk
min-width/height should default to auto for flexbox items
https://bugs.webkit.org/show_bug.cgi?id=146020
Reviewed by David Hyatt.
Based on Blink's r193665, r194062, r194887 and r195930 by <cbiesinger@chromium.org>.
Source/WebCore:
As specified here
http://dev.w3.org/csswg/css-flexbox/#min-size-auto the default
value of min-{width|height} is auto for flex items.
In case this patch breaks any website (as it's changing the
default value of those properties) the fix is likely to add:
min-width: 0;
min-height: 0;
to any relevant flexitems.
Test: css3/flexbox/min-size-auto.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::isFlexOrGrid): New helper method to identify grids and flexs.
(WebCore::ComputedStyleExtractor::propertyValue): Return auto
for flex items if min-width/height is auto.
- css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
- html/shadow/SliderThumbElement.cpp:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::constrainLogicalHeightByMinMax):
(WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computeLogicalHeightUsing):
(WebCore::RenderBox::computeContentLogicalHeight):
(WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
(WebCore::RenderBox::computeReplacedLogicalWidth):
(WebCore::RenderBox::computeReplacedLogicalWidthRespectingMinMaxWidth):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightRespectingMinMaxHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::RenderBox::computePositionedLogicalWidth):
(WebCore::RenderBox::computePositionedLogicalWidthUsing):
(WebCore::RenderBox::computePositionedLogicalHeight):
(WebCore::RenderBox::computePositionedLogicalHeightUsing):
- rendering/RenderBox.h:
- rendering/RenderButton.h:
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
(WebCore::RenderFlexibleBox::mainAxisExtentIsDefinite):
(WebCore::RenderFlexibleBox::mainAxisLengthIsIndefinite):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
(WebCore::RenderFlexibleBox::mainAxisOverflowForChild):
- rendering/RenderFlexibleBox.h:
(WebCore::RenderFlexibleBox::isFlexibleBoxImpl):
- rendering/RenderFullScreen.h:
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
- rendering/RenderMediaControlElements.h:
- rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::adjustInnerStyle): Do not longer set
the min-width explicitly.
- rendering/RenderMenuList.h:
- rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::calculateMaxColumnHeight):
- rendering/RenderNamedFlowFragment.cpp:
(WebCore::RenderNamedFlowFragment::maxPageLogicalHeight):
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalWidth):
(WebCore::RenderReplaced::computeReplacedLogicalHeight):
- rendering/RenderSlider.h:
- rendering/RenderTextControl.h:
- rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::createInnerBlockStyle): Do not longer set
the min-width explicitly.
- rendering/mathml/RenderMathMLBlock.h:
- rendering/style/RenderStyle.h:
LayoutTests:
- TestExpectations: Removed passing flexbox tests.
- css3/flexbox/csswg/flex-flow-007.html: Added min-height: 0px.
- css3/flexbox/flexbox-baseline.html: Ditto.
- css3/flexbox/min-size-auto-expected.txt: Added.
- css3/flexbox/min-size-auto.html: Added.
- css3/flexbox/preferred-widths-orthogonal.html: Added min-height: 0px.
- fast/css/auto-min-size-expected.txt: Check default computed
styles for min-width/height for flex items.
- fast/css/auto-min-size.html: Ditto.
- 12:02 AM Changeset in webkit [189535] by
-
- 14 edits1 move in trunk/Tools
Unreviewed, rolling out r189530 and r189534.
https://bugs.webkit.org/show_bug.cgi?id=148996
Caused assertion failures on Yosemite (Requested by litherum
on #webkit).
Reverted changesets:
"[WKTR] Allow changing the WKContextConfiguration between
successive tests"
https://bugs.webkit.org/show_bug.cgi?id=148833
http://trac.webkit.org/changeset/189530
"[Cocoa] Fix the tests after r189530"
http://trac.webkit.org/changeset/189534
Patch by Commit Queue <commit-queue@webkit.org> on 2015-09-09
Sep 8, 2015:
- 10:12 PM Changeset in webkit [189534] by
-
- 2 edits in trunk/Tools
[Cocoa] Fix the tests after r189530
Unreviewed.
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::initializeWebViewConfiguration):
- 9:59 PM Changeset in webkit [189533] by
-
- 22 edits in trunk/LayoutTests
Unreviewed, rolling out r189407 and r189424.
https://bugs.webkit.org/show_bug.cgi?id=148993
Broke some tests, and made others flakily time out (Requested
by ap on #webkit).
Reverted changesets:
"[WebGL] Update WebGL 1.0.3 conformance tests"
https://bugs.webkit.org/show_bug.cgi?id=148858
http://trac.webkit.org/changeset/189407
"REGRESSION (r189407): webgl/1.0.3/conformance/extensions
/webgl-draw-buffers.html"
http://trac.webkit.org/changeset/189424
- 9:19 PM Changeset in webkit [189532] by
-
- 1 edit2 adds2 deletes in trunk/Source/JavaScriptCore
Refactor the test for the arithmetic instructions in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148983
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-08
Reviewed by Mark Lam.
Pass the values into the test functions as Mark Lam suggested in
https://bugs.webkit.org/show_bug.cgi?id=148882#c3
- tests/stress/wasm-arithmetic-int32.js: Added.
(shouldBe):
(shouldThrow):
- tests/stress/wasm-arithmetic.js: Removed.
(shouldBe): Deleted.
(shouldThrow): Deleted.
- tests/stress/wasm/arithmetic-int32.wasm: Added.
- tests/stress/wasm/arithmetic.wasm: Removed.
- 9:02 PM Changeset in webkit [189531] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] reduce the amount of memory access needed for LivenessAnalysisPhase
https://bugs.webkit.org/show_bug.cgi?id=148414
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-09-08
Reviewed by Mark Lam.
LivenessAnalysisPhase still causes a huge number of cache miss.
This patch reduces the amount of accesses needed by the HashTables.
- dfg/DFGBasicBlock.h:
- dfg/DFGLivenessAnalysisPhase.cpp:
(JSC::DFG::LivenessAnalysisPhase::run):
(JSC::DFG::LivenessAnalysisPhase::process):
- 8:27 PM Changeset in webkit [189530] by
-
- 14 edits1 move in trunk/Tools
[WKTR] Allow changing the WKContextConfiguration between successive tests
https://bugs.webkit.org/show_bug.cgi?id=148833
Reviewed by Tim Horton.
Previously, we were creating a single WKContext and it lived for the life of the entire test runner.
However, there are certain tests which require specifying options in this object. This patch makes
our existing code for recreating the test runner web view also recreate the WKContext.
As such, our options to the view are now options to the WKContextConfiguration. This patch renames the
class.
- WebKitTestRunner/ContextConfigurationOptions.h: Renamed from Tools/WebKitTestRunner/ViewOptions.h.
- WebKitTestRunner/PlatformWebView.h:
(WTR::PlatformWebView::options):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::generateContextConfiguration):
(WTR::TestController::generatePageConfiguration):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::ensureViewSupportsOptionsForTest):
(WTR::updateContextConfigurationOptionsFromTestHeader):
(WTR::TestController::contextConfigurationOptionsForTest):
(WTR::TestController::platformCreateWebView):
(WTR::TestController::platformCreateOtherPage):
(WTR::updateViewOptionsFromTestHeader): Deleted.
(WTR::TestController::viewOptionsForTest): Deleted.
- WebKitTestRunner/TestController.h:
(WTR::TestController::injectedBundlePath):
(WTR::TestController::testPluginDirectory):
- WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
(WTR::TestController::platformCreateOtherPage):
- WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
- WebKitTestRunner/efl/TestControllerEfl.cpp:
(WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
(WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.
- WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
- WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
(WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.
- WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
(WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.
- WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView):
(WTR::PlatformWebView::viewSupportsOptions):
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::updatePlatformSpecificContextConfigurationOptionsForTest):
(WTR::TestController::updatePlatformSpecificViewOptionsForTest): Deleted.
- 8:01 PM Changeset in webkit [189529] by
-
- 2 edits in trunk/Source/JavaScriptCore
Prospective build fix after r189517
Unreviewed.
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::Thread::captureStack):
- 7:40 PM Changeset in webkit [189528] by
-
- 5 edits in trunk/Source/WebCore
Web Inspector: No need for [Custom] Implementation of some InspectorFrontendHost methods
https://bugs.webkit.org/show_bug.cgi?id=148990
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-08
Reviewed by Timothy Hatcher.
- bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::platform): Deleted.
(WebCore::JSInspectorFrontendHost::port): Deleted.
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::platform):
(WebCore::InspectorFrontendHost::port):
- inspector/InspectorFrontendHost.h:
- inspector/InspectorFrontendHost.idl:
Uncustomize a few basic functions.
- 6:44 PM Changeset in webkit [189527] by
-
- 10 edits4 deletes in branches/safari-601-branch
Reverted r189001.
- 6:38 PM Changeset in webkit [189526] by
-
- 2 edits in trunk/Source/WebCore
Crash when WebCore::SQLiteFileSystem::openDatabase is called from multiple threads
https://bugs.webkit.org/show_bug.cgi?id=143245
Reviewed by Darin Adler.
sqlite3_initialize is documented to be thread-safe, and to be called automatically by the
library when needed, so applications should never need to call it directly. The problem is,
it's not thread-safe: we have documented instances of GNOME Builder, Devhelp, Epiphany, and
cinnamon-screensaver crashing when sqlite3_initialize is called simultaneously in separate
threads (usually inside sqlite3_open). So call it manually, guarded using std::call_once, to
make sure that the library is fully initialized before the first call to sqlite3_open. It's
a good idea to do this regardless, because the documentation says it could be required in
a future release of SQLite. (Though the use of std::call_once should not be needed, and is
only used to attempt to work around the crashes.)
This is a workaround for an SQLite bug that might have been fixed upstream, but the SQLite
developers are not really confident in the thread-safety of this function, and have advised
that we carry the workaround. Seems like a good idea.
- platform/sql/SQLiteDatabase.cpp:
(WebCore::SQLiteDatabase::SQLiteDatabase):
- 6:32 PM Changeset in webkit [189525] by
-
- 11 edits in trunk/Source
Source/JavaScriptCore:
Unify symbolTableGet and Put in JSLexicalEnvironment and JSSymbolTableObject
https://bugs.webkit.org/show_bug.cgi?id=148783
Reviewed by Geoffrey Garen.
Unify the symbolTableGet and symbolTablePut into JSSymbolTableObject's one.
Since symbolTablePutWithAttributes in JSLexicalEnvironment is not used, we drop that function.
- runtime/JSEnvironmentRecord.h:
(JSC::JSEnvironmentRecord::isValidScopeOffset):
(JSC::JSEnvironmentRecord::variableAt):
(JSC::JSEnvironmentRecord::isValid): Deleted.
- runtime/JSGlobalLexicalEnvironment.cpp:
(JSC::JSGlobalLexicalEnvironment::put):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::put):
- runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames):
(JSC::JSLexicalEnvironment::getOwnPropertySlot):
(JSC::JSLexicalEnvironment::put):
(JSC::JSLexicalEnvironment::symbolTableGet): Deleted.
(JSC::JSLexicalEnvironment::symbolTablePut): Deleted.
(JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): Deleted.
- runtime/JSLexicalEnvironment.h:
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::instantiateDeclarations):
- runtime/JSSegmentedVariableObject.h:
(JSC::JSSegmentedVariableObject::isValidScopeOffset):
- runtime/JSSymbolTableObject.h:
(JSC::symbolTableGet):
(JSC::symbolTablePut):
(JSC::symbolTablePutTouchWatchpointSet):
(JSC::symbolTablePutInvalidateWatchpointSet):
(JSC::symbolTablePutWithAttributesTouchWatchpointSet):
(JSC::symbolTablePutWithAttributes): Deleted.
Source/WebCore:
Unify symbolTablePut in JSLexicalEnvironment and JSSymbolTableObject
https://bugs.webkit.org/show_bug.cgi?id=148783
Reviewed by Geoffrey Garen.
No behavior change.
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::updateDocument):
- 6:28 PM Changeset in webkit [189524] by
-
- 10 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r189516.
https://bugs.webkit.org/show_bug.cgi?id=148989
broke tests on windows (Requested by alexchristensen on
#webkit).
Reverted changeset:
"GC should be able to discover new strong CodeBlock references
during marking"
https://bugs.webkit.org/show_bug.cgi?id=148981
http://trac.webkit.org/changeset/189516
- 6:03 PM Changeset in webkit [189523] by
-
- 4 edits in trunk/Source/JavaScriptCore
Remove unused DFG::dfgConvertJSValueToInt32()
https://bugs.webkit.org/show_bug.cgi?id=148986
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-08
Reviewed by Geoffrey Garen.
Remove unused DFG::dfgConvertJSValueToInt32() and also remove
DFG::JITCompiler::callOperation(D_JITOperation_EJ operation, ...) which
was introduced in Bug 69806 for dfgConvertJSValueToNumber() and is no
longer used.
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation): Deleted.
- 6:01 PM Changeset in webkit [189522] by
-
- 5 edits in trunk/Source/JavaScriptCore
Function.prototype.bind: Bound functions must use the Prototype of their target function instead of Function.prototype
https://bugs.webkit.org/show_bug.cgi?id=145605
Patch by Matthew Hill <matthew.jh@outlook.com> on 2015-09-08
Reviewed by Geoffrey Garen.
- runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::create):
- tests/es6.yaml:
- 5:46 PM Changeset in webkit [189521] by
-
- 1 edit6 adds in trunk/LayoutTests
[iOS] Unreviewed iOS gardening.
- platform/ios-simulator/css3/filters/backdrop: Added.
- platform/ios-simulator/css3/filters/backdrop/blur-input-bounds-expected.txt: Added.
- platform/ios-simulator/css3/font-feature-settings-preinstalled-fonts-expected.txt: Added.
- platform/ios-simulator/fast/css/named-images-expected.txt: Added.
- platform/ios-simulator/fast/forms/select-element-focus-ring-expected.txt: Added.
- platform/ios-simulator/fast/text/font-weights-expected.txt: Added.
- 5:26 PM Changeset in webkit [189520] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fixed a bad comment r189517.
Not reviewed.
- heap/MachineStackMarker.cpp:
(JSC::osRedZoneAdjustment):
- 5:20 PM Changeset in webkit [189519] by
-
- 1 edit2 deletes in trunk/LayoutTests/imported/w3c
Unreviewed, drop imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc.html.
This recently imported test is flaky.
- web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc-expected.txt: Removed.
- web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc.html: Removed.
- 5:20 PM Changeset in webkit [189518] by
-
- 6 edits in trunk/Source/JavaScriptCore
InlineCallFrames shouldn't be strongly marked by CodeBlock
https://bugs.webkit.org/show_bug.cgi?id=146613
Reviewed by Saam Barati.
This code was vestigial an unnecessary, so I removed it.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::stronglyVisitStrongReferences):
- bytecode/InlineCallFrame.cpp:
(JSC::InlineCallFrame::calleeConstant):
(JSC::InlineCallFrame::calleeForCallFrame):
(JSC::InlineCallFrame::visitAggregate): Deleted.
- bytecode/InlineCallFrame.h:
(JSC::InlineCallFrame::specializationKind):
- bytecode/InlineCallFrameSet.cpp:
(JSC::InlineCallFrameSet::add):
(JSC::InlineCallFrameSet::visitAggregate): Deleted.
- bytecode/InlineCallFrameSet.h:
(JSC::InlineCallFrameSet::begin):
(JSC::InlineCallFrameSet::end):
- 5:19 PM Changeset in webkit [189517] by
-
- 4 edits in trunk/Source
GC stack scan should include ABI red zone.
https://bugs.webkit.org/show_bug.cgi?id=148976
Reviewed by Geoffrey Garen and Benjamin Poulain.
Source/JavaScriptCore:
The x86_64 ABI section 3.2.2[1] and ARM64 ABI[2] both state that there is a
128 byte red zone below the stack pointer (reserved by the OS), and that
"functions may use this area for temporary data that is not needed across
function calls".
Hence, it is possible for a thread to store JSCell pointers in the red zone
area, and the conservative GC thread scanner needs to scan that area as well.
Note: the red zone should not be scanned for the GC thread itself (in
gatherFromCurrentThread()). This because we're guaranteed that there will
be GC frames below the lowest (top of stack) frame that we need to scan.
Hence, we are guaranteed that there are no red zone areas there containing
JSObject pointers of relevance.
No test added for this issue because the issue relies on:
- the compiler tool chain generating code that stores local variables containing the sole reference to a JS object (that needs to be kept alive) in the stack red zone, and
- GC has to run on another thread while that red zone containing the JS object reference is in use.
These conditions require a race that cannot be reliably reproduced.
[1]: http://people.freebsd.org/~obrien/amd64-elf-abi.pdf
[2]: https://developer.apple.com/library/ios/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARM64FunctionCallingConventions.html#//apple_ref/doc/uid/TP40013702-SW7
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::Thread::Thread):
(JSC::MachineThreads::Thread::createForCurrentThread):
(JSC::MachineThreads::Thread::freeRegisters):
(JSC::osRedZoneAdjustment):
(JSC::MachineThreads::Thread::captureStack):
Source/WTF:
- wtf/StackBounds.h:
(WTF::StackBounds::origin):
(WTF::StackBounds::end):
(WTF::StackBounds::size):
- 5:07 PM Changeset in webkit [189516] by
-
- 10 edits in trunk/Source/JavaScriptCore
GC should be able to discover new strong CodeBlock references during marking
https://bugs.webkit.org/show_bug.cgi?id=148981
Reviewed by Mark Lam.
Previously, we required a strong reference to register itself before the
first visit to a CodeBlock. Now, we can discover a strong reference at
any time during the marking phase.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock): Remove the two strong reference state
variables from CodeBlock. Now, a strong reference immediately marks
the CodeBlock and its references at the moment of its discovery, and no
separate state is required.
(JSC::CodeBlock::visitStrongly): New helper function for establishing
a strong reference to a CodeBlock.
(JSC::CodeBlock::visitAggregate): Adopt helper function above.
(JSC::CodeBlock::shouldImmediatelyAssumeLivenessDuringScan): Updated
for state removal.
(JSC::CodeBlock::isKnownToBeLiveDuringGC): Ditto.
(JSC::CodeBlock::stronglyVisitWeakReferences): Be sure to record that
we have proven liveness (by virtue of marking all the references the
proof would check). This is required so that the CodeBlock knows itself
to be live, and it is also an optimization to avoid testing weak references
after we have already visited them.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::clearMarks):
(JSC::CodeBlockSet::mark):
(JSC::CodeBlockSet::clearMarks): Deleted. Updated for state removal.
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::clearCodeBlockMarks):
(JSC::DFG::Plan::checkLivenessAndVisitChildren):
- dfg/DFGPlan.h: No need to use a CodeBlockSet in order to mark anymore.
- dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::completeAllPlansForVM):
(JSC::DFG::Worklist::clearCodeBlockMarks):
(JSC::DFG::Worklist::resumeAllThreads):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::completeAllPlansForVM):
(JSC::DFG::clearCodeBlockMarks):
- dfg/DFGWorklist.h:
(JSC::DFG::worklistForIndexOrNull): No need to use a CodeBlockSet in order
to mark anymore.
- heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::clearMarksForFullCollection):
(JSC::CodeBlockSet::clearMarksForEdenCollection):
(JSC::CodeBlockSet::deleteUnmarkedAndUnreferenced):
(JSC::CodeBlockSet::traceMarked):
(JSC::CodeBlockSet::rememberCurrentlyExecutingCodeBlocks):
(JSC::CodeBlockSet::dump):
- heap/CodeBlockSet.h: Keep the currently executing CodeBlocks in RefPtrs
since we can no longer rely on the m_currentlyExecuting bit to keep them
alive. (A currently executing CodeBlock may not be referenced by its
Executable because it may since have been replaced by another CodeBlock.
This is common in the cases of OSR entry and exit.)
- heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::visitCompilerWorklistWeakReferences):
(JSC::Heap::visitWeakHandles): No need to trace the list of CodeBlocks
on the stack in the weak reference fixpoint because we no longer overload
"on the stack" to include CodeBlocks referenced by the compiler.
- 4:10 PM Changeset in webkit [189515] by
-
- 5 edits in trunk/Source/JavaScriptCore
[JSC] Remove unused Heap::getConservativeRegisterRoots().
<https://webkit.org/b/148974>
Reviewed by Geoffrey Garen.
Spotted this unused stack root gathering helper in Heap. Let's lose it.
- heap/Heap.cpp:
(JSC::Heap::getConservativeRegisterRoots): Deleted.
- interpreter/JSStack.cpp:
(JSC::JSStack::gatherConservativeRoots): Deleted.
- interpreter/JSStack.h:
(JSC::JSStack::gatherConservativeRoots): Deleted.
- 4:04 PM Changeset in webkit [189514] by
-
- 5 edits2 adds in trunk/Source/JavaScriptCore
Implement control flow statements in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148934
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-08
Reviewed by Geoffrey Garen.
This patch implements if, while, do, label, break, and continue
statements in WebAssembly. Switches will be implemented in a subsequent
patch.
- tests/stress/wasm-control-flow.js: Added.
(shouldBe):
- tests/stress/wasm/control-flow.wasm: Added.
- wasm/WASMFunctionCompiler.h:
(JSC::WASMFunctionCompiler::linkTarget):
(JSC::WASMFunctionCompiler::jumpToTarget):
(JSC::WASMFunctionCompiler::jumpToTargetIf):
(JSC::WASMFunctionCompiler::startLoop):
(JSC::WASMFunctionCompiler::endLoop):
(JSC::WASMFunctionCompiler::startSwitch):
(JSC::WASMFunctionCompiler::endSwitch):
(JSC::WASMFunctionCompiler::startLabel):
(JSC::WASMFunctionCompiler::endLabel):
(JSC::WASMFunctionCompiler::breakTarget):
(JSC::WASMFunctionCompiler::continueTarget):
(JSC::WASMFunctionCompiler::breakLabelTarget):
(JSC::WASMFunctionCompiler::continueLabelTarget):
- wasm/WASMFunctionParser.cpp:
(JSC::WASMFunctionParser::parseIfStatement):
(JSC::WASMFunctionParser::parseIfElseStatement):
(JSC::WASMFunctionParser::parseWhileStatement):
(JSC::WASMFunctionParser::parseDoStatement):
(JSC::WASMFunctionParser::parseLabelStatement):
(JSC::WASMFunctionParser::parseBreakStatement):
(JSC::WASMFunctionParser::parseBreakLabelStatement):
(JSC::WASMFunctionParser::parseContinueStatement):
(JSC::WASMFunctionParser::parseContinueLabelStatement):
- wasm/WASMFunctionParser.h:
- wasm/WASMFunctionSyntaxChecker.h:
(JSC::WASMFunctionSyntaxChecker::linkTarget):
(JSC::WASMFunctionSyntaxChecker::jumpToTarget):
(JSC::WASMFunctionSyntaxChecker::jumpToTargetIf):
(JSC::WASMFunctionSyntaxChecker::startLoop):
(JSC::WASMFunctionSyntaxChecker::endLoop):
(JSC::WASMFunctionSyntaxChecker::startSwitch):
(JSC::WASMFunctionSyntaxChecker::endSwitch):
(JSC::WASMFunctionSyntaxChecker::startLabel):
(JSC::WASMFunctionSyntaxChecker::endLabel):
(JSC::WASMFunctionSyntaxChecker::breakTarget):
(JSC::WASMFunctionSyntaxChecker::continueTarget):
(JSC::WASMFunctionSyntaxChecker::breakLabelTarget):
(JSC::WASMFunctionSyntaxChecker::continueLabelTarget):
- 4:04 PM Changeset in webkit [189513] by
-
- 8 edits in trunk
[Mac] Expose Enable/Disable Accelerated Drawing in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=148980
Reviewed by Alexey Proskuryakov.
Source/WebKit2:
Expose SPI web preference to enable/disable- and query the state of- accelerated drawing
so that we can toggle this setting in MiniBrowser on Mac.
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _acceleratedDrawingEnabled]): Added.
(-[WKPreferences _setAcceleratedDrawingEnabled:]): Added.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
Tools:
Add setting to enable/disable accelerated drawing so as to support testing
this feature in MiniBrowser on Mac.
- MiniBrowser/mac/SettingsController.h:
- MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]): Add menu item.
(-[SettingsController validateMenuItem:]): Update setting when menu item is toggled.
(-[SettingsController toggleAcceleratedDrawingEnabled:]): Added.
(-[SettingsController acceleratedDrawingEnabled]): Added.
- MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]): Apply setting in WebKit1.
- MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]): Apply setting in WebKit2.
- 3:38 PM Changeset in webkit [189512] by
-
- 3 edits in trunk/Source/WebCore
Several inspector-protocol tests are flaky with GuardMalloc
https://bugs.webkit.org/show_bug.cgi?id=136715
Reviewed by Joseph Pecoraro.
Sometimes, the async dispatch task can outlive its owning frontend client.
To avoid problems, make it refcounted instead and add a protector reference.
No new tests, covered by existing tests.
- inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorBackendDispatchTask::create):
(WebCore::InspectorBackendDispatchTask::dispatch):
(WebCore::InspectorBackendDispatchTask::reset):
(WebCore::InspectorBackendDispatchTask::timerFired):
(WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
(WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
- inspector/InspectorFrontendClientLocal.h:
- 3:33 PM Changeset in webkit [189511] by
-
- 1 edit in trunk/Tools/ChangeLog
Fixup typo from r189510
- 3:28 PM Changeset in webkit [189510] by
-
- 2 edits in trunk/Tools
Unreviewed. Added myself as a commiter in contributors.json.
- Scripts/webkitpy/common/config/contributors.json:
- 3:13 PM Changeset in webkit [189509] by
-
- 1 edit1 delete in trunk/Source/WebKit2
Web Inspector: Remove unused file: WebInspectorFrontendClient.h
https://bugs.webkit.org/show_bug.cgi?id=148979
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-09-08
Reviewed by Brian Burg.
- WebProcess/WebCoreSupport/WebInspectorFrontendClient.h: Removed.
Unused now. WebInspectorUI subclasses InspectorFrontendClient itself.
- 3:12 PM Changeset in webkit [189508] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION (r189189): Missing breakpoint context menu for debugger sidebar tree elements
https://bugs.webkit.org/show_bug.cgi?id=148651
Reviewed by Timothy Hatcher.
- UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
Create BreakpointPopoverController singleton, expose as public property of global WebInspector object.
- UserInterface/Views/BreakpointTreeElement.js:
(WebInspector.BreakpointTreeElement.prototype.oncontextmenu):
Use BreakpointPopoverController singleton.
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor):
Don't create BreakpointPopoverController instance.
(WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
Use BreakpointPopoverController singleton.
- 2:57 PM Changeset in webkit [189507] by
-
- 16 edits in trunk
new Comment(undefined) / new Text(undefined) should use default's empty string
https://bugs.webkit.org/show_bug.cgi?id=148973
<rdar://problem/22548042>
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
- web-platform-tests/dom/nodes/Comment-constructor-expected.txt:
- web-platform-tests/dom/nodes/Text-constructor-expected.txt:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-07-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor-expected.txt:
Rebaseline tests now that new checks are passing.
Source/WebCore:
new Comment(undefined) / new Text(undefined) should use default's empty string instead of converting
undefined to the "undefined" string:
- https://dom.spec.whatwg.org/#interface-comment (parameter is optional, default value is empty String)
- https://dom.spec.whatwg.org/#text (ditto)
undefined should be treated as if the parameter is missing, in the case the parameter is optional, as
per the Web IDL specification. This patch aligns WebKit's behavior with the specification and the
behavior of Firefox and Chrome.
No new tests, already covered by existing tests.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
LayoutTests:
Fix a couple of layout tests that were wrongly expecting undefined to
be converted to the "undefined" String for optional DOMString parameters.
- fast/dom/DOMImplementation/createHTMLDocument-optional-title-expected.txt:
- fast/dom/DOMImplementation/createHTMLDocument-optional-title.html:
- fast/dom/Window/custom-constructors-expected.txt:
- fast/dom/Window/custom-constructors.html:
- 2:56 PM Changeset in webkit [189506] by
-
- 3 edits in trunk/Source/JavaScriptCore
[Win] Compile errors in inspector code.
https://bugs.webkit.org/show_bug.cgi?id=148977
Reviewed by Alex Christensen.
Include definition of class FrontendRouter before use.
- inspector/InspectorBackendDispatcher.h:
- inspector/JSGlobalObjectInspectorController.h:
- 2:51 PM WikiStart edited by
- (diff)
- 2:49 PM WikiStart edited by
- (diff)
- 2:48 PM WikiStart edited by
- (diff)
- 1:50 PM Changeset in webkit [189505] by
-
- 2 edits in trunk/Source/WebInspectorUI
Fix inspector/codemirror tests.
Rubber-stamped by Brian Burg.
- UserInterface/Test.html:
Reorder includes to be more like Main.html. This ensures that CodeMirror
resources are loaded before Inspector sources use it, like CodeMirrorAdditions
which gets merged into TestCombined.js.
- 12:43 PM Changeset in webkit [189504] by
-
- 24 edits3 adds in trunk
[ES6] Implement computed accessors
https://bugs.webkit.org/show_bug.cgi?id=147883
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Implement the computed accessors functionality for class syntax and object literal syntax.
Added new opcodes, op_put_getter_by_val and op_put_setter_by_val. LLInt and baseline JIT support them.
As the same to the other accessor opcodes (like op_put_getter_by_id etc.), DFG / FTL does not support
them. This is handled here[1].
[1]: https://bugs.webkit.org/show_bug.cgi?id=148860
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitPutGetterByVal):
(JSC::BytecodeGenerator::emitPutSetterByVal):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITInlines.h:
(JSC::JIT::callOperation):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_getter_by_val):
(JSC::JIT::emit_op_put_setter_by_val):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_getter_by_val):
(JSC::JIT::emit_op_put_setter_by_val):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LLIntSlowPaths.h:
- llint/LowLevelInterpreter.asm:
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createGetterOrSetterProperty):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseGetterSetter):
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createGetterOrSetterProperty):
- tests/es6.yaml:
- tests/stress/computed-accessor-parsing.js: Added.
(testShouldNotThrow):
(testShouldThrow):
(Val.prototype.get string_appeared_here):
(Val):
- tests/stress/computed-accessor.js: Added.
(shouldBe):
(.):
- tests/stress/duplicate-computed-accessors.js: Added.
(shouldBe):
LayoutTests:
Updated the existing tests.
- js/parser-syntax-check-expected.txt:
- js/script-tests/parser-syntax-check.js:
- 12:42 PM Changeset in webkit [189503] by
-
- 2 edits in trunk/Tools
Unreviewed, added myself to the list of contributors.
- Scripts/webkitpy/common/config/contributors.json:
- 12:39 PM Changeset in webkit [189502] by
-
- 6 edits in trunk
document.importNode(node, deep): deep's default value should be false
https://bugs.webkit.org/show_bug.cgi?id=148959
<rdar://problem/22558915>
Reviewed by Alexey Proskuryakov.
LayoutTests/imported/w3c:
- web-platform-tests/dom/nodes/Document-importNode-expected.txt:
Rebaseline now that an additional check is passing.
Source/WebCore:
Switch deep parameter's default value for document.importNode() to
false, as per the latest DOM specification:
- https://dom.spec.whatwg.org/#interface-document
- https://dom.spec.whatwg.org/#dom-document-importnode
Firefox and Chrome follow the specification. However, WebKit was using
"true" for deep's default value.
No new tests, already covered by:
imported/w3c/web-platform-tests/dom/nodes/Document-importNode.html
- dom/Document.h:
(WebCore::Document::importNode):
LayoutTests:
- fast/dom/document-importNode-arguments.html:
Explicitly pass deep parameter as the test wants a deep clone.
- 12:11 PM Changeset in webkit [189501] by
-
- 9 edits in trunk/Source/JavaScriptCore
baseline JIT should emit better code for UnresolvedProperty in resolve_scope/get_from_scope/put_to_scope
https://bugs.webkit.org/show_bug.cgi?id=148895
Patch by Saam barati <sbarati@apple.com> on 2015-09-08
Reviewed by Geoffrey Garen.
Previously, if a resolve_scope/get_from_scope/put_to_scope with
UnresolvedProperty made it to the baseline JIT, we would hard compile
a jump to the slow path. This is bad and slow. Because UnresolvedProperty
tries to update itself to something more useful, and succeeds at doing so
with high probability, we should be emitting code that checks to see if the
slow path has performed an update, and if it has, execute more efficient code
and not go to the slow path (unless it needs to for var injection check failure,
or other check failures). This increases the speed of this code greatly because
we may decide to compile a program/function before certain resolve_scope/get_from_scope/put_to_scope
operations ever execute. And now, the baseline JIT code better adapts to such
compilation scenarios.
- bytecode/Watchpoint.h:
(JSC::WatchpointSet::isBeingWatched):
(JSC::WatchpointSet::addressOfState):
(JSC::WatchpointSet::offsetOfState):
(JSC::WatchpointSet::addressOfSetIsNotEmpty):
- jit/JIT.cpp:
(JSC::JIT::emitNotifyWrite):
(JSC::JIT::assertStackPointerOffset):
- jit/JIT.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):
(JSC::JIT::emitGetGlobalProperty):
(JSC::JIT::emitGetVarFromPointer):
(JSC::JIT::emitGetVarFromIndirectPointer):
(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emitPutGlobalProperty):
(JSC::JIT::emitPutGlobalVariable):
(JSC::JIT::emitPutGlobalVariableIndirect):
(JSC::JIT::emitPutClosureVar):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):
(JSC::JIT::emitGetGlobalProperty):
(JSC::JIT::emitGetVarFromPointer):
(JSC::JIT::emitGetVarFromIndirectPointer):
(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emitPutGlobalProperty):
(JSC::JIT::emitPutGlobalVariable):
(JSC::JIT::emitPutGlobalVariableIndirect):
(JSC::JIT::emitPutClosureVar):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::tryCachePutToScopeGlobal):
(JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal):
- runtime/JSScope.cpp:
(JSC::abstractAccess):
- tests/stress/multiple-files-tests/global-lexical-variable-unresolved-property/first.js:
(foo):
- 11:47 AM Changeset in webkit [189500] by
-
- 4 edits76 copies13 adds3 deletes in trunk
Web Inspector: Move PrettyPrinting tests into LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=148698
Reviewed by Timothy Hatcher.
Source/WebInspectorUI:
- Tools/PrettyPrinting/index.html:
Modify the relative path to the tests which are now in LayoutTests.
- UserInterface/Test.html:
Load CodeMirror and related resources for Formatting.
LayoutTests:
- inspector/codemirror/resources/prettyprinting/css-rule-tests/*: Renamed from Source/WebInspectorUI/Tools/PrettyPrinting/css-rule-tests/*.
- inspector/codemirror/resources/prettyprinting/css-tests/*: Renamed from Source/WebInspectorUI/Tools/PrettyPrinting/css-tests/*.
- inspector/codemirror/resources/prettyprinting/javascript-tests/*: Renamed from Source/WebInspectorUI/Tools/PrettyPrinting/js-tests/*.
Move tests from PrettyPrinting tools into LayoutTests.
- inspector/codemirror/prettyprinting-css-expected.txt: Added.
- inspector/codemirror/prettyprinting-css-rules-expected.txt: Added.
- inspector/codemirror/prettyprinting-css-rules.html: Added.
- inspector/codemirror/prettyprinting-css.html: Added.
- inspector/codemirror/prettyprinting-javascript-expected.txt: Added.
- inspector/codemirror/prettyprinting-javascript.html: Added.
Add tests per CodeMirror mode.
- inspector/codemirror/resources/prettyprinting/utilities.js: Added.
(TestPage.registerInitializer):
Shared code between the pretty printing tests.
- 11:34 AM Changeset in webkit [189499] by
-
- 7 edits in trunk/Source/JavaScriptCore
Implement all the arithmetic and logical instructions in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148882
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-08
Reviewed by Mark Lam.
This patch implements all the arithmetic and logical instructions for
32-bit integers in WebAssembly.
- tests/stress/wasm-arithmetic.js:
- tests/stress/wasm/arithmetic.wasm:
- wasm/WASMFunctionCompiler.h:
(JSC::WASMFunctionCompiler::buildUnaryI32):
(JSC::WASMFunctionCompiler::buildBinaryI32):
- wasm/WASMFunctionParser.cpp:
(JSC::WASMFunctionParser::parseExpressionI32):
(JSC::WASMFunctionParser::parseUnaryExpressionI32):
- wasm/WASMFunctionParser.h:
- wasm/WASMFunctionSyntaxChecker.h:
(JSC::WASMFunctionSyntaxChecker::buildUnaryI32):
- 11:23 AM Changeset in webkit [189498] by
-
- 2 edits in trunk/Source/WebCore
[Win][HighDPI] Video window placement is incorrect.
https://bugs.webkit.org/show_bug.cgi?id=148954
Reviewed by Alex Christensen.
We need to scale window dimensions with device scale factor.
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::setSize):
- 11:18 AM Changeset in webkit [189497] by
-
- 3 edits in trunk/Source/WebKit/win
[Win] Implement DOMNode::attributes.
https://bugs.webkit.org/show_bug.cgi?id=148747
Reviewed by Brent Fulgham.
- DOMCoreClasses.cpp:
(DOMNode::attributes):
(DOMNode::ownerDocument):
(DOMRange::detach):
(DOMNamedNodeMap::DOMNamedNodeMap):
(DOMNamedNodeMap::~DOMNamedNodeMap):
(DOMNamedNodeMap::createInstance):
(DOMNamedNodeMap::QueryInterface):
(DOMNamedNodeMap::getNamedItem):
(DOMNamedNodeMap::setNamedItem):
(DOMNamedNodeMap::removeNamedItem):
(DOMNamedNodeMap::item):
(DOMNamedNodeMap::length):
(DOMNamedNodeMap::getNamedItemNS):
(DOMNamedNodeMap::setNamedItemNS):
(DOMNamedNodeMap::removeNamedItemNS):
- DOMCoreClasses.h:
(DOMNamedNodeMap::AddRef):
(DOMNamedNodeMap::Release):
(DOMNamedNodeMap::throwException):
(DOMNamedNodeMap::callWebScriptMethod):
(DOMNamedNodeMap::evaluateWebScript):
(DOMNamedNodeMap::removeWebScriptKey):
(DOMNamedNodeMap::stringRepresentation):
(DOMNamedNodeMap::webScriptValueAtIndex):
(DOMNamedNodeMap::setWebScriptValueAtIndex):
(DOMNamedNodeMap::setException):
- 11:17 AM Changeset in webkit [189496] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix debug by removing an assertion that is not correct anymore.
- jit/Repatch.cpp:
(JSC::linkFor):
- 11:05 AM FontSelection edited by
- (diff)
- 10:47 AM Changeset in webkit [189495] by
-
- 4 edits in trunk/LayoutTests
Mark animations/trigger-container-scroll-boundaries.html as failure on iOS
According to Dean Jackson this feature is not supported on iOS at this time.
- platform/ios-simulator-wk1/TestExpectations: Move existing animation trigger failure expectations from here...
- platform/ios-simulator-wk2/TestExpectations: and here...
- platform/ios-simulator/TestExpectations: to here.
- 10:39 AM Changeset in webkit [189494] by
-
- 8 edits2 adds in trunk/Source/JavaScriptCore
Add initial support for doubles in WebAssembly
https://bugs.webkit.org/show_bug.cgi?id=148913
Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2015-09-08
Reviewed by Filip Pizlo.
Implement the ConstantPoolIndex, Immediate, and GetLocal instructions
for doubles (float64) in WebAssembly.
- tests/stress/wasm-arithmetic-float64.js: Added.
(shouldBe):
- tests/stress/wasm/arithmetic-float64.wasm: Added.
- wasm/WASMConstants.h:
- wasm/WASMFunctionCompiler.h:
(JSC::WASMFunctionCompiler::buildSetLocal):
(JSC::WASMFunctionCompiler::buildReturn):
(JSC::WASMFunctionCompiler::buildImmediateI32):
(JSC::WASMFunctionCompiler::buildImmediateF64):
(JSC::WASMFunctionCompiler::buildGetLocal):
- wasm/WASMFunctionParser.cpp:
(JSC::WASMFunctionParser::parseExpression):
(JSC::WASMFunctionParser::parseExpressionF64):
(JSC::WASMFunctionParser::parseConstantPoolIndexExpressionF64):
(JSC::WASMFunctionParser::parseImmediateExpressionF64):
(JSC::WASMFunctionParser::parseGetLocalExpressionF64):
- wasm/WASMFunctionParser.h:
- wasm/WASMFunctionSyntaxChecker.h:
(JSC::WASMFunctionSyntaxChecker::buildImmediateF64):
- wasm/WASMReader.cpp:
(JSC::WASMReader::readOpExpressionF64):
- wasm/WASMReader.h:
- 10:25 AM Changeset in webkit [189493] by
-
- 3 edits1 add in trunk/Source/JavaScriptCore
CallLinkInfo inside StructureStubInfo should not use polymorphic stubs
https://bugs.webkit.org/show_bug.cgi?id=148915
Reviewed by Mark Lam.
There is a subtle bug where if we reset a get_by_id IC that had a getter stub that in
turn had a polymorphic call stub, then the GC won't know to keep the getter stub alive.
This patch documents the bug in a FIXME and disables polymorphic call optimizations for
getters. It also just so happens that the polymorphic call optimizations usually don't
benefit getters, since it's hard to create polymorphism at the point of call without also
introducing polymorphism in the base object's structure.
The added test doesn't reproduce the problem, because it's hard to get the GC to delete
all of the stubs.
- bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::CallLinkInfo):
(JSC::CallLinkInfo::setCallLocations):
(JSC::CallLinkInfo::allowStubs):
(JSC::CallLinkInfo::disallowStubs):
(JSC::CallLinkInfo::setUpCallFromFTL):
- jit/Repatch.cpp:
(JSC::generateByIdStub):
(JSC::linkFor):
(JSC::linkPolymorphicCall):
- tests/stress/poly-call-stub-in-getter-stub.js: Added.
(foo):
(makeGetter):
- 10:00 AM Changeset in webkit [189492] by
-
- 4 edits in trunk/Source/JavaScriptCore
The put_by_id IC store barrier contract should benefit transition over replace
https://bugs.webkit.org/show_bug.cgi?id=148943
Reviewed by Mark Lam.
Previously, we would only emit a barrier if the value being stored was possibly a cell, so
the transition stub code generator would have to emit a barrier for the store of the
structure, just in case the structure was newer than the base object.
This changes the contract so that the put_by_id callsite would always have a barrier on the
base (except if it proved that the base was brand new). That way, the transition doesn't have
to have a barrier unless it allocates.
This is meant to be a perf-neutral change that I need for the IC refactoring in
https://bugs.webkit.org/show_bug.cgi?id=148717.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGStoreBarrierInsertionPhase.cpp:
- jit/Repatch.cpp:
(JSC::emitPutTransitionStub):
- 9:54 AM Changeset in webkit [189491] by
-
- 2 edits in trunk/LayoutTests
Mark fast/dom/rtl-scroll-to-leftmost-and-resize.html as a flaky timeout for
https://bugs.webkit.org/show_bug.cgi?id=148951
- platform/mac-wk2/TestExpectations:
- 9:01 AM Changeset in webkit [189490] by
-
- 2 edits4 adds2 deletes in trunk
Convert manual test added in http://trac.webkit.org/changeset/70321 to an automated test
https://bugs.webkit.org/show_bug.cgi?id=74729
<rdar://problem/22550195>
Reviewed by Jon Honeycutt.
.:
- ManualTests/compositing/resources/composited-subframe.html: Removed.
- ManualTests/compositing/show-composited-iframe-on-back-button.html: Removed.
LayoutTests:
- compositing/resources/composited-subframe.html: Added.
- compositing/resources/show-composited-iframe-on-back-button.css: Added.
(.container):
(.box):
- compositing/show-composited-iframe-on-back-button-expected.html: Added.
- compositing/show-composited-iframe-on-back-button.html: Added.
- 8:58 AM Changeset in webkit [189489] by
-
- 3 edits in trunk/Tools
Dashboard: Remove use of z-index for ring overlay; use DOM ordering
https://bugs.webkit.org/show_bug.cgi?id=148921
Reviewed by Alexey Proskuryakov.
The ring image is positioned above the platform icon in markup and we specify the CSS
property z-index for the ring image so that it is painted on top of the platform icon
instead of below it (by DOM ordering). Instead we can take advantage of the transparency
of the ring image, switch the order of these DOM elements and remove the use of the CSS
property z-index to achieve a similar effect.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(documentReady): Create the platform icon image element before the ring image such that
the ring image is painted on top of the platform icon.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid td.logo img.ring): Removed property z-index.
- 8:57 AM Changeset in webkit [189488] by
-
- 2 edits in trunk/Tools
Dashboard: Remove duplicate gear icon data URLs
https://bugs.webkit.org/show_bug.cgi?id=148920
Reviewed by Alexey Proskuryakov.
Currently we duplicate the SVG data URL for the gear icon up to its fill color in the CSS property
background-image associated with each of the three gear icon states: collapsed (.settings), hover
(.settings:hover), and expanded (.settings-visible .settings). Instead we should use the gear icon
as a mask and make use of the CSS background-color to define the fill color for each of these three
states.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(.settings): Use gear icon as mask and define CSS background-color for collapsed state.
(.settings:hover): Override CSS background-color for hover state.
(.settings-visible .settings): Override CSS background-color for expanded state.
- 8:43 AM Changeset in webkit [189487] by
-
- 2 edits in trunk/LayoutTests
[GTK] Unreviewed GTK gardening.
Update some paths for tests that were renamed.
Remove some tests from the expectations that not longer exist.
Report new failures for the Debug build.
- platform/gtk/TestExpectations:
- 8:25 AM Changeset in webkit [189486] by
-
- 1 edit4 adds in trunk/LayoutTests
Unreviewed, land iOS baselines for a couple of html/dom tests.
- platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/dynamic-markup-insertion/document-write/nested-document-write-1-expected.txt: Added.
- platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/dynamic-markup-insertion/document-write/nested-document-write-2-expected.txt: Added.
- 3:50 AM Changeset in webkit [189485] by
-
- 10 edits in trunk/Source/WebCore
Reduce uses of PassRefPtr in fileapi
https://bugs.webkit.org/show_bug.cgi?id=148952
Reviewed by Andreas Kling.
Remove all uses of PassRefPtr in return type. Argument uses of PassRefPtr will be
removed in near future.
- fileapi/FileError.h:
(WebCore::FileError::create):
- fileapi/FileReader.cpp:
(WebCore::FileReader::arrayBufferResult):
- fileapi/FileReader.h:
- fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::arrayBufferResult):
- fileapi/FileReaderLoader.h:
- fileapi/FileReaderSync.cpp:
(WebCore::FileReaderSync::readAsArrayBuffer):
- fileapi/FileReaderSync.h:
- fileapi/ThreadableBlobRegistry.cpp:
(WebCore::ThreadableBlobRegistry::getCachedOrigin):
- fileapi/ThreadableBlobRegistry.h: