Timeline
Nov 22, 2017:
- 10:47 PM Changeset in webkit [225107] by
-
- 3 edits in trunk/Source/WebCore
FEComponentTransfer cleanup and optimization
https://bugs.webkit.org/show_bug.cgi?id=179952
Reviewed by Darin Adler.
Change terminology for FEComponentTransfer to be more explicit about the fact
that it's creating and using lookup tables. Use std::array for the lookup tables.
Use uint8_t instead of unsigned char.
Avoid confusing arrays for channels in computeLookupTables; just setup the lut for
each channel manually.
This is about 1.25x faster than before.
- platform/graphics/filters/FEComponentTransfer.cpp:
(WebCore::FEComponentTransfer::computeIdentityTable):
(WebCore::FEComponentTransfer::computeTabularTable):
(WebCore::FEComponentTransfer::computeDiscreteTable):
(WebCore::FEComponentTransfer::computeLinearTable):
(WebCore::FEComponentTransfer::computeGammaTable):
(WebCore::FEComponentTransfer::platformApplySoftware):
(WebCore::FEComponentTransfer::computeLookupTables):
(WebCore::operator<<):
(WebCore::identity): Deleted.
(WebCore::table): Deleted.
(WebCore::discrete): Deleted.
(WebCore::linear): Deleted.
(WebCore::gamma): Deleted.
(WebCore::FEComponentTransfer::getValues): Deleted.
- platform/graphics/filters/FEComponentTransfer.h:
(WebCore::ComponentTransferFunction::ComponentTransferFunction): Deleted.
- 10:47 PM Changeset in webkit [225106] by
-
- 2 edits in trunk/Source/JavaScriptCore
Followup after r225084: if anyone called GenericTypedArrayView() it didn't compile,
because of a getRangeUnchecked/getRangeImpl name mismatch; fixed to use getRangeImpl().
Also name the argument to zeroRange() to 'count' since it's an item count.
- runtime/GenericTypedArrayView.h:
(JSC::GenericTypedArrayView::zeroRange):
(JSC::GenericTypedArrayView::getRange):
- 4:57 PM Changeset in webkit [225105] by
-
- 8 edits in trunk
Sanity-check feature defaults in WebKitFeatures.cmake
https://bugs.webkit.org/show_bug.cgi?id=179095
Reviewed by Konstantin Tokarev.
Change the default value of some features in WebKitFeatures.cmake to reduce the number of
Options*.cmake files the feature's default value must be overridden in.
Remove feature definitions where they are redundant with the definition in
WebKitFeatures.cmake, particluarly in OptionsMac.cmake.
This commit should not include any functional changes. It just aims to reduce the total
number of times we need to call WEBKIT_OPTION_DEFAULT_PORT_VALUE.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsJSCOnly.cmake:
- Source/cmake/OptionsMac.cmake:
- Source/cmake/OptionsWPE.cmake:
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake:
- 3:46 PM Changeset in webkit [225104] by
-
- 8 edits1 copy1 add in trunk/Source/WebCore
[css-grid] Refactoring and new namespace with grid related utility functions
https://bugs.webkit.org/show_bug.cgi?id=179633
Reviewed by Darin Adler.
Added a new namespace with several utility functions to share logic
between RenderGrid and GridTrackSizingAlgorithm.
No new tests, since no new functionality is added.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/GridLayoutUtils.cpp: Added.
(WebCore::GridLayoutUtils::computeMarginLogicalSizeForChild):
(WebCore::GridLayoutUtils::marginLogicalSizeForChild):
(WebCore::GridLayoutUtils::isOrthogonalChild):
(WebCore::GridLayoutUtils::flowAwareDirectionForChild):
- rendering/GridLayoutUtils.h: Added.
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::assumedRowsSizeForOrthogonalChild const):
(WebCore::GridTrackSizingAlgorithmStrategy::logicalHeightForChild const):
(WebCore::GridTrackSizingAlgorithmStrategy::minContentForChild const):
(WebCore::GridTrackSizingAlgorithmStrategy::maxContentForChild const):
(WebCore::GridTrackSizingAlgorithmStrategy::minSizeForChild const):
(WebCore::DefiniteSizeStrategy::minLogicalWidthForChild const):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::placeItemsOnGrid const):
(WebCore::RenderGrid::layoutPositionedObject):
(WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching const):
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
(WebCore::RenderGrid::isInlineBaselineAlignedChild const):
(WebCore::RenderGrid::firstLineBaseline const):
(WebCore::RenderGrid::columnAxisPositionForChild const):
(WebCore::RenderGrid::rowAxisPositionForChild const):
(WebCore::RenderGrid::columnAxisOffsetForChild const):
(WebCore::RenderGrid::rowAxisOffsetForChild const):
(WebCore::RenderGrid::findChildLogicalPosition const):
- 2:20 PM Changeset in webkit [225103] by
-
- 44 edits18 adds in trunk
Implement VisualViewport API attributes
https://bugs.webkit.org/show_bug.cgi?id=179385
Patch by Ali Juma <ajuma@chromium.org> on 2017-11-22
Reviewed by Frédéric Wang.
LayoutTests/imported/w3c:
Update expectations for viewport WPTs. The new expectations are all passing,
except as mentioned below.
- web-platform-tests/viewport/viewport-no-resize-event-on-overflow-recalc-expected.txt:
- web-platform-tests/viewport/viewport-read-size-causes-layout-expected.txt:
- web-platform-tests/viewport/viewport-read-size-in-iframe-causes-layout-expected.txt:
- web-platform-tests/viewport/viewport-resize-event-on-load-overflowing-page-expected.txt: Fails since events are not implemented yet (wkbug.com/b/179386).
- web-platform-tests/viewport/viewport-scrollbars-cause-resize-expected.txt:
- web-platform-tests/viewport/viewport-type-expected.txt:
- web-platform-tests/viewport/viewport-unscaled-scale-expected.txt:
- web-platform-tests/viewport/viewport-unscaled-scale-iframe-expected.txt:
- web-platform-tests/viewport/viewport-unscaled-scroll-expected.txt:
- web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: Passing expectation for non-iOS, but fails on iOS because iframes aren't scrollable (wkbug.com/b/179794).
- web-platform-tests/viewport/viewport-unscaled-size-expected.txt:
- web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: Passing expectation for non-iOS, but fails on iOS because iframes aren't scrollable (wkbug.com/b/179794).
Source/WebCore:
Add a visualViewport attribute to Window, and implement the VisualViewport
interface (https://wicg.github.io/visual-viewport/#the-visualviewport-interface).
This is behind a newly-added VisualViewportAPI experimental feature flag.
Tests: fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html
fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html
fast/visual-viewport/viewport-dimensions-iframe.html
fast/visual-viewport/viewport-dimensions-under-page-zoom.html
fast/visual-viewport/viewport-dimensions.html
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- dom/EventTargetFactory.in:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::resetDOMWindowProperties):
(WebCore::DOMWindow::visualViewport const):
- page/DOMWindow.h:
- page/DOMWindow.idl:
- page/Settings.yaml:
- page/VisualViewport.cpp: Added.
(WebCore::VisualViewport::VisualViewport):
(WebCore::VisualViewport::eventTargetInterface const):
(WebCore::VisualViewport::scriptExecutionContext const):
(WebCore::getFrameViewAndLayoutIfNonNull):
(WebCore::VisualViewport::offsetLeft const):
(WebCore::VisualViewport::offsetTop const):
(WebCore::VisualViewport::pageLeft const):
(WebCore::VisualViewport::pageTop const):
(WebCore::VisualViewport::width const):
(WebCore::VisualViewport::height const):
(WebCore::VisualViewport::scale const):
- page/VisualViewport.h: Added.
- page/VisualViewport.idl: Added.
Source/WebKit:
Add a VisualViewportAPI experimental feature.
- Shared/WebPreferences.yaml:
Source/WebKitLegacy/mac:
Add a VisualViewportAPI preference.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences visualViewportAPIEnabled]):
(-[WebPreferences setVisualViewportAPIEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKitLegacy/win:
Add a VisualViewportAPI preference.
- Interfaces/IWebPreferencesPrivate.idl:
- WebPreferenceKeysPrivate.h:
- WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::visualViewportAPIEnabled):
(WebPreferences::setVisualViewportAPIEnabled):
- WebPreferences.h:
- WebView.cpp:
(WebView::notifyPreferencesChanged):
Tools:
Enable the VisualViewportAPI in layout tests.
- DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
- DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
LayoutTests:
Add tests for the Visual Viewport API, based on Blink's layout tests but modified
to use UIScriptController.
- fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars-expected.txt: Added.
- fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html: Added.
- fast/visual-viewport/viewport-dimensions-exclude-scrollbars-expected.txt: Added.
- fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html: Added.
- fast/visual-viewport/viewport-dimensions-expected.txt: Added.
- fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added.
- fast/visual-viewport/viewport-dimensions-iframe.html: Added.
- fast/visual-viewport/viewport-dimensions-under-page-zoom-expected.txt: Added.
- fast/visual-viewport/viewport-dimensions-under-page-zoom.html: Added.
- fast/visual-viewport/viewport-dimensions.html: Added.
- platform/gtk/TestExpectations: Skipped tests that use UIScriptController::zoomToScale, since this isn't implemented on GTK (webkit.org/b/168050).
- platform/ios/fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
- platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
- platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-expected.txt: Added. Platform-specific expectation because of the window size being different on iOS.
- platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
- platform/mac-wk1/TestExpectations: Skipped a test that applies webkit-scrollbar to main frame scrollbars, since this is unsupported in WK1.
- 1:24 PM Changeset in webkit [225102] by
-
- 1 edit1 add in trunk/PerformanceTests
Add performance test for inlines and inline-blocks without text
https://bugs.webkit.org/show_bug.cgi?id=179955
Reviewed by Darin Adler.
Test for https://bugs.webkit.org/show_bug.cgi?id=179950
- Layout/inline-layout-no-text.html: Added.
- 12:37 PM Changeset in webkit [225101] by
-
- 3 edits4 adds in trunk
Available height is wrong for positioned elements with "box-sizing: border-box"
https://bugs.webkit.org/show_bug.cgi?id=178783
Reviewed by Darin Adler.
Source/WebCore:
These methods were returning a wrong value for positioned items
in combination with "box-sizing: border-box".
The problem was that if the height of the element is given
by its offset properties (top and bottom) we don't need to call
adjustContentBoxLogicalHeightForBoxSizing().
Tests: fast/box-sizing/fill-available.html
fast/box-sizing/replaced.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::computeReplacedLogicalHeightUsing const):
(WebCore::RenderBox::availableLogicalHeightUsing const):
LayoutTests:
There are some cases failing in fast/box-sizing/fill-available.html,
this is because of a different bug (see https://webkit.org/b/178790)
as noted down in the text comments.
- fast/box-sizing/fill-available-expected.txt: Added.
- fast/box-sizing/fill-available.html: Added.
- fast/box-sizing/replaced-expected.txt: Added.
- fast/box-sizing/replaced.html: Added.
- 11:44 AM Changeset in webkit [225100] by
-
- 12 edits in trunk/Source
WebCoreObjCExtras.h is being included in too many places
https://bugs.webkit.org/show_bug.cgi?id=179931
Patch by Christopher Reid <chris.reid@sony.com> on 2017-11-22
Reviewed by Darin Adler.
Source/WebCore:
No new tests no change in behavior.
Fixing cases where WebCoreObjCExtras.h is imported but not used.
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
- platform/mac/WebCoreNSURLExtras.mm:
Source/WebKitLegacy/mac:
- Plugins/Hosted/WebHostedNetscapePluginView.mm:
- Plugins/WebBaseNetscapePluginView.mm:
- Plugins/WebBasePluginPackage.mm:
- Plugins/WebNetscapePluginStream.mm:
- Plugins/WebNetscapePluginView.mm:
- WebView/WebTextIterator.mm:
- WebView/WebViewData.mm:
- 11:04 AM Changeset in webkit [225099] by
-
- 4 edits in trunk/Source/WebCore
[Web Animations] Adopt KeyframeList in KeyframeEffect
https://bugs.webkit.org/show_bug.cgi?id=179941
<rdar://problem/35666924>
Reviewed by Darin Adler.
KeyframeEffect used to model its keyframes by creating a new Keyframe struct and storing them in a Vector<Keyframe>.
However, there already is a way to model keyframes in WebCore using the KeyframeList class. We now adopt this class
in KeyframeEffect, which makes it possible to run hardware-composited animations using RenderBoxModelObject::startAnimation()
in a follow-up patch, since this function expects a KeyframeList.
No news tests, this is an internals change and does not yield any changes in Web content.
- animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::KeyframeEffect): Create a default m_keyframes at construction time.
(WebCore::KeyframeEffect::processKeyframes): Create a temporary KeyframeList as we parse keyframes passed from the JS API
and assign it to m_keyframes upon successful parsing. We also use cssPropertyId to refer to a CSSPropertyID to make the code
clearer and ensure there is no confusion with JS properties that we manipulate in this function.
(WebCore::KeyframeEffect::computeStackingContextImpact): Use the list of CSS properties exposed on KeyframeList directly rather
than enumerating each keyframe and use cssPropertyId to refer to individual CSSPropertyID values for consistency.
(WebCore::KeyframeEffect::applyAtLocalTime): Use the list of CSS properties exposed on KeyframeList directly rather than
using the properties specified on the first keyframe only. We also remove a stale FIXME comment which was addressed in r224957.
- animation/KeyframeEffect.h: Remove the Keyframe struct and change the type of m_keyframes from Vector<Keyframe> to KeyframeList.
- rendering/style/KeyframeList.h:
(WebCore::KeyframeList::KeyframeList): We remove the default insertions at KeyframeList construction time since it requires
an immediate call to clear() when doing any meaningful work with a KeyframeList. We also add the default move assignment operator
to allow KeyframeEffect::processKeyframes() to make a move assignment from the temporary keyframe list we build at parsing to the
member variable.
- 10:52 AM Changeset in webkit [225098] by
-
- 11 edits in trunk
Remove build-webkit's notion of feature flags having a default value
https://bugs.webkit.org/show_bug.cgi?id=177338
Reviewed by Carlos Alberto Lopez Perez.
.:
Add an ENABLE_EXPERIMENTAL_FEATURES flag and use it to enable certain features.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/WebKit:
Use ENABLE_EXPERIMENTAL_FEATURES instead of ENABLE_DEVELOPER_MODE to enable runtime
experimental features.
- Shared/WebPreferencesDefaultValues.h:
Tools:
Delegate feature flag default values to the build system.
(FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(Factory.init):
Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
bots instead of --default-cmake-features.
- Scripts/build-webkit:
(cMakeArgsFromFeatures): Deleted.
Default feature values to 'undef'.
Remove the --default-cmake-features argument; it is now the default.
Add --no-experimental-features to replace it.
Stop printing the default feature flag value in the help.
Avoid propagating undefined values to the build system;
only mention flags that are overridden on the command line.
This has the nice side effect of using the default CMake features
for CMake builds, but still allowing toggling of them using the
prettier --FEATURE and --no-FEATURE arguments.
- Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):
No longer need to suppress CMake warnings about unused arguments.
- Scripts/webkitperl/FeatureList.pm:
Remove the default values from the feature list.
- 10:08 AM Changeset in webkit [225097] by
-
- 2 edits in trunk/Tools
[Re-landing] Pass --useDollarVM=true to all JSC tests.
https://bugs.webkit.org/show_bug.cgi?id=179647
Reviewed by Saam Barati.
- Scripts/run-jsc-stress-tests:
- 9:56 AM Changeset in webkit [225096] by
-
- 4 edits in trunk/Source/WTF
tuple related items are used in WTF without including tuple
https://bugs.webkit.org/show_bug.cgi?id=179926
Patch by Stephan Szabo <stephan.szabo@sony.com> on 2017-11-22
Reviewed by Darin Adler.
- wtf/HashFunctions.h:
- wtf/PrintStream.h:
- wtf/threads/Signals.h:
- 8:54 AM Changeset in webkit [225095] by
-
- 2 edits in trunk/LayoutTests
[WPE] Enable request-animation-frame-disabled.html.
https://bugs.webkit.org/show_bug.cgi?id=173422
Unreviewed test gardening.
The test is passing since the change in r218754, and doesn't seem to have
crashed in months.
- platform/wpe/TestExpectations:
- 8:33 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 12:14 AM Changeset in webkit [225094] by
-
- 44 edits15 deletes in trunk
Unreviewed, rolling out r225093.
https://bugs.webkit.org/show_bug.cgi?id=179938
Compilation failed on WinCairo 64-bit Release (Requested by
fredw on #webkit).
Reverted changeset:
"Implement VisualViewport API attributes"
https://bugs.webkit.org/show_bug.cgi?id=179385
https://trac.webkit.org/changeset/225093
Patch by Commit Queue <commit-queue@webkit.org> on 2017-11-22
Nov 21, 2017:
- 11:26 PM Changeset in webkit [225093] by
-
- 44 edits18 adds in trunk
Implement VisualViewport API attributes
https://bugs.webkit.org/show_bug.cgi?id=179385
Patch by Ali Juma <ajuma@chromium.org> on 2017-11-21
Reviewed by Frédéric Wang.
LayoutTests/imported/w3c:
Update expectations for viewport WPTs. The new expectations are all passing,
except as mentioned below.
- web-platform-tests/viewport/viewport-no-resize-event-on-overflow-recalc-expected.txt:
- web-platform-tests/viewport/viewport-read-size-causes-layout-expected.txt:
- web-platform-tests/viewport/viewport-read-size-in-iframe-causes-layout-expected.txt:
- web-platform-tests/viewport/viewport-resize-event-on-load-overflowing-page-expected.txt: Fails since events are not implemented yet (wkbug.com/b/179386).
- web-platform-tests/viewport/viewport-scrollbars-cause-resize-expected.txt:
- web-platform-tests/viewport/viewport-type-expected.txt:
- web-platform-tests/viewport/viewport-unscaled-scale-expected.txt:
- web-platform-tests/viewport/viewport-unscaled-scale-iframe-expected.txt:
- web-platform-tests/viewport/viewport-unscaled-scroll-expected.txt:
- web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: Passing expectation for non-iOS, but fails on iOS because iframes aren't scrollable (wkbug.com/b/179794).
- web-platform-tests/viewport/viewport-unscaled-size-expected.txt:
- web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: Passing expectation for non-iOS, but fails on iOS because iframes aren't scrollable (wkbug.com/b/179794).
Source/WebCore:
Add a visualViewport attribute to Window, and implement the VisualViewport
interface (https://wicg.github.io/visual-viewport/#the-visualviewport-interface).
This is behind a newly-added VisualViewportAPI experimental feature flag.
Tests: fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html
fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html
fast/visual-viewport/viewport-dimensions-iframe.html
fast/visual-viewport/viewport-dimensions-under-page-zoom.html
fast/visual-viewport/viewport-dimensions.html
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
- dom/EventTargetFactory.in:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::resetDOMWindowProperties):
(WebCore::DOMWindow::visualViewport const):
- page/DOMWindow.h:
- page/DOMWindow.idl:
- page/Settings.yaml:
- page/VisualViewport.cpp: Added.
(WebCore::VisualViewport::VisualViewport):
(WebCore::VisualViewport::eventTargetInterface const):
(WebCore::VisualViewport::scriptExecutionContext const):
(WebCore::getFrameViewAndLayoutIfNonNull):
(WebCore::VisualViewport::offsetLeft const):
(WebCore::VisualViewport::offsetTop const):
(WebCore::VisualViewport::pageLeft const):
(WebCore::VisualViewport::pageTop const):
(WebCore::VisualViewport::width const):
(WebCore::VisualViewport::height const):
(WebCore::VisualViewport::scale const):
- page/VisualViewport.h: Added.
- page/VisualViewport.idl: Added.
Source/WebKit:
Add a VisualViewportAPI experimental feature.
- Shared/WebPreferences.yaml:
Source/WebKitLegacy/mac:
Add a VisualViewportAPI preference.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences visualViewportAPIEnabled]):
(-[WebPreferences setVisualViewportAPIEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKitLegacy/win:
Add a VisualViewportAPI preference.
- Interfaces/IWebPreferencesPrivate.idl:
- WebPreferenceKeysPrivate.h:
- WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::visualViewportAPIEnabled):
(WebPreferences::setVisualViewportAPIEnabled):
- WebPreferences.h:
- WebView.cpp:
(WebView::notifyPreferencesChanged):
Tools:
Enable the VisualViewportAPI in layout tests.
- DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
- DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
LayoutTests:
Add tests for the Visual Viewport API, based on Blink's layout tests but modified
to use UIScriptController.
- fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars-expected.txt: Added.
- fast/visual-viewport/viewport-dimensions-exclude-custom-scrollbars.html: Added.
- fast/visual-viewport/viewport-dimensions-exclude-scrollbars-expected.txt: Added.
- fast/visual-viewport/viewport-dimensions-exclude-scrollbars.html: Added.
- fast/visual-viewport/viewport-dimensions-expected.txt: Added.
- fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added.
- fast/visual-viewport/viewport-dimensions-iframe.html: Added.
- fast/visual-viewport/viewport-dimensions-under-page-zoom-expected.txt: Added.
- fast/visual-viewport/viewport-dimensions-under-page-zoom.html: Added.
- fast/visual-viewport/viewport-dimensions.html: Added.
- platform/gtk/TestExpectations: Skipped tests that use UIScriptController::zoomToScale, since this isn't implemented on GTK (webkit.org/b/168050).
- platform/ios/fast/visual-viewport/viewport-dimensions-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
- platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
- platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-expected.txt: Added. Platform-specific expectation because of the window size being different on iOS.
- platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt: Added. Fails because iframes aren't scrollable on iOS (webkit.org/b/179794).
- platform/mac-wk1/TestExpectations: Skipped a test that applies webkit-scrollbar to main frame scrollbars, since this is unsupported in WK1.
- 11:17 PM Changeset in webkit [225092] by
-
- 7 edits in trunk
Async frame scrolling: handle fixed root backgrounds in frames
https://bugs.webkit.org/show_bug.cgi?id=176261
Source/WebCore:
Based on patch by Simon Fraser <Simon Fraser>
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-21
Reviewed by Antonio Gomes.
For frames with tiled backing, we register a slow-repaint object because we hit
RenderElement::styleWillChange() before we've made a backing for the iframe's RenderView so
view().compositor().supportsFixedRootBackgroundCompositing() returns false. This patch
ensures that this object is removed when setBackgroundLayerPaintsFixedRootBackground is
called. It also removes the opaque background of non-main frames with tiled backing.
This fixes a possible hit of ASSERT(!m_backgroundLayer) after r221615.
Test: compositing/tiling/tiled-drawing-async-frame-scrolling.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry): Do not set opaque contents for frames with
tiled backing. We keep !m_isMainFrameRenderViewLayer for backward compatibility with WK1.
(WebCore::RenderLayerBacking::setBackgroundLayerPaintsFixedRootBackground): Add an early
return when m_backgroundLayerPaintsFixedRootBackground is not changed. Remove the slow
repaint object previously registered for this frame. Also add an ASSERT to ensure that a
fixed root background is only set for frames with async scrolling.
(WebCore::RenderLayerBacking::updateRootLayerConfiguration): Restrict some special handling
of background and opaqueness to the main frame.
LayoutTests:
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-21
Reviewed by Antonio Gomes.
Extend tiled-drawing-async-frame-scrolling with new test cases and update expectations.
- compositing/tiling/tiled-drawing-async-frame-scrolling.html: Add two test cases with
non-white and fixed gradient background. The latter exhibits a crash fixed by that commit.
- compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Adjust expectation due
to spacing changes.
- platform/ios-wk2/compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Ditto.
Update expectation for the first case to remove the white background and add expectations for
the two new cases.
- platform/mac-wk2/compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Ditto.
- 10:54 PM Changeset in webkit [225091] by
-
- 11 edits in trunk
Drop ENABLE_IMAGE_DECODER_DOWN_SAMPLING code
https://bugs.webkit.org/show_bug.cgi?id=179921
Reviewed by Carlos Garcia Campos.
.:
- Source/cmake/WebKitFeatures.cmake: Remove the CMake option that
enabled IMAGE_DECODER_DOWN_SAMPLING code.
Source/WebCore:
Drop the ENABLE_IMAGE_DECODER_DOWN_SAMPLING code, along with the build
guard definitions in WTF and CMake.
This was apparently in use in the Qt port, but since then no port
enables this. It's not exposed in the Xcode build, and the CMake option
is disabled by default, with no way to enable it through build-webkit.
While the code guarded with this build guard is removed, there's still
code in the ScalableImageDecoder class that only operated when this
feature was enabled. This should be addressed in the future, after
evaluating the need for this scaling capability.
No new tests -- no change in behavior.
- platform/graphics/Image.cpp:
(WebCore::Image::adjustSourceRectForDownSampling const): Deleted.
- platform/graphics/Image.h:
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawNativeImage):
- platform/image-decoders/ScalableImageDecoder.h:
- platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):
- platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::PNGImageDecoder::frameComplete):
Source/WTF:
- wtf/FeatureDefines.h: Remove the ENABLE_IMAGE_DECODER_DOWN_SAMPLING
definition.
- 10:40 PM Changeset in webkit [225090] by
-
- 7 edits in trunk
Unreviewed, rolling out r225089.
https://bugs.webkit.org/show_bug.cgi?id=179937
This patch caused compilation failures (Requested by fredw on
#webkit).
Reverted changeset:
"Async frame scrolling: handle fixed root backgrounds in
frames"
https://bugs.webkit.org/show_bug.cgi?id=176261
https://trac.webkit.org/changeset/225089
Patch by Commit Queue <commit-queue@webkit.org> on 2017-11-21
- 10:30 PM Changeset in webkit [225089] by
-
- 7 edits in trunk
Async frame scrolling: handle fixed root backgrounds in frames
https://bugs.webkit.org/show_bug.cgi?id=176261
Source/WebCore:
Based on patch by Simon Fraser <Simon Fraser>
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-21
Reviewed by Antonio Gomes.
For frames with tiled backing, we register a slow-repaint object because we hit
RenderElement::styleWillChange() before we've made a backing for the iframe's RenderView so
view().compositor().supportsFixedRootBackgroundCompositing() returns false. This patch
ensures that this object is removed when setBackgroundLayerPaintsFixedRootBackground is
called. It also removes the opaque background of non-main frames with tiled backing.
This fixes a possible hit of ASSERT(!m_backgroundLayer) after r221615.
Test: compositing/tiling/tiled-drawing-async-frame-scrolling.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry): Do not set opaque contents for frames with
tiled backing. We keep !m_isMainFrameRenderViewLayer for backward compatibility with WK1.
(WebCore::RenderLayerBacking::setBackgroundLayerPaintsFixedRootBackground): Add an early
return when m_backgroundLayerPaintsFixedRootBackground is not changed. Remove the slow
repaint object previously registered for this frame. Also add an ASSERT to ensure that a
fixed root background is only set for frames with async scrolling.
(WebCore::RenderLayerBacking::updateRootLayerConfiguration): Restrict some special handling
of background and opaqueness to the main frame.
LayoutTests:
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-21
Reviewed by Antonio Gomes.
Extend tiled-drawing-async-frame-scrolling with new test cases and update expectations.
- compositing/tiling/tiled-drawing-async-frame-scrolling.html: Add two test cases with
non-white and fixed gradient background. The latter exhibits a crash fixed by that commit.
- compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Adjust expectation due
to spacing changes.
- platform/ios-wk2/compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Ditto.
Update expectation for the first case to remove the white background and add expectations for
the two new cases.
- platform/mac-wk2/compositing/tiling/tiled-drawing-async-frame-scrolling-expected.txt: Ditto.
- 5:02 PM Changeset in webkit [225088] by
-
- 3 edits in trunk/Source/WebCore
Some FELighting cleanup
https://bugs.webkit.org/show_bug.cgi?id=179924
Reviewed by Sam Weinig.
Make the normal-computation functions const and have them return an IntSize.
Replace bit shifting with multiply by two (compilers know how to do this, folks).
- platform/graphics/filters/FELighting.cpp:
(WebCore::FELighting::LightingData::topLeftNormal const):
(WebCore::FELighting::LightingData::topRowNormal const):
(WebCore::FELighting::LightingData::topRightNormal const):
(WebCore::FELighting::LightingData::leftColumnNormal const):
(WebCore::FELighting::LightingData::interiorNormal const):
(WebCore::FELighting::LightingData::rightColumnNormal const):
(WebCore::FELighting::LightingData::bottomLeftNormal const):
(WebCore::FELighting::LightingData::bottomRowNormal const):
(WebCore::FELighting::LightingData::bottomRightNormal const):
(WebCore::FELighting::inlineSetPixel):
(WebCore::FELighting::setPixel):
(WebCore::FELighting::platformApplyGenericPaint):
(WebCore::FELighting::drawLighting):
(WebCore::FELighting::LightingData::topLeft): Deleted.
(WebCore::FELighting::LightingData::topRow): Deleted.
(WebCore::FELighting::LightingData::topRight): Deleted.
(WebCore::FELighting::LightingData::leftColumn): Deleted.
(WebCore::FELighting::LightingData::interior): Deleted.
(WebCore::FELighting::LightingData::rightColumn): Deleted.
(WebCore::FELighting::LightingData::bottomLeft): Deleted.
(WebCore::FELighting::LightingData::bottomRow): Deleted.
(WebCore::FELighting::LightingData::bottomRight): Deleted.
- platform/graphics/filters/FELighting.h:
- 3:14 PM Changeset in webkit [225087] by
-
- 17 edits2 deletes in trunk/Source
[PAL] Remove FileSystem's dependency on WebCoreNSStringExtras
https://bugs.webkit.org/show_bug.cgi?id=179504
Patch by Christopher Reid <chris.reid@sony.com> on 2017-11-21
Reviewed by Darin Adler.
Source/WebCore:
No new tests no change in behavior.
Removed WebCoreNSStringExtras.
Replaced calls to string helpers in WebCoreNSStringExtras with calls to WTF::String.
Moved filenameByFixingIllegalCharacters into LoaderNSURLExtras.
Moved preferredBundleLocalizationName into WebKitLegacy.
- PlatformMac.cmake: Removed WebCoreNSStringExtras.mm
- SourcesCocoa.txt: Removed WebCoreNSStringExtras.mm
- WebCore.xcodeproj/project.pbxproj: Removed WebCoreNSStringExtras
- loader/mac/LoaderNSURLExtras.h:
- loader/mac/LoaderNSURLExtras.mm:
- platform/graphics/mac/FontCacheMac.mm:
- platform/mac/PasteboardMac.mm:
- platform/mac/WebCoreNSURLExtras.mm:
Source/WebKit:
- UIProcess/Cocoa/WebViewImpl.mm:
- UIProcess/Launcher/mac/ProcessLauncherMac.mm:
- UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
Source/WebKitLegacy/mac:
- Misc/WebKitNSStringExtras.mm:
- Plugins/Hosted/NetscapePluginHostManager.mm:
- Plugins/WebBasePluginPackage.mm:
- 2:32 PM Changeset in webkit [225086] by
-
- 2 edits in trunk/Source/WebCore
Use vImage to do alpha premultiplication/unpremultiplication in FilterEffect
https://bugs.webkit.org/show_bug.cgi?id=179928
Reviewed by Tim Horton.
The vImage functions are about twice as fast as the existing code.
- platform/graphics/filters/FilterEffect.cpp:
(WebCore::copyPremultiplyingAlpha):
(WebCore::copyUnpremultiplyingAlpha):
(WebCore::FilterEffect::copyUnmultipliedImage):
(WebCore::FilterEffect::copyPremultipliedImage):
- 10:43 AM Changeset in webkit [225085] by
-
- 4 edits in trunk/LayoutTests
LayoutTests/imported/w3c:
[GTK] Update expectations for wpt/url/failure.html.
https://bugs.webkit.org/show_bug.cgi?id=179920
Unreviewed test gardening.
- web-platform-tests/url/failure-expected.txt: update for sendBeacon support.
LayoutTests:
[GTK] Enable imported/w3c/web-platform-tests/url/failure.html
https://bugs.webkit.org/show_bug.cgi?id=179920
Unreviewed test gardening.
- platform/gtk/TestExpectations: the test is only flaky or prone to crashing on platforms that enable CONTENT_EXTENSIONS; i.e. mac and ios.
- 9:16 AM Changeset in webkit [225084] by
-
- 3 edits in trunk/Source/JavaScriptCore
Allow for more efficient use of GenericTypedArrayView
https://bugs.webkit.org/show_bug.cgi?id=179899
Reviewed by Sam Weinig.
Fix ArrayBufferView::setRange() to not make two virtual function calls to byteLength()
under setRangeImpl(). There is only one caller in GenericTypedArrayView, and it can pass
in a length.
Add GenericTypedArrayView::getRange() to fetch a range of elements, also without virtual
byteLength() calls.
Renamed 'dataLength' to 'count' in setRange() to be clearer.
Added setNative() for callers who don't need clamping of doubles.
- runtime/ArrayBufferView.h:
(JSC::ArrayBufferView::setRangeImpl):
(JSC::ArrayBufferView::getRangeImpl):
- runtime/GenericTypedArrayView.h:
(JSC::GenericTypedArrayView::setRange):
(JSC::GenericTypedArrayView::setNative const):
(JSC::GenericTypedArrayView::getRange):
(JSC::GenericTypedArrayView::checkInboundData const):
(JSC::GenericTypedArrayView::internalByteLength const):
- 8:56 AM Changeset in webkit [225083] by
-
- 3 edits in trunk/Source/WebDriver
WebDriver: do not try to parse http body if method is not POST
https://bugs.webkit.org/show_bug.cgi?id=179918
Reviewed by Darin Adler.
As said in the spec:
- If request’s method is POST:
- Let parse result be the result of parsing as JSON with request’s body as the argument. If this process throws an exception, return an error with error code invalid argument and jump back to step 1 in this overall algorithm.
- If parse result is not an Object, send an error with error code invalid argument and jump back to step 1 in this overall algorithm.
Otherwise, let parameters be parse result.
Otherwise, let parameters be null.
6.3 Processing Model
https://w3c.github.io/webdriver/webdriver-spec.html#processing-model
Now, w3c tests are sending null as body of delete session command (it used to be just empty), making it fail
with invalid argument error.
- WebDriverService.cpp:
(WebDriver::WebDriverService::findCommand):
(WebDriver::WebDriverService::handleRequest):
- WebDriverService.h:
- 8:55 AM Changeset in webkit [225082] by
-
- 2 edits in trunk/Source/WebDriver
WebDriver: crash in Session::computeElementLayout when called without a current browsing context
https://bugs.webkit.org/show_bug.cgi?id=179917
Reviewed by Darin Adler.
In the case of computeElementLayout message, the frameHandle parameter is not optional, but we still need to
provide a valid value (empty string means the default frame) when m_currentBrowsingContext is std::nullopt. The
same applies to selectOptionElement.
- Session.cpp:
(WebDriver::Session::computeElementLayout):
(WebDriver::Session::selectOptionElement):
- 8:53 AM Changeset in webkit [225081] by
-
- 2 edits in trunk/Source/WebCore
[GLIB] Test FileMonitorTest.DetectChangeAndThenDelete sometimes crashes
https://bugs.webkit.org/show_bug.cgi?id=179909
Reviewed by Michael Catanzaro.
The problem sems to be that the GFileMonitor is created in the main thread, but destroyed in the WorkQueue
thread. We can create the monitor in the WorkQueue thread and do the monitoring there.
Fixes unit test FileMonitorTest.DetectChangeAndThenDelete.
- platform/glib/FileMonitorGLib.cpp:
(WebCore::FileMonitor::FileMonitor): Create the GFileMonitor in the WorkQueue.
(WebCore::FileMonitor::didChange): No need to dispatch the handler in the WorkQueue, since this is now called in
the WorkQueue.
- 8:52 AM Changeset in webkit [225080] by
-
- 3 edits in trunk/Tools
[WPE] Run unit tests in the bots
https://bugs.webkit.org/show_bug.cgi?id=179910
Reviewed by Michael Catanzaro.
Add a step to run unit tests in WPE test bots.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunGLibAPITests):
(RunGtkAPITests):
(RunWPEAPITests):
(TestFactory.init):
(RunGtkAPITests.start): Deleted.
(RunGtkAPITests.commandComplete): Deleted.
(RunGtkAPITests.evaluateCommand): Deleted.
(RunGtkAPITests.getText): Deleted.
(RunGtkAPITests.getText2): Deleted.
- wpe/jhbuild.modules: Upgrade WPEBackend-mesa to fix crashes when running unit tests.
- 7:32 AM WebKitGTK/Releasing edited by
- Need to update gnome-sdk-images and gnome-continuous after releases (diff)
- 7:20 AM Changeset in webkit [225079] by
-
- 2 edits in trunk/Source/WebInspectorUI
Unreviewed compile warning fix
WARNING: console.assert inside control flow statement without braces on line: 130487:
console.assert(this._loggingChannelSources.includes(channel.source));
- UserInterface/Controllers/LogManager.js:
(WI.LogManager):
- 6:06 AM WebKitGTK/2.18.x edited by
- (diff)
- 5:37 AM Changeset in webkit [225078] by
-
- 2 edits in trunk/Source/WebKit
[WPE] WPEWebProcess: Couldn't find current GLX or EGL context
https://bugs.webkit.org/show_bug.cgi?id=179883
Reviewed by Žan Doberšek.
I'm seeing that message quite often when running the unit tests. The problem seems to be that some tests run so
fast that the web process never renders the first frame, so the context is created but never made current. I've
checked with apitrace that there are calls to eglQueryContext with null display, causing a EGL_BAD_DISPLAY, but
I don't know where those calls are originated. Making the context current right after it's created fixes the
problem.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::createGLContext): Always call makeContextCurrent() right after the context is created.
- 5:37 AM Changeset in webkit [225077] by
-
- 5 edits in trunk/Source/WebCore
[Cairo] drawNativeImage(), drawPattern() in CairoOperations should operate directly with cairo_surface_t objects
https://bugs.webkit.org/show_bug.cgi?id=179888
Reviewed by Carlos Garcia Campos.
Cairo::drawNativeImage() should receive a valid cairo_surface_t pointer
and work with that, instead of using a NativeImagePtr. Callers are thus
forced to pass the pointer into the drawNativeImage() call, and the
CairoOperations implementation file drops the need to know about the
NativeImagePtr type alias.
Cairo::drawPattern() now accepts pointer to the cairo_surface_t object,
along with an IntSize object that descibes the surface's size. This way
it's up to the caller to retrieve any valid native image for the current
frame and pass that to the drawPattern() call. The need to use IntSize
here is strange, but we should investigate this later.
No new tests -- no change in behavior.
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawNativeImage):
(WebCore::Cairo::drawPattern):
- platform/graphics/cairo/CairoOperations.h: Include the Cairo header.
Also fix forward declaration of Cairo::drawGlyphs().
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::drawPattern):
- platform/graphics/cairo/NativeImageCairo.cpp:
(WebCore::drawNativeImage): Execute operation through GraphicsContext,
kicking into effect any recording that could be done this way.
- 5:35 AM Changeset in webkit [225076] by
-
- 46 edits13 adds in trunk/WebDriverTests
Unreviewed. Update W3C WebDriver imported tests.
- imported/w3c/importer.json:
- imported/w3c/tools/webdriver/webdriver/client.py:
- imported/w3c/tools/webdriver/webdriver/error.py:
- imported/w3c/tools/webdriver/webdriver/protocol.py: Added.
- imported/w3c/tools/webdriver/webdriver/transport.py:
- imported/w3c/tools/wptrunner/MANIFEST.in:
- imported/w3c/tools/wptrunner/requirements_firefox.txt:
- imported/w3c/tools/wptrunner/requirements_opera.txt: Added.
- imported/w3c/tools/wptrunner/wptrunner/browsers/init.py:
- imported/w3c/tools/wptrunner/wptrunner/browsers/edge.py:
- imported/w3c/tools/wptrunner/wptrunner/browsers/firefox.py:
- imported/w3c/tools/wptrunner/wptrunner/browsers/opera.py: Added.
- imported/w3c/tools/wptrunner/wptrunner/environment.py:
- imported/w3c/tools/wptrunner/wptrunner/executors/base.py:
- imported/w3c/tools/wptrunner/wptrunner/executors/executoredge.py: Added.
- imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py:
- imported/w3c/tools/wptrunner/wptrunner/executors/executoropera.py: Added.
- imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py:
- imported/w3c/tools/wptrunner/wptrunner/executors/pytestrunner/runner.py:
- imported/w3c/tools/wptrunner/wptrunner/executors/testharness_webdriver.js:
- imported/w3c/tools/wptrunner/wptrunner/executors/testharness_webdriver_resume.js: Added.
- imported/w3c/tools/wptrunner/wptrunner/stability.py: Added.
- imported/w3c/tools/wptrunner/wptrunner/testdriver-extra.js: Added.
- imported/w3c/tools/wptrunner/wptrunner/testloader.py:
- imported/w3c/tools/wptrunner/wptrunner/testrunner.py:
- imported/w3c/tools/wptrunner/wptrunner/update/state.py:
- imported/w3c/tools/wptrunner/wptrunner/update/sync.py:
- imported/w3c/tools/wptrunner/wptrunner/webdriver_server.py:
- imported/w3c/tools/wptrunner/wptrunner/wptcommandline.py:
- imported/w3c/tools/wptrunner/wptrunner/wptlogging.py:
- imported/w3c/tools/wptrunner/wptrunner/wptrunner.py:
- imported/w3c/tools/wptrunner/wptrunner/wpttest.py:
- imported/w3c/webdriver/tests/actions/conftest.py:
- imported/w3c/webdriver/tests/actions/key.py:
- imported/w3c/webdriver/tests/actions/key_shortcuts.py: Added.
- imported/w3c/webdriver/tests/actions/modifier_click.py: Added.
- imported/w3c/webdriver/tests/actions/mouse.py:
- imported/w3c/webdriver/tests/actions/sequence.py:
- imported/w3c/webdriver/tests/actions/special_keys.py:
- imported/w3c/webdriver/tests/actions/support/keys.py:
- imported/w3c/webdriver/tests/actions/support/test_actions_wdspec.html:
- imported/w3c/webdriver/tests/cookies/add_cookie.py:
- imported/w3c/webdriver/tests/cookies/get_named_cookie.py:
- imported/w3c/webdriver/tests/element_click/stale.py: Added.
- imported/w3c/webdriver/tests/element_retrieval/get_active_element.py:
- imported/w3c/webdriver/tests/interaction/element_clear.py: Added.
- imported/w3c/webdriver/tests/navigation/get_title.py:
- imported/w3c/webdriver/tests/retrieval/find_element.py:
- imported/w3c/webdriver/tests/retrieval/find_element_from_element.py:
- imported/w3c/webdriver/tests/retrieval/find_element_from_elements.py:
- imported/w3c/webdriver/tests/retrieval/find_elements.py:
- imported/w3c/webdriver/tests/sessions/new_session/support/init.py:
- imported/w3c/webdriver/tests/state/get_element_attribute.py:
- imported/w3c/webdriver/tests/state/get_element_property.py:
- imported/w3c/webdriver/tests/state/get_element_tag_name.py:
- imported/w3c/webdriver/tests/state/is_element_selected.py:
- imported/w3c/webdriver/tests/support/asserts.py:
- imported/w3c/webdriver/tests/user_prompts/send_alert_text.py: Added.
- 5:35 AM Changeset in webkit [225075] by
-
- 2 edits in trunk/Source/WebCore
[Cairo] Gradient::fill() should only operate on PlatformContextCairo
https://bugs.webkit.org/show_bug.cgi?id=179887
Reviewed by Carlos Garcia Campos.
In Gradient::fill(), directly invoke Cairo::save() and Cairo::restore(),
instead of doing so indirectly through GraphicsContext::save() and
GraphicsContext::restore(). The latter pair stashes the internal state
that's managed in GraphicsContext, but that doesn't get modified at all
in this case.
No new tests -- no change in behavior.
- platform/graphics/cairo/GradientCairo.cpp:
(WebCore::Gradient::fill):
- 4:58 AM Changeset in webkit [225074] by
-
- 2 edits in trunk/Tools
Fix WebKitGTK+ compilation
Reviewed by Carlos Garcia Campos.
File "/builddir/build/BUILD/webkitgtk-2.19.2/Tools/gtk/generate-gtkdoc", line 31, in <module>
import common
ImportError: No module named common
- gtk/manifest.txt.in:
Add Tools/glib/common.py to the tarball.
- 3:28 AM Changeset in webkit [225073] by
-
- 2 edits in trunk/Tools
[GTK] Avoid warning in jhbuildrc.
https://bugs.webkit.org/show_bug.cgi?id=179913
Reviewed by Carlos Garcia Campos.
Apparently this is not quite a real python file; this declaration causes
warnings like
I: unknown keys defined in configuration file: top_level_directory
which break run-webkit-tests.
- gtk/jhbuildrc:
- 2:40 AM Changeset in webkit [225072] by
-
- 24 edits5 adds in trunk
[DFG][FTL] Support MapSet / SetAdd intrinsics
https://bugs.webkit.org/show_bug.cgi?id=179858
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/map-has-and-set.js: Added.
(test):
- stress/map-set-check-failure.js: Added.
(shouldBe):
(shouldThrow):
(target):
- stress/map-set-cse.js: Added.
(shouldBe):
(test):
- stress/set-add-check-failure.js: Added.
(shouldBe):
(shouldThrow):
(set shouldThrow):
- stress/set-add-cse.js: Added.
(shouldBe):
Source/JavaScriptCore:
Map.prototype.set and Set.prototype.add uses MapHash value anyway.
By handling them as MapSet and SetAdd DFG nodes and decoupling
MapSet and SetAdd nodes from MapHash DFG node, we have a chance to
remove duplicate MapHash calculation for the same key.
One story is *set-if-not-exists*.
if (!map.has(key))
map.set(key, value);
In the above code, both
hasandsetrequire hash value forkey.
If we can changesetto the series of DFG nodes:
1: MapHash(key)
2: MapSet(MapObjectUse:map, Untyped:key, Untyped:value, Int32Use:@1)
we can remove duplicate @1 produced by
hasoperation.
This patch improves SixSpeed map-set.es6 and map-set-object.es6 by 20.5% and 20.4% respectively,
baseline patched
map-set.es6 246.2413+-15.2084 204.3679+-11.2408 definitely 1.2049x faster
map-set-object.es6 266.5075+-17.2289 221.2792+-12.2948 definitely 1.2044x faster
Microbenchmarks
map-has-and-set 148.1522+-7.6665 131.4552+-7.8846 definitely 1.1270x faster
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileSetAdd):
(JSC::DFG::SpeculativeJIT::compileMapSet):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileSetAdd):
(JSC::FTL::DFG::LowerDFGToB3::compileMapSet):
- jit/JITOperations.h:
- runtime/HashMapImpl.h:
(JSC::HashMapImpl::addNormalized):
(JSC::HashMapImpl::addNormalizedInternal):
- runtime/Intrinsic.cpp:
(JSC::intrinsicName):
- runtime/Intrinsic.h:
- runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
- runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
- 2:07 AM Changeset in webkit [225071] by
-
- 6 edits2 adds in trunk
[JSC] Allow poly proto for intrinsic getters
https://bugs.webkit.org/show_bug.cgi?id=179550
Reviewed by Saam Barati.
JSTests:
This change is also tested by existing tests.
- stress/intrinsic-getter-with-poly-proto.js
- stress/poly-proto-intrinsic-getter-correctness.js
- stress/intrinsic-getter-with-poly-proto-getter-change.js: Added.
(shouldBe):
(makePolyProtoObject.foo.C):
(makePolyProtoObject.foo):
(makePolyProtoObject):
(target):
- stress/intrinsic-getter-with-poly-proto-proto-change.js: Added.
(shouldBe):
(makePolyProtoObject.foo.C):
(makePolyProtoObject.foo):
(makePolyProtoObject):
(target):
Source/JavaScriptCore:
This patch allows intrinsic getters to accept poly proto.
We propagate PolyProtoAccessChain in IntrinsicGetterAccessCase to perform
poly proto checks. And we extend UnderscoreProtoIntrinsic to emit
code for poly proto case.
- bytecode/IntrinsicGetterAccessCase.cpp:
(JSC::IntrinsicGetterAccessCase::IntrinsicGetterAccessCase):
(JSC::IntrinsicGetterAccessCase::create):
- bytecode/IntrinsicGetterAccessCase.h:
- jit/IntrinsicEmitter.cpp:
(JSC::IntrinsicGetterAccessCase::canEmitIntrinsicGetter):
(JSC::IntrinsicGetterAccessCase::emitIntrinsicGetter):
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
- 1:19 AM Changeset in webkit [225070] by
-
- 1 edit1 delete in trunk/Source/WebCore
Remove unintentionally committed .orig file.
https://bugs.webkit.org/show_bug.cgi?id=174131
Unreviewed, fix previous commit.
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-21
- rendering/mathml/RenderMathMLScripts.cpp.orig: Removed.
- 12:37 AM Changeset in webkit [225069] by
-
- 3 edits1 copy2 adds in trunk
ASSERTION FAILED: !needsLayout() in WebCore::RenderMathMLScripts::firstLineBaseline
https://bugs.webkit.org/show_bug.cgi?id=174131
Patch by Frederic Wang <fwang@igalia.com> on 2017-11-21
Reviewed by Alejandro G. Castro.
Source/WebCore:
RenderMathMLScripts::firstLineBaseline() has an ASSERT at the beginning to ensure that the function
is called after the element was laid out. However, this is not respected by HTML table layout as
RenderBlock::firstLineBaseline() is called for elements in a table cell before they are laid out.
This happens for example for RenderGrid::firstLineBaseline() and probably for other renderers.
Additionally, RenderMathMLScripts::firstLineBaseline() only involves calling firstLineBaseline();
logicalTop() or logicalHeight() on the first child box so it is safe to call it before layout, even
if the return value might be wrong at that time. This patch removes this too restrictive ASSERT for
RenderMathMLScripts, for consistency with other implementations of firstLineBaseline().
Test: mathml/cells-and-scripts-crash.html
- rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::firstLineBaseline const): Remove the ASSERT.
LayoutTests:
Add tests for calling RenderMathMLScripts::firstLineBaseline with needsLayout() == true.
- mathml/cells-and-scripts-crash-expected.txt: Added.
- mathml/cells-and-scripts-crash.html: Added.
- 12:03 AM Changeset in webkit [225068] by
-
- 2 edits in trunk/Tools
Unreviewed. Fix WPE make distcheck.
- wpe/manifest.txt.in: Add generate-inspector-gresource-manifest.py to the tarball.
- 12:02 AM Changeset in webkit [225067] by
-
- 1 copy in releases/WebKitGTK/webkit-2.19.2
WebKitGTK+ 2.19.2
- 12:01 AM Changeset in webkit [225066] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.19.2 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.19.2.