Timeline
Apr 1, 2016:
- 11:38 PM MathML/Early_2016_Refactoring edited by
- (diff)
- 10:41 PM Changeset in webkit [198969] by
-
- 2 edits in trunk/Source/WebInspectorUI
Unreviewed follow-up to r198968. Remove debug statements.
- Scripts/remove-console-asserts.pl:
(removeConsoleAssertsInFile):
- 10:23 PM Changeset in webkit [198968] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Remove console.asserts from Worker code in optimized builds
https://bugs.webkit.org/show_bug.cgi?id=156124
<rdar://problem/25505031>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-04-01
Reviewed by Timothy Hatcher.
- Scripts/copy-user-interface-resources.pl:
Remove console asserts on the Worker results directory.
- Scripts/remove-console-asserts.pl:
(removeConsoleAssertsInFile):
(removeConsoleAssertsInDirectory):
Refactor into functions for a file and a file for
recursing through directories.
- 8:21 PM Changeset in webkit [198967] by
-
- 2 edits in trunk/Source/WebKit2
Attempt to fix the Apple Internal Yosemite and El Capitan builds following
<http://trac.webkit.org/changeset/198933> (https://bugs.webkit.org/show_bug.cgi?id=155455)
<rdar://problem/25502181>
Only check the code signature of the client app if the "user-directory-suffix" sandbox
initialization parameter will not be used. This parameter is only used/passed as an
initialization parameter if the client app is not sandboxed, which seems sufficient
criterion to determine whether it is safe to honor it.
- Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::initializeSandbox):
- 7:30 PM Changeset in webkit [198966] by
-
- 5 edits in tags/Safari-602.1.26.0.1/Source
Versioning.
- 7:28 PM Changeset in webkit [198965] by
-
- 1 copy in tags/Safari-602.1.26.0.1
New tag.
- 6:48 PM Changeset in webkit [198964] by
-
- 3 edits1 move in trunk/Tools
Build fix for r198956.
Unreviewed.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/ProvisionalURLNotChange.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Cocoa/ProvisionalURLChange.mm.
(-[ProvisionalURLNotChangeController webView:didFinishNavigation:]):
(-[ProvisionalURLNotChangeController webView:didFailProvisionalNavigation:withError:]):
(TEST):
- TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme.mm:
(-[LoadInvalidSchemeDelegate browsingContextController:didFailProvisionalLoadWithError:]):
(TestWebKitAPI::TEST):
- 5:19 PM Changeset in webkit [198963] by
-
- 3 edits2 adds in trunk
Backdrop Filter should repaint when changed via script
https://bugs.webkit.org/show_bug.cgi?id=149319
rdar://problem/22749892
Reviewed by Tim Horton.
Source/WebCore:
When backdrop filters change, we need to trigger a recomposite, just as we do
for filters. It's ok to re-use ContextSensitivePropertyFilter because
adjustStyleDifference() does the right thing.
Test: css3/filters/backdrop/dynamic-backdrop-filter-change.html
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayerRepaint):
LayoutTests:
- css3/filters/backdrop/dynamic-backdrop-filter-change-expected.html: Added.
- css3/filters/backdrop/dynamic-backdrop-filter-change.html: Added.
- 5:09 PM Changeset in webkit [198962] by
-
- 5 edits in branches/safari-601-branch/Source
Versioning.
- 5:08 PM Changeset in webkit [198961] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 4:52 PM Changeset in webkit [198960] by
-
- 1 copy in tags/Safari-601.1.46.125
New tag.
- 4:51 PM Changeset in webkit [198959] by
-
- 1 copy in tags/Safari-601.6.14
New tag.
- 4:25 PM Changeset in webkit [198958] by
-
- 3 edits2 adds in trunk
putImageData leaves visible artifacts on retina display
https://bugs.webkit.org/show_bug.cgi?id=156039
<rdar://problem/25482243>
Reviewed by Simon Fraser.
Inflate the repaint rect to cover anti-aliasing bits.
Source/WebCore:
Test: fast/canvas/hidpi-repaint-on-retina-leaves-bits-behind.html
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::didDraw):
LayoutTests:
- fast/canvas/hidpi-repaint-on-retina-leaves-bits-behind-expected.html: Added.
- fast/canvas/hidpi-repaint-on-retina-leaves-bits-behind.html: Added.
- 2:44 PM Changeset in webkit [198957] by
-
- 5 edits in branches/safari-601.1.46-branch/Source/WebCore
- 2:40 PM Changeset in webkit [198956] by
-
- 9 edits3 adds in trunk
WebKit should dispatchDidFailProvisionalLoad while loading invalid URLs
https://bugs.webkit.org/show_bug.cgi?id=155995
<rdar://problem/14967004>
Reviewed by Andy Estes.
Source/WebCore:
Added API Tests.
If a loading request contains an invalid URL, DocumentLoader will now dispatch
cannotShowURLError to the clients.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
Source/WebKit2:
Ensure that alternative HTML string will not be loaded back to back for
failing provisional loads.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::didFinishLoadForFrame):
- UIProcess/WebPageProxy.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/LoadAlternateHTMLString.mm:
(-[LoadAlternateHTMLStringFromProvisionalLoadErrorController webView:didFailProvisionalNavigation:withError:]):
(-[LoadAlternateHTMLStringFromProvisionalLoadErrorController webView:didStartProvisionalNavigation:]):
(TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/LoadInvalidURLRequest.mm: Added.
(literalURL):
(-[LoadInvalidURLNavigationActionDelegate webView:didCommitNavigation:]):
(-[LoadInvalidURLNavigationActionDelegate webView:didFailProvisionalNavigation:withError:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.html: Added.
- TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm: Added.
(-[LoadInvalidURLWebFrameLoadDelegate webView:didCommitLoadForFrame:]):
(-[LoadInvalidURLWebFrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]):
(TestWebKitAPI::TEST):
- 2:10 PM Changeset in webkit [198955] by
-
- 23 edits9 adds in trunk
Confirm <a download> satisfies specification criteria
https://bugs.webkit.org/show_bug.cgi?id=156057
Reviewed by Andy Estes.
Source/WebKit2:
- WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp:
(WKBundleNavigationActionGetHasDownloadAttribute): Added.
- WebProcess/InjectedBundle/API/c/WKBundleNavigationActionPrivate.h:
- WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
(WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
- WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
(WebKit::InjectedBundleNavigationAction::hasDownloadAttribute): Added.
Tools:
Revise WebKitTestRunner:
(1) Provide a download client delegate.
(2) Teach WKTR to wait to finish a test until a download finishes.
(3) Allow WKTR to notify the current TestRunner that it can finish.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage): Update to recognize a new
message "NotifyDownloadDone".
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::decidePolicyForNavigationAction): Handle 'download'
attribute case.
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::waitUntilDownload): Added.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::shouldFinishAfterDownload): Added.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions): Set up the download client.
(WTR::TestController::downloadDidStart): Added.
(WTR::TestController::decideDestinationWithSuggestedFilename): Added.
(WTR::TestController::downloadDidFinish): Added.
(WTR::TestController::downloadDidFail): Added.
(WTR::TestController::downloadDidCancel): Added.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::notifyDownloadDone): Added.
- WebKitTestRunner/TestInvocation.h:
LayoutTests:
Import <a download> tests from the Blink project.
Based on a Blink change (patch by <asanka@chromium.org>):
<https://src.chromium.org/viewvc/blink?revision=172767&view=revision>
- TestExpectations: Mark two expected failures with the new tests.
- fast/dom/HTMLAnchorElement/anchor-download-expected.txt: Updated for
expected output (blob URL currently not working).
- fast/dom/HTMLAnchorElement/anchor-nodownload-set-expected.txt: Ditto.
- http/tests/security/anchor-download-allow-blob-expected.txt: Added.
- http/tests/security/anchor-download-allow-blob.html: Added.
- http/tests/security/anchor-download-allow-data-expected.txt: Added.
- http/tests/security/anchor-download-allow-data.html: Added.
- http/tests/security/anchor-download-allow-sameorigin-expected.txt: Added.
- http/tests/security/anchor-download-allow-sameorigin.html: Added.
- http/tests/security/anchor-download-block-crossorigin-expected.txt: Added.
- http/tests/security/anchor-download-block-crossorigin.html: Added.
- http/tests/security/resources/attachment.php: Added.
- platform/ios-simulator-wk1/TestExpectations: Disable download tests until WK1 support
is implemented.
- platform/ios-simulator-wk2/TestExpectations: Disable download tests until
NETWORK_SESSION support exists.
- platform/mac/TestExpectations: Reactivate the HTMLAnchorElement tests.
- platform/mac-wk1/TestExpectations: Disable download tests until WK1 support
is implemented.
- 1:58 PM Changeset in webkit [198954] by
-
- 4 edits in trunk/LayoutTests
Rebaseline tests added with r198951
https://bugs.webkit.org/show_bug.cgi?id=156092
Unreviewed test gardening.
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-frame-src-expected.txt:
- 12:20 PM Changeset in webkit [198953] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC][x86] Add the 3 operands form of floating point substraction
https://bugs.webkit.org/show_bug.cgi?id=156095
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-04-01
Reviewed by Geoffrey Garen.
Same old, same old. Add the AVX form of subsd and subss.
Unfortunately, we cannot benefit from the 3 register form
in B3 yet because the Air script does not support CPU flags yet.
That can be fixed later.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::subDouble):
(JSC::MacroAssemblerX86Common::subFloat):
- assembler/X86Assembler.h:
(JSC::X86Assembler::vsubsd_rr):
(JSC::X86Assembler::subsd_mr):
(JSC::X86Assembler::vsubsd_mr):
(JSC::X86Assembler::vsubss_rr):
(JSC::X86Assembler::subss_mr):
(JSC::X86Assembler::vsubss_mr):
(JSC::X86Assembler::X86InstructionFormatter::SingleInstructionBufferWriter::memoryModRM):
- b3/air/AirOpcode.opcodes:
- 12:15 PM Changeset in webkit [198952] by
-
- 3 edits2 adds in trunk
Reset CSS spacing rules on the <math> element.
https://bugs.webkit.org/show_bug.cgi?id=155433
Patch by Frederic Wang <fwang@igalia.com> on 2016-04-01
Reviewed by Brent Fulgham.
Source/WebCore:
Test: mathml/presentation/css-spacing.html
When the authors has changed some CSS spacing rules on a page, they are currently inherited on MathML too, potentially causing broken math rendering.
For example, this caused a bug in Firefox on Wikipedia in the past. Hence we align on Gecko and just reset the CSS spacing rules by default. We also import Mozilla's test.
- css/mathml.css:
(math): Set line-height, word-spacing and letter-spacing to normal.
LayoutTests:
We import a test from Mozilla to ensure that CSS spacing rules line-height, word-spacing and letter-spacing are by default reset to normal on the <math> element.
- mathml/presentation/css-spacing-expected.html: Added.
- mathml/presentation/css-spacing.html: Added.
- 11:40 AM Changeset in webkit [198951] by
-
- 6 edits6 adds in trunk
CSP: child-src violations reported as frame-src violation
https://bugs.webkit.org/show_bug.cgi?id=156092
<rdar://problem/25478509>
Reviewed by Andy Estes.
Source/WebCore:
Tests: http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src.html
http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src.html
http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-frame-src.html
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource): Determine the name of the effective violation
directive from the name of the violated directive. If the name of the violated directive is "frame-src"
then use that name for the name of the effective violated directive. Otherwise, use "child-src" for the
name of the effective violated directive. A byproduct of this decision is that we report child-src as the
effective violated directive when a frame load was blocked by the default-src directive. This seems reasonable
because directive frame-src is deprecated in Content Security Policy Level 2. The child-src directive is
its replacement.
LayoutTests:
- TestExpectations: Mark the newly added tests as PASS so that we run them.
- http/tests/security/contentSecurityPolicy/1.1/child-src/frame-blocked-expected.txt: Substitute "child-src" for "frame-src" in the
expected console warning.
- http/tests/security/contentSecurityPolicy/1.1/child-src/frame-redirect-blocked-expected.txt: Ditto.
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-child-src.html: Added.
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-default-src.html: Added.
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-frame-src-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/1.1/securityviolationpolicy-block-frame-using-frame-src.html: Added.
- 11:22 AM Changeset in webkit [198950] by
-
- 2 edits in trunk
Fix up ChangeLog entries for r198936 (https://bugs.webkit.org/show_bug.cgi?id=156079) to reference
the update bug title that reflects that r198936 fixes the regression caused by r196012.
- 11:15 AM Changeset in webkit [198949] by
-
- 2 edits in trunk/LayoutTests
Add a way to reset the eventTrigger in ControlsTest in LayoutTests/media/controls/controls-test-helpers.js
https://bugs.webkit.org/show_bug.cgi?id=154616
Reviewed by Dean Jackson.
- media/controls/controls-test-helpers.js:
(ControlsTest.prototype.resetEventTrigger):
- 10:55 AM Changeset in webkit [198948] by
-
- 2 edits in trunk/Source/WebKit2
CMake build fix.
- PlatformMac.cmake:
- 9:45 AM Changeset in webkit [198947] by
-
- 19 edits1 copy1 add in trunk
Compile DumpRenderTree with CMake on Mac
https://bugs.webkit.org/show_bug.cgi?id=156088
Patch by Alex Christensen <achristensen@webkit.org> on 2016-04-01
Reviewed by Brent Fulgham.
Source/WebCore:
- PlatformMac.cmake:
- platform/mock/mediasource/MockBox.cpp:
Source/WebKit:
- PlatformMac.cmake:
Source/WebKit/mac:
- Misc/WebKit.h:
Alphabetize headers.
Source/WebKit2:
- CMakeLists.txt:
- PlatformMac.cmake:
- UIProcess/API/Cocoa/WebKitLegacy.h: Added.
Tools:
- CMakeLists.txt:
- DumpRenderTree/CMakeLists.txt:
- DumpRenderTree/DefaultPolicyDelegate.m:
(-[DefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
- DumpRenderTree/DumpRenderTreeFileDraggingSource.m:
- DumpRenderTree/PlatformMac.cmake: Added.
- DumpRenderTree/PlatformWin.cmake:
- DumpRenderTree/mac/AppleScriptController.m:
(convertAEDescToObject):
- DumpRenderTree/mac/DumpRenderTreeMain.mm:
- DumpRenderTree/mac/LayoutTestHelper.m:
- 9:18 AM Changeset in webkit [198946] by
-
- 2 edits in trunk/LayoutTests
Marking three media controls tests as flaky on El Capitan
https://bugs.webkit.org/show_bug.cgi?id=156112
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 3:49 AM WebKitGTK/2.12.x edited by
- (diff)
- 3:36 AM Changeset in webkit [198945] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Missing PATH_MAX definition
https://bugs.webkit.org/show_bug.cgi?id=156102
Reviewed by Yusuke Suzuki.
Not all systems define PATH_MAX, so add a fallback value that is
long enough.
- jsc.cpp:
- 3:21 AM Changeset in webkit [198944] by
-
- 2 edits1 add in trunk/LayoutTests
Unreviewed EFL gardening about new RTL scrollbar testcase
This testcase has been added in r198859.
- platform/efl/TestExpectations:
- platform/efl/fast/scrolling/rtl-scrollbars-animation-property-expected.txt: Added.
- 2:54 AM Changeset in webkit [198943] by
-
- 41 edits5 adds in trunk
Separate render tree updating from style resolve
https://bugs.webkit.org/show_bug.cgi?id=155298
Reviewed by Andreas Kling.
Source/WebCore:
This patch splits computing document style and applying the results into two distinct steps:
Style::TreeResolver::resolve()
|
| Style::Update
V
RenderTreeUpdater::commit()
Style::TreeResolver::resolve() returns a Style::Update object that contains all the changes to be made
for the whole composed tree. RenderTreeUpdater then applies the changes updating, building or tearing
down portions of the render tree as needed.
Style::Update consists of a map that contains new style for each newly resolved element along with some
metadata. A separate map contains text nodes that require reconstruction. It also tracks change roots so
RenderTreeUpdater needs to traverse the changed subtrees only.
The patch eliminates the recursive render tree build code path replacing it with iterative functions.
This will enable future optimizations. For example we won't need to commit to immediate rendering
changes simply because some script or internal function requires up-to-date style.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/StyleResolver.cpp:
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::styleForElement):
- css/StyleResolver.h:
(WebCore::StyleResolver::setOverrideDocumentElementStyle):
(WebCore::StyleResolver::State::State):
Root element style is needed for resolving other elements. Add a way to provide it without looking
into active document style.
- dom/Document.cpp:
(WebCore::Document::recalcStyle):
Resolve the document style and commit it immediately (for now).
(WebCore::Document::styleForElementIgnoringPendingStylesheets):
- dom/Document.h:
(WebCore::Document::setNeedsNotifyRemoveAllPendingStylesheet):
(WebCore::Document::inStyleRecalc):
(WebCore::Document::inRenderTreeUpdate):
- dom/Element.cpp:
(WebCore::Element::setChildIndex):
Setting the unique bit is now done by style relations update code.
- dom/Node.cpp:
(WebCore::Node::setNeedsStyleRecalc):
Prevent spurious style invalidation during render tree updating.
- rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
Capturing body element color for color:-webkit-text is now done by TreeResolver.
- rendering/RenderElement.h:
(WebCore::RenderElement::setAnimatableStyle): Deleted.
No longer used.
- style/RenderTreePosition.cpp:
(WebCore::RenderTreePosition::nextSiblingRenderer):
Skip over non-rendered slot elements.
- style/RenderTreeUpdater.cpp: Added.
(WebCore::RenderTreeUpdater::Parent::Parent):
(WebCore::RenderTreeUpdater::RenderTreeUpdater):
(WebCore::hasDisplayContents):
(WebCore::findRenderingRoot):
(WebCore::RenderTreeUpdater::commit):
Call updateRenderTree for each change root.
(WebCore::shouldCreateRenderer):
(WebCore::RenderTreeUpdater::updateRenderTree):
Iteratively traverse the composed tree starting for a change root.
Apply the changes calling updateElementRenderer and updateTextRenderer as needed.
Enter subtrees that haves changes to apply.
(WebCore::RenderTreeUpdater::renderTreePosition):
We may not create renderers for all elements (<slot> or more generally display:contents) that
have rendered descendants. Search the parent stack to find the valid position.
(WebCore::RenderTreeUpdater::pushParent):
(WebCore::RenderTreeUpdater::popParent):
(WebCore::RenderTreeUpdater::popParentsToDepth):
Maintain parent stack.
(WebCore::pseudoStyleCacheIsInvalid):
(WebCore::RenderTreeUpdater::updateElementRenderer):
Create, delete or update the renderer.
(WebCore::moveToFlowThreadIfNeeded):
(WebCore::RenderTreeUpdater::createRenderer):
(WebCore::textRendererIsNeeded):
(WebCore::createTextRenderer):
(WebCore::RenderTreeUpdater::updateTextRenderer):
(WebCore::RenderTreeUpdater::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
This is moved from TreeResolver.
(WebCore::needsPseudoElement):
(WebCore::RenderTreeUpdater::updateBeforeOrAfterPseudoElement):
Pseudo elements are handled entirely during render tree construction. Compute their style and
create or delete them as needed.
- style/RenderTreeUpdater.h: Added.
(WebCore::RenderTreeUpdater::parent):
- style/StyleRelations.cpp:
(WebCore::Style::commitRelationsToRenderStyle):
(WebCore::Style::commitRelations):
Commit to Style::Update instead of the document if needed.
(WebCore::Style::commitRelationsToDocument): Deleted.
- style/StyleRelations.h:
- style/StyleSharingResolver.cpp:
(WebCore::Style::elementHasDirectionAuto):
(WebCore::Style::SharingResolver::resolve):
Fetch the shareable style from Style::Update instead of the active document style.
(WebCore::Style::SharingResolver::findSibling):
(WebCore::Style::SharingResolver::canShareStyleWithElement):
- style/StyleSharingResolver.h:
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::Parent::Parent):
No need for render tree position anymore.
(WebCore::Style::TreeResolver::popScope):
(WebCore::Style::TreeResolver::styleForElement):
(WebCore::Style::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
(WebCore::Style::createTextRendererIfNeeded):
(WebCore::Style::updateTextRendererAfterContentChange):
(WebCore::Style::resetStyleForNonRenderedDescendants):
(WebCore::Style::detachChildren):
(WebCore::Style::detachSlotAssignees):
(WebCore::Style::detachRenderTree):
(WebCore::Style::TreeResolver::resolveElement):
Just resolve the style and return it, no more applying or entering render tree construction code paths.
(WebCore::Style::resolveTextNode):
(WebCore::Style::elementImplicitVisibility):
(WebCore::Style::TreeResolver::pushParent):
(WebCore::Style::TreeResolver::popParent):
(WebCore::Style::TreeResolver::popParentsToDepth):
(WebCore::Style::shouldResolvePseudoElement):
(WebCore::Style::TreeResolver::resolveComposedTree):
Add style changes to Style::Update.
(WebCore::Style::TreeResolver::resolve):
Return Style::Update object if non-empty.
(WebCore::Style::postResolutionCallbackQueue):
(WebCore::Style::shouldCreateRenderer): Deleted.
(WebCore::Style::moveToFlowThreadIfNeeded): Deleted.
(WebCore::Style::TreeResolver::createRenderer): Deleted.
(WebCore::Style::TreeResolver::createRenderTreeForChildren): Deleted.
(WebCore::Style::TreeResolver::createRenderTreeForShadowRoot): Deleted.
(WebCore::Style::beforeOrAfterPseudoElement): Deleted.
(WebCore::Style::setBeforeOrAfterPseudoElement): Deleted.
(WebCore::Style::clearBeforeOrAfterPseudoElement): Deleted.
(WebCore::Style::needsPseudoElement): Deleted.
(WebCore::Style::TreeResolver::createRenderTreeForBeforeOrAfterPseudoElement): Deleted.
(WebCore::Style::TreeResolver::createRenderTreeForSlotAssignees): Deleted.
(WebCore::Style::TreeResolver::createRenderTreeRecursively): Deleted.
(WebCore::Style::pseudoStyleCacheIsInvalid): Deleted.
(WebCore::Style::TreeResolver::resolveBeforeOrAfterPseudoElement): Deleted.
Remove the recursive render tree building code path.
- style/StyleTreeResolver.h:
(WebCore::Style::TreeResolver::scope):
- style/StyleUpdate.cpp: Added.
(WebCore::Style::Update::Update):
(WebCore::Style::Update::elementUpdate):
(WebCore::Style::Update::textUpdate):
(WebCore::Style::Update::elementStyle):
(WebCore::Style::Update::addElement):
(WebCore::Style::Update::addText):
(WebCore::Style::Update::addPossibleRoot):
- style/StyleUpdate.h: Added.
(WebCore::Style::Update::roots):
(WebCore::Style::Update::document):
- svg/SVGElement.h:
(WebCore::SVGElement::updateRelativeLengthsInformation):
- svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::svgAttributeChanged):
(WebCore::SVGUseElement::willRecalcStyle):
(WebCore::SVGUseElement::willAttachRenderers): Deleted.
Switvh willAttachRenderers to willRecalcStyle as the former is now called too late.
- svg/SVGUseElement.h:
LayoutTests:
Skip mathml/presentation/menclose-notation-attribute-change-value.html. It will be fixed by upcoming MathML refactoring.
- css3/blending/repaint/blend-mode-isolate-stacking-context-expected.txt:
- css3/viewport-percentage-lengths/viewport-percentage-lengths-resize-expected.txt:
This is a progression.
- editing/mac/spelling/autocorrection-contraction-expected.txt:
- editing/mac/spelling/autocorrection-removing-underline-after-paste-expected.txt:
- editing/mac/spelling/autocorrection-removing-underline-expected.txt:
- editing/mac/spelling/autocorrection-simple-expected.txt:
- editing/style/remove-underline-from-stylesheet-expected.txt:
- editing/style/typing-style-003-expected.txt:
Non-rendered whitespace related changes.
- platform/ios-simulator/TestExpectations:
Skip fast/regions/position-writing-modes-in-variable-width-regions.html on iOS. Similar tests are mostly already skipped.
- platform/ios-simulator/editing/style/typing-style-003-expected.txt: Added.
- platform/mac-wk2/editing/mac/spelling/autocorrection-contraction-expected.txt:
- platform/mac/editing/inserting/editable-html-element-expected.txt:
- platform/mac/editing/inserting/editing-empty-divs-expected.txt:
- platform/mac/editing/inserting/insert-at-end-02-expected.txt:
- platform/mac/editing/pasteboard/4989774-expected.txt:
- platform/mac/editing/selection/4983858-expected.txt:
Non-rendered whitespace related changes.
- 1:06 AM WebKitNightlyElCapWorkaround edited by
- run-safari was not working after the workaround, explained how to run … (diff)
- 12:23 AM WebKitGTK/2.12.x edited by
- (diff)
Mar 31, 2016:
- 11:31 PM Changeset in webkit [198942] by
-
- 15 edits4 adds in trunk
AX: <attachment> element not accessible
https://bugs.webkit.org/show_bug.cgi?id=156045
Reviewed by Joanmarie Diggs.
Source/WebCore:
Make this element accessible by exposing title, subtitle, action, progress to accessibility.
Test: accessibility/attachment-element.html
- accessibility/AXObjectCache.cpp:
(WebCore::createFromRenderer):
- accessibility/AccessibilityAttachment.cpp: Added.
(WebCore::AccessibilityAttachment::AccessibilityAttachment):
(WebCore::AccessibilityAttachment::create):
(WebCore::AccessibilityAttachment::hasProgress):
(WebCore::AccessibilityAttachment::valueForRange):
(WebCore::AccessibilityAttachment::attachmentElement):
(WebCore::AccessibilityAttachment::roleDescription):
(WebCore::AccessibilityAttachment::computeAccessibilityIsIgnored):
(WebCore::AccessibilityAttachment::accessibilityText):
(WebCore::AccessibilityAttachment::accessibilityDescription):
- accessibility/AccessibilityAttachment.h: Added.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::hasHighlighting):
(WebCore::AccessibilityObject::roleDescription):
(WebCore::AccessibilityObject::supportsRangeValue):
(WebCore::AccessibilityObject::supportsARIASetSize):
- accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::isAttachmentElement):
(WebCore::AccessibilityObject::isHeading):
(WebCore::AccessibilityObject::isLink):
(WebCore::AccessibilityObject::isImage):
(WebCore::AccessibilityObject::isRadioButton):
(WebCore::AccessibilityObject::isListBox):
(WebCore::AccessibilityObject::isListBoxOption):
(WebCore::AccessibilityObject::isAttachment):
(WebCore::AccessibilityObject::isMediaTimeline):
(WebCore::AccessibilityObject::isMenuRelated):
(WebCore::AccessibilityObject::isMenu):
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityValue]):
LayoutTests:
- accessibility/attachment-element-expected.txt: Added.
- accessibility/attachment-element.html: Added.
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- 10:34 PM Changeset in webkit [198941] by
-
- 4 edits2 adds in trunk
AX: AX hit-testing does not work on WebKit video playback buttons
https://bugs.webkit.org/show_bug.cgi?id=156084
Reviewed by Darin Adler.
Source/WebCore:
Use the element at point instead of the shadow host for hit testing on video tags.
Test: accessibility/mac/video-tag-hit-test.html
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::elementAccessibilityHitTest):
(WebCore::shouldUseShadowHostForHitTesting):
(WebCore::AccessibilityRenderObject::accessibilityHitTest):
LayoutTests:
- accessibility/mac/video-tag-hit-test-expected.txt: Added.
- accessibility/mac/video-tag-hit-test.html: Added.
- 9:54 PM Changeset in webkit [198940] by
-
- 3 edits in trunk/Source/WebCore
Page overlay tests sometimes crash under MockPageOverlayClient::uninstallAllOverlays()
https://bugs.webkit.org/show_bug.cgi?id=156080
rdar://problem/24922183
Reviewed by Alex Christensen.
Make MockPageOverlayClient::m_overlays reference the overlays. There is no reference
cycle because they are all removed between test page loads.
- testing/MockPageOverlayClient.cpp:
(WebCore::MockPageOverlayClient::uninstallAllOverlays):
(WebCore::MockPageOverlayClient::pageOverlayDestroyed):
- testing/MockPageOverlayClient.h:
- 9:52 PM Changeset in webkit [198939] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed EFL build fix caused by r198929.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::layerVolatilityTimerFired): Need to use type casting in WEBPAGE_LOG_ALWAYS_ERROR() log.
- 8:23 PM Changeset in webkit [198938] by
-
- 2 edits in trunk/Tools
https://bugs.webkit.org/show_bug.cgi?id=156094
[Win] TestWebCore target build sometimes fail.
Patch by Bill Ming <mbbill@gmail.com> on 2016-03-31
Reviewed by Alex Christensen.
- Tools/TestWebKitAPI/PlatformWin.cmake:
- 8:15 PM Changeset in webkit [198937] by
-
- 2 edits1 add in trunk/Websites/webkit.org
Show tweets by @webkit in the Twitter tile on webkit.org
https://bugs.webkit.org/show_bug.cgi?id=156093
Reviewed by Timothy Hatcher.
- wp-content/plugins/tweet-listener.php: Added.
- wp-content/themes/webkit/widgets/twitter.php:
- 6:54 PM Changeset in webkit [198936] by
-
- 10 edits8 adds in trunk
REGRESSION (r197724): <object>/<embed> with no URL does not match source *
https://bugs.webkit.org/show_bug.cgi?id=156079
<rdar://problem/25470805>
Reviewed by Brent Fulgham.
Source/WebCore:
Fixes an issue where HTML object and embed elements that are not associated with a URL are
allowed to load when object-src/default-src contains source *. More generally, we allow
such elements to load so long as object-src/default-src is not 'none' per section object-src
of the Content Security Policy Level 3 spec., <http://w3c.github.io/webappsec-csp> (Editor's Draft, 29 February 2016).
Tests: http/tests/security/contentSecurityPolicy/embed-with-no-url-allowed-by-default-src-star.html
http/tests/security/contentSecurityPolicy/embed-with-no-url-allowed-by-star.html
http/tests/security/contentSecurityPolicy/object-with-no-url-allowed-by-default-src-star.html
http/tests/security/contentSecurityPolicy/object-with-no-url-allowed-by-star.html
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowObjectFromSource): Modified to call violatedDirectiveInAnyPolicy() passing
ContentSecurityPolicySourceListDirective::ShouldAllowEmptyURLIfSourceListIsNotNone::Yes.
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::checkSource): Modified to take argument of type ContentSecurityPolicySourceListDirective::ShouldAllowEmptyURLIfSourceListIsNotNone (defaults to false)
and pass it through to ContentSecurityPolicySourceListDirective.
(WebCore::checkFrameAncestors): Explicitly pass ContentSecurityPolicySourceListDirective::ShouldAllowEmptyURLIfSourceListIsNotNone::No
to avoid URL from having the compiler implicitly convert it to a String and selecting override ContentSecurityPolicySourceListDirective::allows(const String&),
which will lead to incorrect results. We will look to make this code less error prone in <https://bugs.webkit.org/show_bug.cgi?id=156086>.
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForObjectSource): Modified to take argument of type
ContentSecurityPolicySourceListDirective::ShouldAllowEmptyURLIfSourceListIsNotNone and pass it through.
- page/csp/ContentSecurityPolicyDirectiveList.h:
- page/csp/ContentSecurityPolicySourceList.cpp:
(WebCore::ContentSecurityPolicySourceList::parse): Set instance variable m_isNone to true so that we can differentiate
a source list with value 'none' from a source list that lists one or more sources or non-none keywords.
- page/csp/ContentSecurityPolicySourceList.h:
(WebCore::ContentSecurityPolicySourceList::isNone): Added.
- page/csp/ContentSecurityPolicySourceListDirective.cpp:
(WebCore::ContentSecurityPolicySourceListDirective::allows): Modified to take argument of type ContentSecurityPolicySourceListDirective::ShouldAllowEmptyURLIfSourceListIsNotNone
and updated code to return true for an empty URL only if this argument is ContentSecurityPolicySourceListDirective::ShouldAllowEmptyURLIfSourceListIsNotNone::Yes and
the source list does not have value 'none'.
- page/csp/ContentSecurityPolicySourceListDirective.h:
LayoutTests:
Add tests to ensure that HTML object and embed elements are allowed by source *.
- platform/ios-simulator/TestExpectations: Skip added tests as plugins are not supported on iOS.
- http/tests/security/contentSecurityPolicy/embed-with-no-url-allowed-by-default-src-star-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/embed-with-no-url-allowed-by-default-src-star.html: Added.
- http/tests/security/contentSecurityPolicy/embed-with-no-url-allowed-by-star-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/embed-with-no-url-allowed-by-star.html: Added.
- http/tests/security/contentSecurityPolicy/object-with-no-url-allowed-by-default-src-star-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-with-no-url-allowed-by-default-src-star.html: Added.
- http/tests/security/contentSecurityPolicy/object-with-no-url-allowed-by-star-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/object-with-no-url-allowed-by-star.html: Added.
- 6:48 PM Changeset in webkit [198935] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC] CFA's valuesAtHead should be a list, not a map
https://bugs.webkit.org/show_bug.cgi?id=156087
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-03-31
Reviewed by Mark Lam.
One more step toward moving to the Air-style of liveness analysis:
Make DFG's valuesAtHead a list of Node*-AbstractValue.
This patch alone is already a speedup because our many CFAs
spend an unreasonable amount of time updating at block boundaries.
- dfg/DFGBasicBlock.h:
- dfg/DFGCFAPhase.cpp:
(JSC::DFG::CFAPhase::performBlockCFA):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
- dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::beginBasicBlock):
(JSC::DFG::setLiveValues):
(JSC::DFG::InPlaceAbstractState::merge):
- dfg/DFGNode.h:
(JSC::DFG::nodeValuePairComparator):
(JSC::DFG::nodeValuePairListDump):
- 6:40 PM Changeset in webkit [198934] by
-
- 2 edits in trunk/Tools
[EFL] Bump EFL version to 1.17.0
https://bugs.webkit.org/show_bug.cgi?id=153008
Reviewed by Michael Catanzaro.
Original author is Csaba Osztrogonác <Csaba Osztrogonác>
- efl/jhbuild.modules:
- 6:12 PM Changeset in webkit [198933] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r194660): Navigating to HTTPS sites may fail with error
https://bugs.webkit.org/show_bug.cgi?id=155455
<rdar://problem/24308793>
Reviewed by Alexey Proskuryakov.
Fixes an issue where navigating to an HTTPS site may fail because the Security Framework uses
a cache directory that it does not have permission to use.
- Shared/mac/ChildProcessMac.mm:
(WebKit::codeSigningIdentifierForProcess): Queries the Security Framework for the code signed
bundle identifier/code signing identifier.
(WebKit::ChildProcess::initializeSandbox): Use the client identifier as part of the user directory
suffix. Verify that the client identifier matches the code signed bundled identifier/code
signing identifier for the code signed app/tool. Fix minor code style issue; use a C++-style cast
instead of a C-style cast when casting an OSStatus to a long.
(WebKit::findSecCodeForProcess): Deleted; incorporated logic into WebKit::codeSigningIdentifierForProcess().
- 5:24 PM Changeset in webkit [198932] by
-
- 12 edits in trunk/Source
Revert rewrite const as var workaround
https://bugs.webkit.org/show_bug.cgi?id=155393
Reviewed by Mark Lam.
Source/JavaScriptCore:
- parser/Parser.h:
(JSC::Parser::next):
(JSC::Parser::nextExpectIdentifier):
- runtime/VM.h:
(JSC::VM::setShouldRewriteConstAsVar): Deleted.
(JSC::VM::shouldRewriteConstAsVar): Deleted.
Source/WebCore:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::commonVM):
- page/Settings.cpp:
- page/Settings.h:
(WebCore::Settings::shouldUseHighResolutionTimers):
(WebCore::Settings::backgroundShouldExtendBeyondPage):
(WebCore::Settings::shouldRewriteConstAsVar): Deleted.
(WebCore::Settings::setShouldRewriteConstAsVar): Deleted.
Source/WebKit2:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
- 4:59 PM Changeset in webkit [198931] by
-
- 5 edits in trunk/Source/WebCore
Unreviewed, rolling out r196854.
We do not need those assertions anymore as it seems
<rdar://problem/24457478> is fixed
Reverted changeset:
"Land release assertions to help track down a possible
HTMLCollection lifetime bug"
https://bugs.webkit.org/show_bug.cgi?id=154490
http://trac.webkit.org/changeset/196854
- 4:45 PM Changeset in webkit [198930] by
-
- 3 edits in trunk/Tools
run-webkit-tests fails to create user's cache directory when System Integrity Protection is enabled
https://bugs.webkit.org/show_bug.cgi?id=156071
<rdar://problem/25467827>
Reviewed by Brent Fulgham.
Fixes an issue where run-webkit-tests will fail to create the suffixed user's cache directory
on non-Apple Internal machines with System Integrity Protection enabled because the OS only
honors the suffix, specified by the environment variable DIRHELPER_USER_DIR_SUFFIX, in
privileged processes. And python(1) does not have sufficient privileges. As a workaround for
systems that have System Integrity Protection enabled we compute the path to the suffixed
user's cache directory by hand.
Additionally, fix an issue where the user's cache directory created by run-webkit-test was
never deleted on cessation of the test run.
- Scripts/webkitpy/port/driver.py:
(Driver._start): Actually store the path to the user's cache directory in self._driver_user_cache_directory
so that we can delete this directory on cessation of the test run.
- Scripts/webkitpy/port/mac.py:
(MacPort):
(MacPort._path_to_user_cache_directory): Unset the environment variable DIRHELPER_USER_DIR_SUFFIX (if set),
query the OS for the path to the user's cache directory and concatenate this path with the
specified suffix.
- 4:33 PM Changeset in webkit [198929] by
-
- 8 edits in trunk/Source
[iOS] Both WebPage's volatility timer and WebProcess's processSuspensionCleanupTimer are trying to make surfaces volatile with very short interval
https://bugs.webkit.org/show_bug.cgi?id=156065
<rdar://problem/25452004>
Reviewed by Simon Fraser.
Source/WebCore:
Export a symbol so it can be used from WebKit2.
- page/Page.h:
Source/WebKit2:
Upon process suspension, both the WebPage's volatility timer and
WebProcess' processSuspensionCleanupTimer are trying to make surfaces
volatile with a very short interval. This is overly aggressive given
that this operation normally succeeds very quickly or does not (due
to underlying bugs).
This patch does the following:
- Drop the WebProcess' processSuspensionCleanupTimer and have the WebProcess drive the WebPages' volatility timer instead.
- Update the WebPages' volatility timer to do exponential back off.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::layerVolatilityTimerFired):
(WebKit::WebPage::markLayersVolatileImmediatelyIfPossible):
(WebKit::WebPage::markLayersVolatile):
(WebKit::WebPage::cancelMarkLayersVolatile):
(WebKit::WebPage::isAlwaysOnLoggingAllowed):
(WebKit::WebPage::setLayerTreeStateIsFrozen): Deleted.
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::markLayersVolatile):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applicationDidEnterBackground):
(WebKit::WebPage::applicationWillEnterForeground):
(WebKit::WebPage::applicationDidBecomeActive): Deleted.
(WebKit::adjustVelocityDataForBoundedScale): Deleted.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::actualPrepareToSuspend):
(WebKit::WebProcess::processWillSuspendImminently):
(WebKit::WebProcess::prepareToSuspend):
(WebKit::WebProcess::cancelPrepareToSuspend):
(WebKit::WebProcess::markAllLayersVolatile):
(WebKit::WebProcess::cancelMarkAllLayersVolatile):
(WebKit::WebProcess::setAllLayerTreeStatesFrozen):
(WebKit::WebProcess::processDidResume):
(WebKit::WebProcess::WebProcess): Deleted.
- WebProcess/WebProcess.h:
- 4:07 PM Changeset in webkit [198928] by
-
- 5 edits in trunk
[ES6] Disallow var assignments in for-in loops
https://bugs.webkit.org/show_bug.cgi?id=155451
Reviewed by Mark Lam.
Source/JavaScriptCore:
We're doing this in its own patch instead of the patch for https://bugs.webkit.org/show_bug.cgi?id=155384
because last time we made this change it broke some websites. Lets try making
it again because it's what the ES6 mandates. If it still breaks things we will
roll it out.
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseForStatement):
LayoutTests:
- js/parser-syntax-check-expected.txt:
- js/script-tests/parser-syntax-check.js:
- 4:01 PM Changeset in webkit [198927] by
-
- 7 edits in trunk
parsing arrow function expressions slows down the parser by 8% lets recoup some loss
https://bugs.webkit.org/show_bug.cgi?id=155988
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
We used to eagerly check if we're parsing an arrow function.
We did this inside parseAssignmentExpression(), and it was
very costly. The reason it was costly is that arrow functions
might start with an identifier. This means anytime we saw an
identifier we would have to do a lookahead, and then most likely
backtrack because more often than not, we wouldn't see "=>"
as the next token.
In this patch I implement a new approach. We just parse
the lhs of an assignment expression eagerly without doing any
lookahead. Retroactively, if we see that we might have started
with an arrow function, and we don't have a valid lhs or the
next token is a "=>", we try to parse as an arrow function.
Here are a few examples motivating why this is valid:
x => x
In this example:
- "x" is a valid arrow function starting point.
- "x" also happens to be a valid lhs
- because we see "=>" as the next token, we parse as an arrow function and succeed.
(x) => x
In this example:
- "(" is a valid arrow function starting point.
- "(x)" also happens to be a valid lhs
- because we see "=>" as the next token, we parse as an arrow function and succeed.
({x = 30}) => x;
In this example:
- "(" is a valid arrow function starting point.
- "({x = 30})" is NOT a valid lhs. Because of this, we try to parse it as an arrow function and succeed.
There is one interesting implementation detail where we might
parse something that is both a valid LHS but happens
to actually be the arrow function parameters. The valid LHS
parsing might declare such variables as "uses" which would cause
weird capture analysis. This patch also introduces a mechanism
to backtrack on used variable analysis.
This is a 3.5%-4.5% octane code load speedup.
- parser/Lexer.h:
(JSC::Lexer::sawError):
(JSC::Lexer::setSawError):
(JSC::Lexer::getErrorMessage):
(JSC::Lexer::setErrorMessage):
(JSC::Lexer::sourceURL):
(JSC::Lexer::sourceMappingURL):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::isArrowFunctionParameters):
(JSC::Parser<LexerType>::parseAssignmentExpression):
(JSC::Parser<LexerType>::parsePrimaryExpression):
- parser/Parser.h:
(JSC::Scope::Scope):
(JSC::Scope::startSwitch):
(JSC::Scope::declareParameter):
(JSC::Scope::usedVariablesContains):
(JSC::Scope::useVariable):
(JSC::Scope::pushUsedVariableSet):
(JSC::Scope::currentUsedVariablesSize):
(JSC::Scope::revertToPreviousUsedVariables):
(JSC::Scope::setNeedsFullActivation):
(JSC::Scope::needsFullActivation):
(JSC::Scope::isArrowFunctionBoundary):
(JSC::Scope::setInnerArrowFunctionUsesEvalAndUseArgumentsIfNeeded):
(JSC::Scope::collectFreeVariables):
(JSC::Scope::fillParametersForSourceProviderCache):
(JSC::Scope::restoreFromSourceProviderCache):
(JSC::Scope::setIsModule):
LayoutTests:
- js/parser-syntax-check-expected.txt:
- js/script-tests/parser-syntax-check.js:
(catch):
- 3:54 PM Changeset in webkit [198926] by
-
- 11 edits in trunk/LayoutTests
[Win] Skip INTL related tests.
https://bugs.webkit.org/show_bug.cgi?id=156074
Reviewed by Alex Christensen.
Temporarily skip failing INTL related tests, because AppleWin currently
does not have INTL enabled.
- js/script-tests/array-toLocaleString.js:
- js/script-tests/date-toLocaleString.js:
- js/script-tests/intl-collator.js:
- js/script-tests/intl-datetimeformat.js:
- js/script-tests/intl-numberformat.js:
- js/script-tests/intl.js:
- js/script-tests/number-toLocaleString.js:
- js/script-tests/string-toLocaleLowerCase.js:
- js/script-tests/string-toLocaleUpperCase.js:
- platform/win/TestExpectations:
- 3:50 PM Changeset in webkit [198925] by
-
- 5 edits in trunk
Web Inspector: ScriptSyntaxTree doesn't handle RestElement AST nodes
https://bugs.webkit.org/show_bug.cgi?id=156085
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-03-31
Reviewed by Saam Barati.
Source/WebInspectorUI:
- UserInterface/Models/ScriptSyntaxTree.js:
(WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration.gatherIdentifiers):
(WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration):
When searching for identifiers in Function parameters, pass
through the RestElement to its argument.
(WebInspector.ScriptSyntaxTree.prototype._recurse):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
Create a ScriptSyntaxTree RestElement node.
Also, every case in recurse visits the current
node, so simplify the code!
LayoutTests:
- inspector/model/parse-script-syntax-tree-expected.txt:
- inspector/model/parse-script-syntax-tree.html:
Add a test for a RestElement.
- 3:43 PM Changeset in webkit [198924] by
-
- 4 edits2 adds in trunk
REGRESSION (r195605): ASSERTION FAILED: !NoEventDispatchAssertion::isEventDispatchForbidden()
when pressing the back button on a page with a focused subframe
https://bugs.webkit.org/show_bug.cgi?id=156033
<rdar://problem/25446561>
Reviewed by Chris Dumez.
Source/WebCore:
Fixes an assertion failure when navigating back, by pressing the browser back button, to
the previous page from a page with a focused subframe.
Following r195605 (https://bugs.webkit.org/show_bug.cgi?id=153449), the responsibility for
dispatching a DOM pagehide event moved from CachedFrame to PageCache and we now instantiate
a NoEventDispatchAssertion object to enforce the invariant that no additional DOM events are
dispatched as part of adding a page to the page cache. When adding a page with a focused
subframe to the page cache we focus its main frame, which implicitly defocuses the subframe
and dispatches a DOM blur event at it. Therefore an assertion failure occurs when dispatching
this DOM blur event (because a NoEventDispatchAssertion object was allocated on the stack).
Test: fast/history/back-from-page-with-focused-iframe.html
- history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame): Move logic to focus the main frame from here...
- history/PageCache.cpp:
(WebCore::PageCache::addIfCacheable): to here such that any DOM blur and focus events
are dispatched before instantiate the NoEventDispatchAssertion object and enter the page
cache.
LayoutTests:
Add a test to ensure that when navigating back from a page with a focused <iframe> f, a DOM
blur event is dispatched to f, a DOM focus event is dispatched at the main frame and that
an assertion failure does not occur (only applicable in a debug build).
- fast/history/back-from-page-with-focused-iframe-expected.txt: Added.
- fast/history/back-from-page-with-focused-iframe.html: Added.
- 3:42 PM Changeset in webkit [198923] by
-
- 3 edits in trunk/Websites/perf.webkit.org
Simplify API of Test model by removing Test.setParentTest
https://bugs.webkit.org/show_bug.cgi?id=156055
Reviewed by Joseph Pecoraro.
Removed Test.setParentTest. Keep track of the child-parent relationship using the static map instead.
Now each test only stores parent's id and uses the ID static map in Test.parentTest().
- public/v3/models/manifest.js:
(Manifest._didFetchManifest.buildObjectsFromIdMap): Removed the code to create the map of child-parent
relationship and call setParentTest.
- public/v3/models/test.js:
(Test): Updated a static map by the name of "childTestMap" to store itself. We should probably sort
child tests using some fixed criteria in the future instead of relying on the creation order but
preserve the old code's ordering for now.
(Test.prototype.parentTest): Look up the static map by the parent test's id.
(Test.prototype.onlyContainsSingleMetric):
(Test.prototype.setParentTest): Deleted.
(Test.prototype.childTests): Look up the child test map.
- 3:38 PM Changeset in webkit [198922] by
-
- 1 edit1 add in trunk
tool tip/alt. text appears when mouse is no longer hovering over link
https://bugs.webkit.org/show_bug.cgi?id=24427
<rdar://problem/8045235>
Reviewed by Antonio Gomes.
Although the bug no longer reproduces, add a manual test that can be used to determine if a
tooltip for a hyperlink is shown when the cursor no longer hovers over it.
- ManualTests/tooltip-when-mouse-not-directly-over-hyperlink.html: Added.
- 3:22 PM Changeset in webkit [198921] by
-
- 4 edits5 deletes in branches/safari-601-branch
Roll out r191180. rdar://problem/25448882
- 2:55 PM Changeset in webkit [198920] by
-
- 2 edits in trunk/Websites/webkit.org
Fix download links for desktops with small resolutions
https://bugs.webkit.org/show_bug.cgi?id=156081
Reviewed by Timothy Hatcher.
- wp-content/themes/webkit/downloads.php:
- 2:52 PM Changeset in webkit [198919] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fails to build in Linux / PowerPC due to different ucontext_t definition
https://bugs.webkit.org/show_bug.cgi?id=156015
Reviewed by Michael Catanzaro.
PPC does not have mcontext_t in ucontext_t::uc_mcontext.
So we take the special way to retrieve mcontext_t in PPC.
- heap/MachineStackMarker.cpp:
(pthreadSignalHandlerSuspendResume):
- 2:51 PM Changeset in webkit [198918] by
-
- 2 edits in trunk/Source/WebKit2
Web Automation: the interaction queue in WebAutomationSession::performKeyInteractions doesn't work
https://bugs.webkit.org/show_bug.cgi?id=156083
Reviewed by Timothy Hatcher.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::performKeyboardInteractions):
Use Vector::reserveCapacity instead of the size constructor since we use append.
Empty the interaction queue outside of loops so all interactions are performed once.
- 2:12 PM Changeset in webkit [198917] by
-
- 4 edits5 deletes in trunk
REGRESSION (r191180): Safari does not send Referer Header to iframe src in certain situations
https://bugs.webkit.org/show_bug.cgi?id=155754
<rdar://problem/25296445>
Unreviewed, roll out r191180 as it breaks sites and needs to be reworked.
Source/WebCore:
- html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::tagIdFor): Deleted.
(WebCore::TokenPreloadScanner::initiatorFor): Deleted.
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute): Deleted.
(WebCore::TokenPreloadScanner::StartTagScanner::resourceType): Deleted.
- html/parser/HTMLPreloadScanner.h:
LayoutTests:
- fast/preloader/frame-src-expected.txt: Removed.
- fast/preloader/frame-src.html: Removed.
- fast/preloader/resources/testFrame.html: Removed.
- http/tests/loading/preload-no-store-frame-src-expected: Removed.
- http/tests/loading/preload-no-store-frame-src.html: Removed.
- 2:05 PM Changeset in webkit [198916] by
-
- 4 edits5 deletes in branches/safari-601.1.46-branch
Roll out r191180. rdar://problem/25449273
- 2:03 PM Changeset in webkit [198915] by
-
- 2 edits in trunk/Source/WebKit2
Web Automation: Add support for script timeouts to the evaluateJavaScriptFunction command
https://bugs.webkit.org/show_bug.cgi?id=156052
rdar://problem/25457151
Address additional review comments.
- WebProcess/Automation/WebAutomationSessionProxy.js:
(AutomationSessionProxy.prototype.evaluateJavaScriptFunction): Add semicolons and remove
and clearTimeout that wasn't needed.
- 1:52 PM Changeset in webkit [198914] by
-
- 6 edits in trunk/Source/WebKit2
Web Automation: Navigation commands should not return until page loads or fails
https://bugs.webkit.org/show_bug.cgi?id=156063
rdar://problem/25464373
Reviewed by Brian Burg.
- UIProcess/Automation/Automation.json: Make navigation commands async.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::navigateBrowsingContext): Save callback and timeout previous.
(WebKit::WebAutomationSession::goBackInBrowsingContext): Ditto.
(WebKit::WebAutomationSession::goForwardInBrowsingContext): Ditto.
(WebKit::WebAutomationSession::reloadBrowsingContext): Ditto.
(WebKit::WebAutomationSession::navigationOccuredForPage): Added. Fire callback for page.
- UIProcess/Automation/WebAutomationSession.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFinishLoadForFrame): Call WebAutomationSession::navigationOccuredForPage.
(WebKit::WebPageProxy::didFailLoadForFrame): Ditto.
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
- UIProcess/WebProcessPool.h: Added automationSession() getter.
- 1:52 PM Changeset in webkit [198913] by
-
- 8 edits in trunk/Source/WebKit2
Web Automation: Add support for script timeouts to the evaluateJavaScriptFunction command
https://bugs.webkit.org/show_bug.cgi?id=156052
rdar://problem/25457151
Reviewed by Brian Burg.
- UIProcess/Automation/Automation.json: Added callbackTimeout to evaluateJavaScriptFunction.
Also made expectsImplicitCallbackArgument optional, since it is not required. Added JavaScriptTimeout error.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::evaluateJavaScriptFunction): Added callbackTimeout.
- UIProcess/Automation/WebAutomationSession.h:
- WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::evaluateJavaScriptCallback): Send JavaScriptTimeout error if the timeout fired.
(WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction): Added callbackTimeout.
- WebProcess/Automation/WebAutomationSessionProxy.h:
- WebProcess/Automation/WebAutomationSessionProxy.js:
(AutomationSessionProxy.prototype.evaluateJavaScriptFunction): Set a timeout to fire if the
callback is not called, then return an error.
- WebProcess/Automation/WebAutomationSessionProxy.messages.in:
(EvaluateJavaScriptFunction): Added callbackTimeout parameter.
- 1:43 PM Changeset in webkit [198912] by
-
- 37 edits1 copy5 adds3 deletes in trunk/LayoutTests
Rebaseline media control tests when new media control appearances are finalized
https://bugs.webkit.org/show_bug.cgi?id=142142
Reviewed by Brent Fulgham.
- fullscreen/video-controls-override.html: Test height as an integer.
- http/tests/media/hls/video-controls-live-stream.html: Start playback explicitly instead of using autoplay, and pause playback before dumping controls state to make the test results more deterministic.
- media/audio-delete-while-slider-thumb-clicked.html: Make the <audio> element wide enough that it will always have a timeline scrubber. Trigger test on 'canplaythrough' instead of autoplay + 'playing' to simplify the test slightly.
- media/nodesFromRect-shadowContent.html: Test for controls panel-background instead timeline-container because of changes to the controls structure.
- platform/mac-mavericks/media/audio-controls-rendering-expected.png: Removed.
- platform/mac-mavericks/media/audio-controls-rendering-expected.txt: Removed.
- platform/mac-mavericks/media/video-volume-slider-expected.txt: Removed.
- platform/mac-wk1/media/controls-styling-expected.txt: Removed.
- platform/mac-yosemite/http/tests/media/hls/video-controls-live-stream-expected.txt: Added
- platform/mac-yosemite/media: Added.
- platform/mac-yosemite/media/controls-styling-expected.txt: Added.
- platform/mac/TestExpectations: Unskip some tests.
- platform/mac/accessibility/media-element-expected.txt: Update results.
- platform/mac/fast/layers/video-layer-expected.png: Ditto.
- platform/mac/fast/layers/video-layer-expected.txt: Ditto.
- platform/mac/fullscreen/video-controls-override-expected.txt: Ditto.
- platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt: Ditto.
- platform/mac/media/audio-controls-rendering-expected.png: Ditto.
- platform/mac/media/audio-controls-rendering-expected.txt: Ditto.
- platform/mac/media/controls-after-reload-expected.png: Ditto.
- platform/mac/media/controls-after-reload-expected.txt: Ditto.
- platform/mac/media/controls-strict-expected.png: Ditto.
- platform/mac/media/controls-strict-expected.txt: Ditto.
- platform/mac/media/controls-styling-expected.png: Ditto.
- platform/mac/media/controls-styling-expected.txt: Ditto.
- platform/mac/media/controls-without-preload-expected.png: Ditto.
- platform/mac/media/controls-without-preload-expected.txt: Ditto.
- platform/mac/media/media-controls-clone-expected.png: Ditto.
- platform/mac/media/media-controls-clone-expected.txt: Ditto.
- platform/mac/media/media-document-audio-repaint-expected.png: Ditto.
- platform/mac/media/video-controls-rendering-expected.png: Ditto.
- platform/mac/media/video-controls-rendering-expected.txt: Ditto.
- platform/mac/media/video-display-toggle-expected.png: Ditto.
- platform/mac/media/video-display-toggle-expected.txt: Ditto.
- platform/mac/media/video-empty-source-expected.png: Ditto.
- platform/mac/media/video-empty-source-expected.txt: Ditto.
- platform/mac/media/video-no-audio-expected.png: Ditto.
- platform/mac/media/video-no-audio-expected.txt: Ditto.
- platform/mac/media/video-volume-slider-expected.png: Ditto.
- platform/mac/media/video-volume-slider-expected.txt: Ditto.
- platform/mac/media/video-zoom-controls-expected.png: Ditto.
- platform/mac/media/video-zoom-controls-expected.txt: Ditto.
- 1:39 PM Changeset in webkit [198911] by
-
- 12 edits3 adds in trunk
WebKit should set Original URL of a download request correctly
https://bugs.webkit.org/show_bug.cgi?id=155914
<rdar://problem/10473811>
Reviewed by Anders Carlsson.
Source/WebCore:
Added API tests.
Replace the old logic for identifying the Original URL of a download request
with a new method based on the logic from Document::firstPartyForCookies, which
does a much better job determining the URL a user actually visited.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::setOriginalURLForDownloadRequest):
(WebCore::originatingURLFromBackForwardList): Deleted.
Source/WebKit2:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::convertTaskToDownload):
(WebKit::NetworkLoad::didReceiveResponseNetworkSession):
- NetworkProcess/NetworkLoad.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::findPendingDownloadLocation):
- NetworkProcess/NetworkProcess.h:
Add logic to set the original URL of a download request when a main resource load
is converted to a download.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::download):
- UIProcess/WebProcessPool.h:
Add logic to set the original URL of a download request during a context menu:
Download Linked File action.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:
(-[DownloadRequestOriginalURLDelegate initWithExpectOriginalURL:]):
(-[DownloadRequestOriginalURLDelegate _downloadDidStart:]):
(-[DownloadRequestOriginalURLNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURL.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURL2.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURLFrame.html: Added.
- 12:36 PM Changeset in webkit [198910] by
-
- 3 edits in trunk/LayoutTests
Moving a few skipped tests from ios-simulator-wk2 to ios-simulator TestExpectations file.
Unreviewed test gardening.
These particular tests time out due to lack of touch event support, which applies
to both wk1 and wk2 ios-simulator testers.
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-simulator/TestExpectations:
- 12:25 PM Changeset in webkit [198909] by
-
- 2 edits in trunk/Source/WebCore
eventMayStartDrag() does not check for shiftKey or isOverLink
https://bugs.webkit.org/show_bug.cgi?id=155746
Reviewed by Darin Adler.
There is currently a mismatch between the logic that checks whether
an event can start a dragging action in EventHandler::handleMousePressEvent
and in EventHandler::eventMayStartDrag
Basically the former checks for event's count, type, button, target and modifier.
The later, on the other hand, only checks for event's button and count.
In order to sync them up again, as per the comment in the code,
patch factors out the logic in ::handleMousePressEvent into a helper function,
and ultimately reuses it in ::eventMayStartDrag.
No new tests for two reasons:
1) ::handleMousePressEvent will not have any behavior change. Code is factored out
into a helper.
2) The callees of ::eventMayStartDrag are currently WebPage::shouldDelayWindowOrderingEvent
and ::acceptsFirstMouse. Based on my understanding of [1], these methods
are called when there is a (say) browser window in background with some text selected,
and user starts to drag the selected content. Dragging happens without bringing the window
foreground. This is called "non-activating click".
Such behavior will not change with the patch.
[1] https://bugs.webkit.org/show_bug.cgi?id=55053 - "Implement non-activating clicks to allow dragging out of a background window"
- page/EventHandler.cpp:
(WebCore::isSingleMouseDownOnLinkOrImage):
(WebCore::canMouseEventStartDragInternal):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::documentPointForWindowPoint): Moved up in the file to be used elsewhere.
(WebCore::EventHandler::eventMayStartDrag):
- 12:12 PM Changeset in webkit [198908] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/console/heapSnapshot.html as a flaky timeout on Mac
https://bugs.webkit.org/show_bug.cgi?id=156078
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 12:03 PM Changeset in webkit [198907] by
-
- 9 edits in trunk/Source/WebKit2
Web Automation: Add Automation.screenshot
https://bugs.webkit.org/show_bug.cgi?id=156073
<rdar://problem/25468646>
Reviewed by Timothy Hatcher and Brian Burg.
- UIProcess/Automation/Automation.json:
Add Automation.screenshot which returns base64 encoded PNG data.
- WebProcess/Automation/WebAutomationSessionProxy.h:
- WebProcess/Automation/WebAutomationSessionProxy.messages.in:
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::screenshot):
(WebKit::WebAutomationSession::didTakeScreenshot):
(WebKit::WebAutomationSession::platformGetBase64EncodedPNGData):
Send a message to the WebPage to get an Image of the page
and handle the response.
- UIProcess/Cocoa/WebAutomationSessionCocoa.mm:
(WebKit::WebAutomationSession::platformGetBase64EncodedPNGData):
Convert the bitmap data to a base64 encoded PNG.
- UIProcess/Automation/WebAutomationSession.h:
- UIProcess/Automation/WebAutomationSession.messages.in:
- WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::evaluateJavaScriptCallback):
(WebKit::WebAutomationSessionProxy::didClearWindowObjectForFrame):
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithOrdinal):
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithNodeHandle):
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithName):
(WebKit::WebAutomationSessionProxy::resolveParentFrame):
(WebKit::WebAutomationSessionProxy::computeElementLayout):
Use null string where possible for efficiency.
(WebKit::WebAutomationSessionProxy::takeScreenshot):
Take an image of the entire page and pass back to the UIProcess.
- 11:56 AM Changeset in webkit [198906] by
-
- 2 edits in trunk/Source/WebKit2
Web Automation: Handle undefined when calling a function that has no result
https://bugs.webkit.org/show_bug.cgi?id=156075
rdar://problem/25468907
Reviewed by Brian Burg.
- WebProcess/Automation/WebAutomationSessionProxy.js:
(let.AutomationSessionProxy.prototype._jsonParse): Return undefined for empty string.
(let.AutomationSessionProxy.prototype._jsonStringify): Always return a string.
- 11:54 AM Changeset in webkit [198905] by
-
- 6 edits in trunk/Source/JavaScriptCore
[JSC][x86] Add the indexed forms of floating point addition and multiplication
https://bugs.webkit.org/show_bug.cgi?id=156058
Reviewed by Geoffrey Garen.
B3 supports lowering [base, index] addresses into
arbitrary instructions but we were not using that feature.
This patch adds the missing support for the lowering
of Add and Mul.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::addDouble):
(JSC::MacroAssemblerX86Common::addFloat):
(JSC::MacroAssemblerX86Common::mulDouble):
(JSC::MacroAssemblerX86Common::mulFloat):
- assembler/X86Assembler.h:
(JSC::X86Assembler::addsd_mr):
(JSC::X86Assembler::vaddsd_mr):
(JSC::X86Assembler::addss_mr):
(JSC::X86Assembler::vaddss_mr):
(JSC::X86Assembler::mulsd_mr):
(JSC::X86Assembler::vmulsd_mr):
(JSC::X86Assembler::mulss_mr):
(JSC::X86Assembler::vmulss_mr):
(JSC::X86Assembler::X86InstructionFormatter::SingleInstructionBufferWriter::memoryModRM):
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::appendBinOp):
Unlike the Addr form, we never need to transform a Tmp
into an Index for spilling.
Instead of duplicating all the code in MacroAssembler, I can
just have the lowering phase try using addresses for the first
argument when possible.
- b3/air/AirOpcode.opcodes:
- b3/air/testair.cpp:
(JSC::B3::Air::testX86VMULSDBaseNeedsRex):
(JSC::B3::Air::testX86VMULSDIndexNeedsRex):
(JSC::B3::Air::testX86VMULSDBaseIndexNeedRex):
(JSC::B3::Air::run):
- 11:50 AM Changeset in webkit [198904] by
-
- 3 edits in trunk/Source/WebCore
SelectionController::positionForPlatform should ask EditingBehavior for platform specific behavior
https://bugs.webkit.org/show_bug.cgi?id=41976
Reviewed by Darin Adler.
SSIA.
No new tests needed.
- editing/EditingBehavior.h:
(WebCore::EditingBehavior::shouldAlwaysExtendSelectionFromExtentEndpoint):
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::positionForPlatform):
- 11:45 AM Changeset in webkit [198903] by
-
- 5 edits in branches/safari-601.1.46-branch/Source/WebCore
Merge r198035. rdar://problem/25467558
- 11:28 AM Changeset in webkit [198902] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
DFG JIT bug in typeof constant folding where the input to typeof is an object or function
https://bugs.webkit.org/show_bug.cgi?id=156034
<rdar://problem/25446785>
Reviewed by Ryosuke Niwa.
AI would constant fold TypeOf to the string "object" if it saw that
its input type didn't expand past the types contained in the set
"SpecObject - SpecObjectOther". But, SpecObject contains SpecFunction.
And typeof of a function should return "function". This patch fixes
this bug by making sure we constant fold to object iff the type
doesn't expand past the set "SpecObject - SpecObjectOther - SpecFunction".
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- tests/stress/typeof-dfg-function-or-object.js: Added.
(assert):
(foo.else.o):
(foo):
- 11:24 AM Changeset in webkit [198901] by
-
- 14 edits in trunk/Source
mediaShouldUsePersistentCache() is redundant. Use Page::usesEphemeralSession() instead.
https://bugs.webkit.org/show_bug.cgi?id=155924
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-03-31
Reviewed by Simon Fraser.
Source/WebCore:
No new tests because there is no behavior change.
Remove machinery for mediaShouldUsePersistentCache() adopt usesEphemeralSession().
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerShouldUsePersistentCache):
- page/ChromeClient.h: remove mediaShouldUsePersistentCache()
Source/WebKit/mac:
Remove mediaShouldUsePersistentCache machinery as it is redundant.
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::mediaShouldUsePersistentCache): Deleted.
Source/WebKit2:
Remove machinery for mediaShouldUsePersistentCache as it is redundant.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode): Deleted.
(WebKit::WebPageCreationParameters::decode): Deleted.
- Shared/WebPageCreationParameters.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters): Deleted.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::mediaShouldUsePersistentCache): Deleted.
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_mediaShouldUsePersistentCache): Deleted.
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::mediaShouldUsePersistentCache): Deleted.
- 11:23 AM Changeset in webkit [198900] by
-
- 13 edits in trunk/Source
Add the new "toggle enhanced fullscreen" context menu item to the video context menu on supporting platforms.
https://bugs.webkit.org/show_bug.cgi?id=156031
Reviewed by Eric Carlson.
Source/WebCore:
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
Handle the selection of the context menu item.
(WebCore::ContextMenuController::populate):
Add this menu item on Mac.
(WebCore::ContextMenuController::checkOrEnableIfNeeded):
Set the menu item's title depending on the current enhanced fullscreen state
and enable this menu item if supported.
- platform/ContextMenuItem.h:
Define the new tag for this menu item.
- platform/LocalizedStrings.cpp:
(WebCore::contextMenuItemTagEnterVideoEnhancedFullscreen):
(WebCore::contextMenuItemTagExitVideoEnhancedFullscreen):
- platform/LocalizedStrings.h:
- rendering/HitTestResult.cpp:
(WebCore::HitTestResult::mediaSupportsEnhancedFullscreen):
(WebCore::HitTestResult::mediaIsInEnhancedFullscreen):
(WebCore::HitTestResult::toggleEnhancedFullscreenForVideo):
- rendering/HitTestResult.h:
Source/WebKit/mac:
- WebView/WebHTMLView.mm:
(toAction):
(toTag):
- WebView/WebUIDelegatePrivate.h:
Source/WebKit2:
- Shared/API/c/WKContextMenuItemTypes.h:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
- 11:16 AM Changeset in webkit [198899] by
-
- 5 edits in trunk/LayoutTests
Three js/regress/string-repeat-* are flaky timeouts on Mac
https://bugs.webkit.org/show_bug.cgi?id=156062
Reviewed by Saam Barati.
Reduce the test cases to avoid timeouts.
- js/regress/script-tests/string-repeat-resolving-no-inline.js:
- js/regress/script-tests/string-repeat-resolving.js:
- js/regress/script-tests/string-repeat-small-resolving.js:
- platform/mac/TestExpectations:
- 9:48 AM Changeset in webkit [198898] by
-
- 1 edit2 adds in trunk/LayoutTests
Add a -mismatch test case for r198785.
see webkit.org/b/155973
Unreviewed.
- plugins/missing-plugin-placeholder-expected-mismatch.html: Added.
- plugins/missing-plugin-placeholder.html: Added.
- 9:45 AM Changeset in webkit [198897] by
-
- 2 edits in trunk/Source/WTF
Removed leftovers of ENABLE(INSPECTOR) and ENABLE(VIEWPORT).
https://bugs.webkit.org/show_bug.cgi?id=156064
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-03-31
Reviewed by Csaba Osztrogonác.
This ifdef guards were removed in r178820 and r147714, respectively.
- wtf/FeatureDefines.h:
- 9:39 AM Changeset in webkit [198896] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed build fix after r198893.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::findPendingDownloadLocation): Pass
new argument to download method.
- 9:17 AM Changeset in webkit [198895] by
-
- 5 edits in trunk
AX: aria-hidden=false causes video fallback content to be exposed to AX API
https://bugs.webkit.org/show_bug.cgi?id=149278
Reviewed by Chris Fleizach.
Source/WebCore:
The comment says when aria-hidden="false" and object is not rendered, we should
check each parent's aria-hidden status until we encounter a rendered object. So
added a check for the rendered parent in order to break out of the loop earlier.
Test case covered in modified accessibility/aria-hidden-negates-no-visibility.html
- accessibility/AXObjectCache.cpp:
(WebCore::isNodeAriaVisible):
LayoutTests:
- accessibility/aria-hidden-negates-no-visibility-expected.txt:
- accessibility/aria-hidden-negates-no-visibility.html:
- 9:12 AM Changeset in webkit [198894] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: Build and logic fix after r198873.
https://bugs.webkit.org/show_bug.cgi?id=156043
Not reviewed.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::addFloat):
- 2 args were meant to be ordered differently in order to call the other addFloat. Instead, there was an infinite recursion bug. This is now fixed.
- 8:35 AM Changeset in webkit [198893] by
-
- 37 edits in trunk
[WK2] Support download attribute feature
https://bugs.webkit.org/show_bug.cgi?id=102914
<rdar://problem/13177492>
Reviewed by Darin Adler.
Source/WebCore:
Tested by imported/w3c/web-platform-tests/html/dom/interfaces.html
imported/w3c/web-platform-tests/html/dom/reflection-text.html
A first draft implementation of this feature.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick): If the anchor has the 'download'
attribute, pass along the information to the rest of the load system.
- loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::FrameLoadRequest): Create new overload that
accepts a download attribute flag and a suggested filename.
(WebCore::FrameLoadRequest::hasDownloadAttribute): Added.
(WebCore::FrameLoadRequest::suggestedFilename): Added.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::urlSelected): Expand to accept the download attribute
flag and suggested filename.
(WebCore::FrameLoader::loadURL): Populate the NavigationAction with the new
download attribute flag and suggested filename.
(WebCore::FrameLoader::loadPostRequest): Ditto.
- loader/FrameLoader.h:
- loader/FrameLoaderTypes.h: Add new 'HasDownloadAttribute' enum.
- loader/NavigationAction.cpp:
(WebCore::navigationType):
(WebCore::NavigationAction::NavigationAction): Update to accept new download
attribute flag and suggested filename.
- loader/NavigationAction.h:
(WebCore::NavigationAction::hasDownloadAttribute): Added.
(WebCore::NavigationAction::suggestedFilename): Added.
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy): Pass more information to
'continueAfterNavigationPolicy'
(WebCore::PolicyChecker::continueAfterNavigationPolicy): Accept suggested
filename
- loader/PolicyChecker.h:
Source/WebKit2:
A first draft implementation of this feature.
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::Download): Update to accept default filename.
(WebKit::Download::didStart): Send default filename in message.
- NetworkProcess/Downloads/Download.h:
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload): Expect a default filename argument.
- NetworkProcess/Downloads/DownloadManager.h:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::startDownload): Expect a default
filename argument.
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in: Update messages to
expect a default filename argument.
- Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode): Handle the download attribute flag and
the default filename.
(WebKit::NavigationActionData::decode): Ditto.
- Shared/NavigationActionData.h:
- UIProcess/API/APINavigationAction.h:
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didStart): Expect a default filename argument.
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename): Use the suggested
filename if the client delegate does not override it.
- UIProcess/Downloads/DownloadProxy.h:
- UIProcess/Downloads/DownloadProxy.messages.in: Include a default filename value.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision): If the feature is enabled, and
the load was started with a download attribute, convert a "PolicyUse" decision
to "PolicyDownload".
(WebKit::WebPageProxy::decidePolicyForNavigationAction): Remember if the load
is happening due to a 'download' attribute link.
- UIProcess/WebPageProxy.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow): Populate the navigationActionData object
with any download attribute and suggested filename.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Populate the
navigationActionData object with any download attribute and suggested filename.
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
(WebKit::WebFrameLoaderClient::startDownload): Expect a suggested filename argument.
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::startDownload): Expect a suggested filename argument.
- WebProcess/WebPage/WebFrame.h:
Source/WTF:
- wtf/FeatureDefines.h: Turn the ENABLE_DOWNLOAD_ATTRIBUTE flag
on to see what happens.
LayoutTests:
- imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt: Update for
<a download>.
- imported/w3c/web-platform-tests/html/dom/reflection-text-expected.txt: Ditto.
- js/dom/dom-static-property-for-in-iteration-expected.txt: Ditto.
- platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt: Ditto.
- 7:57 AM Changeset in webkit [198892] by
-
- 2 edits in trunk/LayoutTests
Marking three js/regress/string-repeat-* tests as flaky timeouts on Mac
https://bugs.webkit.org/show_bug.cgi?id=156062
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 5:32 AM EnvironmentVariables edited by
- (diff)
- 5:20 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 4:05 AM Changeset in webkit [198891] by
-
- 21 edits1 add in trunk
[Fetch API] Add basic loading of resources for Workers
https://bugs.webkit.org/show_bug.cgi?id=155886
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Updating test expectations as new tests are passing.
- web-platform-tests/fetch/api/basic/accept-header-worker-expected.txt:
- web-platform-tests/fetch/api/basic/integrity-worker-expected.txt:
- web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt:
- web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt:
- web-platform-tests/fetch/api/basic/request-forbidden-headers-worker-expected.txt:
- web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-blob-worker-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-others-worker-expected.txt:
- web-platform-tests/fetch/api/basic/stream-response-worker-expected.txt:
Source/WebCore:
Adding impplementation to WorkerGlobalScopeFetch::fetch similarly to DOMWindowFetch::fetch.
Refactored code in FetchResponse to share code between the two.
Updated WorkerThreadableLoader to cope with an ASSERT.
The ASSERT ensures that a DocumentThreadableLoader::create returns non null.
In our case, it might happen as all cross origin fetch requests are denied at the moment.
This leads to calling didFail in DocumentThreadableLoader::create call and DocumentThreadableLoader::create to return null.
Updated the ASSERT to ensures that either the load is finished or DocumentThreadableLoader::create does not return null.
Covered by rebased tests.
- Modules/fetch/DOMWindowFetch.cpp:
(WebCore::DOMWindowFetch::fetch):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::startFetching):
(WebCore::FetchResponse::fetch):
- Modules/fetch/FetchResponse.h:
- Modules/fetch/WorkerGlobalScopeFetch.cpp:
(WebCore::WorkerGlobalScopeFetch::fetch):
- Modules/fetch/WorkerGlobalScopeFetch.h:
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):
- loader/WorkerThreadableLoader.h:
LayoutTests:
Soup and Mac HTTP backends differ on Content-Length header handling.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt: Added.
- 3:31 AM Changeset in webkit [198890] by
-
- 7 edits in trunk/Source/WebCore
[Fetch API] Move isDisturbed handling to FetchBodyOwner
https://bugs.webkit.org/show_bug.cgi?id=155968
Reviewed by Darin Adler.
Moved isDisturbed handling in FetchBodyOwner.
This includes promise rejection in case of disturbed bodies.
No behavior change observable from user scripts.
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::arrayBuffer):
(WebCore::FetchBody::blob):
(WebCore::FetchBody::json):
(WebCore::FetchBody::text):
(WebCore::FetchBody::extractFromBody):
(WebCore::FetchBody::consume):
(WebCore::FetchBody::consumeArrayBuffer):
(WebCore::FetchBody::processIfEmptyOrDisturbed): Deleted.
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::isEmpty): Deleted.
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::arrayBuffer):
(WebCore::FetchBodyOwner::blob):
(WebCore::FetchBodyOwner::formData):
(WebCore::FetchBodyOwner::json):
(WebCore::FetchBodyOwner::text):
- Modules/fetch/FetchBodyOwner.h:
(WebCore::FetchBodyOwner::isDisturbed):
(WebCore::FetchBodyOwner::setDisturbed):
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::create):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::clone):
- 1:31 AM Changeset in webkit [198889] by
-
- 5 edits1 copy6 moves1 add in trunk
Remove forEach use from Fetch Headers builtin constructor
https://bugs.webkit.org/show_bug.cgi?id=155967
Reviewed by Joseph Pecoraro.
Source/WebCore:
Tests: fetch/shadowing-forEach.html
streams/shadowing-Promise.html
streams/shadowing-defineProperty.html
- Modules/fetch/FetchHeaders.idl: Adding fillFromJS private method.
- Modules/fetch/FetchHeaders.js:
(initializeFetchHeaders): Using fillFromJS private method. Using
instanceof test to check whether parameter is Headers or subclass of it.
- bindings/js/WebCoreBuiltinNames.h: Adding fillFromJS private symbol.
LayoutTests:
Renaming tests covering user scripts breaking some WebCore JS built ins.
- fetch/header-constructor-subclass-expected.txt: Added.
- fetch/header-constructor-subclass.html: Added.
- fetch/shadowing-forEach-expected.txt: Renamed from LayoutTests/streams/builtin-overrides-expected.txt.
- fetch/shadowing-forEach.html: Renamed from LayoutTests/fetch/builtin-overrides.html.
- streams/shadowing-Promise-expected.txt: Renamed from LayoutTests/streams/streams-promises-expected.txt.
- streams/shadowing-Promise.html: Renamed from LayoutTests/streams/streams-promises.html.
- streams/shadowing-defineProperty-expected.txt: Renamed from LayoutTests/fetch/builtin-overrides-expected.txt.
- streams/shadowing-defineProperty.html: Renamed from LayoutTests/streams/builtin-overrides.html.
- 1:26 AM Changeset in webkit [198888] by
-
- 18 edits4 adds in trunk/LayoutTests
[Fetch API] Update web-platform-test fetch API tests
https://bugs.webkit.org/show_bug.cgi?id=155969
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Resyncing tests and updated expectations.
New test web-platform-tests/fetch/api/request/request-cache.html is timing out.
- web-platform-tests/fetch/api/basic/scheme-blob-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-blob-worker-expected.txt:
- web-platform-tests/fetch/api/basic/scheme-blob.js:
(checkFetchResponse):
- web-platform-tests/fetch/api/headers/headers-basic.html:
- web-platform-tests/fetch/api/request/request-cache-expected.txt: Added.
- web-platform-tests/fetch/api/request/request-cache.html: Added.
- web-platform-tests/fetch/api/request/request-consume-empty.html:
- web-platform-tests/fetch/api/request/request-consume.html:
- web-platform-tests/fetch/api/request/request-idl-expected.txt:
- web-platform-tests/fetch/api/request/request-idl.html:
- web-platform-tests/fetch/api/request/request-init-002-expected.txt:
- web-platform-tests/fetch/api/request/request-init-002.html:
- web-platform-tests/fetch/api/request/resources/cache.py: Added.
(main):
- web-platform-tests/fetch/api/resources/utils.js:
(stringToArray):
(validateBufferFromString):
(validateStreamFromString):
- web-platform-tests/fetch/api/response/response-clone.html:
- web-platform-tests/fetch/api/response/response-consume-empty.html:
- web-platform-tests/fetch/api/response/response-consume.html:
- web-platform-tests/fetch/api/response/response-init-002.html:
LayoutTests:
- TestExpectations: Marking imported/w3c/web-platform-tests/fetch/api/request/request-cache.html as timing out.