Timeline
Sep 2, 2016:
- 11:04 PM Changeset in webkit [205397] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] -Wmissing-field-initializers on WaylandCompositor.cpp:295
https://bugs.webkit.org/show_bug.cgi?id=161524
Reviewed by Carlos Garcia Campos.
- UIProcess/gtk/WaylandCompositor.cpp:
- 10:52 PM Changeset in webkit [205396] by
-
- 13 edits5 copies4 adds in trunk
[Cocoa] Distinguish between paint advances and base advances
https://bugs.webkit.org/show_bug.cgi?id=160892
Reviewed by Simon Fraser.
Source/WebCore:
This patch introduces the concept of a layout (or "base") advance which is distinct
from a painting advance. In extremely complicated scripts such as Urdu, it is common
for a glyph advance to be negative in the horizontal direction, and have large advances
in the vertical direction. In particular, in cursive scripts, the glyph placement is
only indirectly related to where the actual characters lie. Conceptually, these glyph
locations are correct for painting, but are not correct when performing width
measurements.
In many text engines, glyph shaping actually can be split into two phases: adjusting
advances, and then placing glyphs relative to those advances. The secondary glyph
placement step is much more context-sensitive than the first step. In addition, when
multiple glyphs combine to form a character, it is common for one glyph to own the
full base advance for the character, and for the other glyphs in the character to
have zero base advances. (Then, in the glyph placement phase, the other glyphs get
placed all around.)
Because of the context-insensitivity of the base advances, it is valuable to use
these for text measurement. Then, when we want to paint, we should add in the extra
origins. This dramatically improves the layout of complex fonts like Noto Nastaliq.
This patch migrates WebKit to use this two-phase shaping.
No new tests just yet, because I have to create a font which exercises the
advanced glyph placement support.
- platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBufferAdvance::setHeight):
(WebCore::GlyphBufferAdvance::setWidth): Deleted.
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::shouldDisableLayoutSpecificAdvances):
(WebCore::TextRun::setShouldDisableLayoutSpecificAdvances):
(WebCore::TextRun::spacingDisabled): Deleted.
(WebCore::TextRun::setCharacterScanForCodePath): Deleted.
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::ComplexTextController):
(WebCore::ComplexTextController::offsetForPosition):
(WebCore::ComplexTextController::collectComplexTextRuns):
(WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
(WebCore::ComplexTextController::runWidthSoFarFraction):
(WebCore::ComplexTextController::advance):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
- platform/graphics/mac/ComplexTextController.h:
(WebCore::ComplexTextController::ComplexTextRun::create):
(WebCore::ComplexTextController::ComplexTextRun::baseAdvances):
(WebCore::ComplexTextController::ComplexTextRun::glyphOrigins):
(WebCore::ComplexTextController::useLayoutSpecificAdvances):
(WebCore::ComplexTextController::finalRoundingWidth): Deleted.
(WebCore::ComplexTextController::ComplexTextRun::advances): Deleted.
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(SOFT_LINK):
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
- platform/spi/cocoa/CoreTextSPI.h:
LayoutTests:
Update tests. There are some expected (small) changes in metrics due to this patch.
- platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.png: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png.
- platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.txt: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt.
- platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.png: Copied from LayoutTests/platform/mac/css2.1/t1508-c527-font-00-b-expected.png.
- platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.txt: Added.
- platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.png: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png.
- platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt.
- platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png:
- platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
- platform/mac/css2.1/t1508-c527-font-00-b-expected.png:
- platform/mac/css2.1/t1508-c527-font-00-b-expected.txt: Added.
- platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png:
- platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt:
- 10:45 PM Changeset in webkit [205395] by
-
- 8 edits in trunk/Source/WebKit2
[Threaded Compositor] Move the viewport controller off the compositing thread
https://bugs.webkit.org/show_bug.cgi?id=161532
Reviewed by Michael Catanzaro.
While working on bug #161242 I've realized that having the view port controller in the compositing thread makes
everything more complex. The viewport controller receives changes about things like contents size, viewport
size, etc. and uses that information to compute the visible contents rect and page scale factor. Then it
notifies back to main thread about the computed visible contents rect and page scale. Those computations are not
heave at all, so they could be done in the main thread and we would avoid communications between the main and
compositing thread in both directions. The main thread needs the visible contents rect to notify the compositing
coordinator and the page cale to scale the page in case of pixed layout. But the compositing thread only needs
to know the effective scale and scroll position. So, instead of going to the compositing thread after every
change that might update the visible contents rect and page scale factor, we could do those calculations in the
main thread and only notify the compositing thread about the actual changes in the scroll position and effective scale.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::createTilesIfNeeded): Return early if backingStore is nullptr, which can
happen if the layer shouldn't have a backing store and was removed by the previous call to prepareContentBackingStore().
(WebKit::CoordinatedGraphicsScene::updateTilesIfNeeded): Ditto.
- Shared/CoordinatedGraphics/SimpleViewportController.cpp:
(WebKit::SimpleViewportController::SimpleViewportController): Remove the client since we no longer need to
notify about changes.
(WebKit::SimpleViewportController::didChangeViewportSize): Remove call to syncVisibleContents().
(WebKit::SimpleViewportController::didChangeContentsSize): Ditto.
(WebKit::SimpleViewportController::didChangeViewportAttributes): Ditto.
(WebKit::SimpleViewportController::didScroll): Removed unused scrollBy methods and renamed scrollTo as
didiScroll for consistency. Save the position without calling boundContentsPosition, because that's already
donde when the position is used to compute the contents visible rectangle.
(WebKit::SimpleViewportController::visibleContentsRect): No need to notify about the changes.
(WebKit::SimpleViewportController::visibleContentsSize): Deleted.
- Shared/CoordinatedGraphics/SimpleViewportController.h:
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::create): Pass a reference to the client instead of a pointer. It's no longer
possible to have a valid pointer when the object has been destroyed, so we can better use a reference now.
(WebKit::ThreadedCompositor::ThreadedCompositor): Ditto.
(WebKit::ThreadedCompositor::~ThreadedCompositor): Remove assert.
(WebKit::ThreadedCompositor::invalidate): No need to invalidate the client.
(WebKit::ThreadedCompositor::setScaleFactor): Set the effective scale factor that should be used for rendering.
(WebKit::ThreadedCompositor::setScrollPosition): Set the current scroll position and effective scale factor.
(WebKit::ThreadedCompositor::setViewportSize): Set the viewport size and effective scale factor.
(WebKit::ThreadedCompositor::renderNextFrame): Update m_client use that is no longer a pointer.
(WebKit::ThreadedCompositor::commitScrollOffset): Ditto.
(WebKit::ThreadedCompositor::renderLayerTree): Call glViewport after a resize and use m_viewportSize,
m_scrollPosition and m_scaleFactor members.
(WebKit::ThreadedCompositor::didChangeVisibleRect): Deleted.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost): Pass the compositor client as a
reference to ThreadedCompositor constructor.
(WebKit::ThreadedCoordinatedLayerTreeHost::scrollNonCompositedContents): Update the viewport and call didChangeViewport().
(WebKit::ThreadedCoordinatedLayerTreeHost::contentsSizeChanged): Ditto.
(WebKit::ThreadedCoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged): Pass the effective scale factor to
the compositor.
(WebKit::ThreadedCoordinatedLayerTreeHost::sizeDidChange): Update the viewport, the compositor and call didChangeViewport().
(WebKit::ThreadedCoordinatedLayerTreeHost::didChangeViewportProperties): Update the viewport and call didChangeViewport().
(WebKit::ThreadedCoordinatedLayerTreeHost::didChangeViewport): Notify the compositing coordinator about the new
visible contents rectangle, and update the threaded compositor if needed.
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.h:
- 10:24 PM Changeset in webkit [205394] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix archive-built-product step in GTK+ bots after r205280.
- BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct): Do not copy to the archive the files needed to run GObject DOM bindings API breaks tests
that no longer exist.
- 7:11 PM Changeset in webkit [205393] by
-
- 2 edits in trunk/Source/WebKit/win
Build fix attempt after r205381.
- WebCoreSupport/WebEditorClient.h:
- 5:53 PM Changeset in webkit [205392] by
-
- 3 edits2 adds in trunk
Should never be reached failure in WebCore::floatValueForLength
https://bugs.webkit.org/show_bug.cgi?id=139397
<rdar://problem/27704376>
Reviewed by Simon Fraser.
Source/WebCore:
floatValueForLength can't resolve unspecified Length types. Filter them out and return 0 as if they were auto.
Test: svg/css/assert-on-non-resolvable-dimension.html
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::valueForLength):
LayoutTests:
- svg/css/assert-on-non-resolvable-dimension-expected.txt: Added.
- svg/css/assert-on-non-resolvable-dimension.html: Added.
- 5:34 PM Changeset in webkit [205391] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Remove unnecessary RetainPtr in NeverDestroyed value
https://bugs.webkit.org/show_bug.cgi?id=161553
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-02
Reviewed by Daniel Bates.
- platform/ios/WebCoreMotionManager.mm:
(+[WebCoreMotionManager sharedManager]):
- 5:32 PM Changeset in webkit [205390] by
-
- 5 edits in trunk
URLParser should parse file URLs
https://bugs.webkit.org/show_bug.cgi?id=161556
Reviewed by Tim Horton.
Source/WebCore:
Added new API tests.
- platform/URLParser.cpp:
(WebCore::isWindowsDriveLetter):
(WebCore::shouldCopyFileURL):
(WebCore::URLParser::parse):
(WebCore::URLParser::parseHost):
- platform/URLParser.h:
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::checkURLDifferences):
- 5:22 PM Changeset in webkit [205389] by
-
- 2 edits in trunk/JSTests
Unreviewed fix after importing Chakra test
- ChakraCore.yaml: Skipped ChakraCore/test/UnifiedRegex/crazy.js because the original
test contained tab characters. I removed the tabs before landing. This test depended
on the tab characters and now fails after they were removed.
test.
- 5:21 PM Changeset in webkit [205388] by
-
- 2 edits1 copy2 adds in trunk/LayoutTests
Rebaseline editing/secure-input/removed-password-input.html after r205381.
Unreviewed test gardening.
- editing/secure-input/removed-password-input-expected.txt:
- platform/wk2/editing/secure-input/removed-password-input-expected.txt: Copied from LayoutTests/editing/secure-input/removed-password-input-expected.txt.
- 5:12 PM Changeset in webkit [205387] by
-
- 5 edits3955 adds in trunk
Import Chakra tests to JSC
https://bugs.webkit.org/show_bug.cgi?id=154697
Reviewed by Saam Barati.
Added Chakra tests. All these tests are under Chakra/test. This is the same layout
for tests in the Chakra tree.
Created a ChakraCore.yaml file to be used with run-jsc-stress-tests. This file contains
the tests that are run when the original Chakra runtests.py script is run. That script
is the test driver for *nix platforms and does not attempt to run all tests or all
variations of tests. The runtest.py driver consults rlexe.xml files in each test
subdirectory to determine the test to run, the options to pass to the test and how to
determine pass/fail of the test. With runtests.py as the start, tests that didn't
pass directly where either skipped, with a message describing why or through
adjustments to the test infrastructure, as described below, where made to pass.
The only modification to the test infrastrucutre are:
1) Added simple mapping of Chakra expected exception text to JSC expected text in
test/UnitTestFramework/UnitTestFramework.js. It would make sense to also
map some JSC specific exception text to more generic text for the cases where
that text contains indetifier names or other source specific strings and the
Chakra equivolent exception texts are generic.
2) Created JSC specific expected text files where it is clear that the text work
as expected on JSC but the test output is different. Typically the differences
fall into three categories, different exception output, different output from
toString() of a function, slight numeric differences, and test that rely on
iteration order.
3) Stripped the CR's from the CR-LF line terminations of the files.
No actual test .js files were modified.
- 5:09 PM Changeset in webkit [205386] by
-
- 7 edits in trunk
Add validations for a synchronously constructed custom element
https://bugs.webkit.org/show_bug.cgi?id=161528
Reviewed by Yusuke Suzuki.
Source/WebCore:
The latest DOM specification has sanity checks when creating an element with the synchronous custom elements flag set
in 6.1.3 through 10:
- If result does not implement the HTMLElement interface, throw a TypeError.
- If result's attribute list is not empty, then throw a NotSupportedError.
- If result has children, then throw a NotSupportedError.
- If result's parent is not null, then throw a NotSupportedError.
- If result's node document is not document, then throw a NotSupportedError.
- If result's namespace is not the HTML namespace, then throw a NotSupportedError.
- If result's local name is not equal to localName, then throw a NotSupportedError.
Add all these checks to JSCustomElementInterface::constructElement.
Tests: fast/custom-elements/Document-createElement.html
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::constructElement): Report the exception thrown during parsing instead of just
clearing and ignoring it.
(WebCore::constructCustomElementSynchronously): Extracted out of constructElement so that we can also catch TypeError
and NotSupportedError we throw in constructElement for the parser.
LayoutTests:
Added test cases for sanity checks in step 6.1. of https://dom.spec.whatwg.org/#concept-create-element
and updated other test cases per those changes.
- fast/custom-elements/Document-createElement-expected.txt:
- fast/custom-elements/Document-createElement.html:
- fast/custom-elements/defined-pseudo-class-expected.txt: Rebaselined now that exceptions thrown while constructing
a custom element is reported in the console.
- fast/custom-elements/parser/parser-fallsback-to-unknown-element-expected.txt: Ditto.
- 5:04 PM Changeset in webkit [205385] by
-
- 2 edits in trunk/LayoutTests
Marking two editing/mac/spelling tests as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161411
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 4:35 PM Changeset in webkit [205384] by
-
- 3 edits2 adds in trunk
ASSERT_NOT_REACHED() is touched in WebCore::valueForLength
https://bugs.webkit.org/show_bug.cgi?id=123337
<rdar://problem/27684121>
Reviewed by Simon Fraser.
Source/WebCore:
Do not try to use unspecified height value while resolving logical height for table row.
Test: fast/table/assert-on-non-resolvable-row-dimension.html
- rendering/RenderTableCell.h:
(WebCore::RenderTableCell::logicalHeightForRowSizing):
LayoutTests:
- fast/table/assert-on-non-resolvable-row-dimension-expected.txt: Added.
- fast/table/assert-on-non-resolvable-row-dimension.html: Added.
- 4:25 PM Changeset in webkit [205383] by
-
- 6 edits in trunk
Temporarily break customElements.whenDefined to remove flaky crashes
https://bugs.webkit.org/show_bug.cgi?id=161555
Reviewed by Chris Dumez.
Source/WebCore:
Remove HashMap of DeferredWrapper which causes a crash during destruction.
This breaks the semantics of "whenDefined" for now.
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::whenDefinedPromise):
- dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::addElementDefinition):
- dom/CustomElementRegistry.h:
(WebCore::CustomElementRegistry::promiseMap): Deleted.
LayoutTests:
Rebaseline the test now that some test cases are failing due to the partial rollout.
- fast/custom-elements/CustomElementRegistry-expected.txt:
- 4:18 PM Changeset in webkit [205382] by
-
- 13 edits3 deletes in trunk
Unreviewed, rolling out r205373.
This change causes LayoutTest crashes under GuardMalloc
Reverted changeset:
"[Cocoa] Distinguish between paint advances and base advances"
https://bugs.webkit.org/show_bug.cgi?id=160892
http://trac.webkit.org/changeset/205373
- 4:14 PM Changeset in webkit [205381] by
-
- 14 edits in trunk
Need to updateEditorState if an element change edit-ability without changing
selection
https://bugs.webkit.org/show_bug.cgi?id=161546
-and corresponding-
rdar://problem/27806012
Reviewed by Ryosuke Niwa.
Source/WebCore:
Call into the client in case edited state needs to be updated.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::updateAppearanceAfterLayout):
- loader/EmptyClients.h:
- page/EditorClient.h:
Source/WebKit/mac:
Every time WebEditorClient::respondToChangedSelection is called, we now save
whether the last state was contentEditable. That way in
updateEditorStateAfterLayoutIfNeeded() we can assess whether or not edit-ability
has changed.
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::respondToChangedSelection):
(WebEditorClient:: updateEditorStateAfterLayoutIfEditabilityChanged):
Source/WebKit2:
Every time WebPage::editorState() is called, we now save whether the last state
was contentEditable. That way in updateEditorStateAfterLayoutIfNeeded() we can
assess whether or not edit-ability has changed.
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient:: updateEditorStateAfterLayoutIfEditabilityChanged):
- WebProcess/WebCoreSupport/WebEditorClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):
(WebKit::WebPage:: updateEditorStateAfterLayoutIfEditabilityChanged):
(WebKit::WebPage::didStartPageTransition):
- WebProcess/WebPage/WebPage.h:
LayoutTests:
This patch seems to have fixed a bug!
- editing/secure-input/removed-password-input-expected.txt:
- 4:13 PM Changeset in webkit [205380] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Remove some more useless cases from FTL Capabilities
https://bugs.webkit.org/show_bug.cgi?id=161466
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-02
Reviewed by Geoffrey Garen.
Some cases do not make sense:
-In: Fixup only generate CellUse.
-PutByIdXXX: same.
-GetIndexedPropertyStorage: those cases are the only ones supported
by DFG. We would have crashed in SpeculativeJIT if other modes
were generated.
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compilePutById):
(JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
- 3:52 PM Changeset in webkit [205379] by
-
- 14 edits in trunk
WebKitTestRunner needs layoutTestController.setDashboardCompatibilityMode
https://bugs.webkit.org/show_bug.cgi?id=42547
Source/WebKit2:
Reviewed by Darin Adler.
Added access to setUseDashBoardCompatibilityMode for WebKit2.
Note: this bug mistakenly called this function setDashboardCompatibilityMode, it is actually setUseDashboardCompatibilityMode.
- WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetUseDashboardCompatibilityMode): Added dashboard compatiblity mode setter.
- WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Ditto.
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setUseDashboardCompatibilityMode): Ditto.
- WebProcess/InjectedBundle/InjectedBundle.h: Ditto.
Tools:
Reviewed by Darin Adler.
Added JavaScript bindings and C++ implementation of setUseDashboardCompatibilityMode for the WebKit2 sTestRunner.
Note: this bug mistakenly called this function setDashboardCompatibilityMode, it is actually setUseDashboardCompatibilityMode.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Added dashboard compatiblity mode setter.
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting): Reset dashboard compatibility mode.
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setJavaScriptCanAccessClipboard): Code style changes.
(WTR::TestRunner::setPrivateBrowsingEnabled): Code style changes.
(WTR::TestRunner::setUseDashboardCompatibilityMode): Added dashboard compatiblity mode setter.
(WTR::TestRunner::setPopupBlockingEnabled): Code style changes.
(WTR::TestRunner::setAuthorAndUserStylesEnabled): Code style changes.
(WTR::TestRunner::addOriginAccessWhitelistEntry): Code style changes.
- WebKitTestRunner/InjectedBundle/TestRunner.h: Added dashboard compatiblity mode setter.
LayoutTests:
Reviewed by Darin Adler.
The addition of setUseDashboardCompatibilityMode to the WebKit2 TestRunner means the set of tests removed from the expected failures list now pass.
Note: this bug mistakenly called this function setDashboardCompatibilityMode, it is actually setUseDashboardCompatibilityMode.
- platform/ios-simulator-wk2/TestExpectations: Changed reason test was excluded.
- platform/wk2/TestExpectations: Remove tests which use setUseDashboardCompatibilityMode from expected failures.
- 3:44 PM Changeset in webkit [205378] by
-
- 4 edits in trunk/Source
[Mac] RetainPtr misuse, AnimationController leaks
https://bugs.webkit.org/show_bug.cgi?id=161552
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-02
Reviewed by Tim Horton.
Source/WebKit/mac:
- WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]):
Source/WebKit2:
- UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _defaultAnimationController]):
- 3:42 PM Changeset in webkit [205377] by
-
- 2 edits in trunk/Source/WebKit2
[Mac] RetainPtr misuse, DDActionContext leaks
https://bugs.webkit.org/show_bug.cgi?id=161551
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-02
Reviewed by Tim Horton.
- Platform/mac/MenuUtilities.mm:
(WebKit::menuItemForTelephoneNumber):
(WebKit::menuForTelephoneNumber):
- 3:29 PM Changeset in webkit [205376] by
-
- 2 edits in trunk/LayoutTests
Marking editing/pasteboard/5478250.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161366
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 2:52 PM Changeset in webkit [205375] by
-
- 2 edits in trunk/Source/WebKit2
Fix Mac CMake build, missing _WKRemoteWebInspectorViewController.mm
Unreviewed build fix.
- PlatformMac.cmake:
- 2:50 PM Changeset in webkit [205374] by
-
- 5 edits2 adds in trunk
ASSERTION FAILED: !m_committedWidth in WebCore::LineWidth::fitBelowFloats
https://bugs.webkit.org/show_bug.cgi?id=149462
<rdar://problem/27710841>
Reviewed by David Hyatt.
Source/WebCore:
In certain cases (multiple spans on the same line with negativ marings), the LineWidth::m_committedWidth > 0
check is not sufficient to decide if some content has already been committed to the current line.
This patch adds a flag to indicate if we ever committed to the current line.
Test: fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit.html
- rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleText):
- rendering/line/LineWidth.h:
(WebCore::LineWidth::hasCommitted):
LayoutTests:
- fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit-expected.txt: Added.
- fast/text/assert-when-text-with-negative-margin-sibling-does-not-fit.html: Added.
- 2:43 PM Changeset in webkit [205373] by
-
- 13 edits5 copies4 adds in trunk
[Cocoa] Distinguish between paint advances and base advances
https://bugs.webkit.org/show_bug.cgi?id=160892
Reviewed by Simon Fraser.
Source/WebCore:
This patch introduces the concept of a layout (or "base") advance which is distinct
from a painting advance. In extremely complicated scripts such as Urdu, it is common
for a glyph advance to be negative in the horizontal direction, and have large advances
in the vertical direction. In particular, in cursive scripts, the glyph placement is
only indirectly related to where the actual characters lie. Conceptually, these glyph
locations are correct for painting, but are not correct when performing width
measurements.
In many text engines, glyph shaping actually can be split into two phases: adjusting
advances, and then placing glyphs relative to those advances. The secondary glyph
placement step is much more context-sensitive than the first step. In addition, when
multiple glyphs combine to form a character, it is common for one glyph to own the
full base advance for the character, and for the other glyphs in the character to
have zero base advances. (Then, in the glyph placement phase, the other glyphs get
placed all around.)
Because of the context-insensitivity of the base advances, it is valuable to use
these for text measurement. Then, when we want to paint, we should add in the extra
origins. This dramatically improves the layout of complex fonts like Noto Nastaliq.
This patch migrates WebKit to use this two-phase shaping.
No new tests just yet, because I have to create a font which exercises the
advanced glyph placement support.
- platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBufferAdvance::setHeight):
(WebCore::GlyphBufferAdvance::setWidth): Deleted.
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::shouldDisableLayoutSpecificAdvances):
(WebCore::TextRun::setShouldDisableLayoutSpecificAdvances):
(WebCore::TextRun::spacingDisabled): Deleted.
(WebCore::TextRun::setCharacterScanForCodePath): Deleted.
- platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::ComplexTextController):
(WebCore::ComplexTextController::offsetForPosition):
(WebCore::ComplexTextController::collectComplexTextRuns):
(WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
(WebCore::ComplexTextController::runWidthSoFarFraction):
(WebCore::ComplexTextController::advance):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
- platform/graphics/mac/ComplexTextController.h:
(WebCore::ComplexTextController::ComplexTextRun::create):
(WebCore::ComplexTextController::ComplexTextRun::baseAdvances):
(WebCore::ComplexTextController::ComplexTextRun::glyphOrigins):
(WebCore::ComplexTextController::useLayoutSpecificAdvances):
(WebCore::ComplexTextController::finalRoundingWidth): Deleted.
(WebCore::ComplexTextController::ComplexTextRun::advances): Deleted.
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(SOFT_LINK):
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
- platform/spi/cocoa/CoreTextSPI.h:
LayoutTests:
Update tests. There are some expected (small) changes in metrics due to this patch.
- platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.png: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png.
- platform/mac-elcapitan/css2.1/t051202-c26-psudo-nest-00-c-expected.txt: Copied from LayoutTests/platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt.
- platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.png: Copied from LayoutTests/platform/mac/css2.1/t1508-c527-font-00-b-expected.png.
- platform/mac-elcapitan/css2.1/t1508-c527-font-00-b-expected.txt: Added.
- platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.png: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png.
- platform/mac-elcapitan/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt: Copied from LayoutTests/platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt.
- platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.png:
- platform/mac/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
- platform/mac/css2.1/t1508-c527-font-00-b-expected.png:
- platform/mac/css2.1/t1508-c527-font-00-b-expected.txt: Added.
- platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.png:
- platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt:
- 2:41 PM Changeset in webkit [205372] by
-
- 41 edits3 adds2 deletes in trunk
Unreviewed, roll out r205354 because it caused JSC test failures
Source/JavaScriptCore:
- jsc.cpp:
- runtime/JSGlobalObject.cpp:
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::allowsAccessFrom):
(JSC::JSGlobalObject::setDebugger): Deleted.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::GlobalFuncProtoGetterFunctor::GlobalFuncProtoGetterFunctor):
(JSC::GlobalFuncProtoGetterFunctor::result):
(JSC::GlobalFuncProtoGetterFunctor::operator()):
(JSC::globalFuncProtoGetter):
(JSC::GlobalFuncProtoSetterFunctor::GlobalFuncProtoSetterFunctor):
(JSC::GlobalFuncProtoSetterFunctor::allowsAccess):
(JSC::GlobalFuncProtoSetterFunctor::operator()):
(JSC::checkProtoSetterAccessAllowed):
(JSC::globalFuncProtoSetter):
- runtime/JSGlobalObjectFunctions.h:
- runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::JSObject::allowsAccessFrom):
- runtime/JSObject.h:
- runtime/JSProxy.cpp:
- runtime/JSProxy.h:
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructorGetPrototypeOfFunctor::ObjectConstructorGetPrototypeOfFunctor):
(JSC::ObjectConstructorGetPrototypeOfFunctor::result):
(JSC::ObjectConstructorGetPrototypeOfFunctor::operator()):
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorSetPrototypeOf):
- runtime/ObjectConstructor.h:
- runtime/ReflectObject.cpp:
(JSC::reflectObjectGetPrototypeOf):
(JSC::reflectObjectSetPrototypeOf):
Source/WebCore:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::shouldAllowAccessFrom):
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::preventExtensions): Deleted.
(WebCore::JSDOMWindow::setLocation): Deleted.
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::preventExtensions): Deleted.
(WebCore::JSLocationPrototype::putDelegate): Deleted.
(WebCore::JSLocationPrototype::defineOwnProperty): Deleted.
- bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::allowsAccessFrom):
- bindings/js/JSWorkerGlobalScopeBase.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- bindings/scripts/IDLAttributes.txt:
- page/DOMWindow.idl:
- page/Location.idl:
LayoutTests:
- fast/dom/Window/script-tests/window-custom-prototype.js: Added.
- fast/dom/Window/window-custom-prototype-crash-expected.txt:
- fast/dom/Window/window-custom-prototype-expected.txt: Added.
- fast/dom/Window/window-custom-prototype.html: Added.
- http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf.html:
- http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-setPrototypeOf.html:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto.html:
- http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-method-with-iframe-proto.html:
- http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto.html:
- http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto.html:
- js/dom/setPrototypeOf-location-window-expected.txt: Removed.
- js/dom/setPrototypeOf-location-window.html: Removed.
- js/object-literal-shorthand-construction-expected.txt:
- js/script-tests/object-literal-shorthand-construction.js:
- js/script-tests/sloppy-getter-setter-global-object.js:
- js/sloppy-getter-setter-global-object-expected.txt:
- 2:23 PM Changeset in webkit [205371] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed build fix; partial roll out of r205365 to remove unintentional change in WKWebView.mm.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- 1:57 PM Changeset in webkit [205370] by
-
- 6 edits in trunk/Source/WebKit2
Web Inspector: If inspector process crashes, re-inspecting the page does not work
https://bugs.webkit.org/show_bug.cgi?id=161502
<rdar://problem/28120368>
Reviewed by Brian Burg.
This is an issue on Mac because WebInspectorProxyMac's platformDidClose
doesn't immediately get rid of the WKWebView for the inspector. This is
intended so that a quick close and reopen of Web Inspector is faster,
however in the case where the WebPage under the WKWebView crashed, we
actually should clear things instead of using the timer path. Provide
a stronger platform close handler when the inspector page crashed.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::closeForCrash):
(WebKit::webProcessDidCrash):
(WebKit::WebInspectorProxy::platformDidCloseForCrash):
Go through a stronger path when the web process crashes.
Some platforms may want to handle this differently then the user
closing a web inspector window.
- UIProcess/WebInspectorProxy.h:
- UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformDidCloseForCrash):
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformDidCloseForCrash):
These platforms do not need to do anything special.
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::closeTimerFired):
Loosen this code. There is no need for it to be so strict.
(WebKit::WebInspectorProxy::platformDidCloseForCrash):
If the inspector page crashed, close our handles immediately.
- 1:57 PM Changeset in webkit [205369] by
-
- 26 edits2 copies11 adds in trunk/Source
Web Inspector: Provide a way to open an inspector frontend for a remote target
https://bugs.webkit.org/show_bug.cgi?id=161515
<rdar://problem/13182127>
Reviewed by Brian Burg.
Source/WebCore:
Previously WebKit inspector frontend clients could only
create a frontend for a web page with the latest protocol.
Now it may create a frontend for a "javascript" or "web"
debuggable that may be current or an older protocol.
The frontend already supports these configurations by
checking and calling InspectorFrontendHost methods
that may or may not have existed previously:
- debuggableType was always "web" but frontend supports "javascript"
- inspectorBackendCommandsURLs was absent so the frontend used the most current
- rename this to backendCommandsURL
Formalize the methods and have them delegate to the
frontend client opening the frontend.
- inspector/InspectorFrontendClient.h:
(WebCore::InspectorFrontendClient::backendCommandsURL):
(WebCore::InspectorFrontendClient::debuggableType):
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::localizedStringsURL):
(WebCore::InspectorFrontendHost::backendCommandsURL):
(WebCore::InspectorFrontendHost::debuggableType):
- inspector/InspectorFrontendHost.h:
- inspector/InspectorFrontendHost.idl:
Formalize and give default values to InspectorFrontentHost methods.
Source/WebInspectorUI:
- UserInterface/Base/InspectorFrontendHostStub.js:
(WebInspector.InspectorFrontendHostStub.prototype.backendCommandsURL):
Stub new InspectorFrontendHost methods. This value causes the
frontend to load the latest protocol.
- UserInterface/Protocol/LoadInspectorBackendCommands.js:
Use formalized backendCommandsURL, and if empty load the latest protocol.
Source/WebKit2:
Provide an interface to open a Web Inspector window/webView for a
remote debuggable. Unlike the local Web Inspector, the remote
debuggable may be either a JSContext or WebPage, and may only
support an older version of the protocol. The Inspector frontend
already supports these configurations.
This adds new RemoteWebInspector/Proxy classes that mirror the
WebInspector/Proxy classes for local inspection, but have
slightly different behavior as the inspected target is not
directly available (and may not be a web page).
The remote and local classes share a lot of inspector
frontend implementation:
- share most of the inspector frontend host implementation
- share much of the frontend webview/window handling
- use an inspector process for the frontend page
But remains separate in some ways:
- inspected target is unavailable
- docking is never available
- a few inspector frontend host methods are duplicated
- some of the webview/window handling is duplicated
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.h: Added.
- UIProcess/API/Cocoa/_WKRemoteWebInspectorViewController.mm: Added.
(-[_WKRemoteWebInspectorViewController init]):
(-[_WKRemoteWebInspectorViewController window]):
(-[_WKRemoteWebInspectorViewController webView]):
(-[_WKRemoteWebInspectorViewController loadForDebuggableType:backendCommandsURL:]):
(-[_WKRemoteWebInspectorViewController close]):
(-[_WKRemoteWebInspectorViewController show]):
(-[_WKRemoteWebInspectorViewController sendMessageToFrontend:]):
(-[_WKRemoteWebInspectorViewController sendMessageToBackend:]):
(-[_WKRemoteWebInspectorViewController closeFromFrontend]):
The interface that may be used to open an inspector window for
a remote debuggable. There are only a few delegates to handle
sending messages to the backend and knowing if the frontend
closed itself (InspectorFrontendHost.closeWindow() or crashed).
- UIProcess/WebInspectorUtilities.h:
- UIProcess/WebInspectorUtilities.cpp: Added.
(WebKit::pageLevelMap):
(WebKit::inspectorLevelForPage):
(WebKit::inspectorPageGroupIdentifierForPage):
(WebKit::trackInspectorPage):
(WebKit::untrackInspectorPage):
(WebKit::inspectorProcessPool):
(WebKit::isInspectorProcessPool):
(WebKit::isInspectorPage):
Extract utilities for determining if a page contains an inspector frontend.
Previously this was part of WebInspectorProxy and subclasses but can
now be used by multiple classes.
- UIProcess/WebInspectorProxy.h:
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::inspectionLevel):
(WebKit::WebInspectorProxy::invalidate):
(WebKit::WebInspectorProxy::isMainOrTestInspectorPage):
(WebKit::decidePolicyForNavigationAction):
(WebKit::WebInspectorProxy::eagerlyCreateInspectorPage):
(WebKit::WebInspectorProxy::didClose):
(WebKit::pageLevelMap): Deleted.
(WebKit::WebInspectorProxy::inspectorPageGroupIdentifier): Deleted.
(WebKit::WebInspectorProxy::inspectorProcessPool): Deleted.
(WebKit::WebInspectorProxy::isInspectorProcessPool): Deleted.
(WebKit::WebInspectorProxy::isInspectorPage): Deleted.
(WebKit::isMainOrTestInspectorPage): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getLaunchOptions):
- UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
- UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Extract methods to utilities and use them.
Also address an issue where WebInspectorProxy was untracking
the wrong page. It should have been untracking the inspector
page but was untracking the inspected page.
- UIProcess/RemoteWebInspectorProxy.cpp: Added.
(WebKit::RemoteWebInspectorProxy::RemoteWebInspectorProxy):
(WebKit::RemoteWebInspectorProxy::~RemoteWebInspectorProxy):
(WebKit::RemoteWebInspectorProxy::invalidate):
(WebKit::RemoteWebInspectorProxy::load):
(WebKit::RemoteWebInspectorProxy::closeFromBackend):
(WebKit::RemoteWebInspectorProxy::closeFromCrash):
(WebKit::RemoteWebInspectorProxy::show):
(WebKit::RemoteWebInspectorProxy::sendMessageToFrontend):
(WebKit::RemoteWebInspectorProxy::frontendDidClose):
(WebKit::RemoteWebInspectorProxy::bringToFront):
(WebKit::RemoteWebInspectorProxy::save):
(WebKit::RemoteWebInspectorProxy::append):
(WebKit::RemoteWebInspectorProxy::startWindowDrag):
(WebKit::RemoteWebInspectorProxy::openInNewTab):
(WebKit::RemoteWebInspectorProxy::sendMessageToBackend):
(WebKit::RemoteWebInspectorProxy::createFrontendPageAndWindow):
(WebKit::RemoteWebInspectorProxy::closeFrontendPageAndWindow):
This class behaves like WebInspectorProxy but without having a
reference to the inspected target. It communicates with
RemoteInspectorUI in an Inspector process to send and receive
frontend messages. What can't be easily shared is duplicated.
- UIProcess/mac/RemoteWebInspectorProxyMac.mm: Added.
(-[WKRemoteWebInspectorProxyObjCAdapter initWithRemoteWebInspectorProxy:]):
(-[WKRemoteWebInspectorProxyObjCAdapter webViewWebContentProcessDidTerminate:]):
(-[WKRemoteWebInspectorProxyObjCAdapter webView:decidePolicyForNavigationAction:decisionHandler:]):
(WebKit::RemoteWebInspectorProxy::platformCreateFrontendPageAndWindow):
(WebKit::RemoteWebInspectorProxy::platformCloseFrontendPageAndWindow):
(WebKit::RemoteWebInspectorProxy::platformBringToFront):
(WebKit::RemoteWebInspectorProxy::platformSave):
(WebKit::RemoteWebInspectorProxy::platformAppend):
(WebKit::RemoteWebInspectorProxy::platformStartWindowDrag):
(WebKit::RemoteWebInspectorProxy::platformOpenInNewTab):
Platform implementation for the bits that are platform specific.
What can't be easily shared is duplicated. Ideally we will
eventually share this with WebInspectorProxyMac.
- UIProcess/mac/WKWebInspectorWKWebView.h:
- UIProcess/mac/WKWebInspectorWKWebView.mm: Added.
(WebKit::getWindowFrame):
(WebKit::setWindowFrame):
(WebKit::exceededDatabaseQuota):
(WebKit::runOpenPanel):
(-[WKWebInspectorWKWebView initWithFrame:configuration:]):
(-[WKWebInspectorWKWebView tag]):
Extract Mac platform code for the inspector webview from WebInspectorProxyMac.
- UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::closeTimerFired):
(WebKit::WebInspectorProxy::createInspectorWindow):
(WebKit::WebInspectorProxy::createFrontendConfiguration):
(WebKit::WebInspectorProxy::createFrontendWindow):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
(-[WKWebInspectorWKWebView tag]): Deleted.
(WebKit::getWindowFrame): Deleted.
(WebKit::setWindowFrame): Deleted.
(WebKit::exceededDatabaseQuota): Deleted.
(WebKit::runOpenPanel): Deleted.
Extact Mac platform code to be shared for construction of a
WKWebViewConfiguration, WKWebView, and NSWindow for an inspector webview.
- WebProcess/WebPage/RemoteWebInspectorUI.cpp: Added.
(WebKit::RemoteWebInspectorUI::create):
(WebKit::RemoteWebInspectorUI::RemoteWebInspectorUI):
(WebKit::RemoteWebInspectorUI::initialize):
(WebKit::RemoteWebInspectorUI::didSave):
(WebKit::RemoteWebInspectorUI::didAppend):
(WebKit::RemoteWebInspectorUI::sendMessageToFrontend):
(WebKit::RemoteWebInspectorUI::sendMessageToBackend):
(WebKit::RemoteWebInspectorUI::windowObjectCleared):
(WebKit::RemoteWebInspectorUI::frontendLoaded):
(WebKit::RemoteWebInspectorUI::startWindowDrag):
(WebKit::RemoteWebInspectorUI::moveWindowBy):
(WebKit::RemoteWebInspectorUI::bringToFront):
(WebKit::RemoteWebInspectorUI::closeWindow):
(WebKit::RemoteWebInspectorUI::openInNewTab):
(WebKit::RemoteWebInspectorUI::save):
(WebKit::RemoteWebInspectorUI::append):
(WebKit::RemoteWebInspectorUI::inspectedURLChanged):
- WebProcess/WebPage/RemoteWebInspectorUI.h: Added.
- WebProcess/WebPage/RemoteWebInspectorUI.messages.in: Added.
- UIProcess/RemoteWebInspectorProxy.messages.in: Added.
- UIProcess/RemoteWebInspectorProxy.mm: Added.
Inspector frontend client that knows to talk
with a RemoteWebInspectorProxy instead of a WebInspectorProxy.
- WebProcess/WebPage/WebInspectorUI.cpp:
- WebProcess/WebPage/WebInspectorUI.h:
- WebProcess/WebPage/mac/WebInspectorUIMac.mm:
(WebKit::webInspectorUILocalizedStringsURL):
(WebKit::WebInspectorUI::localizedStringsURL):
(WebKit::RemoteWebInspectorUI::localizedStringsURL):
Simplify localized string URL lookup.
- DerivedSources.make:
- WebKit2.xcodeproj/project.pbxproj:
New files.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::remoteInspectorUI):
(WebKit::WebPage::didReceiveMessage):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::isInspectorPage):
An InspectorProcess WebPage may have either a WebInspectorUI or a RemoteWebInspectorUI.
- 1:49 PM Changeset in webkit [205368] by
-
- 6 edits5 adds in trunk/Source/WebCore
Add support for media query parsing using new CSS Parser
https://bugs.webkit.org/show_bug.cgi?id=161537
Reviewed by Dean Jackson.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/MediaQueryExp.cpp:
(WebCore::featureWithValidIdent):
(WebCore::featureWithValidDensity):
(WebCore::featureWithValidPositiveLength):
(WebCore::featureWithPositiveInteger):
(WebCore::featureWithPositiveNumber):
(WebCore::featureWithZeroOrOne):
(WebCore::isFeatureValidWithIdentifier):
(WebCore::MediaQueryExpression::MediaQueryExpression):
- css/MediaQueryExp.h:
- css/parser/CSSParserIdioms.cpp: Added.
(WebCore::convertToASCIILowercaseInPlace):
- css/parser/CSSParserIdioms.h:
- css/parser/CSSParserToken.cpp:
(WebCore::convertToASCIILowercaseInPlace):
- css/parser/MediaQueryBlockWatcher.cpp: Added.
(WebCore::MediaQueryBlockWatcher::MediaQueryBlockWatcher):
(WebCore::MediaQueryBlockWatcher::handleToken):
- css/parser/MediaQueryBlockWatcher.h: Added.
(WebCore::MediaQueryBlockWatcher::blockLevel):
- css/parser/MediaQueryParser.cpp: Added.
(WebCore::MediaQueryParser::parseMediaQuerySet):
(WebCore::MediaQueryParser::parseMediaCondition):
(WebCore::MediaQueryParser::MediaQueryParser):
(WebCore::MediaQueryParser::~MediaQueryParser):
(WebCore::MediaQueryParser::setStateAndRestrict):
(WebCore::MediaQueryParser::readRestrictor):
(WebCore::MediaQueryParser::readMediaNot):
(WebCore::isRestrictorOrLogicalOperator):
(WebCore::MediaQueryParser::readMediaType):
(WebCore::MediaQueryParser::commitMediaQuery):
(WebCore::MediaQueryParser::readAnd):
(WebCore::MediaQueryParser::readFeatureStart):
(WebCore::MediaQueryParser::readFeature):
(WebCore::MediaQueryParser::readFeatureColon):
(WebCore::MediaQueryParser::readFeatureValue):
(WebCore::MediaQueryParser::readFeatureEnd):
(WebCore::MediaQueryParser::skipUntilComma):
(WebCore::MediaQueryParser::skipUntilBlockEnd):
(WebCore::MediaQueryParser::done):
(WebCore::MediaQueryParser::handleBlocks):
(WebCore::MediaQueryParser::processToken):
(WebCore::MediaQueryParser::parseInternal):
(WebCore::MediaQueryData::MediaQueryData):
(WebCore::MediaQueryData::clear):
(WebCore::MediaQueryData::addExpression):
(WebCore::MediaQueryData::tryAddParserToken):
(WebCore::MediaQueryData::setMediaType):
- css/parser/MediaQueryParser.h: Added.
(WebCore::MediaQueryData::restrictor):
(WebCore::MediaQueryData::expressions):
(WebCore::MediaQueryData::mediaType):
(WebCore::MediaQueryData::currentMediaQueryChanged):
(WebCore::MediaQueryData::setRestrictor):
(WebCore::MediaQueryData::setMediaFeature):
- 1:22 PM Changeset in webkit [205367] by
-
- 3 edits in trunk/Tools
Unreviewed build fix: restore storyboard files to Xcode 7-compatability.
- MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard:
- MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard:
- 1:07 PM Changeset in webkit [205366] by
-
- 2 edits in trunk/LayoutTests
Rebaseline fast/mediastream/MediaStreamTrack-getSettings.html after r205348.
Unreviewed test gardening.
- fast/mediastream/MediaStreamTrack-getSettings-expected.txt:
- 1:06 PM Changeset in webkit [205365] by
-
- 33 edits in trunk/Source
Refactor WebPlaybackSessionModelMediaElement to be client based.
https://bugs.webkit.org/show_bug.cgi?id=159580
Reviewed by Eric Carlson.
Source/WebCore:
Add client callback interfaces to both WebPlaybackSessionModel and WebVideoFullscreenModel, where each object
can have multiple clients, and so the object will both store current values and also notify those clients
when the values change. After this change, there is no need to have the models know about their associated
interfaces explicitly.
- platform/cocoa/WebPlaybackSessionInterface.h:
- platform/cocoa/WebPlaybackSessionModel.h:
(WebCore::WebPlaybackSessionModelClient::~WebPlaybackSessionModelClient):
(WebCore::WebPlaybackSessionModelClient::durationChanged):
(WebCore::WebPlaybackSessionModelClient::currentTimeChanged):
(WebCore::WebPlaybackSessionModelClient::bufferedTimeChanged):
(WebCore::WebPlaybackSessionModelClient::rateChanged):
(WebCore::WebPlaybackSessionModelClient::seekableRangesChanged):
(WebCore::WebPlaybackSessionModelClient::canPlayFastReverseChanged):
(WebCore::WebPlaybackSessionModelClient::audioMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionModelClient::legibleMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionModelClient::externalPlaybackChanged):
(WebCore::WebPlaybackSessionModelClient::wirelessVideoPlaybackDisabledChanged):
- platform/cocoa/WebPlaybackSessionModelMediaElement.h:
- platform/cocoa/WebPlaybackSessionModelMediaElement.mm:
(WebPlaybackSessionModelMediaElement::setMediaElement):
(WebPlaybackSessionModelMediaElement::updateForEventName):
(WebPlaybackSessionModelMediaElement::addClient):
(WebPlaybackSessionModelMediaElement::removeClient):
(WebPlaybackSessionModelMediaElement::updateLegibleOptions):
(WebPlaybackSessionModelMediaElement::observedEventNames):
(WebPlaybackSessionModelMediaElement::eventNameAll):
(WebPlaybackSessionModelMediaElement::audioMediaSelectionOptions):
(WebPlaybackSessionModelMediaElement::audioMediaSelectedIndex):
(WebPlaybackSessionModelMediaElement::legibleMediaSelectedIndex):
(WebPlaybackSessionModelMediaElement::externalPlaybackEnabled):
(WebPlaybackSessionModelMediaElement::externalPlaybackTargetType):
(WebPlaybackSessionModelMediaElement::externalPlaybackLocalizedDeviceName):
(WebPlaybackSessionModelMediaElement::wirelessVideoPlaybackDisabled):
(WebPlaybackSessionModelMediaElement::setWebPlaybackSessionInterface): Deleted.
- platform/cocoa/WebVideoFullscreenInterface.h:
- platform/cocoa/WebVideoFullscreenModel.h:
(WebCore::WebVideoFullscreenModelClient::~WebVideoFullscreenModelClient):
- platform/cocoa/WebVideoFullscreenModelVideoElement.h:
(WebCore::WebVideoFullscreenModelVideoElement::create):
(WebCore::WebVideoFullscreenModelVideoElement::playbackSessionModel): Deleted.
- platform/cocoa/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::WebVideoFullscreenModelVideoElement):
(WebVideoFullscreenModelVideoElement::setVideoElement):
(WebVideoFullscreenModelVideoElement::updateForEventName):
(WebVideoFullscreenModelVideoElement::addClient):
(WebVideoFullscreenModelVideoElement::removeClient):
(WebVideoFullscreenModelVideoElement::setHasVideo):
(WebVideoFullscreenModelVideoElement::setVideoDimensions):
(WebVideoFullscreenModelVideoElement::setWebVideoFullscreenInterface): Deleted.
- platform/ios/WebAVPlayerController.h:
- platform/ios/WebAVPlayerController.mm:
(-[WebAVPlayerController resetState]): Deleted.
- platform/ios/WebPlaybackSessionInterfaceAVKit.h:
(WebCore::WebPlaybackSessionInterfaceAVKitClient::~WebPlaybackSessionInterfaceAVKitClient): Deleted.
- platform/ios/WebPlaybackSessionInterfaceAVKit.mm:
(WebCore::WebPlaybackSessionInterfaceAVKit::WebPlaybackSessionInterfaceAVKit):
(WebCore::WebPlaybackSessionInterfaceAVKit::~WebPlaybackSessionInterfaceAVKit):
(WebCore::WebPlaybackSessionInterfaceAVKit::resetMediaState):
(WebCore::WebPlaybackSessionInterfaceAVKit::durationChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::currentTimeChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::bufferedTimeChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::rateChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::seekableRangesChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::canPlayFastReverseChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::audioMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::legibleMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::externalPlaybackChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::wirelessVideoPlaybackDisabledChanged):
(WebCore::WebPlaybackSessionInterfaceAVKit::invalidate):
(WebCore::WebPlaybackSessionInterfaceAVKit::setWebPlaybackSessionModel): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setDuration): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setCurrentTime): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setBufferedTime): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setRate): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setSeekableRanges): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setCanPlayFastReverse): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setAudioMediaSelectionOptions): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setLegibleMediaSelectionOptions): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setExternalPlayback): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::setWirelessVideoPlaybackDisabled): Deleted.
(WebCore::WebPlaybackSessionInterfaceAVKit::wirelessVideoPlaybackDisabled): Deleted.
- platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::didSetupFullscreen):
(WebVideoFullscreenControllerContext::didExitFullscreen):
(WebVideoFullscreenControllerContext::didCleanupFullscreen):
(WebVideoFullscreenControllerContext::durationChanged):
(WebVideoFullscreenControllerContext::currentTimeChanged):
(WebVideoFullscreenControllerContext::bufferedTimeChanged):
(WebVideoFullscreenControllerContext::rateChanged):
(WebVideoFullscreenControllerContext::hasVideoChanged):
(WebVideoFullscreenControllerContext::videoDimensionsChanged):
(WebVideoFullscreenControllerContext::seekableRangesChanged):
(WebVideoFullscreenControllerContext::canPlayFastReverseChanged):
(WebVideoFullscreenControllerContext::audioMediaSelectionOptionsChanged):
(WebVideoFullscreenControllerContext::legibleMediaSelectionOptionsChanged):
(WebVideoFullscreenControllerContext::externalPlaybackChanged):
(WebVideoFullscreenControllerContext::wirelessVideoPlaybackDisabledChanged):
(WebVideoFullscreenControllerContext::addClient):
(WebVideoFullscreenControllerContext::removeClient):
(WebVideoFullscreenControllerContext::requestFullscreenMode):
(WebVideoFullscreenControllerContext::setVideoLayerFrame):
(WebVideoFullscreenControllerContext::setVideoLayerGravity):
(WebVideoFullscreenControllerContext::fullscreenModeChanged):
(WebVideoFullscreenControllerContext::isVisible):
(WebVideoFullscreenControllerContext::hasVideo):
(WebVideoFullscreenControllerContext::videoDimensions):
(WebVideoFullscreenControllerContext::play):
(WebVideoFullscreenControllerContext::pause):
(WebVideoFullscreenControllerContext::togglePlayState):
(WebVideoFullscreenControllerContext::beginScrubbing):
(WebVideoFullscreenControllerContext::endScrubbing):
(WebVideoFullscreenControllerContext::seekToTime):
(WebVideoFullscreenControllerContext::fastSeek):
(WebVideoFullscreenControllerContext::beginScanningForward):
(WebVideoFullscreenControllerContext::beginScanningBackward):
(WebVideoFullscreenControllerContext::endScanning):
(WebVideoFullscreenControllerContext::selectAudioMediaOption):
(WebVideoFullscreenControllerContext::selectLegibleMediaOption):
(WebVideoFullscreenControllerContext::duration):
(WebVideoFullscreenControllerContext::currentTime):
(WebVideoFullscreenControllerContext::bufferedTime):
(WebVideoFullscreenControllerContext::isPlaying):
(WebVideoFullscreenControllerContext::playbackRate):
(WebVideoFullscreenControllerContext::seekableRanges):
(WebVideoFullscreenControllerContext::canPlayFastReverse):
(WebVideoFullscreenControllerContext::audioMediaSelectionOptions):
(WebVideoFullscreenControllerContext::audioMediaSelectedIndex):
(WebVideoFullscreenControllerContext::legibleMediaSelectionOptions):
(WebVideoFullscreenControllerContext::legibleMediaSelectedIndex):
(WebVideoFullscreenControllerContext::externalPlaybackEnabled):
(WebVideoFullscreenControllerContext::externalPlaybackTargetType):
(WebVideoFullscreenControllerContext::externalPlaybackLocalizedDeviceName):
(WebVideoFullscreenControllerContext::wirelessVideoPlaybackDisabled):
(WebVideoFullscreenControllerContext::setUpFullscreen):
(WebVideoFullscreenControllerContext::exitFullscreen):
(WebVideoFullscreenControllerContext::requestHideAndExitFullscreen):
(WebVideoFullscreenControllerContext::resetMediaState): Deleted.
(WebVideoFullscreenControllerContext::setDuration): Deleted.
(WebVideoFullscreenControllerContext::setCurrentTime): Deleted.
(WebVideoFullscreenControllerContext::setBufferedTime): Deleted.
(WebVideoFullscreenControllerContext::setRate): Deleted.
(WebVideoFullscreenControllerContext::setVideoDimensions): Deleted.
(WebVideoFullscreenControllerContext::setSeekableRanges): Deleted.
(WebVideoFullscreenControllerContext::setCanPlayFastReverse): Deleted.
(WebVideoFullscreenControllerContext::setAudioMediaSelectionOptions): Deleted.
(WebVideoFullscreenControllerContext::setLegibleMediaSelectionOptions): Deleted.
(WebVideoFullscreenControllerContext::setExternalPlayback): Deleted.
(WebVideoFullscreenControllerContext::setWirelessVideoPlaybackDisabled): Deleted.
(WebVideoFullscreenSessionModel::play): Deleted.
(WebVideoFullscreenSessionModel::pause): Deleted.
(WebVideoFullscreenSessionModel::togglePlayState): Deleted.
(WebVideoFullscreenSessionModel::beginScrubbing): Deleted.
(WebVideoFullscreenSessionModel::endScrubbing): Deleted.
(WebVideoFullscreenSessionModel::seekToTime): Deleted.
(WebVideoFullscreenSessionModel::fastSeek): Deleted.
(WebVideoFullscreenSessionModel::beginScanningForward): Deleted.
(WebVideoFullscreenSessionModel::beginScanningBackward): Deleted.
(WebVideoFullscreenSessionModel::endScanning): Deleted.
(WebVideoFullscreenSessionModel::selectAudioMediaOption): Deleted.
(WebVideoFullscreenSessionModel::selectLegibleMediaOption): Deleted.
- platform/ios/WebVideoFullscreenInterfaceAVKit.h:
- platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::~WebVideoFullscreenInterfaceAVKit):
(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenChangeObserver):
(WebVideoFullscreenInterfaceAVKit::hasVideoChanged):
(WebVideoFullscreenInterfaceAVKit::videoDimensionsChanged):
(WebVideoFullscreenInterfaceAVKit::externalPlaybackChanged):
(WebVideoFullscreenInterfaceAVKit::resetMediaState): Deleted.
(WebVideoFullscreenInterfaceAVKit::setDuration): Deleted.
(WebVideoFullscreenInterfaceAVKit::setCurrentTime): Deleted.
(WebVideoFullscreenInterfaceAVKit::setBufferedTime): Deleted.
(WebVideoFullscreenInterfaceAVKit::setRate): Deleted.
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions): Deleted.
(WebVideoFullscreenInterfaceAVKit::setSeekableRanges): Deleted.
(WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse): Deleted.
(WebVideoFullscreenInterfaceAVKit::setAudioMediaSelectionOptions): Deleted.
(WebVideoFullscreenInterfaceAVKit::setLegibleMediaSelectionOptions): Deleted.
(WebVideoFullscreenInterfaceAVKit::setExternalPlayback): Deleted.
(WebVideoFullscreenInterfaceAVKit::externalPlaybackEnabledChanged): Deleted.
(WebVideoFullscreenInterfaceAVKit::setWirelessVideoPlaybackDisabled): Deleted.
(WebVideoFullscreenInterfaceAVKit::wirelessVideoPlaybackDisabled): Deleted.
- platform/mac/WebPlaybackSessionInterfaceMac.h:
(WebCore::WebPlaybackSessionInterfaceMacClient::~WebPlaybackSessionInterfaceMacClient): Deleted.
- platform/mac/WebPlaybackSessionInterfaceMac.mm:
(WebCore::WebPlaybackSessionInterfaceMac::create):
(WebCore::WebPlaybackSessionInterfaceMac::WebPlaybackSessionInterfaceMac):
(WebCore::WebPlaybackSessionInterfaceMac::~WebPlaybackSessionInterfaceMac):
(WebCore::WebPlaybackSessionInterfaceMac::durationChanged):
(WebCore::WebPlaybackSessionInterfaceMac::currentTimeChanged):
(WebCore::WebPlaybackSessionInterfaceMac::rateChanged):
(WebCore::WebPlaybackSessionInterfaceMac::seekableRangesChanged):
(WebCore::WebPlaybackSessionInterfaceMac::audioMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionInterfaceMac::legibleMediaSelectionOptionsChanged):
(WebCore::WebPlaybackSessionInterfaceMac::invalidate):
(WebCore::WebPlaybackSessionInterfaceMac::setWebPlaybackSessionModel): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setClient): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setDuration): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setCurrentTime): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setRate): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setSeekableRanges): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setAudioMediaSelectionOptions): Deleted.
(WebCore::WebPlaybackSessionInterfaceMac::setLegibleMediaSelectionOptions): Deleted.
- platform/mac/WebVideoFullscreenInterfaceMac.h:
- platform/mac/WebVideoFullscreenInterfaceMac.mm:
(WebCore::WebVideoFullscreenInterfaceMac::WebVideoFullscreenInterfaceMac):
(WebCore::WebVideoFullscreenInterfaceMac::~WebVideoFullscreenInterfaceMac):
(WebCore::WebVideoFullscreenInterfaceMac::setWebVideoFullscreenModel):
(WebCore::WebVideoFullscreenInterfaceMac::externalPlaybackChanged):
(WebCore::WebVideoFullscreenInterfaceMac::hasVideoChanged):
(WebCore::WebVideoFullscreenInterfaceMac::videoDimensionsChanged):
(WebCore::WebVideoFullscreenInterfaceMac::setDuration): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setCurrentTime): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setRate): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setSeekableRanges): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setAudioMediaSelectionOptions): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setLegibleMediaSelectionOptions): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setExternalPlayback): Deleted.
(WebCore::WebVideoFullscreenInterfaceMac::setVideoDimensions): Deleted.
Source/WebKit/mac:
No longer necessary to tell the models and interfaces about each other.
- WebView/WebView.mm:
(-[WebView _setUpPlaybackControlsManagerForMediaElement:]):
(-[WebView _clearPlaybackControlsManager]):
Source/WebKit2:
Adopt the changes made in the WebPlaybackSessionModel,Interface and WebVideoFullscreenModel,Interface
in the WebPlaybackSessionManager,Proxy classes.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]): Deleted.
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
- UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:
(WebKit::WebPlaybackSessionModelContext::addClient):
(WebKit::WebPlaybackSessionModelContext::removeClient):
(WebKit::WebPlaybackSessionModelContext::setDuration):
(WebKit::WebPlaybackSessionModelContext::setCurrentTime):
(WebKit::WebPlaybackSessionModelContext::setBufferedTime):
(WebKit::WebPlaybackSessionModelContext::setRate):
(WebKit::WebPlaybackSessionModelContext::setSeekableRanges):
(WebKit::WebPlaybackSessionModelContext::setCanPlayFastReverse):
(WebKit::WebPlaybackSessionModelContext::setAudioMediaSelectionOptions):
(WebKit::WebPlaybackSessionModelContext::setLegibleMediaSelectionOptions):
(WebKit::WebPlaybackSessionModelContext::setExternalPlayback):
(WebKit::WebPlaybackSessionModelContext::setWirelessVideoPlaybackDisabled):
(WebKit::WebPlaybackSessionManagerProxy::createModelAndInterface):
(WebKit::WebPlaybackSessionManagerProxy::removeClientForContext):
(WebKit::WebPlaybackSessionManagerProxy::setCurrentTime):
(WebKit::WebPlaybackSessionManagerProxy::setBufferedTime):
(WebKit::WebPlaybackSessionManagerProxy::setSeekableRangesVector):
(WebKit::WebPlaybackSessionManagerProxy::setCanPlayFastReverse):
(WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionOptions):
(WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionOptions):
(WebKit::WebPlaybackSessionManagerProxy::setExternalPlaybackProperties):
(WebKit::WebPlaybackSessionManagerProxy::setWirelessVideoPlaybackDisabled):
(WebKit::WebPlaybackSessionManagerProxy::setDuration):
(WebKit::WebPlaybackSessionManagerProxy::setRate):
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.messages.in:
- UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenModelContext::addClient):
(WebKit::WebVideoFullscreenModelContext::removeClient):
(WebKit::WebVideoFullscreenManagerProxy::setHasVideo):
(WebKit::WebVideoFullscreenManagerProxy::setVideoDimensions):
- WebProcess/cocoa/WebPlaybackSessionManager.h:
- WebProcess/cocoa/WebPlaybackSessionManager.mm:
(WebKit::WebPlaybackSessionInterfaceContext::durationChanged):
(WebKit::WebPlaybackSessionInterfaceContext::currentTimeChanged):
(WebKit::WebPlaybackSessionInterfaceContext::bufferedTimeChanged):
(WebKit::WebPlaybackSessionInterfaceContext::rateChanged):
(WebKit::WebPlaybackSessionInterfaceContext::seekableRangesChanged):
(WebKit::WebPlaybackSessionInterfaceContext::canPlayFastReverseChanged):
(WebKit::WebPlaybackSessionInterfaceContext::audioMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionInterfaceContext::legibleMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionInterfaceContext::externalPlaybackChanged):
(WebKit::WebPlaybackSessionInterfaceContext::wirelessVideoPlaybackDisabledChanged):
(WebKit::WebPlaybackSessionManager::~WebPlaybackSessionManager):
(WebKit::WebPlaybackSessionManager::createModelAndInterface):
(WebKit::WebPlaybackSessionManager::removeContext):
(WebKit::WebPlaybackSessionManager::durationChanged):
(WebKit::WebPlaybackSessionManager::currentTimeChanged):
(WebKit::WebPlaybackSessionManager::bufferedTimeChanged):
(WebKit::WebPlaybackSessionManager::rateChanged):
(WebKit::WebPlaybackSessionManager::seekableRangesChanged):
(WebKit::WebPlaybackSessionManager::canPlayFastReverseChanged):
(WebKit::WebPlaybackSessionManager::audioMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionManager::legibleMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionManager::externalPlaybackChanged):
(WebKit::WebPlaybackSessionManager::wirelessVideoPlaybackDisabledChanged):
(WebKit::WebPlaybackSessionInterfaceContext::setDuration): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setCurrentTime): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setBufferedTime): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setRate): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setSeekableRanges): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setCanPlayFastReverse): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setAudioMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setLegibleMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setExternalPlayback): Deleted.
(WebKit::WebPlaybackSessionInterfaceContext::setWirelessVideoPlaybackDisabled): Deleted.
(WebKit::WebPlaybackSessionManager::setDuration): Deleted.
(WebKit::WebPlaybackSessionManager::setCurrentTime): Deleted.
(WebKit::WebPlaybackSessionManager::setBufferedTime): Deleted.
(WebKit::WebPlaybackSessionManager::setRate): Deleted.
(WebKit::WebPlaybackSessionManager::setSeekableRanges): Deleted.
(WebKit::WebPlaybackSessionManager::setCanPlayFastReverse): Deleted.
(WebKit::WebPlaybackSessionManager::setAudioMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionManager::setLegibleMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionManager::setExternalPlayback): Deleted.
(WebKit::WebPlaybackSessionManager::setWirelessVideoPlaybackDisabled): Deleted.
- WebProcess/cocoa/WebVideoFullscreenManager.h:
(WebKit::WebVideoFullscreenInterfaceContext::create):
- WebProcess/cocoa/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenInterfaceContext::WebVideoFullscreenInterfaceContext):
(WebKit::WebVideoFullscreenInterfaceContext::hasVideoChanged):
(WebKit::WebVideoFullscreenInterfaceContext::videoDimensionsChanged):
(WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager):
(WebKit::WebVideoFullscreenManager::createModelAndInterface):
(WebKit::WebVideoFullscreenManager::removeContext):
(WebKit::WebVideoFullscreenManager::hasVideoChanged):
(WebKit::WebVideoFullscreenManager::videoDimensionsChanged):
(WebKit::WebVideoFullscreenInterfaceContext::resetMediaState): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setDuration): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setCurrentTime): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setBufferedTime): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setRate): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setVideoDimensions): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setSeekableRanges): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setCanPlayFastReverse): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setAudioMediaSelectionOptions): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setLegibleMediaSelectionOptions): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setExternalPlayback): Deleted.
(WebKit::WebVideoFullscreenInterfaceContext::setWirelessVideoPlaybackDisabled): Deleted.
(WebKit::WebVideoFullscreenManager::setVideoDimensions): Deleted.
- 12:49 PM Changeset in webkit [205364] by
-
- 7 edits in trunk/Source/JavaScriptCore
Register usage optimization in mathIC when LHS and RHS are constants isn't configured correctly
https://bugs.webkit.org/show_bug.cgi?id=160802
Patch by Caio Lima <Caio Lima> on 2016-09-02
Reviewed by Saam Barati.
This patch is fixing a broken mechanism of MathIC that avoids allocate
a register to LHS or RHS if one of these operands are proven as valid
constant for JIT*Generator. In previous implementation, even if the
JIT*Generator was not using an operand register because it was proven as a
constant, compileMathIC and emitICFast were allocating a register for
it. This was broken because mathIC->isLeftOperandValidConstant and
mathIC->isLeftOperandValidConstant were being called before its Generator be
properly initialized. We changed this mechanism to enable Generators write
their validConstant rules using static methods isLeftOperandValidConstant(SnippetOperand)
and isRightOperandValidConstant(SnippetOperand).
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMathIC):
- jit/JITAddGenerator.h:
(JSC::JITAddGenerator::JITAddGenerator):
(JSC::JITAddGenerator::isLeftOperandValidConstant):
(JSC::JITAddGenerator::isRightOperandValidConstant):
- jit/JITArithmetic.cpp:
(JSC::JIT::emitMathICFast):
- jit/JITMathIC.h:
- jit/JITMulGenerator.h:
(JSC::JITMulGenerator::JITMulGenerator):
(JSC::JITMulGenerator::isLeftOperandValidConstant):
(JSC::JITMulGenerator::isRightOperandValidConstant):
- jit/JITSubGenerator.h:
(JSC::JITSubGenerator::isLeftOperandValidConstant):
(JSC::JITSubGenerator::isRightOperandValidConstant):
- 12:42 PM Changeset in webkit [205363] by
-
- 2 edits in trunk/Tools
REGRESSION (r205329): Two API tests time out on iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=161542
Reviewed by Brady Eidson.
- TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
(createAnimatedResizeWebView):
(createFirstVisuallyNonEmptyWatchingNavigationDelegate):
(TEST):
(animatedResizeWebView): Deleted.
The navigation delegate was being stored in a local and went out of scope
before the test was over. Keep it around, instead.
- 12:39 PM Changeset in webkit [205362] by
-
- 2 edits in trunk/Source/WTF
bitwise_cast infinite loops if called from the default constructor in ToType
https://bugs.webkit.org/show_bug.cgi?id=161365
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-02
Reviewed by Saam Barati.
- wtf/StdLibExtras.h:
(WTF::bitwise_cast): use aggregate initialization to avoid ctor
- 12:17 PM Changeset in webkit [205361] by
-
- 2 edits in trunk/Source/JavaScriptCore
GetByValWithThis: fix opInfo in DFG creation
https://bugs.webkit.org/show_bug.cgi?id=161541
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-02
Reviewed by Saam Barati.
super-get-by-val-with-this-monomorphic might be 1.0148x faster after this change.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock): fix OpInfo
- 12:14 PM Changeset in webkit [205360] by
-
- 10 edits1 delete in trunk
REGRESSION (r204839): [mac-wk1] LayoutTest webgl/max-active-contexts-webglcontextlost-prevent-default.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=161205
Reviewed by Geoffrey Garen.
Source/WebCore:
Fixes several issues:
- Add missing isReachableFromOpaqueRoots() implementation for JSWebGLRenderingContextBase. It used to rely on the one from its JSCanvasRenderingContext base. However, that base was dropped in r204839.
- Update JSWebGLRenderingContextBase::visitAdditionalChildren() to add its canvas object as opaque root as well. This used to be taken care of by JSCanvasRenderingContext::visitAdditionalChildren() but it got dropped in r204839.
This also refactors the code a bit for clarity.
No new tests, unskipped existing test.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCanvasRenderingContext.h: Removed.
- bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::getCSSCanvasContext):
- bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
(WebCore::JSWebGLRenderingContextBaseOwner::isReachableFromOpaqueRoots):
(WebCore::JSWebGLRenderingContextBase::visitAdditionalChildren):
- html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::is3d):
- html/canvas/WebGLRenderingContextBase.h:
- html/canvas/WebGLRenderingContextBase.idl:
LayoutTests:
Unskip test case now that it is no longer flaky.
- platform/mac-wk1/TestExpectations:
- 12:10 PM Changeset in webkit [205359] by
-
- 11 edits2 adds in trunk
Object.preventExtensions() should throw cross-origin
https://bugs.webkit.org/show_bug.cgi?id=161486
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
Update JSProxy to forward preventExtensions() calls to its target.
- runtime/JSProxy.cpp:
(JSC::JSProxy::preventExtensions):
- runtime/JSProxy.h:
Source/WebCore:
Object.preventExtensions() should throw cross-origin:
- https://html.spec.whatwg.org/#windowproxy-preventextensions
- https://html.spec.whatwg.org/#location-preventextensions
- http://www.ecma-international.org/ecma-262/6.0/#sec-object.preventextensions
Firefox and Chrome both throw in the cross-origin case. Firefox also throws
a TypeError in the same-origin case for Window, as per the specification.
However, Firefox does not seem to throw yet in the same-origin case for
Location yet.
Test: http/tests/security/preventExtensions-window-location.html
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::preventExtensions):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::preventExtensions):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- bindings/scripts/IDLAttributes.txt:
- page/DOMWindow.idl:
- page/Location.idl:
LayoutTests:
Add layout test coverage. We have a few failures in the same origin case
because we don't fully match the specification yet:
- Object.preventExtensions() should throw a TypeError. However, our implementation currently does not throw if PreventExtensions returns false.
- We do not ignore calls to Object.preventExtensions() for the Location object yet because other browsers do not seem to either.
- http/tests/security/preventExtensions-window-location-expected.txt: Added.
- http/tests/security/preventExtensions-window-location.html: Added.
- 12:00 PM Changeset in webkit [205358] by
-
- 8 edits2 adds in trunk
Object.defineProperty() should throw cross-origin
https://bugs.webkit.org/show_bug.cgi?id=161460
Reviewed by Geoffrey Garen.
Source/WebCore:
Object.defineProperty() should throw cross-origin to match Firefox and
Chrome.
The specification is in the process of being updated to match the
behavior of browsers.
Test: http/tests/security/window-defineProperty-crossOrigin.html
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::defineOwnProperty):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::defineOwnProperty):
LayoutTests:
Add test coverage.
- http/tests/security/cross-frame-access-object-prototype-expected.txt:
- http/tests/security/location-cross-origin-expected.txt:
- http/tests/security/location-cross-origin.html:
- http/tests/security/window-defineProperty-crossOrigin-expected.txt: Added.
- http/tests/security/window-defineProperty-crossOrigin.html: Added.
- http/tests/security/xss-DENIED-defineProperty-expected.txt:
- 11:14 AM Changeset in webkit [205357] by
-
- 2 edits in trunk/Source/WebCore
Weak link the GameController.framework on macOS but differently than before.
Reviewed by Dan Bernstein.
- Configurations/WebCore.xcconfig:
- 11:06 AM Changeset in webkit [205356] by
-
- 2 edits in tags/Safari-603.1.4.1/Source/WebCore
Merged r205347. rdar://problem/28127212
- 11:05 AM Changeset in webkit [205355] by
-
- 12 edits in tags/Safari-603.1.4.1
Merged r205333. rdar://problem/28129826
- 11:04 AM Changeset in webkit [205354] by
-
- 41 edits2 adds3 deletes in trunk
Align proto getter / setter behavior with other browsers
https://bugs.webkit.org/show_bug.cgi?id=161455
Reviewed by Mark Lam.
Source/JavaScriptCore:
Drop allowsAccessFrom from the methodTable and delegate cross-origin
checking to the DOM bindings for SetPrototypeOf / GetPrototypeOf.
This is more consistent with other operations (e.g. GetOwnProperty).
- jsc.cpp:
- runtime/JSGlobalObject.cpp:
- runtime/JSGlobalObject.h:
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
(JSC::globalFuncBuiltinLog): Deleted.
- runtime/JSGlobalObjectFunctions.h:
- runtime/JSObject.h:
(JSC::JSObject::getArrayLength): Deleted.
- runtime/JSProxy.cpp:
(JSC::JSProxy::setPrototype):
(JSC::JSProxy::getPrototype):
- runtime/JSProxy.h:
- runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorSetPrototypeOf):
(JSC::objectConstructorGetOwnPropertyDescriptor): Deleted.
(JSC::objectConstructorGetOwnPropertyDescriptors): Deleted.
- runtime/ObjectConstructor.h:
- runtime/ReflectObject.cpp:
(JSC::reflectObjectGetPrototypeOf):
(JSC::reflectObjectSetPrototypeOf):
- runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeWithCycleCheck):
Comment out check added in r197648. This check was added to match
the latest EcmaScript spec:
This check allowed for Prototype chain cycles if the prototype
chain includes objects that do not use the ordinary object definitions
for GetPrototypeOf and SetPrototypeOf.
The issue is that the rest of our code base does not properly handle
such cycles and we can end up in infinite loops. This became obvious
because this patch updates Window / Location so that they no longer
use the default GetPrototypeOf / SetPrototypeOf. If I do not
comment out this check, I get an infinite loop in
Structure::anyObjectInChainMayInterceptIndexedAccesses(), which is
called from JSObject::setPrototypeDirect(), when running the following
layout test:
- html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub.html
I filed https://bugs.webkit.org/show_bug.cgi?id=161534 to track this
issue.
Source/WebCore:
Align cross-origin proto getter / setter behavior with other
browsers and the specification:
SetPrototypeOf should throw a TypeError:
- https://html.spec.whatwg.org/#windowproxy-setprototypeof
- https://html.spec.whatwg.org/#location-setprototypeof
- https://tc39.github.io/ecma262/#sec-object.setprototypeof (step 5)
GetPrototypeOf should return null cross-origin:
- https://html.spec.whatwg.org/#windowproxy-getprototypeof
- https://html.spec.whatwg.org/#location-getprototypeof
Test: js/dom/setPrototypeOf-location-window.html
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase): Deleted.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setPrototype):
(WebCore::JSDOMWindow::getPrototype):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::setPrototype):
(WebCore::JSLocation::getPrototype):
- bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::supportsRichSourceInfo): Deleted.
- bindings/js/JSWorkerGlobalScopeBase.h:
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- bindings/scripts/IDLAttributes.txt:
- page/DOMWindow.idl:
- page/Location.idl:
LayoutTests:
Add layout test coverage and update a few existing test to reflect
behavior change.
- http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf.html:
- http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-setPrototypeOf.html:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto.html:
- http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-method-with-iframe-proto.html:
- http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto.html:
- http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto-expected.txt:
- http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto.html:
- js/dom/setPrototypeOf-location-window-expected.txt: Added.
- js/dom/setPrototypeOf-location-window.html: Added.
- 11:01 AM Changeset in webkit [205353] by
-
- 9 edits2 copies7 moves9 adds1 delete in trunk/Tools
Refactor MobileMiniBrowser into an application framework to allow external XCTesting
https://bugs.webkit.org/show_bug.cgi?id=161462
Reviewed by Eric Carlson.
XCTest targets need to be in the same project as the application which they're testing. To facilitate
having external projects with XCTest targets, move the application's implementation into a framework
that can be included with a bare-bones application shell for testing.
Simultaneously, add the ability to load files from within the new framework's bundle by using a
'bundle:/' URL scheme. Update the tests to use this new bundle URL and remove the dependency on
an external server for testing.
- MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
- MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard:
- MobileMiniBrowser/MobileMiniBrowser/Info.plist:
- MobileMiniBrowser/MobileMiniBrowser/main.m:
- MobileMiniBrowser/MobileMiniBrowserFramework/AppDelegate.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/AppDelegate.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.m.
(-[AppDelegate application:didFinishLaunchingWithOptions:]): Manually instantiate the main view
controller from the framework's bundle.
- MobileMiniBrowser/MobileMiniBrowserFramework/Assets.xcassets/AppIcon.appiconset/Contents.json: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/Assets.xcassets/AppIcon.appiconset/Contents.json.
- MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/Base.lproj/Main.storyboard.
- MobileMiniBrowser/MobileMiniBrowserFramework/Info.plist: Added.
- MobileMiniBrowser/MobileMiniBrowserFramework/MobileMiniBrowser.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/TabViewController.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/TabViewController.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/TabViewController.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/TabViewController.m.
- MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/WebViewController.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/WebViewController.m.
(+[NSURL bundleURLForFileURL:bundle:]): Add utility method.
(+[NSURL fileURLForBundleURL:bundle:]): Ditto.
(-[WebViewController navigateTo:]): Support loading "bundle:/" URLs which are really just "file:" URLs
pointing to the framework's resources directory.
(-[WebViewController observeValueForKeyPath:ofObject:change:context:]): Ditto.
- MobileMiniBrowser/MobileMiniBrowserUITests/MobileMiniBrowserUITests.m:
(-[MobileMiniBrowserUITests testBasicVideoPlayback]):
- 11:00 AM Changeset in webkit [205352] by
-
- 5 edits in tags/Safari-603.1.4.1/Source
Versioning.
- 10:59 AM Changeset in webkit [205351] by
-
- 5 edits in trunk/Tools
Fix --no-sample-on-timeout command line argument
https://bugs.webkit.org/show_bug.cgi?id=161507
Reviewed by Alexey Proskuryakov.
This patch fixes the —no-sample-on-timeout flag and correctly names spindumps as spindump.txt.
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Fixed —-no-sample-on-timeout.
- Scripts/webkitpy/port/apple.py:
(ApplePort.sample_process): Use correct file name.
(ApplePort.spindump_file_path): Spindump and sample file names are different.
- Scripts/webkitpy/port/driver.py:
(Driver._check_for_driver_timeout): Check “sample_on_timeout” flag.
- Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_spindump): Modified for correct filename.
- 10:58 AM Changeset in webkit [205350] by
-
- 1 copy in tags/Safari-603.1.4.1
New tag.
- 10:46 AM Changeset in webkit [205349] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: NetworkTimelineOverviewGraph.MinimumBarPaddingTime is undefined
https://bugs.webkit.org/show_bug.cgi?id=161510
Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-09-02
Reviewed by Brian Burg.
- UserInterface/Views/NetworkTimelineOverviewGraph.js:
(WebInspector.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded):
(WebInspector.NetworkTimelineOverviewGraph):
Calculate the minimumBarPaddingTime in similar ways to TimelineRecordBar,
by using MinimumWidthPixel, MinimumMarginPixel and MinimumDurationPerPixel as the secondsPerPixel value.
- UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
Make Minimum/MaximumDurationPerPixel public properties.
- 10:36 AM Changeset in webkit [205348] by
-
- 31 edits6 adds in trunk
[MediaStream] applyConstraints pt. 1 - mandatory constraints
https://bugs.webkit.org/show_bug.cgi?id=161469
<rdar://problem/28109325>
Reviewed by Jer Noble.
Source/WebCore:
Tests: fast/mediastream/apply-constraints-audio.html
fast/mediastream/apply-constraints-video.html
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack): Initialize the weak pointer factory.
(WebCore::MediaStreamTrack::applyConstraints): Make it work.
- Modules/mediastream/MediaStreamTrack.h:
- Modules/mediastream/MediaStreamTrack.idl:
- WebCore.xcodeproj/project.pbxproj: Add JSMediaDevicesCustom.h.
- bindings/js/JSMediaDevicesCustom.cpp:
(WebCore::createStringConstraint): Add name parameter.
(WebCore::createBooleanConstraint): Ditto.
(WebCore::createDoubleConstraint): Ditto.
(WebCore::createIntConstraint): Ditto.
(WebCore::parseMediaTrackConstraintSetForKey): Drop type parameter because we don't need to
filter by source media type.
(WebCore::parseAdvancedConstraints): Ditto.
(WebCore::parseMediaConstraintsDictionary): Renamed from parseConstraints.
(WebCore::JSMediaDevices::getUserMedia): Don't throw exceptions, always return a promise.
(WebCore::parseConstraints): Deleted.
- bindings/js/JSMediaDevicesCustom.h: Added.
- bindings/js/JSMediaStreamTrackCustom.cpp:
(WebCore::JSMediaStreamTrack::getSettings): Don't include aspect ratio if the value is 0.
(WebCore::capabilityValue): asULong -> asInt.
(WebCore::JSMediaStreamTrack::applyConstraints): New.
(WebCore::JSMediaStreamTrack::getConstraints): New.
- bindings/js/WebCoreBuiltinNames.h: Add "mediaStreamTrackConstraints".
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setSrcObject): Drive by fix: don't call DOMURL::createPublicURL(null).
- platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaConstraint::create): Pass name to constructors.
(WebCore::StringConstraint::find): New.
- platform/mediastream/MediaConstraints.h:
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::applyConstraints): Add callback parameters.
- platform/mediastream/MediaStreamTrackPrivate.h:
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::RealtimeMediaSource): Initialize weak pointer factory.
(WebCore::RealtimeMediaSource::settingsDidChange): Don't call observers immediately so we can
coalesce multiple changes in the same runloop cycle.
(WebCore::RealtimeMediaSource::supportsConstraint): New.
(WebCore::value): Return the most appropriate value from a numeric constraint.
(WebCore::RealtimeMediaSource::applyConstraint): New, apply one constraint.
(WebCore::RealtimeMediaSource::applyConstraints): New, validate and apply constraints.
(WebCore::RealtimeMediaSource::setWidth): New.
(WebCore::RealtimeMediaSource::setHeight): New.
(WebCore::RealtimeMediaSource::setFrameRate): New.
(WebCore::RealtimeMediaSource::setAspectRatio): New.
(WebCore::RealtimeMediaSource::setFacingMode): New.
(WebCore::RealtimeMediaSource::setVolume): New.
(WebCore::RealtimeMediaSource::setSampleRate): New.
(WebCore::RealtimeMediaSource::setSampleSize): New.
(WebCore::RealtimeMediaSource::setEchoCancellation) New.:
(WebCore::RealtimeMediaSource::scheduleDeferredTask): New.
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/RealtimeMediaSourceCapabilities.h:
(WebCore::CapabilityValueOrRange::CapabilityValueOrRange): "unsigned long" -> "int"
- platform/mediastream/RealtimeMediaSourceSettings.cpp:
(WebCore::userFacing): New.
(WebCore::environmentFacing): New.
(WebCore::leftFacing): New.
(WebCore::rightFacing): New.
(WebCore::RealtimeMediaSourceSettings::facingMode):
(WebCore::RealtimeMediaSourceSettings::videoFacingModeEnum):
- platform/mediastream/RealtimeMediaSourceSettings.h:
- platform/mediastream/mac/AVAudioCaptureSource.mm:
(WebCore::AVAudioCaptureSource::initializeCapabilities): Volume range is 0.0 .. 1.0.
- platform/mediastream/mac/AVMediaCaptureSource.h:
(WebCore::AVMediaCaptureSource::createWeakPtr): Deleted.
- platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::AVMediaCaptureSource): Don't need the weak ptr factory, it is
in the base class.
(WebCore::AVMediaCaptureSource::scheduleDeferredTask): Deleted.
- platform/mediastream/mac/AVVideoCaptureSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::applySize): New.
(WebCore::AVVideoCaptureSource::applyFrameRate): New.
(WebCore::AVVideoCaptureSource::setupCaptureSession):
(WebCore::AVVideoCaptureSource::setFrameRateConstraint): Deleted.
(WebCore::AVVideoCaptureSource::applyConstraints): Deleted.
- platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::updateSettings): Set volume and echoCancellation to the
current values.
(WebCore::MockRealtimeAudioSource::initializeCapabilities): Volume takes a float, not an int.
- platform/mock/MockRealtimeAudioSource.h:
- platform/mock/MockRealtimeMediaSource.cpp: Minor cleanup.
- platform/mock/MockRealtimeMediaSource.h:
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource): Initialize frame rate.
(WebCore::MockRealtimeVideoSource::startProducingData): m_size -> size().
(WebCore::MockRealtimeVideoSource::updateSettings): Use accessors because instance variables
have been moved to the base class.
(WebCore::MockRealtimeVideoSource::initializeCapabilities): Ditto.
(WebCore::MockRealtimeVideoSource::applyFrameRate): New.
(WebCore::MockRealtimeVideoSource::applySize):
(WebCore::MockRealtimeVideoSource::drawAnimation):
(WebCore::MockRealtimeVideoSource::drawBoxes):
(WebCore::MockRealtimeVideoSource::drawText):
(WebCore::MockRealtimeVideoSource::generateFrame):
(WebCore::MockRealtimeVideoSource::imageBuffer):
(WebCore::MockRealtimeVideoSource::setFrameRate): Deleted.
(WebCore::MockRealtimeVideoSource::setSize): Deleted.
- platform/mock/MockRealtimeVideoSource.h:
(WebCore::MockRealtimeVideoSource::size): Deleted.
LayoutTests:
- fast/mediastream/apply-constraints-audio-expected.txt: Added.
- fast/mediastream/apply-constraints-audio.html: Added.
- fast/mediastream/apply-constraints-video-expected.txt: Added.
- fast/mediastream/apply-constraints-video.html: Added.
- fast/mediastream/resources/apply-constraints-utils.js: Added.
- 10:36 AM WebKitGTK/2.14.x edited by
- (diff)
- 10:28 AM Changeset in webkit [205347] by
-
- 2 edits in trunk/Source/WebCore
Weak link the GameController.framework on macOS.
Reviewed by Tim Horton.
- Configurations/WebCore.xcconfig:
- 9:26 AM Changeset in webkit [205346] by
-
- 17 edits in trunk/Source/WebCore
Unreviewed, rolling out r205344.
https://bugs.webkit.org/show_bug.cgi?id=161533
Hitting assertions under CachedResource::removeClient in a few
tests (Requested by anttik on #webkit).
Reverted changeset:
"Reverse ownership relation of StyleCachedImage and
CSSImageValue"
https://bugs.webkit.org/show_bug.cgi?id=161447
http://trac.webkit.org/changeset/205344
- 8:54 AM Changeset in webkit [205345] by
-
- 2 edits in trunk/Tools
Unreviewed: moved myself to the reviewers list.
- Scripts/webkitpy/common/config/contributors.json:
- 7:27 AM Changeset in webkit [205344] by
-
- 17 edits in trunk/Source/WebCore
Reverse ownership relation of StyleCachedImage and CSSImageValue
https://bugs.webkit.org/show_bug.cgi?id=161447
Reviewed by Andreas Kling.
Currently StyleCachedImage (which represents an image in RenderStyle) has a weak ref to the
underlying CSSImageValue/CSSImageSetValue which actually owns it. This is awkwards especially since
StyleGeneratedImage, the other StyleImage subclass has reversed relationship where it refs
the underlying CSSImageGeneratorValue.
This patch makes StyleCachedImage similar to StyleGeneratedImage. StyleCachedImage now refs the
underlying CSSImageValue/CSSImageSetValue. CSSImageValues no longer need to know about StyleCachedImage.
Instead they reference CachedImages (memory cache objects) directly. StyleCachedImage instances are now
conceptually unique to RenderStyle instances. Actual resources are shared as before by sharing CachedImages.
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::loadImage):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::styleImage): Deleted.
- css/CSSCursorImageValue.h:
- css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::cachedImageForCSSValue):
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::loadBestFitImage):
(WebCore::CSSImageSetValue::traverseSubresources):
(WebCore::CSSImageSetValue::styleImage): Deleted.
- css/CSSImageSetValue.h:
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::CSSImageValue):
(WebCore::CSSImageValue::~CSSImageValue):
(WebCore::CSSImageValue::isPending):
(WebCore::CSSImageValue::loadImage):
(WebCore::CSSImageValue::traverseSubresources):
(WebCore::CSSImageValue::knownToBeOpaque):
(WebCore::CSSImageValue::styleImage): Deleted.
- css/CSSImageValue.h:
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueContent):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::styleImage):
(WebCore::StyleResolver::styleCachedImageFromValue):
(WebCore::StyleResolver::styleGeneratedImageFromValue):
(WebCore::StyleResolver::cachedOrPendingFromValue): Deleted.
(WebCore::StyleResolver::generatedOrPendingFromValue): Deleted.
(WebCore::StyleResolver::setOrPendingFromValue): Deleted.
(WebCore::StyleResolver::cursorOrPendingFromValue): Deleted.
- css/StyleResolver.h:
- editing/TextIterator.cpp:
(WebCore::fullyClipsContents):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
- rendering/style/FillLayer.cpp:
(WebCore::FillLayer::imagesIdentical):
Compare data equality instead of pointer equality for StyleImages (since StyleImages are no longer shared).
(WebCore::layerImagesIdentical): Deleted.
- rendering/style/StyleCachedImage.cpp:
(WebCore::StyleCachedImage::StyleCachedImage):
(WebCore::StyleCachedImage::~StyleCachedImage):
(WebCore::StyleCachedImage::cachedImage):
(WebCore::StyleCachedImage::cssValue):
(WebCore::StyleCachedImage::canRender):
(WebCore::StyleCachedImage::isPending):
(WebCore::StyleCachedImage::isLoaded):
(WebCore::StyleCachedImage::errorOccurred):
(WebCore::StyleCachedImage::imageSize):
(WebCore::StyleCachedImage::imageHasRelativeWidth):
(WebCore::StyleCachedImage::imageHasRelativeHeight):
(WebCore::StyleCachedImage::computeIntrinsicDimensions):
(WebCore::StyleCachedImage::usesImageContainerSize):
(WebCore::StyleCachedImage::setContainerSizeForRenderer):
(WebCore::StyleCachedImage::addClient):
(WebCore::StyleCachedImage::removeClient):
(WebCore::StyleCachedImage::image):
(WebCore::StyleCachedImage::knownToBeOpaque):
(WebCore::StyleCachedImage::setCachedImage): Deleted.
- rendering/style/StyleCachedImage.h:
- 1:54 AM Changeset in webkit [205343] by
-
- 3 edits in trunk/Tools
[GTK] Fix compiler warning in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=161529
We were missing a return statement in decidePermissionRequest() and
also there was unused variable in browserWindowConstructed().
Patch by Tomas Popela <tpopela@redhat.com> on 2016-09-02
Reviewed by Carlos Garcia Campos.
- MiniBrowser/gtk/BrowserTab.c:
(decidePermissionRequest):
- MiniBrowser/gtk/BrowserWindow.c:
(browserWindowConstructed):
- 12:23 AM Changeset in webkit [205342] by
-
- 2 edits in trunk/Source/WebKit2
Fix GObject bindings build breakage when compiling with ENABLE_USER_TIMING disabled.
Rubber-stamped by Carlos Garcia Campos.
Add additional ENABLE(USER_TIMING) build guards to WebKitDOMPerformance bindings,
avoiding build errors when building with that feature disabled. Previously this
wasn't a problem because the four amended binding functions weren't generated
when the feature was disabled due to the similar use of guards in the Performance.idl
file.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformance.cpp:
(webkit_dom_performance_webkit_mark):
(webkit_dom_performance_webkit_clear_marks):
(webkit_dom_performance_webkit_measure):
(webkit_dom_performance_webkit_clear_measures):
- 12:17 AM Changeset in webkit [205341] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed GTK+ build fix when compiling with Clang.
- WebProcess/WebPage/gtk/AcceleratedSurface.cpp: Include WebPage.h.
Sep 1, 2016:
- 11:17 PM Changeset in webkit [205340] by
-
- 17 edits2 adds in trunk
Only update connected custom elements
https://bugs.webkit.org/show_bug.cgi?id=161480
Reviewed by Yusuke Suzuki.
Source/WebCore:
In the latest specs, creating an element only upgrades an element if the custom element had already been defined:
https://dom.spec.whatwg.org/#concept-create-element
Otherwise, an element remains unresolved until it gets connected to the document associated with the global object:
https://dom.spec.whatwg.org/#concept-node-insert
This patch removes the upgrade candidate map in CustomElementRegistry, and traverses the entire document associated
with global object (DOMWindow) in addElementDefinition: https://html.spec.whatwg.org/#dom-customelementregistry-define
The traversal is done in the shadow-including tree order (different from depth-first preorder traversal of flat tree)
since it doesn't enter slots and children of shadow hosts are always visited even if they are not assigned to a slot:
https://dom.spec.whatwg.org/#concept-shadow-including-tree-order
Test: fast/custom-elements/enqueue-custom-element-upgrade-reaction.html
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::upgradeElement): Assert that the element being upgraded as the same qualified name
as the custom element interface.
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::JSCustomElementRegistry::define): Moved the code to resolve the promise from here to addElementDefinition.
Also cleaned up the code to extract callbacks a little.
- dom/CustomElementReactionQueue.cpp:
(WebCore::CustomElementReactionQueue::enqueueElementUpgrade): Added an assertion.
(WebCore::CustomElementReactionQueue::enqueueElementUpgradeIfDefined): Added. Upgrade an element if the custom element
had already been defined.
- dom/CustomElementReactionQueue.h:
- dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::create): Stores the reference to DOMWindow to find its document in addElementDefinition.
(WebCore::CustomElementRegistry::CustomElementRegistry): Ditto.
(WebCore::enqueueUpgradeInShadowIncludingTreeOrder): Added. Enqueue upgrade reactions in shadow-including tree order.
(WebCore::CustomElementRegistry::addElementDefinition): Upgrade all unresolved elements that matches this definition and
resolve the the promise returned by "whenDefined" if there is any.
(WebCore::CustomElementRegistry::addUpgradeCandidate): Deleted.
(WebCore::CustomElementRegistry::findInterface): Added a new variant that takes an element.
- dom/CustomElementRegistry.h:
- dom/Document.cpp:
(WebCore::createUpgradeCandidateElement): No longer takes DOMWindow since we don't upgrade synchronously here. It's also
wrong not to mark the element as unresolved custom element in a document without a browsing context per new semantics.
(WebCore::createHTMLElementWithNameValidation): Ditto.
(WebCore::createFallbackHTMLElement): Ditto.
- dom/Element.cpp:
(WebCore::Element::insertedInto): Enqueue an upgrade reaction if this is an unsolved custom element and there is now
a definition for it (the latter condition is checked in enqueueElementUpgradeIfDefined).
- html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::createHTMLElementOrFindCustomElementInterface): Don't upgrade this element until it gets
connected to a document in Element::insertedInto.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::ensureCustomElementRegistry):
LayoutTests:
Added a W3c-style testharness.js test for https://html.spec.whatwg.org/#enqueue-a-custom-element-upgrade-reaction
and added more test cases for :defined and customElements.define.
- fast/custom-elements/CustomElementRegistry.html: Revised descriptions for "get" and "whenDefined" test cases consistent
with ones for "define".
- fast/custom-elements/defined-pseudo-class-expected.txt:
- fast/custom-elements/defined-pseudo-class.html:
- fast/custom-elements/enqueue-custom-element-upgrade-reaction-expected.txt: Added.
- fast/custom-elements/enqueue-custom-element-upgrade-reaction.html: Added.
- fast/custom-elements/resources/document-types.js:
(create):
- 9:41 PM Changeset in webkit [205339] by
-
- 2 edits in trunk/LayoutTests
[EFL] Mark failing tests to failure
Unreviewed EFL gardening.
Failing tests of security, hyphenation, and form are marked to failure.
- platform/efl/TestExpectations:
- 9:02 PM Changeset in webkit [205338] by
-
- 12 edits in tags/Safari-603.1.4.0.1
Merged r205333. rdar://problem/28129826
- 8:59 PM Changeset in webkit [205337] by
-
- 5 edits in tags/Safari-603.1.4.0.1/Source
Versioning.
- 8:57 PM Changeset in webkit [205336] by
-
- 1 copy in tags/Safari-603.1.4.0.1
New tag.
- 8:42 PM Changeset in webkit [205335] by
-
- 11 edits in trunk/Source
Add toJS for JSC::PrivateName
https://bugs.webkit.org/show_bug.cgi?id=161522
Reviewed by Ryosuke Niwa.
Source/JavaScriptCore:
Add the export annotation.
And we perform refactoring RefPtr<SymbolImpl> => Ref<SymbolImpl> for PrivateName,
since PrivateName never holds null SymbolImpl pointer. And along with this change,
we changed SymbolImpl* to SymbolImpl& in PrivateName::uid() callers.
- runtime/Completion.cpp:
(JSC::createSymbolForEntryPointModule):
- runtime/IdentifierInlines.h:
(JSC::Identifier::fromUid):
- runtime/JSFunction.cpp:
(JSC::JSFunction::setFunctionName):
- runtime/PrivateName.h:
(JSC::PrivateName::PrivateName):
(JSC::PrivateName::uid): Ugly const_cast. But const annotation is meaningless for SymbolImpl.
StringImpl should be observed as an immutable object. (Of course, its hash members etc. are mutable.
But most of the users (One of the exceptions is the concurrent JIT compiling thread!) should not care about this.)
(JSC::PrivateName::operator==):
(JSC::PrivateName::operator!=):
- runtime/PropertyName.h:
(JSC::PropertyName::PropertyName):
- runtime/Symbol.cpp:
(JSC::Symbol::finishCreation):
- runtime/Symbol.h:
- runtime/SymbolConstructor.cpp:
(JSC::symbolConstructorKeyFor):
Source/WebCore:
JSC::PrivateName is the wrapper to create and hold the ES6 Symbol instance.
This patch adds toJS support for JSC::PrivateName.
Later, the module integration patch will use this feature to call
DeferredWrapper::{resolve,reject} with JSC::PrivateName.
- bindings/js/JSDOMBinding.h:
(WebCore::toJS):
- 8:37 PM Changeset in webkit [205334] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, build fix after r205327
- UIProcess/API/gtk/WebKitUIClient.cpp:
- 8:25 PM Changeset in webkit [205333] by
-
- 12 edits in trunk
Build fix.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
- Configurations/WebCore.xcconfig:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 7:43 PM Changeset in webkit [205332] by
-
- 3 edits in trunk/Source/JavaScriptCore
jsc: fix cmake build missing symbol getPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=161521
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Saam Barati.
- runtime/IntlDateTimeFormat.cpp: include JSCInlines.h
- runtime/IntlNumberFormat.cpp: include JSCInlines.h
- 6:22 PM Changeset in webkit [205331] by
-
- 2 edits in trunk/LayoutTests
[EFL] Gardening faliure and timeout tests on 2th Sep.
Unreviewed EFL gardening.
- platform/efl/TestExpectations:
- 6:19 PM Changeset in webkit [205330] by
-
- 12 edits1 copy1 add in trunk/Source/JavaScriptCore
jsc: provide printErr()
https://bugs.webkit.org/show_bug.cgi?id=161513
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Mark Lam.
- jsc.cpp:
(GlobalObject::finishCreation):
(printInternal): renamed from functionPrint, add error checking
(functionPrintStdOut): punt to printInternal
(functionPrintStdErr): punt to printInternal
(functionPrint): Deleted.
- 6:16 PM Changeset in webkit [205329] by
-
- 21 edits2 copies in trunk/Tools
Provide a TestWebKitAPI-wide WKNavigationDelegate to simplify tests
https://bugs.webkit.org/show_bug.cgi?id=161413
Reviewed by Simon Fraser.
Add TestNavigationDelegate, which provides block properties to make
writing tests feel a little more natural (the callbacks can be inline),
and also add WKWebView _test_waitForDidFinishNavigation, so that many
tests don't even need to manually allocate a navigation delegate at all.
Adopt in some of the simpler tests; there are a few navigation delegates
left behind, which we can move to the new model in the future.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/WKBackForwardList.mm:
(TEST):
(-[WKBackForwardListTestNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/AlwaysRevalidatedURLSchemes.mm:
(TEST):
(-[AlwaysRevalidatedURLSchemesDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm:
(animatedResizeWebView):
(-[AnimatedResizeNavigationDelegate _webView:renderingProgressDidChange:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:
(-[AutoLayoutWKWebView initWithFrame:configuration:]):
(-[AutoLayoutWKWebView load:withWidth:expectingContentSize:resettingWidth:]):
(TEST):
(-[AutoLayoutNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresource.mm:
(TEST):
(-[CancelFontSubresourceNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/CommandBackForward.mm:
(WebKit2_CommandBackForwardTestWKWebView::SetUp):
(WebKit2_CommandBackForwardTestWKWebView::loadFiles):
(TEST_F):
(-[CommandBackForwardNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
(expectLinkCount):
(TEST):
(-[DataDetectionNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm:
(TEST):
(-[FindInPageNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/FixedLayoutSize.mm:
(TEST):
(-[FixedLayoutSizeNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill.mm:
(TEST):
(-[DatabaseProcessKillNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence.mm:
(-[IndexedDBNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/ProvisionalURLNotChange.mm:
(TEST):
(-[ProvisionalURLNotChangeController webView:didFinishNavigation:]): Deleted.
(-[ProvisionalURLNotChangeController webView:didFailProvisionalNavigation:withError:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm:
(RequiresUserActionForPlaybackTest::createWebView):
(RequiresUserActionForPlaybackTest::testVideoWithAudio):
(RequiresUserActionForPlaybackTest::testVideoWithoutAudio):
(RequiresUserActionForPlaybackTest::testAudioOnly):
(-[RequiresUserActionForPlaybackNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/ShrinkToFit.mm:
(TEST):
(-[ShrinkToFitNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
(TEST):
(webViewForScriptMessageHandlerMultipleHandlerRemovalTest):
- TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorld.mm:
(TEST):
(-[SimpleDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewResizeCrash.mm:
(TEST):
(-[WKPDFViewResizeNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewEvaluateJavaScript.mm:
(TEST):
(-[EvaluateJavaScriptNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewTextInput.mm:
(TEST):
(-[DummyNavigationDelegate webView:didFinishNavigation:]): Deleted.
- TestWebKitAPI/cocoa/TestNavigationDelegate.h: Added.
- TestWebKitAPI/cocoa/TestNavigationDelegate.mm: Added.
(-[TestNavigationDelegate webView:didFailProvisionalNavigation:withError:]):
(-[TestNavigationDelegate webView:didFinishNavigation:]):
(-[TestNavigationDelegate _webView:renderingProgressDidChange:]):
(-[TestNavigationDelegate waitForDidFinishNavigation]):
(-[WKWebView _test_waitForDidFinishNavigation]):
- 6:01 PM Changeset in webkit [205328] by
-
- 2 edits in trunk/Source/JavaScriptCore
jsc: provide printErr()
https://bugs.webkit.org/show_bug.cgi?id=161513
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Mark Lam.
- jsc.cpp:
(GlobalObject::finishCreation):
(printInternal): renamed from functionPrint, add error checking
(functionPrintStdOut): punt to printInternal
(functionPrintStdErr): punt to printInternal
(functionPrint): Deleted.
- 4:43 PM Changeset in webkit [205327] by
-
- 5 edits in trunk/Source/WebKit2
Use WTF::Function for completion handlers in API::UIClient
https://bugs.webkit.org/show_bug.cgi?id=161516
Reviewed by Tim Horton.
- UIProcess/API/APIUIClient.h:
(API::UIClient::runJavaScriptAlert):
(API::UIClient::runJavaScriptConfirm):
(API::UIClient::runJavaScriptPrompt):
(API::UIClient::runBeforeUnloadConfirmPanel):
(API::UIClient::exceededDatabaseQuota):
(API::UIClient::reachedApplicationCacheOriginQuota):
- UIProcess/API/C/WKPage.cpp:
(WebKit::RunBeforeUnloadConfirmPanelResultListener::create):
(WebKit::RunBeforeUnloadConfirmPanelResultListener::RunBeforeUnloadConfirmPanelResultListener):
(WebKit::RunJavaScriptAlertResultListener::create):
(WebKit::RunJavaScriptAlertResultListener::RunJavaScriptAlertResultListener):
(WebKit::RunJavaScriptConfirmResultListener::create):
(WebKit::RunJavaScriptConfirmResultListener::RunJavaScriptConfirmResultListener):
(WebKit::RunJavaScriptPromptResultListener::create):
(WebKit::RunJavaScriptPromptResultListener::RunJavaScriptPromptResultListener):
(WKPageSetPageUIClient):
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
(WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota):
- 4:04 PM Changeset in webkit [205326] by
-
- 8 edits in trunk
YouTube Flash plug-in replacement facility should not insert showinfo=0 into iframe URLs
https://bugs.webkit.org/show_bug.cgi?id=161478
<rdar://problem/28050847>
Patch by Ricky Mondello <Ricky Mondello> on 2016-09-01
Reviewed by Eric Carlson.
Source/WebCore:
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL): Stop adding the query parameter.
Tools:
- TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
(TestWebKitAPI::TEST_F): Update expected results.
LayoutTests:
- platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-expected.txt: Update the URL that was blocked.
- platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe-no-height-or-width-expected.txt: Ditto.
- security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement-expected.txt: Ditto.
- 3:45 PM Changeset in webkit [205325] by
-
- 4 edits in trunk/Source/WTF
Use BlockPtr::fromCallable in WorkQueue::dispatch and WorkQueue::dispatchAfter
https://bugs.webkit.org/show_bug.cgi?id=161512
Reviewed by Chris Dumez.
This lets us get rid of leakCallable and adoptCallable.
- wtf/BlockPtr.h:
- wtf/Function.h:
- wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):
- 3:34 PM Changeset in webkit [205324] by
-
- 26 edits1 add in trunk/Source
Move some JSObject and JSArray inline functions to their respective Inlines.h files.
https://bugs.webkit.org/show_bug.cgi?id=161499
Reviewed by Saam Barati.
Source/JavaScriptCore:
This is just a refactoring patch to move some inline functions to their Inlines.h
files. This will be needed to enable https://bugs.webkit.org/show_bug.cgi?id=161498
later.
- bindings/ScriptValue.cpp:
- interpreter/Interpreter.cpp:
- runtime/IntlDateTimeFormatPrototype.cpp:
- runtime/IntlNumberFormatPrototype.cpp:
- runtime/JSArray.cpp:
- runtime/JSArray.h:
(JSC::getLength): Deleted.
(JSC::toLength): Deleted.
- runtime/JSArrayInlines.h:
(JSC::JSArray::mergeIndexingTypeForCopying):
(JSC::JSArray::canFastCopy):
(JSC::getLength):
(JSC::toLength):
- runtime/JSInternalPromise.cpp:
- runtime/JSInternalPromiseDeferred.cpp:
- runtime/JSJob.cpp:
- runtime/JSModuleRecord.cpp:
- runtime/JSObject.h:
(JSC::JSObject::getPropertySlot): Deleted.
(JSC::JSObject::getNonIndexPropertySlot): Deleted.
- runtime/JSObjectInlines.h:
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):
- runtime/JSPromiseDeferred.cpp:
- runtime/JSTypedArrayViewPrototype.cpp:
- runtime/MapConstructor.cpp:
- runtime/SamplingProfiler.cpp:
- runtime/SetConstructor.cpp:
- runtime/WeakMapConstructor.cpp:
- runtime/WeakSetConstructor.cpp:
Source/WebCore:
No new tests because there is no behavior change.
- ForwardingHeaders/runtime/JSObjectInlines.h: Added.
- bindings/js/JSDOMBinding.h:
- bindings/js/JSSQLTransactionCustom.cpp:
- bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
- contentextensions/ContentExtensionParser.cpp:
- 3:13 PM Changeset in webkit [205323] by
-
- 2 edits in trunk/Source/WebCore
Fix ENABLE(CSS_GRID_LAYOUT) guards harder after r205102/r205292
Unreviewed. Silence unused function warning.
- css/CSSComputedStyleDeclaration.cpp:
- 3:11 PM Changeset in webkit [205322] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Add visual indicator for shadow content in DOM tree
https://bugs.webkit.org/show_bug.cgi?id=160874
Patch by Devin Rousso <Devin Rousso> on 2016-09-01
Reviewed by Brian Burg.
- UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._nodeTitleInfo):
(WebInspector.DOMTreeElement.prototype._buildTagDOM):
Moved "shadow" class to parent element to allow easier styling.
- UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom):
(.tree-outline.dom li):
(.tree-outline.dom .shadow):
(.tree-outline.dom li.parent.shadow::after):
(.tree-outline.dom li.parent.shadow + ol.children.expanded):
(.tree-outline.dom .html-fragment.shadow): Deleted.
- 3:08 PM Changeset in webkit [205321] by
-
- 10 edits4 adds in trunk
GetByIdWithThis/GetByValWithThis should have ValueProfiles so that they can predict their result types
https://bugs.webkit.org/show_bug.cgi?id=160922
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Keith Miller.
JSTests:
Benchmark GetBy{Id,Val}WithThis in monomorphic and polymorphic uses.
The value profile is used by the calc functions, which do some mild math with the result.
These benchmarks get ~4% faster with value profiling.
- microbenchmarks/super-get-by-id-with-this-monomorphic.js: Added.
(A):
(A.prototype.set value):
(A.prototype.get value):
(B.prototype.set value):
(B.prototype.get value):
(B):
(const.bench):
- microbenchmarks/super-get-by-id-with-this-polymorphic.js: Added.
(A):
(A.prototype.set value):
(A.prototype.get value):
(B.prototype.set value):
(B.prototype.get value):
(B):
(const.bench):
- microbenchmarks/super-get-by-val-with-this-monomorphic.js: Added.
(value):
(A):
(A.prototype.set v):
(A.prototype.get v):
(B.prototype.set v):
(B.prototype.get v):
(B):
(const.bench):
- microbenchmarks/super-get-by-val-with-this-polymorphic.js: Added.
(value):
(A):
(A.prototype.set v):
(A.prototype.get v):
(B.prototype.set v):
(B.prototype.get v):
(B):
(const.bench):
Source/JavaScriptCore:
Add value profiling to GetBy{Id,Val}WithThis.
- bytecode/BytecodeList.json:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finishCreation):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetById):
(JSC::BytecodeGenerator::emitGetByVal):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
- dfg/DFGPredictionPropagationPhase.cpp:
- llint/LowLevelInterpreter.asm:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- 3:05 PM Changeset in webkit [205320] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Value checks of secondsPerPixel cause errors
https://bugs.webkit.org/show_bug.cgi?id=161304
<rdar://problem/28050070>
Reviewed by Brian Burg.
- UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype.reset):
Clear resource node map, which is used to determine which nodes
to refresh during layout.
(WebInspector.NetworkTimelineView.prototype.layout):
Like OverviewTimelineView, only refresh node graphs when times change.
This prevents refreshing nodes when (endTime - startTime) === 0.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._recordingReset):
TimelineViews must be cleared before calling _updateTimes to avoid
doing layouts in timeline views containing stale data.
- 3:03 PM Changeset in webkit [205319] by
-
- 5 edits in trunk
Web Inspector: add Object.awaitEvent which is like singleFireEventListener but returns a promise
https://bugs.webkit.org/show_bug.cgi?id=161451
Patch by Devin Rousso <Devin Rousso> on 2016-09-01
Reviewed by Brian Burg.
Source/WebInspectorUI:
- UserInterface/Base/Object.js:
(WebInspector.Object.awaitEvent):
(WebInspector.Object.prototype.awaitEvent):
LayoutTests:
- inspector/unit-tests/object-expected.txt:
- inspector/unit-tests/object.html:
- 2:50 PM Changeset in webkit [205318] by
-
- 3 edits in trunk/Source/WebCore
Avoid unneeded string copy when parsing URL hosts
https://bugs.webkit.org/show_bug.cgi?id=161511
Reviewed by Tim Horton.
No change in behavior. Covered by existing API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::parseAuthority):
(WebCore::URLParser::parseHost):
(WebCore::URLParser::authorityEndReached): Deleted.
(WebCore::URLParser::hostEndReached): Deleted.
- platform/URLParser.h:
- 2:45 PM Changeset in webkit [205317] by
-
- 2 edits in trunk/JSTests
arith-abs-on-various-types.js is flaky
Unreviewed.
Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-01
- stress/arith-abs-on-various-types.js:
Two compilation is too small for the worst case.
Math.abs() can be typed integer->number->untyped if we are very unlucky.
- 2:18 PM Changeset in webkit [205316] by
-
- 3 edits in trunk/LayoutTests
Fix a typo in the previous commit. I didn't mean to comment out this test case I added per a review comment.
- fast/custom-elements/CustomElementRegistry-expected.txt:
- fast/custom-elements/CustomElementRegistry.html:
- 2:16 PM Changeset in webkit [205315] by
-
- 8 edits in trunk
Add "whenDefined" to CustomElementRegistry
https://bugs.webkit.org/show_bug.cgi?id=161425
Reviewed by Yusuke Suzuki.
Source/WebCore:
Add the support for "whenDefined" method on CustomElementRegistry:
https://html.spec.whatwg.org/#dom-customelementregistry-whendefined
Because it needs to store the newly created promise when the queried custom element has not been defined yet,
we need to write custom binding code instead of relying on the binding generator.
Tests: fast/custom-elements/CustomElementRegistry.html
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::validateCustomElementNameAndThrowIfNeeded): Extracted out of JSCustomElementRegistry::define.
(WebCore::JSCustomElementRegistry::define): Fulfill the "whenDefined" promise when the definition succeeds.
(WebCore::whenDefinedPromise): Added. Return an existing promise if there is one, or create a new promise.
We cache the created promise only if the custom element had not been defined yet since we'll indefinitely
retain the resolved promise otherwise.
(WebCore::JSCustomElementRegistry::whenDefined): Added. Calls whenDefinedPromise and returns a rejected
promise when there was an exception.
- dom/CustomElementRegistry.cpp:
- dom/CustomElementRegistry.h:
(WebCore::CustomElementRegistry::promiseMap): Added.
- dom/CustomElementRegistry.idl:
LayoutTests:
Added test cases for "whenDefined" method.
- fast/custom-elements/CustomElementRegistry-expected.txt:
- fast/custom-elements/CustomElementRegistry.html:
- 2:04 PM Changeset in webkit [205314] by
-
- 4 edits2 adds in trunk
Web Inspector: Minification detection produces false positives for small resources
https://bugs.webkit.org/show_bug.cgi?id=161159
<rdar://problem/27995306>
Reviewed by Brian Burg.
Source/WebInspectorUI:
Improve minification detection algorithm. Minified resources rarely have tabs and usually
have a very few line breaks. Counting tabs as 4 spaces and line breaks as 8 makes minification
detection heuristic more accurate. Increase ratio thresholds to accommodate for the changes in
whitespaceScore.
- UserInterface/Base/Utilities.js:
(isTextLikelyMinified):
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._prepareEditorForInitialContent):
(WebInspector.SourceCodeTextEditor.prototype._isLikelyMinified): Deleted.
LayoutTests:
- inspector/formatting/is-text-likely-minified-expected.txt: Added.
- inspector/formatting/is-text-likely-minified.html: Added.
- 1:40 PM Changeset in webkit [205313] by
-
- 4 edits1 add in trunk
add BlockPtr::fromCallable
https://bugs.webkit.org/show_bug.cgi?id=161504
Reviewed by Tim Horton.
Source/WTF:
BlockPtr::fromCallable lets you create an Objective-C block from any callable object - including lambdas that contain move-only types.
The block will be allocated on the heap so it doesn't ever need to be copied (which is how it can work with move-only types).
- wtf/BlockPtr.h:
Tools:
Add a test.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/BlockPtr.mm: Added.
(TestWebKitAPI::TEST):
- 1:33 PM Changeset in webkit [205312] by
-
- 5 edits in trunk
URLParser should handle . and .. in URL paths
https://bugs.webkit.org/show_bug.cgi?id=161443
Reviewed by Brady Eidson.
Source/WebCore:
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::isSingleDotPathSegment):
(WebCore::isDoubleDotPathSegment):
(WebCore::consumeSingleDotPathSegment):
(WebCore::consumeDoubleDotPathSegment):
(WebCore::URLParser::parse):
(WebCore::URLParser::copyURLPartsUntil): Deleted.
Tools:
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::eq):
(TestWebKitAPI::TEST_F):
- 1:23 PM WebKitGTK/2.12.x edited by
- r202940 (diff)
- 1:17 PM Changeset in webkit [205311] by
-
- 6 edits8 copies2 adds1 delete in trunk/Tools
Unreviewed, rolling out r205295 and r205303.
https://bugs.webkit.org/show_bug.cgi?id=161505
Broke the iOS build (Requested by ryanhaddad on #webkit).
Reverted changesets:
"Refactor MobileMiniBrowser into an application framework to
allow external XCTesting"
https://bugs.webkit.org/show_bug.cgi?id=161462
http://trac.webkit.org/changeset/205295
"Unreviewed build-fix; don't specify an explicit deployment
target."
http://trac.webkit.org/changeset/205303
Patch by Commit Queue <commit-queue@webkit.org> on 2016-09-01
- 1:14 PM Changeset in webkit [205310] by
-
- 2 edits in trunk
Update root .gitignore for latest WebKitLibraries
https://bugs.webkit.org/show_bug.cgi?id=161501
Reviewed by Alex Christensen.
- .gitignore:
- 1:04 PM Changeset in webkit [205309] by
-
- 14 edits in trunk/Source/JavaScriptCore
Rename WASM classes dropping the WASM prefix
https://bugs.webkit.org/show_bug.cgi?id=161500
Reviewed by Mark Lam.
Having to write WASM::WASMModule seems silly. Also, this patch
merges WASMFunctionReturnType and WASMValueType into one type
that is a typedef of B3::Type. Using B3::Type as the WASM
primitive type makes it trivial to convert a Vector of WASM
types into a Vector of B3 types.
- b3/B3Type.h:
- wasm/JSWASMModule.h:
(JSC::JSWASMModule::signatures):
(JSC::JSWASMModule::functionImports):
(JSC::JSWASMModule::functionImportSignatures):
(JSC::JSWASMModule::globalVariableTypes):
(JSC::JSWASMModule::functionDeclarations):
(JSC::JSWASMModule::functionPointerTables):
- wasm/WASMB3IRGenerator.cpp:
(JSC::WASM::toB3Op):
(JSC::WASM::B3IRGenerator::addLocal):
(JSC::WASM::B3IRGenerator::unaryOp):
(JSC::WASM::B3IRGenerator::binaryOp):
(JSC::WASM::B3IRGenerator::addConstant):
(JSC::WASM::parseAndCompile):
- wasm/WASMB3IRGenerator.h:
- wasm/WASMFormat.h:
- wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser<Context>::FunctionParser):
(JSC::WASM::FunctionParser<Context>::parse):
(JSC::WASM::FunctionParser<Context>::parseBlock):
(JSC::WASM::FunctionParser<Context>::parseExpression):
(JSC::WASM::WASMFunctionParser<Context>::WASMFunctionParser): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::parse): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::parseBlock): Deleted.
(JSC::WASM::WASMFunctionParser<Context>::parseExpression): Deleted.
- wasm/WASMModuleParser.cpp:
(JSC::WASM::ModuleParser::parse):
(JSC::WASM::ModuleParser::parseFunctionTypes):
(JSC::WASM::ModuleParser::parseFunctionSignatures):
(JSC::WASM::ModuleParser::parseFunctionDefinitions):
(JSC::WASM::WASMModuleParser::parse): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionTypes): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionSignatures): Deleted.
(JSC::WASM::WASMModuleParser::parseFunctionDefinitions): Deleted.
- wasm/WASMModuleParser.h:
(JSC::WASM::ModuleParser::ModuleParser):
(JSC::WASM::ModuleParser::functionInformation):
(JSC::WASM::WASMModuleParser::WASMModuleParser): Deleted.
(JSC::WASM::WASMModuleParser::functionInformation): Deleted.
- wasm/WASMOps.h:
- wasm/WASMParser.h:
(JSC::WASM::Parser::Parser):
(JSC::WASM::Parser::consumeCharacter):
(JSC::WASM::Parser::consumeString):
(JSC::WASM::Parser::parseUInt32):
(JSC::WASM::Parser::parseUInt7):
(JSC::WASM::Parser::parseVarUInt1):
(JSC::WASM::Parser::parseValueType):
(JSC::WASM::WASMParser::WASMParser): Deleted.
(JSC::WASM::WASMParser::consumeCharacter): Deleted.
(JSC::WASM::WASMParser::consumeString): Deleted.
(JSC::WASM::WASMParser::parseUInt32): Deleted.
(JSC::WASM::WASMParser::parseUInt7): Deleted.
(JSC::WASM::WASMParser::parseVarUInt1): Deleted.
(JSC::WASM::WASMParser::parseValueType): Deleted.
- wasm/WASMPlan.cpp:
(JSC::WASM::Plan::Plan):
- wasm/WASMSections.cpp:
(JSC::WASM::Sections::lookup):
(JSC::WASM::WASMSections::lookup): Deleted.
- wasm/WASMSections.h:
(JSC::WASM::Sections::validateOrder):
(JSC::WASM::WASMSections::validateOrder): Deleted.
- 12:48 PM Changeset in webkit [205308] by
-
- 2 edits in trunk/Source/WebCore
Fix Mac CMake build.
- PlatformMac.cmake:
- 12:32 PM Changeset in webkit [205307] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION (r201454): Web Inspector: Text caret isn't visible when editing an attribute
https://bugs.webkit.org/show_bug.cgi?id=160986
<rdar://problem/27916207>
Reviewed by Brian Burg.
- UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom li .selection-area):
(.tree-outline.dom li > span):
Place selection area under the edited field, the way it was before r201454.
- 12:27 PM Changeset in webkit [205306] by
-
- 4 edits in trunk
YouTube Flash plug-in replacement facility should more gracefully handle malformed queries
https://bugs.webkit.org/show_bug.cgi?id=161476
<rdar://problem/28050847>
Patch by Ricky Mondello <Ricky Mondello> on 2016-09-01
Reviewed by Eric Carlson.
Source/WebCore:
Some YouTube Flash embeds use '&' instead of '?' to start the query portion of the URL. Before this patch,
our implementation discards all parts of the path after the '&', which could drop important query information
like the start time for the video. This patch treats anything after that '&' as a "malformed query" and uses
it as the query to restore to the transformed URL if there was no actual query in the original URL.
- Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::processAndCreateYouTubeURL): Add an out-parameter for the path after the first ampersand.
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL): If the input URL had no query, append
the possibly malformed one found after the first ampersand to the replacement URL.
Tools:
- TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp:
(TestWebKitAPI::TEST_F): New tests. The first two and second-to-last test cases cover the "malformed" query
logic. A few other tests are added, too.
- 12:23 PM Changeset in webkit [205305] by
-
- 2 edits in trunk/Source/WebKit2
Fix cmake build, missing SecItemShim.messages.in
https://bugs.webkit.org/show_bug.cgi?id=161496
Patch by JF Bastien <jfbastien@apple.com> on 2016-09-01
Reviewed by Alex Christensen.
- PlatformMac.cmake:
- 11:55 AM Changeset in webkit [205304] by
-
- 3 edits2 adds in trunk
ObjectAllocationSinkingPhase::insertOSRHintsForUpdate() fails to emit updated hints in some cases
https://bugs.webkit.org/show_bug.cgi?id=161492
Reviewed by Mark Lam.
JSTests:
This bug affected function->activation references but not object->object field references,
because object->object field references are !neededForMaterialization(). So, the object
test always passed but the activation/function test used to always fail. It passes now.
- stress/materialize-activation-referenced-from-phantom-function.js: Added.
(bar):
(inc):
(dec):
(foo):
(test):
- stress/materialize-object-referenced-from-phantom-object.js: Added.
(bar):
(foo):
(test):
Source/JavaScriptCore:
If you materialize a sunken object that is referenced from another sunken object, then you
have to emit a PutHint to tell OSR that the latter object now refers to a materialized
object rather than to the old sunken one.
The ObjectAllocationSinkingPhase totally knows how to do this, but for some reason it only
did it when the PromotedLocationDescriptor for the field used for referring to the other
object is !neededForMaterialization(), i.e. it's a NamedPropertyPLoc or a ClosureVarPLoc.
I can sort of imagine why we thought that would be right - neededForMaterialization() means
it's a special meta-data field initialized on construction. But just because it's immutable
and special doesn't mean that materialization can't change its physical representation.
Removing the requirement that it's !neededForMaterialization() fixes the test and doesn't
regress anything.
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- 11:44 AM Changeset in webkit [205303] by
-
- 2 edits in trunk/Tools
Unreviewed build-fix; don't specify an explicit deployment target.
- MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
- 11:38 AM Changeset in webkit [205302] by
-
- 2 edits1 delete in trunk/Source/WebCore
Fix Mac CMake build after r205266.
- PlatformMac.cmake:
- platform/cocoa/URLParserCocoa.mm: Removed.
- 11:34 AM Changeset in webkit [205301] by
-
- 7 edits in trunk
Unreviewed, rolling out r205297.
Caused some JSC test failures
Reverted changeset:
"Align cross-origin proto getter / setter behavior with the
specification"
https://bugs.webkit.org/show_bug.cgi?id=161455
http://trac.webkit.org/changeset/205297
- 11:19 AM Changeset in webkit [205300] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: tweak one UIString for "reasons for compositing"
https://bugs.webkit.org/show_bug.cgi?id=161495
<rdar://problem/13718387>
Reviewed by Simon Fraser.
Change "Element establishes a stacking context" to "Element may overlap other compositing element".
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons):
(WebInspector.LayerTreeDetailsSidebarPanel):
- 11:08 AM Changeset in webkit [205299] by
-
- 4 edits in trunk/Source/WebKit2
[Mac] Web Inspector: Remove stale inspector process termination code
https://bugs.webkit.org/show_bug.cgi?id=161465
<rdar://problem/28106584>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-09-01
Reviewed by Brian Burg.
- UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess): Deleted.
- UIProcess/WebInspectorProxy.h:
- UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter didRelaunchProcess]): Deleted.
(-[WKWebInspectorWKWebView _didRelaunchProcess]): Deleted.
This code doesn't appear to be run when the WebContent process inside
of an Inspector process crashes. The general WebInspectorProxy has its
own handling of when the page inside an inspector process crashes, so
this Mac specific path appears to be unused and stale.
- 11:00 AM Changeset in webkit [205298] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, update iOS simulator WK1 flaky tests.
- platform/ios-simulator-wk1/TestExpectations:
- 10:48 AM Changeset in webkit [205297] by
-
- 7 edits in trunk
Align cross-origin proto getter / setter behavior with the specification
https://bugs.webkit.org/show_bug.cgi?id=161455
Reviewed by Mark Lam.
Source/JavaScriptCore:
Align cross-origin proto getter / setter behavior with the specification:
The setter should throw a TypeError:
- https://html.spec.whatwg.org/#windowproxy-setprototypeof
- https://html.spec.whatwg.org/#location-setprototypeof
- https://tc39.github.io/ecma262/#sec-object.setprototypeof (step 5)
The getter should return null:
- https://html.spec.whatwg.org/#windowproxy-getprototypeof
- https://html.spec.whatwg.org/#location-getprototypeof
I have verified that this aligns our behavior with Firefox and Chrome.
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::GlobalFuncProtoGetterFunctor::operator()):
(JSC::globalFuncProtoSetter):
LayoutTests:
Add layout test coverage.
- http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-getPrototypeOf.html:
- http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
- http/tests/security/cross-frame-access-object-setPrototypeOf.html:
- 10:33 AM Changeset in webkit [205296] by
-
- 2 edits in trunk/LayoutTests
Marking media/video-main-content-allow-then-scroll.html as flaky on ios-simulator-wk2.
https://bugs.webkit.org/show_bug.cgi?id=161491
Unreviewed test gardening.
- platform/ios-simulator-wk2/TestExpectations:
- 10:32 AM Changeset in webkit [205295] by
-
- 6 edits2 copies7 moves9 adds1 delete in trunk/Tools
Refactor MobileMiniBrowser into an application framework to allow external XCTesting
https://bugs.webkit.org/show_bug.cgi?id=161462
Reviewed by Eric Carlson.
XCTest targets need to be in the same project as the application which they're testing. To facilitate
having external projects with XCTest targets, move the application's implementation into a framework
that can be included with a bare-bones application shell for testing.
Simultaneously, add the ability to load files from within the new framework's bundle by using a
'bundle:/' URL scheme. Update the tests to use this new bundle URL and remove the dependency on
an external server for testing.
- MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
- MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard:
- MobileMiniBrowser/MobileMiniBrowser/Info.plist:
- MobileMiniBrowser/MobileMiniBrowser/main.m:
- MobileMiniBrowser/MobileMiniBrowserFramework/AppDelegate.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/AppDelegate.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.m.
(-[AppDelegate application:didFinishLaunchingWithOptions:]): Manually instantiate the main view
controller from the framework's bundle.
- MobileMiniBrowser/MobileMiniBrowserFramework/Assets.xcassets/AppIcon.appiconset/Contents.json: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/Assets.xcassets/AppIcon.appiconset/Contents.json.
- MobileMiniBrowser/MobileMiniBrowserFramework/Base.lproj/Main.storyboard: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/Base.lproj/Main.storyboard.
- MobileMiniBrowser/MobileMiniBrowserFramework/Info.plist: Added.
- MobileMiniBrowser/MobileMiniBrowserFramework/MobileMiniBrowser.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/AppDelegate.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/TabViewController.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/TabViewController.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/TabViewController.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/TabViewController.m.
- MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.h: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/WebViewController.h.
- MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m: Renamed from Tools/MobileMiniBrowser/MobileMiniBrowser/WebViewController.m.
(+[NSURL bundleURLForFileURL:bundle:]): Add utility method.
(+[NSURL fileURLForBundleURL:bundle:]): Ditto.
(-[WebViewController navigateTo:]): Support loading "bundle:/" URLs which are really just "file:" URLs
pointing to the framework's resources directory.
(-[WebViewController observeValueForKeyPath:ofObject:change:context:]): Ditto.
- MobileMiniBrowser/MobileMiniBrowserUITests/MobileMiniBrowserUITests.m:
(-[MobileMiniBrowserUITests testBasicVideoPlayback]):
- 10:31 AM Changeset in webkit [205294] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Fix configuration without wayland support
https://bugs.webkit.org/show_bug.cgi?id=161475
WebKit2WaylandClientProtocol.c is a derived source that is created
conditionally on ENABLE_WAYLAND_TARGET. It was being included
in the sources list unconditionally, so configure failed whenever
wayland support was unavailable.
Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-09-01
Reviewed by Žan Doberšek.
- PlatformGTK.cmake: Include WebKit2WaylandClientProtocol.c in source list conditional on ENABLE_WAYLAND_TARGET
- 10:10 AM Changeset in webkit [205293] by
-
- 1 edit1 add in trunk/LayoutTests
Add ios-simulator baseline for compositing/layer-creation/will-change-on-normal-flow-content.html.
https://bugs.webkit.org/show_bug.cgi?id=161490
Unreviewed test gardening.
- platform/ios-simulator/compositing/layer-creation/will-change-on-normal-flow-content-expected.txt:
- Added.
- 9:51 AM Changeset in webkit [205292] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed build fix after r205102.
The change made in r205102 caused compilation failures on
builds with the CSS_GRID_LAYOUT compilation flag disabled.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::resolveJustifySelfAuto): Deleted.
- css/CSSPropertyNames.in:
- css/parser/CSSParser.cpp:
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
- 7:54 AM Changeset in webkit [205291] by
-
- 2 edits in trunk/Source/WebCore
Fix the Mac cmake clean build issue
https://bugs.webkit.org/show_bug.cgi?id=157261
Patch by Fujii Hironori <Fujii Hironori> on 2016-09-01
Reviewed by Michael Catanzaro.
Building WebCoreDerivedSources target failed due to the race
condition with building ForwardingHeaders of JavaScriptCore.
- CMakeLists.txt: Make WebCoreDerivedSources depends on JavaScriptCore.
- 7:22 AM Changeset in webkit [205290] by
-
- 4 edits in trunk/Source/WebCore
FocusController should pass KeyboardEvent around by reference.
<https://webkit.org/b/161461>
Reviewed by Sam Weinig.
Clean up FocusController to pass KeyboardEvent& around internally.
Also make FocusController::setInitialFocus() synthesize a dummy KeyboardEvent
if one isn't provided, just like nextFocusableElement()/previousFocusableElement() does.
This way we can feel confident about dereferencing the formerly KeyboardEvent* everywhere.
- page/EventHandler.cpp:
(WebCore::EventHandler::defaultArrowEventHandler):
(WebCore::EventHandler::defaultTabEventHandler):
- page/FocusController.cpp:
(WebCore::isFocusableElementOrScopeOwner):
(WebCore::isNonFocusableScopeOwner):
(WebCore::isFocusableScopeOwner):
(WebCore::shadowAdjustedTabIndex):
(WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
(WebCore::FocusController::setInitialFocus):
(WebCore::FocusController::advanceFocus):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableElementAcrossFocusScope):
(WebCore::FocusController::findFocusableElementWithinScope):
(WebCore::FocusController::nextFocusableElementWithinScope):
(WebCore::FocusController::previousFocusableElementWithinScope):
(WebCore::FocusController::findFocusableElementOrScopeOwner):
(WebCore::FocusController::findElementWithExactTabIndex):
(WebCore::nextElementWithGreaterTabIndex):
(WebCore::previousElementWithLowerTabIndex):
(WebCore::FocusController::nextFocusableElement):
(WebCore::FocusController::previousFocusableElement):
(WebCore::FocusController::nextFocusableElementOrScopeOwner):
(WebCore::FocusController::previousFocusableElementOrScopeOwner):
(WebCore::FocusController::findFocusCandidateInContainer):
(WebCore::FocusController::advanceFocusDirectionallyInContainer):
(WebCore::FocusController::advanceFocusDirectionally):
- page/FocusController.h:
- 7:14 AM Changeset in webkit [205289] by
-
- 8 edits in trunk
[Streams API] Align internal structure of ReadableStream with spec
https://bugs.webkit.org/show_bug.cgi?id=160299
Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2016-09-01
Reviewed by Xabier Rodriguez-Calvar.
LayoutTests/imported/w3c:
Aligned internal structure of ReadableStream with spec. Fixed one expectation
that was set to FAIL while it is now PASSing.
- web-platform-tests/streams/readable-streams/general.https-expected.txt:
Source/WebCore:
Aligned internal structure of ReadableStream with spec. Various
internal properties have been moved to ReadableStreamDefaultController.
In addition, various behaviors had to be updated. Several other changes
will have to be performed in order to align with spec, e.g. changing
functions names. This patch does not change them in order to make the
structural changes easier to follow.
No change in functionality except support for 1 specific case where
an error was not thrown while it should have been. Changed corresponding
test expectation (now PASS instead of FAIL).
Modified test expectation: web-platform-tests/streams/readable-streams/general.https-expected.txt
- Modules/fetch/FetchResponse.js:
(initializeFetchResponse): Replaced reference to underlyingSource as no
more a property of readableStream (use readableStreamController instead,
as defined by spec).
- Modules/streams/ReadableStream.js:
(initializeReadableStream): Removed various properties now hanlded by
ReadableStreamDefaultController.
- Modules/streams/ReadableStreamDefaultController.js:
(enqueue): Updated based on new properties repartition between reader and controller.
(error): Updated based on new properties repartition between reader and controller.
(close): Updated based on new properties repartition between reader and controller.
(desiredSize): Updated based on new properties repartition between reader and controller.
- Modules/streams/ReadableStreamInternals.js:
(privateInitializeReadableStreamDefaultController): Added various properties now handled by
ReadableStreamDefaultController, as well as an internal pull function defined by spec.
(readableStreamDefaultControllerError): Added based on spec (error handling at controller level).
(teeReadableStream): Fixed typo and use readableStreamDefaultControllerError instead of errorReadableStream.
(doStructuredClone): Added "use strict";.
(teeReadableStreamPullFunction): Use readableStreamDefaultControllerClose instead of closeReadableStream.
(isReadableStream): Replaced check of underlyingSource by check that object is actually an instance of
ReadableStream (spec requires checking that readableStreamController slot is present, but this cannot
be checked).
(isReadableStreamDefaultReader): Replaced check of ownerReadableStream presence by check of readRequests,
in line with spec.
(isReadableStreamDefaultController): Replaced check of controlledReadableStream presence by check of unerlyingSource,
in line with spec.
(errorReadableStream): Updated based on new properties repartition between reader and controller.
(requestReadableStreamPull): Updated based on new properties repartition between reader and controller.
(readableStreamDefaultControllerGetDesiredSize): Replaces getReadableStreamDesiredSize (size now depends
on controller; new function name aligned with spec).
(cancelReadableStream): Updated based on new properties repartition between reader and controller.
(readableStreamDefaultControllerClose): Added based on spec (closing controller).
(closeReadableStream): Updated based on new properties repartition between reader and controller.
(enqueueInReadableStream): Updated based on new properties repartition between reader and controller.
(readFromReadableStreamDefaultReader): Updated based on new properties repartition between reader and controller.
- bindings/js/WebCoreBuiltinNames.h: Added pull (internal function of ReadableStreamDefaultController)
and readableStreamController (defined by spec)
- 5:01 AM Changeset in webkit [205288] by
-
- 2 edits in trunk/LayoutTests
Unreviewed. Skip fixed layout tests in GTK+
They are causing a lot of flaky tests because of changes in the viewport controller that are never reset. Once
the actual bug is properly fixed I'll unskip these tests again.
- platform/gtk/TestExpectations:
- 5:00 AM WebKitGTK/2.12.x edited by
- (diff)
- 3:37 AM Changeset in webkit [205287] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix the !ENABLE(SVG_FONTS) and !ENABLE(XSLT) build after r205269.
- loader/LinkLoader.cpp:
(WebCore::createLinkPreloadResourceClient):
- 3:11 AM Changeset in webkit [205286] by
-
- 2 edits in trunk/Source/WebCore
URTBF after r205161 to fix !ENABLE(WEB_TIMING) build.
- bindings/js/JSPerformanceTimingCustom.cpp:
- 2:10 AM Changeset in webkit [205285] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed ARM buildfix after r205283.
- assembler/ARMAssembler.h:
(JSC::ARMAssembler::patchableJumpSize):
- assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::patchableJumpSize):
- 1:26 AM Changeset in webkit [205284] by
-
- 2 edits in trunk/LayoutTests
Calling then on promise in Workers may crash in Debug builds
https://bugs.webkit.org/show_bug.cgi?id=156737
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-09-01
- TestExpectations: Activating previously skipped fetch api tests in Debug bots
- 1:22 AM Changeset in webkit [205283] by
-
- 8 edits in trunk/Source/JavaScriptCore
JITMathIC was misusing maxJumpReplacementSize
https://bugs.webkit.org/show_bug.cgi?id=161356
<rdar://problem/28065560>
Reviewed by Benjamin Poulain.
JITMathIC was assuming that maxJumpReplacementSize is the size
you'd get if you emitted a patchableJump() using the macro assembler.
This is not true, however. It happens to be true on arm64, x86 and x86-64,
however, it is not true on armv7. This patch introduces an alternative to
maxJumpReplacementSize called patchableJumpSize, and switches JITMathIC
to use that number instead.
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::patchableJumpSize):
(JSC::ARM64Assembler::maxJumpReplacementSize): Deleted.
- assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::patchableJumpSize):
(JSC::ARMv7Assembler::maxJumpReplacementSize): Deleted.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::patchableJumpSize):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::patchableJumpSize):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::patchableJumpSize):
- assembler/X86Assembler.h:
(JSC::X86Assembler::patchableJumpSize):
(JSC::X86Assembler::maxJumpReplacementSize): Deleted.
- jit/JITMathIC.h:
(JSC::JITMathIC::generateInline):
- 12:37 AM Changeset in webkit [205282] by
-
- 18 edits in trunk/Source
Clean up TextRun-related code
https://bugs.webkit.org/show_bug.cgi?id=161473
Reviewed by Simon Fraser.
Source/WebCore:
Some assorted cleanup, including:
- Renaming "AllowTrailingExpansion | ForbidLeadingExpansion" to "DefaultExpansion"
- Migrating from pointers to references
- Migrating from ints to unsigneds
- Using proper character names from CharacterNames.h
- Simplifying CoreTextSPI.h
No new tests because there is no behavior change.
- platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::TextLayout::isNeeded):
(WebCore::TextLayout::constructTextRun):
- platform/spi/cocoa/CoreTextSPI.h:
- platform/text/TextFlags.h:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
- rendering/RenderBlock.h:
- rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::getRelativeMarkerRect):
- rendering/RenderMenuList.cpp:
(RenderMenuList::updateOptionsWidth):
- rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::trimmedPrefWidths):
(WebCore::hyphenWidth):
(WebCore::maxWordFragmentWidth):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::width):
- rendering/RenderText.h:
- rendering/RenderThemeIOS.mm:
- rendering/line/BreakingContext.h:
(WebCore::textWidth):
(WebCore::tryHyphenating):
- rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::offsetForPositionInFragment):
(WebCore::SVGInlineTextBox::selectionRectForTextFragment):
(WebCore::SVGInlineTextBox::localSelectionRect):
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::paint):
(WebCore::SVGInlineTextBox::acquirePaintingResource):
(WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting):
(WebCore::SVGInlineTextBox::constructTextRun):
(WebCore::SVGInlineTextBox::paintDecorationWithStyle):
(WebCore::SVGInlineTextBox::paintTextWithShadows):
(WebCore::SVGInlineTextBox::paintText):
- rendering/svg/SVGInlineTextBox.h:
Source/WebKit/mac:
Remove unused #includes.
- WebCoreSupport/WebDragClient.mm:
- WebView/WebView.mm:
- 12:31 AM Changeset in webkit [205281] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix webkitpy unit tests after r205280.
- Scripts/webkitpy/style/checker_unittest.py:
(GlobalVariablesTest.test_path_rules_specifier):