Timeline
Mar 1, 2017:
- 11:43 PM Changeset in webkit [213272] by
-
- 8 edits in trunk
Replace -[WKWebView adjustedDataInteractionItemProviders:] with a UI delegate method
https://bugs.webkit.org/show_bug.cgi?id=169013
Reviewed by Dan Bernstein.
Source/WebKit2:
Rather than introduce new SPI on WKWebView directly, we should follow convention and add the hook to the private
version of the UI delegate.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _adjustedDataInteractionItemProviders:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Tools:
Adjusts TestWebKitAPI for changes in WebKit2. See Source/WebKit2/ChangeLog for more details.
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):
(-[CustomItemProviderWebView _adjustedDataInteractionItemProviders:]): Deleted.
- TestWebKitAPI/ios/DataInteractionSimulator.h:
- TestWebKitAPI/ios/DataInteractionSimulator.mm:
(-[DataInteractionSimulator initWithWebView:]):
(-[DataInteractionSimulator dealloc]):
(-[DataInteractionSimulator _webView:adjustedDataInteractionItemProviders:]):
- 11:32 PM Changeset in webkit [213271] by
-
- 4 edits in trunk/Source
Actually fix Windows build.
Source/WebCore:
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
Win32Handle is now in WTF namespace.
Source/WebKit/win:
- WebFrame.cpp:
(WebFrame::invalidate):
r213266 changed Style::Force to ResolveStyleType::Rebuild, so I did so here.
- 11:20 PM Changeset in webkit [213270] by
-
- 2 edits in trunk/Tools
[Win] DRT should not dispatch messages after test is done.
https://bugs.webkit.org/show_bug.cgi?id=169026
Reviewed by Brent Fulgham.
Exiting the message loop with PostQuitMessage will leave room for
a few messages to be dispatched after the test is done.
- DumpRenderTree/win/DumpRenderTree.cpp:
(dump):
(runTest):
- 11:07 PM Changeset in webkit [213269] by
-
- 2 edits in trunk/Source/WebCore
Fix WinCairo build after r213214
https://bugs.webkit.org/show_bug.cgi?id=168908
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
- 11:02 PM Changeset in webkit [213268] by
-
- 2 edits in trunk/Source/WebKit/win
Fix Windows build after r213266
https://bugs.webkit.org/show_bug.cgi?id=169049
- WebFrame.cpp:
(WebFrame::invalidate):
- 10:45 PM Changeset in webkit [213267] by
-
- 29 edits4 adds in trunk
Implement font-stretch for installed fonts
https://bugs.webkit.org/show_bug.cgi?id=168888
Reviewed by Darin Adler and Dave Hyatt.
Source/WebCore:
This patch implements the font-stretch property. Both parsing and the implementation is
implemented. Contrary to the name, this property doesn't actually stretch fonts; instead,
it provides one more input to the font selection routine.
The mapping from Core Text's [-1, 1] width values to font-stretch's percentage-based
values is not perfect. For now, I've implemented a piecewise linear curve mapping the
two. However, I expect to be able to improve this transfer function soon.
This patch does not implement the font-stretch descriptor in @font-face, and therefore
does not work with web fonts. I will add this support in
https://bugs.webkit.org/show_bug.cgi?id=168892. The reason it isn't done in this patch is
it requires some architectural changes to our CSSFontFace classes which are large enough
they should be separated into their own patch.
This patch lays the groundwork for implementing the 'wdth' variation axis. It does this
by adding a floating-point value to RenderStyle instead of just an enum. The font-stretch
keywords get converted to these floating-point numbers in accordance with the Fonts spec.
This patch doesn't actually implement the variations piece of font-stretch, because that
piece also requires some architectural changes. This patch just implements the installed
font selection piece.
This patch also fixes the regression introduced in r213163 with Helvetica Neue. Now that
our font selection algorithm has a concept of font stretch, weights 800 and 900 of
Helvetica Neue are rendered as expected. (And this patch updates the tests to make sure.)
Tests: fast/text/font-stretch-parse.html
fast/text/font-stretch-shorthand.html
FontCacheTest.FontLookupFromFamilyName
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::fontStretchFromStyle): Map style values to CSS keywords.
(WebCore::ComputedStyleExtractor::propertyValue): Call the above function.
- css/CSSFontValue.cpp:
(WebCore::CSSFontValue::customCSSText): Used in getComputedStyle() for the "font"
shorthand.
(WebCore::CSSFontValue::equals):
- css/CSSFontValue.h:
- css/CSSProperties.json:
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertFontStretch): Map CSS keywords to style values.
- css/StyleProperties.cpp:
(WebCore::StyleProperties::appendFontLonghandValueIfExplicit): Used for
Element.style.font.
(WebCore::StyleProperties::fontValue):
- css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isKeywordPropertyID): Now that variation fonts are being
implemented, font-stretch is no longer a keyword property. Instead, it can also take a
number or percentage.
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeFontStretch): Parse the value.
(WebCore::CSSPropertyParser::parseSingleValue): Call the above function.
(WebCore::CSSPropertyParser::consumeFont): Ditto.
- platform/graphics/FontCache.h:
(WebCore::FontDescriptionKey::FontDescriptionKey): Caches should be sensitive to this
new value.
(WebCore::FontDescriptionKey::operator==):
(WebCore::FontDescriptionKey::computeHash):
- platform/graphics/FontDescription.h:
(WebCore::FontDescription::stretch): The parsed style value.
(WebCore::FontDescription::setStretch):
(WebCore::FontDescription::operator==):
(WebCore::FontCascadeDescription::initialStretch):
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontDatabase::InstalledFont::InstalledFont): Update the installed font selection
algorithm to understand font-stretch.
(WebCore::findClosestStretch):
(WebCore::filterStretch):
(WebCore::findClosestFont):
(WebCore::platformFontLookupWithFamily):
(WebCore::fontWithFamily):
(WebCore::FontCache::createFontPlatformData):
Tools:
Update TestWebKitAPI tests to test font-stretch too.
- TestWebKitAPI/Tests/WebCore/FontCache.cpp:
(TestWebKitAPI::createPlatformFont):
(TestWebKitAPI::compareFonts):
(TestWebKitAPI::TEST_F):
LayoutTests:
Updating tests for the "font" shorthand to include the font-stretch keywords.
- fast/css/font-calculated-value-expected.txt:
- fast/css/font-calculated-value.html:
- fast/css/font-shorthand-expected.txt:
- fast/css/font-shorthand-from-longhands-expected.txt:
- fast/css/font-shorthand-from-longhands.html:
- fast/css/getComputedStyle/computed-style-font-expected.txt:
- fast/css/getComputedStyle/computed-style-font-family-expected.txt:
- fast/css/getComputedStyle/script-tests/computed-style-font.js:
- fast/inspector-support/style-expected.txt:
- fast/text/font-stretch-parse-expected.txt: Added.
- fast/text/font-stretch-parse.html: Added.
- fast/text/font-stretch-shorthand-expected.html: Added.
- fast/text/font-stretch-shorthand.html: Added.
- platform/mac/fast/css/css2-system-fonts-expected.txt:
- platform/mac/fast/text/font-weights-expected.png:
- platform/mac/fast/text/font-weights-expected.txt:
- 10:19 PM Changeset in webkit [213266] by
-
- 9 edits in trunk/Source/WebCore
Rename recalcStyle to resolveStyle and clean up the signature
https://bugs.webkit.org/show_bug.cgi?id=169049
Reviewed by Sam Weinig.
Move to modern naming.
- dom/Document.cpp:
(WebCore::Document::resolveStyle):
Only two of the possible values are used so pass in a two-value enum.
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::updateLayoutIgnorePendingStylesheets):
(WebCore::Document::createRenderTree):
(WebCore::Document::finishedParsing):
(WebCore::Document::webkitWillEnterFullScreenForElement):
(WebCore::Document::recalcStyle): Deleted.
- dom/Document.h:
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::update):
- loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::reportDataReceived):
- page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors):
- page/Page.cpp:
(WebCore::Page::setPageScaleFactor):
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::Parent::Parent):
(WebCore::Style::TreeResolver::resolve):
Remove the argument, Document invalidates the document element if everything needs to be re-resolved.
- style/StyleTreeResolver.h:
- 9:31 PM Changeset in webkit [213265] by
-
- 4 edits in trunk/LayoutTests
LayoutTest media/modern-media-controls/media-controller/media-controller-resize.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=168378
<rdar://problem/30799326>
Reviewed by Simon Fraser.
Use asynchronous assertions to improve robustness. Since this test should no longer be flaky, remove it
from the list of flaky tests.
- media/modern-media-controls/media-controller/media-controller-resize-expected.txt:
- media/modern-media-controls/media-controller/media-controller-resize.html:
- platform/mac-wk1/TestExpectations:
- 9:26 PM Changeset in webkit [213264] by
-
- 4 edits in trunk/LayoutTests
[mac-wk1] LayoutTest media/modern-media-controls/tracks-button/tracks-button.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=168476
<rdar://problem/30799198>
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Jon Lee.
Write all tests as asynchronous assertions to improve robustness. Since this test should no longer be flaky,
mark it as Pass on platforms where it was marked as flaky.
- media/modern-media-controls/tracks-button/tracks-button-expected.txt:
- media/modern-media-controls/tracks-button/tracks-button.html:
- platform/mac-wk1/TestExpectations:
- 9:24 PM Changeset in webkit [213263] by
-
- 4 edits in trunk/LayoutTests
[mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=168409
<rdar://problem/30799198>
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Jon Lee.
Write all tests as asynchronous assertions to improve robustness. Since this test should no longer be flaky,
mark it as Pass on platforms where it was marked as flaky.
- media/modern-media-controls/airplay-button/airplay-button-expected.txt:
- media/modern-media-controls/airplay-button/airplay-button.html:
- platform/mac-wk1/TestExpectations:
- 9:10 PM Changeset in webkit [213262] by
-
- 3 edits in trunk/LayoutTests
LayoutTest media/modern-media-controls/pip-button/pip-button.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167350
<rdar://problem/30799132>
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Jon Lee.
Write both tests as asynchronous assertions to improve robustness.
- media/modern-media-controls/pip-button/pip-button-expected.txt:
- media/modern-media-controls/pip-button/pip-button.html:
- 8:37 PM Changeset in webkit [213261] by
-
- 9 edits in trunk/LayoutTests
[mac-wk1] LayoutTest media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=168934
<rdar://problem/30798593>
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Jon Lee.
Use asynchronous assertions to determine when it's safe to test button styles. We do this across a family of tests
that are all essentially doing the same thing for various media controls configurations. Only one was reported as
flaky, but others would show up on the flakiness dashboard.
- media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles-expected.txt:
- media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles.html:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles-expected.txt:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles.html:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-compact-buttons-styles-expected.txt:
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-compact-buttons-styles.html:
- 8:34 PM Changeset in webkit [213260] by
-
- 12 edits in trunk
Unreviewed, rolling out r213259.
Broke an internal build
Reverted changeset:
"Continue enabling WebRTC"
https://bugs.webkit.org/show_bug.cgi?id=169056
http://trac.webkit.org/changeset/213259
- 7:48 PM Changeset in webkit [213259] by
-
- 12 edits in trunk
Continue enabling WebRTC
https://bugs.webkit.org/show_bug.cgi?id=169056
Reviewed by Jon Lee.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 7:46 PM Changeset in webkit [213258] by
-
- 3 edits in trunk/LayoutTests
LayoutTest media/modern-media-controls/volume-down-support/volume-down-support.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=168935
<rdar://problem/30796699>
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Dean Jackson.
Use asynchronous assertions to guarantee we've entered fullscreen and the volume down button
is present and leave a little room for error when checking the volume since we would sometime
see a value of 0.009 rather than 0.
- media/modern-media-controls/volume-down-support/volume-down-support-expected.txt:
- media/modern-media-controls/volume-down-support/volume-down-support.html:
- 6:44 PM Changeset in webkit [213257] by
-
- 3 edits in trunk/LayoutTests
[mac-wk1] LayoutTest media/modern-media-controls/seek-backward-support/seek-backward-support.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=165386
<rdar://problem/30793480>
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Jon Lee.
We rewrite the test to use asynchronous assertions and key off the various steps needed to enter fullscreen
and start pressing the skip back button. We also no longer expect a specific currentTime to be reached but
only check that pressing the skip back button eventually gets us far enough in the past.
- media/modern-media-controls/seek-backward-support/seek-backward-support-expected.txt:
- media/modern-media-controls/seek-backward-support/seek-backward-support.html:
- 6:43 PM Changeset in webkit [213256] by
-
- 3 edits in trunk/LayoutTests
LayoutTest media/modern-media-controls/seek-forward-support/seek-forward-support.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=168943
<rdar://problem/30796542>
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Jon Lee.
We rewrite the test to use asynchronous assertions and key off the various steps needed to enter fullscreen
and start pressing the skip forward button. We also no longer expect a specific currentTime to be reached but
only check that pressing the skip forward button eventually gets us far enough in the future.
- media/modern-media-controls/seek-forward-support/seek-forward-support-expected.txt:
- media/modern-media-controls/seek-forward-support/seek-forward-support.html:
- 6:40 PM Changeset in webkit [213255] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Build fix after r212853. Make creating an analysis task work again.
- public/v3/pages/analysis-task-page.js:
(AnalysisTaskPage.prototype.render):
- 6:07 PM Changeset in webkit [213254] by
-
- 4 edits in trunk/LayoutTests
Unskip media/modern-media-controls/audio/audio-controls-buttons.html
https://bugs.webkit.org/show_bug.cgi?id=165234
<rdar://problem/30282714>
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Jon Lee.
Update this test to follow the same pattern used in media/modern-media-controls/airplay-support/airplay-support.html
which has proven to be robust.
- media/modern-media-controls/audio/audio-controls-buttons-expected.txt:
- media/modern-media-controls/audio/audio-controls-buttons.html:
- platform/mac/TestExpectations:
- 4:28 PM Changeset in webkit [213253] by
-
- 9 edits2 adds in trunk
[WK2][!NETWORK_SESSION] Failure to download when using a download attribute with no value on an anchor
https://bugs.webkit.org/show_bug.cgi?id=169060
<rdar://problem/30773140>
Reviewed by Darin Adler.
Source/WebCore:
Make sure we never set the suggested filename to the empty string when
the download attribute is present but has no value.
Test: http/tests/download/anchor-download-no-value.html
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
Source/WebKit2:
In the !NETWORK_SESSION code path, we were failing to use the suggested filename coming from the
network layer in the case where the download attribute is present but has no value. We were ending
up passing an empty string as suggested filename to Safari which is not handled properly.
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
LayoutTests:
Add layout test coverage.
- http/tests/download/anchor-download-no-value-expected.txt: Added.
- http/tests/download/anchor-download-no-value.html: Added.
- 4:14 PM Changeset in webkit [213252] by
-
- 2 edits in trunk
Build libwebrtc as part of the All Source scheme in WebKit.xcworkspace.
Rubber-stamped by Tim Horton.
- WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
- 3:59 PM Changeset in webkit [213251] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Annotators should not be enabled if the TextEditor is not visible
https://bugs.webkit.org/show_bug.cgi?id=169059
Patch by Devin Rousso <Devin Rousso> on 2017-03-01
Reviewed by Joseph Pecoraro.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel.prototype._addResource):
(WebInspector.DebuggerSidebarPanel.prototype._addScript):
Only callshowDefaultContentViewForTreeElementif the panel has been added to a sidebar.
It is not valid to simply check whether the panel is visible, as the sidebar can be collapsed.
In that case, we still want to display the content view, so we instead check that the panel
has been added to a sidebar, meaning that it is ready to be displayed in the current tab.
- 3:10 PM Changeset in webkit [213250] by
-
- 4 edits in trunk
[ios-simulator] Unskip media/modern-media-controls/audio/audio-controls-metrics.html
https://bugs.webkit.org/show_bug.cgi?id=167258
Source/WebCore:
<rdar://problem/30282740>
We weren't enforcing the min-width to be 200px as well as the default width, and the
UA stylesheet would override it. Setting a default min-width that trumps the UA
stylesheet makes the test work correctly on iOS and we can safely unskip this test.
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Jon Lee.
- Modules/modern-media-controls/controls/media-controls.css:
(:host(audio)):
LayoutTests:
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Jon Lee.
Unskip test now that we can pass it reliably.
- platform/ios-simulator-wk2/TestExpectations:
- 3:09 PM Changeset in webkit [213249] by
-
- 1 copy in tags/Safari-603.1.30.4.4
Tag Safari-603.1.30.4.4.
- 3:04 PM Changeset in webkit [213248] by
-
- 2 edits in trunk/Source/WTF
Removed unused WTF_COMPILER_SUPPORTS_CXX_USER_LITERALS macro
https://bugs.webkit.org/show_bug.cgi?id=168969
Reviewed by Darin Adler.
- wtf/Compiler.h:
- 2:45 PM Changeset in webkit [213247] by
-
- 2 edits in trunk/Source/WebCore
Missing 'specification' section in the place-content shorthand
https://bugs.webkit.org/show_bug.cgi?id=169052
Reviewed by Darin Adler.
Added 'specification' section in the place-content shorthand.
No new tests, no new functionality.
- css/CSSProperties.json:
- 2:43 PM Changeset in webkit [213246] by
-
- 8 edits in trunk
Media: notify clients when autoplayed media is muted
https://bugs.webkit.org/show_bug.cgi?id=168987
Reviewed by Alex Christensen.
Source/WebCore:
Added API tests.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setMuted):
(WebCore::HTMLMediaElement::pageMutedStateDidChange):
- page/AutoplayEvent.h:
Source/WebKit2:
- UIProcess/API/C/WKPageUIClient.h:
Tools:
- TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST): Added.
- 2:39 PM Changeset in webkit [213245] by
-
- 3 edits in trunk/LayoutTests
LayoutTest media/modern-media-controls/play-pause-button/play-pause-button.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167447
<rdar://problem/30790539>
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Dean Jackson.
Use a chain of asynchronous assertions to make the test more robust.
- media/modern-media-controls/play-pause-button/play-pause-button-expected.txt:
- media/modern-media-controls/play-pause-button/play-pause-button.html:
- 2:36 PM Changeset in webkit [213244] by
-
- 3 edits in branches/safari-603.1.30.4-branch/Source/WebCore
Merge r213211. rdar://problem/30742143
- 2:36 PM Changeset in webkit [213243] by
-
- 5 edits in branches/safari-603.1.30.4-branch/Source
Versioning.
- 2:28 PM Changeset in webkit [213242] by
-
- 2 edits in trunk/Source/JavaScriptCore
Source/JavaScriptCore/ChangeLog
https://bugs.webkit.org/show_bug.cgi?id=169055
Reviewed by Mark Lam.
Made local copies of options strings for OptionRange and string typed options.
- runtime/Options.cpp:
(JSC::parse):
(JSC::OptionRange::init):
- 2:01 PM Changeset in webkit [213241] by
-
- 8 edits2 copies2 adds in trunk
Add SPI to create WebsiteDataStore objects pointing to custom paths.
https://bugs.webkit.org/show_bug.cgi?id=169044
Reviewed by Tim Horton.
Source/WebKit2:
- UIProcess/API/APIWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _initWithConfiguration:]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h.
- UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h.
- UIProcess/WebsiteData/WebsiteDataStore.h:
- WebKit2.xcodeproj/project.pbxproj:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: Added.
(-[WebsiteDataStoreCustomPathsMessageHandler userContentController:didReceiveScriptMessage:]):
(getNextMessage):
(TEST):
- 1:55 PM Changeset in webkit [213240] by
-
- 3 edits in trunk/LayoutTests
[mac-wk1 debug] LayoutTest media/modern-media-controls/tracks-panel/tracks-panel-hide-click-outside.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=165290
<rdar://problem/30787749>
Patch by Antoine Quint <Antoine Quint> on 2017-03-01
Reviewed by Jon Lee.
We now rely on actual DOM state to ensure that the tracks panel is shown and hidden. While
I couldn't reproduce the flakiness, this should be a more robust approach.
- media/modern-media-controls/tracks-panel/tracks-panel-hide-click-outside-expected.txt:
- media/modern-media-controls/tracks-panel/tracks-panel-hide-click-outside.html:
- 1:10 PM Changeset in webkit [213239] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r213226.
https://bugs.webkit.org/show_bug.cgi?id=169051
Speculative rollout, might be causing several failures and
crashes in WebKitGTK+ (Requested by lajava on #webkit).
Reverted changeset:
"REGRESSION(r213062): [SOUP] UTF-8 filename in Content-
Disposition header incorrectly handled since r213062"
https://bugs.webkit.org/show_bug.cgi?id=169024
http://trac.webkit.org/changeset/213226
- 12:15 PM Changeset in webkit [213238] by
-
- 12 edits1 add in trunk/Source/JavaScriptCore
[Re-landing] Change JSLock to stash PlatformThread instead of std::thread::id.
https://bugs.webkit.org/show_bug.cgi?id=168996
Reviewed by Filip Pizlo and Saam Barati.
PlatformThread is more useful because it allows us to:
- find the MachineThreads::Thread which is associated with it.
- suspend / resume threads.
- send a signal to a thread.
We can't do those with std::thread::id. We will need one or more of these
capabilities to implement non-polling VM traps later.
Update: Since we don't have a canonical "uninitialized" value for PlatformThread,
we now have a JSLock::m_hasOwnerThread flag that is set to true if and only the
m_ownerThread value is valid. JSLock::currentThreadIsHoldingLock() now checks
JSLock::m_hasOwnerThread before doing the thread identity comparison.
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::Thread::createForCurrentThread):
(JSC::MachineThreads::machineThreadForCurrentThread):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::Thread::suspend):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
(JSC::getCurrentPlatformThread): Deleted.
- heap/MachineStackMarker.h:
- runtime/JSCellInlines.h:
(JSC::JSCell::classInfo):
- runtime/JSLock.cpp:
(JSC::JSLock::JSLock):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock): Deleted.
- runtime/JSLock.h:
(JSC::JSLock::ownerThread):
(JSC::JSLock::currentThreadIsHoldingLock):
- runtime/PlatformThread.h: Added.
(JSC::currentPlatformThread):
- runtime/VM.cpp:
(JSC::VM::~VM):
- runtime/VM.h:
(JSC::VM::ownerThread):
- runtime/Watchdog.cpp:
(JSC::Watchdog::setTimeLimit):
(JSC::Watchdog::shouldTerminate):
(JSC::Watchdog::startTimer):
(JSC::Watchdog::stopTimer):
- tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::currentThreadOwnsJSLock):
- tools/VMInspector.cpp:
- 12:03 PM Changeset in webkit [213237] by
-
- 2 edits in trunk/Tools
Add a way to watch the CSSProperties.json file, and add me and Dan Bates to watch it.
- Scripts/webkitpy/common/config/watchlist:
- 11:47 AM Changeset in webkit [213236] by
-
- 6 edits1 copy1 add in trunk/Tools
webkitpy: Move some device management from iOSSimulatorPort to iOSPort class
https://bugs.webkit.org/show_bug.cgi?id=168681
Reviewed by Daniel Bates.
This patch moves high-level device management into iOSPort and adds a new iOSDevicePort class
which inherits from iOSPort. Additionally, this change renames device_id_for_worker_number to
device_for_worker_number and manages devices by object instead of by UDID.
- Scripts/webkitpy/port/factory.py:
(PortFactory): Correct import path for IOSSimulatorPort and IOSDevicePort.
- Scripts/webkitpy/port/ios.py:
(IOSPort.init): Define variables shared between iOS ports.
(IOSPort.driver_cmd_line_for_logging): From IOSSimulatorPort.
(IOSPort.driver_name): From IOSSimulatorPort.
(IOSPort.using_multiple_devices): Check if this port supports multiple devices.
(IOSPort._testing_device): Map worker number to device.
(IOSPort.device_for_worker_number): Return _testing_device() or _current_device based on using_multiple_devices.
(IOSSimulatorPort): Moved to ios_simulator.py
- Scripts/webkitpy/port/ios_device.py: Added.
(IOSDevicePort): Moved functionality from IOSPort.
(IOSDevicePort.determine_full_port_name): Moved from IOSPort.
(IOSDevicePort._build_driver_flags): Ditto.
(IOSDevicePort.operating_system): Ditto.
- Scripts/webkitpy/port/ios_simulator.py: Added.
(IOSSimulatorPort): Moved from ios.py.
(IOSSimulatorPort.init): Init parent class, setup device map.
(IOSSimulatorPort._create_simulators): Use object over unbound methods.
(IOSSimulatorPort.setup_test_run): Ditto.
(IOSSimulatorPort.using_multiple_devices): True if we are managing the simulators.
(IOSSimulatorPort._create_device): Use object over unbound methods.
(IOSSimulatorPort._remove_device): Ditto.
(IOSSimulatorPort.driver_name): Moved to parent class.
(IOSSimulatorPort.driver_cmd_line_for_logging): Ditto.
(IOSSimulatorPort.child_processes): Ditto.
(IOSSimulatorPort._testing_device): Ditto.
(IOSSimulatorPort.device_id_for_worker_number): Renamed as device_for_worker_number.
(SimulatorProcess.init): Call find_device_by_udid, device_id_for_worker_number has been removed.
- Scripts/webkitpy/xcode/simulator.py:
(Simulator): Make _managed_devices public.
(Simulator.create_device): Ditto.
(Simulator.remove_device): Ditto.
(Simulator.device_number): Ditto.
- 11:41 AM Changeset in webkit [213235] by
-
- 7 edits in trunk
AX: add role aliases for ARIA DPUB module
https://bugs.webkit.org/show_bug.cgi?id=168978
<rdar://problem/30762724>
Reviewed by Chris Fleizach.
Source/WebCore:
Added role aliases for ARIA DPUB module, and updated existing tests.
Test: accessibility/roles-exposed.html
Test: inspector/dom/getAccessibilityPropertiesForNode.html
- accessibility/AccessibilityObject.cpp:
(WebCore::initializeRoleMap):
LayoutTests:
Added role aliases for ARIA DPUB module.
- accessibility/roles-exposed-expected.txt:
- accessibility/roles-exposed.html:
- inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
- inspector/dom/getAccessibilityPropertiesForNode.html:
- 11:30 AM Changeset in webkit [213234] by
-
- 5 edits in trunk/Source/WebCore
Don't call libwebrtc functions if libwebrtc.dylib doesn't exist while testing
https://bugs.webkit.org/show_bug.cgi?id=169045
<rdar://problem/30735413>
Reviewed by Youenn Fablet.
WebRTC tests fail instead of crashing now if libwebrtc.dylib is missing.
All other tests pass instead of crashing immediately when creating an Internals object.
- Modules/mediastream/RTCController.cpp:
(WebCore::RTCController::disableICECandidateFiltering):
(WebCore::RTCController::enableICECandidateFiltering):
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::createLibWebRTCPeerConnectionBackend):
- testing/Internals.cpp:
(WebCore::Internals::enableMockMediaEndpoint):
(WebCore::Internals::emulateRTCPeerConnectionPlatformEvent):
(WebCore::Internals::useMockRTCPeerConnectionFactory):
- testing/Internals.h:
- 11:13 AM Changeset in webkit [213233] by
-
- 5 edits in trunk/Source/JavaScriptCore
Implement a mega-disassembler that'll be used in the FTL
https://bugs.webkit.org/show_bug.cgi?id=168685
Reviewed by Mark Lam.
This patch extends the previous Air disassembler to print the
DFG and B3 nodes belonging to particular Air instructions.
The algorithm I'm using to do this is not perfect. For example,
it won't try to print the entire DFG/B3 graph. It'll just print
the related nodes for particular Air instructions. We can make the
algorithm more sophisticated as we get more experience looking at
these IR dumps and get a better feel for what we want out of them.
This is an example of the output:
...
...
200:<!0:-> InvalidationPoint(MustGen, W:SideState, Exits, bc#28, exit: bc#25 --> _getEntry#DlGw2r:<0x10276f980> bc#37)
Void @54 = Patchpoint(@29:ColdAny, @29:ColdAny, @53:ColdAny, DFG:@200, generator = 0x1015d6c18, earlyClobbered = [], lateClobbered = [], usedRegisters = [%r0, %r19, %r20, %r21, %r22, %fp], resultConstraint = WarmAny, ExitsSideways|WritesPinned|ReadsPinned|Reads:Top)
76:< 6:-> GetByOffset(KnownCell:@44, KnownCell:@44, JS|UseAsOther, Array, id3{_elementData}, 2, inferredType = Object, R:NamedProperties(3), Exits, bc#37) predicting Array
Int64 @57 = Load(@29, DFG:@76, offset = 32, ControlDependent|Reads:100...101)
0x389cc9ac0: ldur x5, [x20, #32]
115:<!0:-> CheckStructure(Cell:@76, MustGen, [0x1027eae20:[Array, {}, ArrayWithContiguous, Proto:0x1027e0140]], R:JSCell_structureID, Exits, bc#46)
Int32 @58 = Load(@57, DFG:@115, ControlDependent|Reads:16...17)
0x389cc9ac4: ldur w1, [x5]
Int32 @59 = Const32(DFG:@115, 92)
Int32 @60 = NotEqual(@58, $92(@59), DFG:@115)
Void @61 = Check(@60:WarmAny, @57:ColdAny, @29:ColdAny, @29:ColdAny, @53:ColdAny, @57:ColdAny, DFG:@115, generator = 0x1057991e0, earlyClobbered = [], lateClobbered = [], usedRegisters = [%r0, %r5, %r19, %r20, %r21, %r22, %fp], ExitsSideways|Reads:Top)
Patch &Branch32(3,SameAsRep)1, NotEqual, %r1, $92, %r5, %r20, %r20, %r0, %r5, @61
0x389cc9ac8: cmp w1, #92
0x389cc9acc: b.ne 0x389cc9dac
117:< 2:-> GetButterfly(Cell:@76, Storage|PureInt, R:JSObject_butterfly, Exits, bc#46)
Int64 @64 = Load(@57, DFG:@117, offset = 8, ControlDependent|Reads:24...25)
0x389cc9ad0: ldur x4, [x5, #8]
79:< 2:-> GetArrayLength(KnownCell:@76, Untyped:@117, JS|PureInt|UseAsInt, Nonboolint32, Contiguous+OriginalArray+InBounds+AsIs, R:Butterfly_publicLength, Exits, bc#46)
Int32 @67 = Load(@64, DFG:@79, offset = -8, ControlDependent|Reads:3...4)
0x389cc9ad4: ldur w2, [x4, #-8]
192:< 1:-> JSConstant(JS|PureInt, Nonboolint32, Int32: -1, bc#0)
Int32 @68 = Const32(DFG:@192, -1)
Move $0xffffffffffffffff, %r1, $-1(@68)
0x389cc9ad8: mov x1, #-1
83:<!2:-> ArithAdd(Int32:Kill:@79, Int32:Kill:@192, Number|MustGen|PureInt|UseAsInt, Int32, Unchecked, Exits, bc#55)
Int32 @69 = Add(@67, $-1(@68), DFG:@83)
0x389cc9adc: add w1, w2, w1
86:< 3:-> BitAnd(Check:Int32:@71, Int32:Kill:@83, Int32|UseAsOther|UseAsInt|ReallyWantsInt, Int32, Exits, bc#60)
Int32 @70 = Below(@53, $-281474976710656(@15), DFG:@86)
Void @71 = Check(@70:WarmAny, @53:ColdAny, @29:ColdAny, @29:ColdAny, @53:ColdAny, @69:ColdAny, DFG:@86, generator = 0x105799370, earlyClobbered = [], lateClobbered = [], usedRegisters = [%r0, %r1, %r2, %r4, %r5, %r19, %r20, %r21, %r22, %fp], ExitsSideways|Reads:Top)
Patch &Branch64(3,SameAsRep)0, Below, %r0, %r22, %r0, %r20, %r20, %r0, %r1, @71
0x389cc9ae0: cmp x0, x22
0x389cc9ae4: b.lo 0x389cc9dc0
Int32 @72 = Trunc(@53, DFG:@86)
Int32 @73 = BitAnd(@69, @72, DFG:@86)
0x389cc9ae8: and w1, w1, w0
16:<!0:-> PutStack(KnownInt32:@71, MustGen, loc27, machine:loc3, FlushedInt32, W:Stack(-28), bc#19)
Int32 @72 = Trunc(@53, DFG:@86)
Int64 @11 = SlotBase(stack0)
Void @76 = Store(@72, @11, DFG:@16, offset = 32, ControlDependent|Writes:94...95)
Move32 %r0, -64(%fp), @76
0x389cc9aec: stur w0, [fp, #-64]
12:<!0:-> PutStack(Untyped:@86, MustGen, loc28, machine:loc4, FlushedJSValue, W:Stack(-29), bc#19)
Int64 @77 = ZExt32(@73, DFG:@12)
Int64 @78 = Add(@77, $-281474976710656(@15), DFG:@12)
0x389cc9af0: add x3, x1, x22
Int64 @11 = SlotBase(stack0)
Void @81 = Store(@78, @11, DFG:@12, offset = 24, ControlDependent|Writes:95...96)
Move %r3, -72(%fp), @81
0x389cc9af4: stur x3, [fp, #-72]
10:<!0:-> PutStack(KnownInt32:@46, MustGen, loc29, machine:loc5, FlushedInt32, W:Stack(-30), bc#19)
Int32 @82 = Trunc(@24, DFG:@10)
Int64 @11 = SlotBase(stack0)
Void @85 = Store(@82, @11, DFG:@10, offset = 16, ControlDependent|Writes:96...97)
Move32 %r21, -80(%fp), @85
0x389cc9af8: stur w21, [fp, #-80]
129:<!10:-> GetByVal(KnownCell:Kill:@76, Int32:Kill:@86, Untyped:Kill:@117, JS|MustGen|UseAsOther, FinalOther, Contiguous+OriginalArray+OutOfBounds+AsIs, R:World, W:Heap, Exits, ClobbersExit, bc#19) predicting FinalOther
Int32 @89 = AboveEqual(@73, @67, DFG:@129)
Void @90 = Branch(@89, DFG:@129, Terminal)
Branch32 AboveOrEqual, %r1, %r2, @90
0x389cc9afc: cmp w1, w2
0x389cc9b00: b.hs 0x389cc9bec
...
...
- b3/air/AirDisassembler.cpp:
(JSC::B3::Air::Disassembler::dump):
- b3/air/AirDisassembler.h:
- ftl/FTLCompile.cpp:
(JSC::FTL::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::lower):
(JSC::FTL::DFG::LowerDFGToB3::lowInt32):
(JSC::FTL::DFG::LowerDFGToB3::lowCell):
(JSC::FTL::DFG::LowerDFGToB3::lowBoolean):
(JSC::FTL::DFG::LowerDFGToB3::lowJSValue):
- 11:03 AM Changeset in webkit [213232] by
-
- 2 edits in trunk/LayoutTests
Mark media/modern-media-controls/fullscreen-support/fullscreen-support-enabled.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=168668
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 10:51 AM Changeset in webkit [213231] by
-
- 12 edits1 delete in trunk/Source/JavaScriptCore
REGRESSION (r213202?): Assertion failed: (!"initialized()"), function operator().
https://bugs.webkit.org/show_bug.cgi?id=169042
Not reviewed.
Rolling out r213229 and r213202.
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/MachineStackMarker.cpp:
(JSC::getCurrentPlatformThread):
(JSC::MachineThreads::Thread::createForCurrentThread):
(JSC::MachineThreads::machineThreadForCurrentThread):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::Thread::suspend):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
- heap/MachineStackMarker.h:
- runtime/JSCellInlines.h:
(JSC::JSCell::classInfo):
- runtime/JSLock.cpp:
(JSC::JSLock::JSLock):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
- runtime/JSLock.h:
(JSC::JSLock::ownerThread):
(JSC::JSLock::currentThreadIsHoldingLock): Deleted.
- runtime/PlatformThread.h: Removed.
- runtime/VM.cpp:
(JSC::VM::~VM):
- runtime/VM.h:
(JSC::VM::ownerThread):
- runtime/Watchdog.cpp:
(JSC::Watchdog::setTimeLimit):
(JSC::Watchdog::shouldTerminate):
(JSC::Watchdog::startTimer):
(JSC::Watchdog::stopTimer):
- tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::currentThreadOwnsJSLock):
- tools/VMInspector.cpp:
- 10:47 AM Changeset in webkit [213230] by
-
- 7 edits3 adds in trunk
[css-align] Implement the place-content shorthand
https://bugs.webkit.org/show_bug.cgi?id=168771
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
The CSS Box Alignment specification defines a new shorthand to set the
Content Alignment properties (align-content and justify-content) at the
same time.
This patch provides the implementation of the CSS parsing logic and the
required regression tests.
Test: css3/parse-place-content.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- css/CSSProperties.json:
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue):
- css/parser/CSSPropertyParser.cpp:
(WebCore::consumeSimplifiedContentPosition):
(WebCore::CSSPropertyParser::consumePlaceContentShorthand):
(WebCore::CSSPropertyParser::parseShorthand):
- css/parser/CSSPropertyParser.h:
LayoutTests:
Regression tests for the new place-content alignment shorthand.
Added also a new parsing utility script which uses the testharness functions.
- css3/parse-place-content-expected.txt: Added.
- css3/parse-place-content.html: Added.
- css3/resources/alignment-parsing-utils-th.js: Added.
(checkValues):
(checkBadValues):
(checkInitialValues):
(checkInheritValues):
(checkLegacyValues):
(checkSupportedValues):
- 10:25 AM CoordinatedGraphicsSystem edited by
- Fixed internal links (diff)
- 10:18 AM Changeset in webkit [213229] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION (r213202?): Assertion failed: (!"initialized()"), function operator()
https://bugs.webkit.org/show_bug.cgi?id=169042
Reviewed by Filip Pizlo.
- runtime/JSLock.h:
(JSC::JSLock::currentThreadIsHoldingLock):
- 10:07 AM CoordinatedGraphicsSystem edited by
- (diff)
- 10:06 AM CoordinatedGraphicsSystem edited by
- (diff)
- 10:03 AM Changeset in webkit [213228] by
-
- 4 edits in trunk/Source/JavaScriptCore
REGRESSION(r211344): Remote Inspector: listingForAutomationTarget() is called off-main-thread, causing assertions
https://bugs.webkit.org/show_bug.cgi?id=168695
<rdar://problem/30643899>
Reviewed by Joseph Pecoraro.
The aforementioned commit added some new calls to update target listings. This causes RemoteInspector
to update some listings underneath an incoming setup message on the XPC queue, which is not a safe place
to gather listing information for RemoteAutomationTargets.
Update the listing asynchronously since we don't need it immediately. Since this really only happens when
the connection to the target is set up and shut down, we can trigger listings to be refreshed from
the async block that's called on the target's queue inside RemoteConnectionToTarget::{setup,close}.
- inspector/remote/RemoteInspector.h:
Make updateListingForTarget(unsigned) usable from RemoteConnectionToTarget.
- inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:
(Inspector::RemoteConnectionToTarget::setup):
(Inspector::RemoteConnectionToTarget::close):
Grab the target identifier while the RemoteControllableTarget pointer is still valid,
and use it inside the block later after it may have been destructed already. If that happens,
then updateTargetListing will bail out because the targetIdentifier cannot be found in the mapping.
- inspector/remote/cocoa/RemoteInspectorCocoa.mm:
(Inspector::RemoteInspector::updateTargetListing):
We need to make sure to request a listing push after the target is updated, so implicitly call
pushListingsSoon() from here. That method doesn't require any particular queue or holding a lock.
(Inspector::RemoteInspector::receivedSetupMessage):
(Inspector::RemoteInspector::receivedDidCloseMessage):
(Inspector::RemoteInspector::receivedConnectionDiedMessage):
Remove calls to updateTargetListing() and pushListingsSoon(), as these happen implicitly
and asynchronously on the target's queue when the connection to target is opened or closed.
- 9:49 AM Changeset in webkit [213227] by
-
- 2 edits in trunk/Source/WebCore
Try to fix Windows build after r213191.
- platform/spi/win/CoreTextSPIWin.h:
- 9:36 AM Changeset in webkit [213226] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r213062): [SOUP] UTF-8 filename in Content-Disposition header incorrectly handled since r213062
https://bugs.webkit.org/show_bug.cgi?id=169024
Reviewed by Youenn Fablet.
This made test http/tests/download/literal-utf-8.html to start failing. The problem is that I removed the
conversion made by String::fromUTF8WithLatin1Fallback that was added in r176930. I removed it because that made
fast/dom/HTMLAnchorElement/anchor-file-blob-download-includes-unicode.html to timeout. This patch brings back
the String::fromUTF8WithLatin1Fallback call but only when the header string is 8 bit one.
Fixes: http/tests/download/literal-utf-8.html
- platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::platformSuggestedFilename):
- 9:23 AM Changeset in webkit [213225] by
-
- 2 edits in trunk/Tools
IndexedDB.IndexedDBMultiProcess is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=160780
Reviewed by Brady Eidson.
- TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm: Releasing the object
once doesn't necessarily deallocate the object, there can be other references.
We can use -[WKWebView _close] or -[WKWebView _killWebContentProcessAndResetState].
The latter seems more appropriate, because "kill" is what the comment says.
- 9:04 AM Changeset in webkit [213224] by
-
- 6 edits in trunk
[GTK] fast/canvas/canvas-createPattern-video-loading.html makes its subsequent test timeout
https://bugs.webkit.org/show_bug.cgi?id=169019
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
The timeout happens normally when the media player is deleted and the pipeline state is set to NULL. The call to
gst_element_set_state() never returns because of different deadlocks with the video sink. Sometimes the deadlock
happens with the sample mutex used by VideoRenderRequestScheduler. VideoRenderRequestScheduler::requestRender()
calls webkitVideoSinkRepaintRequested() with the lock held, that ends up calling
MediaPlayerPrivateGStreamerBase::triggerRepaint(). When rendering can't be accelerated the draw timer is
scheduled and triggerRepaint blocks until the timer is fired. If the media player is destroyed before the timer
is fired, when setting the pipeline state to NULL, other VideoRenderRequestScheduler methods can be called, like
stop() that tries to get the sample mutex that is still held by requestRender(). So, first we need to make
sure that requestRender() releases the lock before calling webkitVideoSinkRepaintRequested(). But that's not
enough, we also need to ensure that the pipeline is set to NULL state after everyting has been properly
stopped. This is currently done in ~MediaPlayerPrivateGStreamer that happens before
~MediaPlayerPrivateGStreamerBase, so gst_element_set_state() is hanging before allowing the
MediaPlayerPrivateGStreamerBase to be cleaned up. We should move the call to the end of
~MediaPlayerPrivateGStreamerBase and ensure the draw timer and mutex are properly cleaned up before.
Fixes: fast/canvas/canvas-createPattern-video-loading.html
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): Do not reset pipeline here.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): Stop the draw mutex and notify the
lock to ensure we unblock. Do the pipeline reset at the end.
- platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(VideoRenderRequestScheduler::requestRender): Release the mutex lock before calling webkitVideoSinkRepaintRequested().
LayoutTests:
Unskip tests previously skipped because of this timeout.
- platform/gtk/TestExpectations:
- 7:43 AM Changeset in webkit [213223] by
-
- 2 edits in trunk/Source/WTF
[WTF] va_list is not ended in StringPrintStream
https://bugs.webkit.org/show_bug.cgi?id=169035
Reviewed by Michael Saboff.
Also fix whitespace errors while touching this file.
- wtf/StringPrintStream.cpp:
(WTF::StringPrintStream::vprintf):
(WTF::StringPrintStream::increaseSize):
- 7:38 AM Changeset in webkit [213222] by
-
- 2 edits in trunk/Source/JavaScriptCore
Leak under Options::setOptions
https://bugs.webkit.org/show_bug.cgi?id=169029
Reviewed by Michael Saboff.
Don't leak the optionsStrCopy variable.
- runtime/Options.cpp:
(JSC::Options::setOptions):
- 7:12 AM Changeset in webkit [213221] by
-
- 4 edits in trunk/Source/WebKit2
Update peer connection preference
https://bugs.webkit.org/show_bug.cgi?id=169016
rdar://problem/30773889
Reviewed by Eric Carlson.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::setEnabledForFeature):
(WebKit::WebPreferences::setPeerConnectionAndMediaStreamEnabled): Deleted.
- UIProcess/WebPreferences.h:
- 6:38 AM Changeset in webkit [213220] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed compiler warning fix after r213218
- platform/gtk/PlatformKeyboardEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
- 6:18 AM Changeset in webkit [213219] by
-
- 2 edits in trunk/Source/WebCore
[Cairo] Incorrectly determining height in GraphicsContext::roundToDevicePixels()
https://bugs.webkit.org/show_bug.cgi?id=169031
Reviewed by Carlos Garcia Campos.
We should compare if height is between -1 and 0 and not mixing height
and width together.
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::roundToDevicePixels):
- 6:16 AM Changeset in webkit [213218] by
-
- 3 edits in trunk/Source/WebCore
[GTK] Fix problems found by Coverity scan in platform's keyboard and mouse events
https://bugs.webkit.org/show_bug.cgi?id=169028
Reviewed by Carlos Garcia Campos.
- platform/gtk/PlatformKeyboardEventGtk.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Initialize
the m_handledByInputMethod member.
- platform/gtk/PlatformMouseEventGtk.cpp:
(WebCore::PlatformMouseEvent::PlatformMouseEvent): Initialize the
m_modifierFlags member.
- 6:14 AM Changeset in webkit [213217] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Fix problems found by Coverity scan in WebPrintOperationGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=169027
Reviewed by Carlos Garcia Campos.
Initialize the lastPagePosition variable and remove an unused one
- totalToPrint.
- WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
(WebKit::PrintPagesData::PrintPagesData):
- 1:57 AM Changeset in webkit [213216] by
-
- 2 edits in trunk/LayoutTests
[GTK] fast/canvas/canvas-createPattern-video-loading.html makes a following test timeout
https://bugs.webkit.org/show_bug.cgi?id=169019
Unreviewed test gardening.
Patch by Fujii Hironori <Fujii Hironori> on 2017-03-01
- platform/gtk/TestExpectations: Skip fast/canvas/canvas-createPattern-video-loading.html
- 1:55 AM Changeset in webkit [213215] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(r207666): [GTK] Layout test imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-within-document.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=163850
Unreviewed test gardening.
Skip tests that make its following test timeout.
Patch by Fujii Hironori <Fujii Hironori> on 2017-03-01
- platform/gtk/TestExpectations: Skip
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-to-other-document.html
and
imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-move-within-document.html.
- 1:38 AM Changeset in webkit [213214] by
-
- 37 edits3 copies5 moves1 add1 delete in trunk/Source
Move MemoryPressureHandler to WTF
<https://webkit.org/b/168908>
Reviewed by Sam Weinig.
Source/WebCore:
- CMakeLists.txt:
- PlatformMac.cmake:
- PlatformWin.cmake:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/ScriptController.cpp:
- history/PageCache.cpp:
- html/HTMLMediaElement.cpp:
- inspector/InspectorInstrumentation.h:
- inspector/InspectorMemoryAgent.h:
- page/FrameView.cpp:
- page/MemoryRelease.h:
- page/linux/ResourceUsageThreadLinux.cpp:
- platform/Linux.cmake:
- platform/graphics/FontCache.cpp:
- platform/graphics/WidthCache.h:
- platform/graphics/ca/TileController.cpp:
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
- platform/ios/LegacyTileCache.mm:
- platform/ios/LegacyTileGrid.mm:
- platform/ios/LegacyTileLayerPool.mm:
- platform/ios/TileControllerMemoryHandlerIOS.cpp:
- testing/Internals.cpp:
Source/WebKit2:
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/mac/NetworkProcessMac.mm:
- PluginProcess/PluginProcess.cpp:
- Shared/linux/WebMemorySamplerLinux.cpp:
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
- WebProcess/WebPage/ios/WebPageIOS.mm:
Source/WTF:
Move MemoryPressureHandler down to WTF so it can be used from JavaScriptCore.
I had to do a blind rewrite of the Windows memory checking timer since it can
no longer use WebCore::Timer. I also moved the Win32Handle helper class to WTF.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/MemoryPressureHandler.cpp: Renamed from Source/WebCore/platform/MemoryPressureHandler.cpp.
(WTF::MemoryPressureHandler::singleton):
(WTF::MemoryPressureHandler::MemoryPressureHandler):
(WTF::MemoryPressureHandler::setShouldUsePeriodicMemoryMonitor):
(WTF::toString):
(WTF::thresholdForPolicy):
(WTF::policyForFootprint):
(WTF::MemoryPressureHandler::measurementTimerFired):
(WTF::MemoryPressureHandler::beginSimulatedMemoryPressure):
(WTF::MemoryPressureHandler::endSimulatedMemoryPressure):
(WTF::MemoryPressureHandler::releaseMemory):
(WTF::MemoryPressureHandler::ReliefLogger::logMemoryUsageChange):
(WTF::MemoryPressureHandler::install):
(WTF::MemoryPressureHandler::uninstall):
(WTF::MemoryPressureHandler::holdOff):
(WTF::MemoryPressureHandler::respondToMemoryPressure):
(WTF::MemoryPressureHandler::platformReleaseMemory):
(WTF::MemoryPressureHandler::ReliefLogger::platformMemoryUsage):
(WTF::MemoryPressureHandler::platformInitialize):
- wtf/MemoryPressureHandler.h: Renamed from Source/WebCore/platform/MemoryPressureHandler.h.
(WTF::MemoryPressureHandler::setMemoryKillCallback):
(WTF::MemoryPressureHandler::setProcessIsEligibleForMemoryKillCallback):
(WTF::MemoryPressureHandler::setLowMemoryHandler):
(WTF::MemoryPressureHandler::isUnderMemoryPressure):
(WTF::MemoryPressureHandler::setUnderMemoryPressure):
(WTF::MemoryPressureHandler::ReliefLogger::ReliefLogger):
(WTF::MemoryPressureHandler::ReliefLogger::~ReliefLogger):
(WTF::MemoryPressureHandler::ReliefLogger::logString):
(WTF::MemoryPressureHandler::ReliefLogger::setLoggingEnabled):
(WTF::MemoryPressureHandler::ReliefLogger::loggingEnabled):
(WTF::MemoryPressureHandler::ReliefLogger::MemoryUsage::MemoryUsage):
- wtf/PlatformEfl.cmake:
- wtf/PlatformGTK.cmake:
- wtf/PlatformMac.cmake:
- wtf/PlatformWin.cmake:
- wtf/cocoa/MemoryPressureHandlerCocoa.mm: Renamed from Source/WebCore/platform/cocoa/MemoryPressureHandlerCocoa.mm.
(WTF::MemoryPressureHandler::platformReleaseMemory):
(WTF::MemoryPressureHandler::install):
(WTF::MemoryPressureHandler::uninstall):
(WTF::MemoryPressureHandler::holdOff):
(WTF::MemoryPressureHandler::respondToMemoryPressure):
(WTF::MemoryPressureHandler::ReliefLogger::platformMemoryUsage):
- wtf/linux/CurrentProcessMemoryStatus.cpp: Renamed from Source/WebCore/platform/linux/CurrentProcessMemoryStatus.cpp.
(WTF::systemPageSize):
(WTF::currentProcessMemoryStatus):
- wtf/linux/CurrentProcessMemoryStatus.h: Renamed from Source/WebCore/platform/linux/CurrentProcessMemoryStatus.h.
- wtf/linux/MemoryPressureHandlerLinux.cpp: Renamed from Source/WebCore/platform/linux/MemoryPressureHandlerLinux.cpp.
(WTF::MemoryPressureHandler::EventFDPoller::EventFDPoller):
- wtf/win/MemoryPressureHandlerWin.cpp: Renamed from Source/WebCore/platform/win/MemoryPressureHandlerWin.cpp.
(WTF::MemoryPressureHandler::platformInitialize):
(WTF::MemoryPressureHandler::windowsMeasurementTimerFired):
(WTF::MemoryPressureHandler::platformReleaseMemory):
(WTF::MemoryPressureHandler::install):
(WTF::MemoryPressureHandler::uninstall):
(WTF::MemoryPressureHandler::holdOff):
(WTF::MemoryPressureHandler::respondToMemoryPressure):
(WTF::MemoryPressureHandler::ReliefLogger::platformMemoryUsage):
- wtf/win/Win32Handle.h: Renamed from Source/WebCore/platform/win/Win32Handle.h.
(WTF::Win32Handle::Win32Handle):
(WTF::Win32Handle::~Win32Handle):
(WTF::Win32Handle::clear):
(WTF::Win32Handle::isValid):
(WTF::Win32Handle::get):
(WTF::Win32Handle::release):
(WTF::Win32Handle::operator=):
- 1:23 AM Changeset in webkit [213213] by
-
- 1 copy in releases/WebKitGTK/webkit-2.15.91
WebKitGTK+ 2.15.91
- 1:22 AM Changeset in webkit [213212] by
-
- 4 edits in releases/WebKitGTK/webkit-2.16
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.15.91 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit2:
- gtk/NEWS: Add release notes for 2.15.91.
- 12:45 AM Changeset in webkit [213211] by
-
- 3 edits in trunk/Source/WebCore
[Win] Popup menus are too small in HiDPI mode.
https://bugs.webkit.org/show_bug.cgi?id=168965
Reviewed by Brent Fulgham.
Scale font with device scale factor.
- platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::show):
(WebCore::PopupMenuWin::calculatePositionAndSize):
(WebCore::PopupMenuWin::paint):
- platform/win/PopupMenuWin.h:
- 12:27 AM Changeset in webkit [213210] by
-
- 9 edits in trunk/Source
[WebRTC] Install libwebrtc.dylib inside of WebCore.framework
https://bugs.webkit.org/show_bug.cgi?id=168859
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-03-01
Reviewed by Dan Bernstein.
Source/ThirdParty/libwebrtc:
- Configurations/Base.xcconfig:
Define some general configuration variables.
- Configurations/DebugRelease.xcconfig:
Define WK_RELOCATABLE_FRAMEWORKS for Debug/Release builds.
- Configurations/libwebrtc.xcconfig:
Set INSTALL_PATH to be inside WebCore.framework's sub-Frameworks directory
unless WK_USE_OVERRIDE_FRAMEWORKS_DIR. Set the install name of the dylib to
be relative to WebCore / WebKit when frameworks are relocatable, such as
WK_USE_OVERRIDE_FRAMEWORKS_DIR or WK_RELOCATABLE_FRAMEWORKS.
Source/WebCore:
- Configurations/WebCore.xcconfig:
Set library search path to find the libwebrtc.dylib inside of WebCore's Frameworks
or in the WK_OVERRIDE_FRAMEWORKS_DIR.
Source/WebKit2:
- Configurations/BaseTarget.xcconfig:
- Configurations/WebKit.xcconfig:
Set library search path to find the libwebrtc.dylib inside of WebCore's Frameworks
or in the WK_OVERRIDE_FRAMEWORKS_DIR.
- 12:15 AM Changeset in webkit [213209] by
-
- 13 edits2 adds in trunk/Source/JavaScriptCore
[JSC] Allow UnlinkedCodeBlock to dump its bytecode sequence
https://bugs.webkit.org/show_bug.cgi?id=168968
Reviewed by Saam Barati.
This patch decouples dumping bytecode sequence from CodeBlock.
This change allows UnlinkedCodeBlock to dump its bytecode sequence.
It is useful because we now have complex phase between UnlinkedCodeBlock and CodeBlock,
called Generatorification.
We introduce BytecodeDumper<Block>. Both CodeBlock and UnlinkedCodeBlock can use
this class to dump bytecode sequence.
And this patch also adds Option::dumpBytecodesBeforeGeneratorification,
which dumps unlinked bytecode sequence before generatorification if it is enabled.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/BytecodeDumper.cpp: Added.
(JSC::getStructureID):
(JSC::getSpecialPointer):
(JSC::getPutByIdFlags):
(JSC::getToThisStatus):
(JSC::getPointer):
(JSC::getStructureChain):
(JSC::getStructure):
(JSC::getCallLinkInfo):
(JSC::getBasicBlockLocation):
(JSC::BytecodeDumper<Block>::actualPointerFor):
(JSC::BytecodeDumper<CodeBlock>::actualPointerFor):
(JSC::beginDumpProfiling):
(JSC::BytecodeDumper<Block>::dumpValueProfiling):
(JSC::BytecodeDumper<CodeBlock>::dumpValueProfiling):
(JSC::BytecodeDumper<Block>::dumpArrayProfiling):
(JSC::BytecodeDumper<CodeBlock>::dumpArrayProfiling):
(JSC::BytecodeDumper<Block>::dumpProfilesForBytecodeOffset):
(JSC::dumpRareCaseProfile):
(JSC::dumpArithProfile):
(JSC::BytecodeDumper<CodeBlock>::dumpProfilesForBytecodeOffset):
(JSC::BytecodeDumper<Block>::vm):
(JSC::BytecodeDumper<Block>::identifier):
(JSC::regexpToSourceString):
(JSC::regexpName):
(JSC::printLocationAndOp):
(JSC::isConstantRegisterIndex):
(JSC::debugHookName):
(JSC::BytecodeDumper<Block>::registerName):
(JSC::idName):
(JSC::BytecodeDumper<Block>::constantName):
(JSC::BytecodeDumper<Block>::printUnaryOp):
(JSC::BytecodeDumper<Block>::printBinaryOp):
(JSC::BytecodeDumper<Block>::printConditionalJump):
(JSC::BytecodeDumper<Block>::printGetByIdOp):
(JSC::dumpStructure):
(JSC::dumpChain):
(JSC::BytecodeDumper<Block>::printGetByIdCacheStatus):
(JSC::BytecodeDumper<Block>::printPutByIdCacheStatus):
(JSC::BytecodeDumper<Block>::dumpCallLinkStatus):
(JSC::BytecodeDumper<CodeBlock>::dumpCallLinkStatus):
(JSC::BytecodeDumper<Block>::printCallOp):
(JSC::BytecodeDumper<Block>::printPutByIdOp):
(JSC::BytecodeDumper<Block>::printLocationOpAndRegisterOperand):
(JSC::BytecodeDumper<Block>::dumpBytecode):
(JSC::BytecodeDumper<Block>::dumpIdentifiers):
(JSC::BytecodeDumper<Block>::dumpConstants):
(JSC::BytecodeDumper<Block>::dumpRegExps):
(JSC::BytecodeDumper<Block>::dumpExceptionHandlers):
(JSC::BytecodeDumper<Block>::dumpSwitchJumpTables):
(JSC::BytecodeDumper<Block>::dumpStringSwitchJumpTables):
(JSC::BytecodeDumper<Block>::dumpBlock):
- bytecode/BytecodeDumper.h: Added.
(JSC::BytecodeDumper::BytecodeDumper):
(JSC::BytecodeDumper::block):
(JSC::BytecodeDumper::instructionsBegin):
- bytecode/BytecodeGeneratorification.cpp:
(JSC::BytecodeGeneratorification::BytecodeGeneratorification):
(JSC::performGeneratorification):
- bytecode/BytecodeLivenessAnalysis.cpp:
(JSC::BytecodeLivenessAnalysis::dumpResults):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::finalizeLLIntInlineCaches):
(JSC::CodeBlock::hasOpDebugForLineAndColumn):
(JSC::CodeBlock::usesOpcode):
(JSC::CodeBlock::valueProfileForBytecodeOffset):
(JSC::CodeBlock::arithProfileForPC):
(JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler):
(JSC::idName): Deleted.
(JSC::CodeBlock::registerName): Deleted.
(JSC::CodeBlock::constantName): Deleted.
(JSC::regexpToSourceString): Deleted.
(JSC::regexpName): Deleted.
(JSC::debugHookName): Deleted.
(JSC::CodeBlock::printUnaryOp): Deleted.
(JSC::CodeBlock::printBinaryOp): Deleted.
(JSC::CodeBlock::printConditionalJump): Deleted.
(JSC::CodeBlock::printGetByIdOp): Deleted.
(JSC::dumpStructure): Deleted.
(JSC::dumpChain): Deleted.
(JSC::CodeBlock::printGetByIdCacheStatus): Deleted.
(JSC::CodeBlock::printPutByIdCacheStatus): Deleted.
(JSC::CodeBlock::printCallOp): Deleted.
(JSC::CodeBlock::printPutByIdOp): Deleted.
(JSC::CodeBlock::dumpExceptionHandlers): Deleted.
(JSC::CodeBlock::beginDumpProfiling): Deleted.
(JSC::CodeBlock::dumpValueProfiling): Deleted.
(JSC::CodeBlock::dumpArrayProfiling): Deleted.
(JSC::CodeBlock::dumpRareCaseProfile): Deleted.
(JSC::CodeBlock::dumpArithProfile): Deleted.
(JSC::CodeBlock::printLocationAndOp): Deleted.
(JSC::CodeBlock::printLocationOpAndRegisterOperand): Deleted.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::constantRegisters):
(JSC::CodeBlock::numberOfRegExps):
(JSC::CodeBlock::bitVectors):
(JSC::CodeBlock::bitVector):
- bytecode/HandlerInfo.h:
(JSC::HandlerInfoBase::typeName):
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::dump):
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::getConstant):
- bytecode/UnlinkedInstructionStream.cpp:
(JSC::UnlinkedInstructionStream::UnlinkedInstructionStream):
- bytecode/UnlinkedInstructionStream.h:
(JSC::UnlinkedInstructionStream::Reader::next):
- runtime/Options.h:
Feb 28, 2017:
- 11:57 PM Changeset in webkit [213208] by
-
- 6 edits in releases/WebKitGTK/webkit-2.16/LayoutTests
Merge r212678, r212825, r212890, r212934, r213073, r213085 - Gardening
LayoutTest fast/multicol/column-span-parent-continuation-crash.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=168341
Reviewed by Daniel Bates.
- fast/multicol/column-span-parent-continuation-crash.html: Make sure that the
document is fully parsed before the test runs. I'm not sure if the zero delay
is still needed, but it doesn't hurt.
Unreviewed GTK+ gardening. Mark http/tests/media/video-redirect.html as timing out.
- platform/gtk/TestExpectations:
[GTK] Gardening of some flaky tests
Unreviewed.
- platform/gtk/TestExpectations: Update some expectations or add new cases of flaky tests.
[GTK] Layout test imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-api-texttracks.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=168799
Unreviewed test gardening.
- platform/gtk/TestExpectations:
compositing/transitions/transform-on-large-layer.html : ImageDiff produced stderr output
https://bugs.webkit.org/show_bug.cgi?id=168217
Patch by Fujii Hironori <Fujii Hironori> on 2017-02-27
Reviewed by Simon Fraser.
ImageDiff reports an error for image size mismatch of expected and
actual images. But, Nwtr ignores the errors for ref tests at the moment
(Bug 168033). They should have same window size before fixing the
bug.
- compositing/transitions/transform-on-large-layer-expected.html:
Do not resize the window to match the actual.
- fast/css/sticky/sticky-left-percentage-expected.html: Resize the
window to match the actual.
LayoutTest fast/events/currentTarget-gc-crash.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=168917
Reviewed by Alex Christensen.
Make sure we never call finishJSTest() more than once.
- fast/events/currentTarget-gc-crash.html:
- 11:36 PM Changeset in webkit [213207] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r213206 - NetworkProcess aborts in WebKit::NetworkLoad::didCompleteWithError at Source/WebKit2/NetworkProcess/NetworkLoad.cpp:423
https://bugs.webkit.org/show_bug.cgi?id=168963
Reviewed by Antti Koivisto.
This is trying to call SpeculativeLoad::didFailLoading() after SpeculativeLoad has already been
completed. SpeculativeLoad::didComplete() call its completion handler that removes the load from
m_pendingPreloads. When the completion handler returns the SpeculativeLoad is deleted. So, we should always
ensure that SpeculativeLoad is not used after didComplete() call. In SpeculativeLoad::willSendRedirectedRequest(),
the call to NetworkLoad::continueWillSendRequest() causes SpeculativeLoad::didFailLoading() to be called. We
don't really need to call continueWillSendRequest() though, since the network load is going to be deleted anyway
by didComplete(), and the willSendRequest completion handler does nothing when the request is null.
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
- 11:34 PM Changeset in webkit [213206] by
-
- 2 edits in trunk/Source/WebKit2
NetworkProcess aborts in WebKit::NetworkLoad::didCompleteWithError at Source/WebKit2/NetworkProcess/NetworkLoad.cpp:423
https://bugs.webkit.org/show_bug.cgi?id=168963
Reviewed by Antti Koivisto.
This is trying to call SpeculativeLoad::didFailLoading() after SpeculativeLoad has already been
completed. SpeculativeLoad::didComplete() call its completion handler that removes the load from
m_pendingPreloads. When the completion handler returns the SpeculativeLoad is deleted. So, we should always
ensure that SpeculativeLoad is not used after didComplete() call. In SpeculativeLoad::willSendRedirectedRequest(),
the call to NetworkLoad::continueWillSendRequest() causes SpeculativeLoad::didFailLoading() to be called. We
don't really need to call continueWillSendRequest() though, since the network load is going to be deleted anyway
by didComplete(), and the willSendRequest completion handler does nothing when the request is null.
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.cpp:
(WebKit::NetworkCache::SpeculativeLoad::willSendRedirectedRequest):
- 9:29 PM Changeset in webkit [213205] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: RTL: expose the Layout Direction setting in Production builds, keep using LTR by default
https://bugs.webkit.org/show_bug.cgi?id=168999
Patch by Devin Rousso <Devin Rousso> on 2017-02-28
Reviewed by Brian Burg.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/SettingsTabContentView.js:
(WebInspector.SettingsTabContentView.prototype.layout):
Remove the WebInspector.isDebugUIEnabled() check around the Layout Direction setting.
- 7:55 PM Changeset in webkit [213204] by
-
- 2 edits in trunk/Source/WebCore
Addressing post-review comments on r213163
https://bugs.webkit.org/show_bug.cgi?id=168678
Unreviewed.
No new tests because there is no behavior change.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::platformFontLookupWithFamily):
- 7:04 PM Changeset in webkit [213203] by
-
- 4 edits in trunk/LayoutTests
[mac-wk1] LayoutTest media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167589
<rdar://problem/30772101>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Jon Lee.
Making this test more robust by making width assertions timer-based so that we lessen the assumptions
made about when the values ought to be reached.
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html:
- platform/mac-wk1/TestExpectations:
- 6:54 PM Changeset in webkit [213202] by
-
- 12 edits1 add in trunk/Source/JavaScriptCore
Change JSLock to stash PlatformThread instead of std::thread::id.
https://bugs.webkit.org/show_bug.cgi?id=168996
Reviewed by Filip Pizlo.
PlatformThread is more useful because it allows us to:
- find the MachineThreads::Thread which is associated with it.
- suspend / resume threads.
- send a signal to a thread.
We can't do those with std::thread::id. We will need one or more of these
capabilities to implement non-polling VM traps later.
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::Thread::createForCurrentThread):
(JSC::MachineThreads::machineThreadForCurrentThread):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::Thread::suspend):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
(JSC::getCurrentPlatformThread): Deleted.
- heap/MachineStackMarker.h:
- runtime/JSCellInlines.h:
(JSC::JSCell::classInfo):
- runtime/JSLock.cpp:
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock): Deleted.
- runtime/JSLock.h:
(JSC::JSLock::ownerThread):
(JSC::JSLock::currentThreadIsHoldingLock):
- runtime/PlatformThread.h: Added.
(JSC::currentPlatformThread):
- runtime/VM.cpp:
(JSC::VM::~VM):
- runtime/VM.h:
(JSC::VM::ownerThread):
- runtime/Watchdog.cpp:
(JSC::Watchdog::setTimeLimit):
(JSC::Watchdog::shouldTerminate):
(JSC::Watchdog::startTimer):
(JSC::Watchdog::stopTimer):
- tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::currentThreadOwnsJSLock):
- tools/VMInspector.cpp:
- 6:19 PM Changeset in webkit [213201] by
-
- 3 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=169012
Unreviewed GTK+ gardening. New test results after r213149
- platform/gtk/fast/replaced/table-percent-height.html PASS
- tables/mozilla/bugs/bug32205-5.html FAIL
- platform/gtk/TestExpectations:
- platform/gtk/fast/replaced/table-percent-height-expected.txt:
- 5:24 PM Changeset in webkit [213200] by
-
- 4 edits in trunk/LayoutTests
[mac-wk1 Debug] LayoutTest media/modern-media-controls/rewind-button/rewind-button.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167352
<rdar://problem/30771343>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Dean Jackson.
Use the asynchronous assertion methods for this test to be on the safe side, this should address flakiness.
- media/modern-media-controls/rewind-button/rewind-button-expected.txt:
- media/modern-media-controls/rewind-button/rewind-button.html:
- platform/mac-wk1/TestExpectations:
- 5:18 PM Changeset in webkit [213199] by
-
- 3 edits in trunk/LayoutTests
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=169005
Rebaseline platform/gtk/css3/flexbox/line-wrapping.html test.
The following tests fail, so updated TextExpectations accordingly:
- css3/flexbox/flex-item-contains-strict.html
- css3/flexbox/overflow-auto-resizes-correctly.html
- platform/gtk/css3/flexbox/line-wrapping-expected.txt:
- platform/gtk/TestExpectations:
- 5:17 PM Changeset in webkit [213198] by
-
- 3 edits in trunk/Source/WebKit2
https://bugs.webkit.org/show_bug.cgi?id=168899
Re-add deprecated functions to WKPageGroup.h
Reviewed by Tim Horton.
- Shared/API/c/WKDeprecatedFunctions.cpp:
(WKPageGroupRemoveUserContentFilter):
(WKPageGroupRemoveAllUserContentFilters): Deleted. Unlike the other three, this
function isn't used by any clients.
- UIProcess/API/C/WKPageGroup.h:
- 5:10 PM Changeset in webkit [213197] by
-
- 3 edits in trunk/LayoutTests
[mac-wk1 debug] LayoutTest media/modern-media-controls/skip-back-button/skip-back-button.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=164620
<rdar://problem/30771094>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Dean Jackson.
Use the asynchronous assertion methods for this test to be on the safe side, this should address flakiness.
- media/modern-media-controls/skip-back-button/skip-back-button-expected.txt:
- media/modern-media-controls/skip-back-button/skip-back-button.html:
- 5:08 PM Changeset in webkit [213196] by
-
- 3 edits in trunk/LayoutTests
LayoutTest media/modern-media-controls/airplay-support/airplay-support.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167442
<rdar://problem/30770374>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Dean Jackson.
This test would sometime fail when calling media.webkitShowPlaybackTargetPicker() due to the requirement
that the media be playable for that call to succeed. So we add an event listener for the "canplay" event
before we proceed to ensure that this call will always succeed. The fact that the media is playing is
irrelevant so we remove the "autoplay" attribute.
- media/modern-media-controls/airplay-support/airplay-support.html:
- platform/mac/TestExpectations:
- 5:04 PM Changeset in webkit [213195] by
-
- 3 edits in trunk/Source/WebKit2
Expose _WKVisitedLinkProvider in a header
https://bugs.webkit.org/show_bug.cgi?id=168955
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/_WKVisitedLinkProvider.mm:
- UIProcess/API/Cocoa/_WKVisitedLinkStore.h:
The class needs to be visible in a header, as it is exported SPI.
- 5:01 PM Changeset in webkit [213194] by
-
- 3 edits in trunk/LayoutTests
LayoutTest media/modern-media-controls/placard-support/placard-support-airplay.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167441
<rdar://problem/30770034>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Dean Jackson.
This test would sometime fail when calling media.webkitShowPlaybackTargetPicker() due to the requirement
that the media be playable for that call to succeed. So we add an event listener for the "canplay" event
before we proceed to ensure that this call will always succeed. The fact that the media is playing is
irrelevant so we remove the "autoplay" attribute.
- media/modern-media-controls/placard-support/placard-support-airplay.html:
- platform/mac/TestExpectations:
- 4:53 PM Changeset in webkit [213193] by
-
- 4 edits in trunk/Source/WebKit2
Move resolving symlinks of some WebsiteDataStore paths from WebProcessPool to... WebsiteDataStore!.
https://bugs.webkit.org/show_bug.cgi?id=168696.
Reviewed by Alex Christensen.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):
- UIProcess/WebsiteData/WebsiteDataStore.h:
(WebKit::WebsiteDataStore::resolvedApplicationCacheDirectory):
(WebKit::WebsiteDataStore::resolvedMediaCacheDirectory):
(WebKit::WebsiteDataStore::resolvedMediaKeysDirectory):
(WebKit::WebsiteDataStore::resolvedDatabaseDirectory):
- 4:20 PM Changeset in webkit [213192] by
-
- 3 edits in trunk/Source/WebCore
Don't use the LinearGlyphMask format if accelerated drawing is disabled
https://bugs.webkit.org/show_bug.cgi?id=168997
Reviewed by Tim Horton.
Non-accelerated drawing doesn't work into LinearGlyphMask-format backing store,
so don't use that backing store format when accelerated drawing is disabled.
- platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::PlatformCALayer::drawRepaintIndicator):
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(layerContentsFormat):
(PlatformCALayerCocoa::updateContentsFormat):
- 4:20 PM Changeset in webkit [213191] by
-
- 5 edits in trunk/Source/WebCore
Make the repaint indicators show subpixel antialiased text indication a bit more clearly
https://bugs.webkit.org/show_bug.cgi?id=168988
Reviewed by Tim Horton.
Put a more obvious stroke around the repaint count when subpixel-antialiased layer text is enabled.
- platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::PlatformCALayer::drawRepaintIndicator):
(WebCore::PlatformCALayer::drawTextAtPoint):
- platform/graphics/ca/PlatformCALayer.h:
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::drawTextAtPoint):
- platform/graphics/ca/win/PlatformCALayerWin.h:
- 4:07 PM Changeset in webkit [213190] by
-
- 10 edits in trunk/Source
LibWebRTCProvider should check existence of libwebrtc.dylib
https://bugs.webkit.org/show_bug.cgi?id=168986
Source/WebCore:
<rdar://problem/30735413>
Reviewed by Youenn Fablet.
Some configurations of the webrtc tests overwrite the availability of WebRTC in order to test it
with MockLibWebRTCPeerConnection. If the dylib can not be found, we can't use it, so we want to
fail these tests rather than crashing calling rtc::LogMessage::LogToDebug.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::doCreateOffer):
(WebCore::LibWebRTCMediaEndpoint::doCreateAnswer):
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::factory):
(WebCore::LibWebRTCProvider::webRTCAvailable):
- platform/mediastream/libwebrtc/LibWebRTCProvider.h:
- testing/MockLibWebRTCPeerConnection.cpp:
(WebCore::useMockRTCPeerConnectionFactory):
(WebCore::MockLibWebRTCPeerConnectionFactory::CreatePeerConnection):
Source/WebKit2:
Reviewed by Youenn Fablet.
- Shared/WebPreferencesDefinitions.h:
- Shared/WebPreferencesStore.cpp:
- UIProcess/WebPreferences.cpp:
(WebKit::checkWebRTCAvailability): Deleted.
- 4:01 PM Changeset in webkit [213189] by
-
- 2 edits in trunk/Source/WebKit2
Unreviewed, build fix after r213176.
- Platform/spi/ios/UIKitSPI.h:
- 3:34 PM Changeset in webkit [213188] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: It is possible to get the New Tab button in addition to the seven expected tabs
https://bugs.webkit.org/show_bug.cgi?id=168976
Patch by Devin Rousso <Devin Rousso> on 2017-02-28
Reviewed by Brian Burg.
- UserInterface/Views/TabBar.css:
(.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned):hover > .icon):
(.tab-bar.collapsed:not(.hide-titles) > .item:hover > .close):
(.tab-bar.collapsed:not(.hide-titles) > .item:not(.pinned, .default-tab):hover > .icon): Deleted.
(.tab-bar.collapsed:not(.hide-titles) > .item:not(.default-tab):hover > .close): Deleted.
- 3:33 PM Changeset in webkit [213187] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: CSS variable uses that are unresolved should have an error or warning icon
https://bugs.webkit.org/show_bug.cgi?id=168352
Patch by Devin Rousso <Devin Rousso> on 2017-02-28
Reviewed by Brian Burg.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches.update):
Insert a warning icon if the variable is not found in the computed style.
- 3:28 PM Changeset in webkit [213186] by
-
- 1 copy in tags/Safari-603.1.30.4.3
Tag Safari-603.1.30.4.3.
- 3:24 PM Changeset in webkit [213185] by
-
- 4 edits in trunk/Tools
Add ability for webkitpy to run bindings tests
https://bugs.webkit.org/show_bug.cgi?id=168979
Patch by Srinivasan Vijayaraghavan <svijayaraghavan@apple.com> on 2017-02-28
Reviewed by Alexey Proskuryakov.
This allows the below command to run bindings tests with json output, and is a required part
of adding an EWS for bindings tests. (Note: this won't build because --build is not passed).
webkit-patch build-and-test --no-clean --no-update --test --non-interactive --group="bindings"
- Scripts/webkitpy/port/base.py:
(Port.bindings_results_directory): Return the directory to place JSON results for bindings tests.
- Scripts/webkitpy/tool/steps/runtests.py:
(RunTests.run): Checks if we should be running bindings tests.
(RunTests._run_bindings_tests): Generates the command for bindings tests, and executes it.
- Scripts/webkitpy/tool/steps/steps_unittest.py:
(test_runtests_bindings): Unit test for the generated run-bindings-tests command.
- 3:22 PM Changeset in webkit [213184] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
[WebRTC] CPU Overuse libwebrtc detector is decreasing the quality of the video
https://bugs.webkit.org/show_bug.cgi?id=168990
Patch by Youenn Fablet <youenn@apple.com> on 2017-02-28
Reviewed by Eric Carlson.
- Source/webrtc/video/vie_encoder.cc: Disabling temporarily overuse detector.
- 3:21 PM Changeset in webkit [213183] by
-
- 2 edits in trunk/Source/WebCore
Apply a review comment that was missing in r213182
- loader/ios/QuickLook.mm:
(WebCore::isQuickLookPreviewURL):
- 3:18 PM Changeset in webkit [213182] by
-
- 8 edits in trunk/Source
[iOS] Getting QLPreviewProtocol slows down first navigation in Web process
https://bugs.webkit.org/show_bug.cgi?id=168940
<rdar://problem/29468999>
Reviewed by Simon Fraser.
No new tests, just a performance improvement.
- loader/DocumentLoader.cpp:
(WebCore::isRemoteWebArchive):
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
- loader/ResourceLoadNotifier.cpp:
(WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
Make use of isQuickLookPreviewURL.
- loader/ios/QuickLook.h:
- loader/ios/QuickLook.mm:
(WebCore::isQuickLookPreviewURL):
Add isQuickLookPreviewURL, which first early-returns if the protocol
of the URL is a well-known protocol, and then falls back to loading QuickLook.
In a microbenchmark this is a 30-40% improvement in total time spent
loading an empty HTML document (wall-clock time between loadHTMLString
and didFinishNavigation).
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
Make use of isQuickLookPreviewURL.
- 3:08 PM Changeset in webkit [213181] by
-
- 2 edits in trunk/Source/WebKit2
Fix API test regression(s):
REGRESSION (r213168): API test WKUserContentController.ScriptMessageHandlerMultipleHandlerRemoval crashing
https://bugs.webkit.org/show_bug.cgi?id=168991
Unreviewed.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit):
- 3:05 PM Changeset in webkit [213180] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
[WebRTC] Fix an internal production build
https://bugs.webkit.org/show_bug.cgi?id=168992
Reviewed by Youenn Fablet.
- libwebrtc.xcodeproj/project.pbxproj:
Link with Foundation and CoreFoundation frameworks.
- 3:02 PM Changeset in webkit [213179] by
-
- 2 edits in trunk/Source/JavaScriptCore
Enable the SigillCrashAnalyzer by default for iOS.
https://bugs.webkit.org/show_bug.cgi?id=168989
Reviewed by Keith Miller.
- runtime/Options.cpp:
(JSC::overrideDefaults):
- 3:01 PM Changeset in webkit [213178] by
-
- 2 edits in trunk/Source/WebCore
Add Geolocation and DeviceOrientation to features.json
- features.json:
- 2:49 PM Changeset in webkit [213177] by
-
- 2 edits in trunk/Tools
Test fix after r213163
https://bugs.webkit.org/show_bug.cgi?id=168678
Unreviewed.
Tests and builds are timing out because this file is gigantic.
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2017-02-28
- TestWebKitAPI/Tests/WebCore/FontCache.cpp:
(TestWebKitAPI::TEST_F):
- 2:11 PM Changeset in webkit [213176] by
-
- 12 edits1 add in trunk
Data interaction should support attachment elements
https://bugs.webkit.org/show_bug.cgi?id=168916
<rdar://problem/30664519>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Teaches DragController to recognize and initiate dragging on attachment elements, and also adds a new
convenience method to the WebItemProviderPasteboard for block enumeration of available UIItemProviders. Covered
by a new API test: DataInteractionTests.AttachmentElementItemProviders.
- page/DragController.cpp:
(WebCore::DragController::draggableElement):
(WebCore::DragController::startDrag):
- platform/ios/WebItemProviderPasteboard.h:
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderPasteboard enumerateItemProvidersWithBlock:]):
Source/WebKit2:
Teaches WKContentView to recognize attachment elements as data interactive content, and add an internal hook to
adjust the list of item providers before initiating data interaction.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _adjustedDataInteractionItemProviders:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView pointIsInDataInteractionContent:]):
Tools:
Adds a new unit test verifying that a client injected bundle is able to augment UIItemProvider data vended to
the UI process.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/attachment-element.html: Added.
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(-[CustomItemProviderWebView _adjustedDataInteractionItemProviders:]):
(TestWebKitAPI::TEST):
- 1:56 PM Changeset in webkit [213175] by
-
- 9 edits in trunk/Source
Remove setExclusiveThread() and peers from the JSLock.
https://bugs.webkit.org/show_bug.cgi?id=168977
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
JSLock::setExclusiveThread() was only used by WebCore. Benchmarking with
Speedometer, we see that removal of exclusive thread status has no measurable
impact on performance. So, let's remove the code for handling exclusive thread
status, and simplify the JSLock code.
For the records, exclusive thread status does improve JSLock locking/unlocking
time by up to 20%. However, this difference is not measurable in the way WebCore
uses the JSLock as confirmed by Speedometer.
Also applied a minor optimization in JSLock::lock() to assume the initial lock
entry case (as opposed to the re-entry case). This appears to shows a small
fractional improvement (about 5%) in JSLock cumulative locking and unlocking
time in a micro-benchmark.
- heap/Heap.cpp:
(JSC::Heap::Heap):
- heap/MachineStackMarker.cpp:
(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::addCurrentThread):
- heap/MachineStackMarker.h:
- runtime/JSLock.cpp:
(JSC::JSLock::JSLock):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
(JSC::JSLock::dropAllLocks):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::setExclusiveThread): Deleted.
- runtime/JSLock.h:
(JSC::JSLock::ownerThread):
(JSC::JSLock::hasExclusiveThread): Deleted.
(JSC::JSLock::exclusiveThread): Deleted.
- runtime/VM.h:
(JSC::VM::hasExclusiveThread): Deleted.
(JSC::VM::exclusiveThread): Deleted.
(JSC::VM::setExclusiveThread): Deleted.
Source/WebCore:
No new tests because this should already be covered by existing tests.
- bindings/js/CommonVM.cpp:
(WebCore::commonVMSlow):
- 1:54 PM Changeset in webkit [213174] by
-
- 3 edits in trunk/LayoutTests
LayoutTest workers/sab/postMessage-clones.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=168129
Reviewed by Tim Horton.
- workers/sab/postMessage-clones-expected.txt:
- workers/sab/postMessage-clones.html:
Fix raciness, and update the test to modern style.
- 1:47 PM Changeset in webkit [213173] by
-
- 6 edits2 adds in trunk
Centering text inside a button set to display flex and justify-content: center is impossible
https://bugs.webkit.org/show_bug.cgi?id=148872
<rdar://problem/22590086>
Reviewed by Simon Fraser.
Source/WebCore:
Added new test in fast/forms.
- rendering/RenderButton.cpp:
(WebCore::RenderButton::addChild):
(WebCore::RenderButton::updateAnonymousChildStyle):
(WebCore::RenderButton::styleDidChange):
(WebCore::RenderButton::styleWillChange): Deleted.
(WebCore::RenderButton::setupInnerStyle): Deleted.
- rendering/RenderButton.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::propagateStyleToAnonymousChildren):
- rendering/RenderElement.h:
(WebCore::RenderElement::updateAnonymousChildStyle):
LayoutTests:
- fast/forms/button-set-display-flex-justifyContent-center-expected.html: Added.
- fast/forms/button-set-display-flex-justifyContent-center.html: Added.
- 1:45 PM Changeset in webkit [213172] by
-
- 5 edits8 adds in trunk/Source/WebCore
[Modern Media Controls] Add missing compact mode assets for macOS
https://bugs.webkit.org/show_bug.cgi?id=168980
<rdar://problem/30763269>
Patch by Antoine Quint <Antoine Quint> on 2017-02-28
Reviewed by Jon Lee.
Adding missing compact mode assets for the AirPlay, tracks, PiP and volume buttons.
- Modules/modern-media-controls/controls/icon-service.js:
- Modules/modern-media-controls/controls/macos-compact-inline-media-controls.css:
(.media-controls.mac.inline.compact button.airplay):
(.media-controls.mac.inline.compact button.pip):
(.media-controls.mac.inline.compact button.tracks):
- Modules/modern-media-controls/images/macOS/airplay-compact@1x.png: Added.
- Modules/modern-media-controls/images/macOS/airplay-compact@2x.png: Added.
- Modules/modern-media-controls/images/macOS/media-selection-compact@1x.png: Added.
- Modules/modern-media-controls/images/macOS/media-selection-compact@2x.png: Added.
- Modules/modern-media-controls/images/macOS/pip-in-compact@1x.png: Added.
- Modules/modern-media-controls/images/macOS/pip-in-compact@2x.png: Added.
- Modules/modern-media-controls/images/macOS/volume-compact@1x.png:
- Modules/modern-media-controls/images/macOS/volume-compact@2x.png:
- Modules/modern-media-controls/images/macOS/volume-mute-compact@1x.png: Added.
- Modules/modern-media-controls/images/macOS/volume-mute-compact@2x.png: Added.
- 1:30 PM Changeset in webkit [213171] by
-
- 2 edits in trunk/Source/JavaScriptCore
Arm64 disassembler prints "ars" instead of "asr"
https://bugs.webkit.org/show_bug.cgi?id=168923
Rubber stamped by Michael Saboff.
- disassembler/ARM64/A64DOpcode.cpp:
(JSC::ARM64Disassembler::A64DOpcodeBitfield::format):
- 1:28 PM Changeset in webkit [213170] by
-
- 8 edits in trunk/Source/WebKit2
Add delegate method to handle images with alternate data.
https://bugs.webkit.org/show_bug.cgi?id=168785
<rdar://problem/28776219>
Add delegate methods to WKUIDelegatePrivate so that a WebKit client can provide alternate URL or data for an image
before long-press or preview. When an image has alternate URL or data, we can change the actions accordingly.
Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2017-02-28
Reviewed by Enrica Casucci.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Add two delegate methods _webView:getAlternateURLFromImage:completionHandler:
and _webView:alternateURLFromImage:userInfo;
- UIProcess/API/Cocoa/_WKActivatedElementInfo.h: Add an readonly property userInfo so that alternate data can be
carried by _WKActivatedElementInfo and be processed by WebKit client.
- UIProcess/API/Cocoa/_WKActivatedElementInfo.mm:
(-[_WKActivatedElementInfo _initWithType:URL:location:title:ID:rect:image:]):
(-[_WKActivatedElementInfo _initWithType:URL:location:title:ID:rect:image:userInfo:]): A new initializer that also takes userInfo.
(-[_WKActivatedElementInfo userInfo]):
- UIProcess/API/Cocoa/_WKActivatedElementInfoInternal.h: A new delegate method for WKActionSheetAssistantDelegate to fetch
alternate data before showing image sheet.
- UIProcess/ios/WKActionSheetAssistant.h:
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant showImageSheet]): Before showing the image sheet, if the image doesn't have linked URL (i.e. not a image
link), try to fetch its alternate URL and data.
(-[WKActionSheetAssistant defaultActionsForImageSheet:]): Drive-by fix. We always use positionInformation's URL to populate the
actions, however, we should use elementInfo's URL since the two URLs could mismatch.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView actionSheetAssistant:getAlternateURLForImage:completion:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]): Before previewing an image, synchronously get alternate
data for the image and update the actions accordingly.
- 1:26 PM Changeset in webkit [213169] by
-
- 16 edits5 adds in trunk
[iOS] Throttle requestAnimationFrame to 30fps in low power mode
https://bugs.webkit.org/show_bug.cgi?id=168837
<rdar://problem/30700929>
Reviewed by Simon Fraser.
Source/WebCore:
Throttle requestAnimationFrame to 30fps in low power mode on iOS to save battery.
ScriptedAnimationController now maintains an OptionSet of throttling reasons.
Throttling reasons for now are: OutsideViewport, VisuallyIdle, and LowPowerMode.
The requestAnimationFrame interval is then determined based on those throttling
reasons:
- OutsideViewport or VisuallyIdle: 10 seconds (very aggressive throttling)
- LowPowerMode: 30fps
- No reasons: 60fps
The Page now keeps track of low power mode state using a LowPowerModeNotifier.
Whenever low power mode changes, it updates the throttling reasons in all the
documents' ScriptedAnimationControllers in the frame tree.
Tests: fast/animation/request-animation-frame-throttling-detached-iframe.html
fast/animation/request-animation-frame-throttling-lowPowerMode.html
- dom/Document.cpp:
(WebCore::Document::requestAnimationFrame):
- dom/Document.h:
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::throttlingReasonToString):
(WebCore::throttlingReasonsToString):
(WebCore::ScriptedAnimationController::addThrottlingReason):
(WebCore::ScriptedAnimationController::removeThrottlingReason):
(WebCore::ScriptedAnimationController::isThrottled):
(WebCore::ScriptedAnimationController::interval):
(WebCore::ScriptedAnimationController::page):
(WebCore::ScriptedAnimationController::scheduleAnimation):
- dom/ScriptedAnimationController.h:
(WebCore::ScriptedAnimationController::create):
- page/FrameView.cpp:
(WebCore::FrameView::updateScriptedAnimationsAndTimersThrottlingState):
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::isLowPowerModeEnabled):
(WebCore::Page::setLowPowerModeEnabledOverrideForTesting):
(WebCore::updateScriptedAnimationsThrottlingReason):
(WebCore::Page::setIsVisuallyIdleInternal):
(WebCore::Page::handleLowModePowerChange):
- page/Page.h:
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::requestAnimationFrameInterval):
(WebCore::Internals::setLowPowerModeEnabled):
- testing/Internals.h:
- testing/Internals.idl:
Source/WTF:
Add support for operator -= on WTF::OptionSet for convenience:
set -= Enum::A;
looks much better than:
set = set - Enum::A;
- wtf/OptionSet.h:
(WTF::OptionSet::operator-=):
Tools:
Add unit test for -= operator on WTF::OptionSet.
- TestWebKitAPI/Tests/WTF/OptionSet.cpp:
(TestWebKitAPI::TEST):
LayoutTests:
Add layout test coverage.
- fast/animation/request-animation-frame-throttling-detached-iframe-expected.txt: Added.
- fast/animation/request-animation-frame-throttling-detached-iframe.html: Added.
- fast/animation/request-animation-frame-throttling-lowPowerMode-expected.txt: Added.
- fast/animation/request-animation-frame-throttling-lowPowerMode.html: Added.
- fast/animation/resources/frame-with-animation.html: Added.
- 1:24 PM Changeset in webkit [213168] by
-
- 6 edits in trunk/Source/WebKit2
Refactor WebViewImpl creation in preparation for supporting multiple WebsiteDataStores.
https://bugs.webkit.org/show_bug.cgi?id=168676
Reviewed by Alex Christensen and Sam Weinig.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::warmInitialProcess):
(WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit):
(WebKit::WebProcessPool::createWebPage):
- UIProcess/WebProcessPool.h:
- 1:13 PM Changeset in webkit [213167] by
-
- 6 edits in trunk/Source
[WebRTC] Limit libwebrtc logging in Debug build
https://bugs.webkit.org/show_bug.cgi?id=168974
Patch by Youenn Fablet <youenn@apple.com> on 2017-02-28
Reviewed by Alex Christensen.
Source/WebCore:
Covered by manual testing..
- platform/Logging.h:
- platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::LibWebRTCProvider::callOnWebRTCSignalingThread):
Source/WebKit2:
- NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::NetworkRTCProvider):
- Platform/Logging.h:
- 1:02 PM Changeset in webkit [213166] by
-
- 2 edits in trunk/Source/WebKit2
[WebRTC] NetworkRTCProvider should stop the network thread from the main thread
https://bugs.webkit.org/show_bug.cgi?id=168972
Patch by Youenn Fablet <youenn@apple.com> on 2017-02-28
Reviewed by Alex Christensen.
- NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::close): Ensuring to stop the network thread from the main thread when provider is
getting closed.
- 12:57 PM Changeset in webkit [213165] by
-
- 4 edits2 adds in trunk
Use of arguments in arrow function is slow
https://bugs.webkit.org/show_bug.cgi?id=168829
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/arrowfunciton-direct-arguments.js: Added.
(fn):
- microbenchmarks/arrowfunciton-reference-arguments.js: Added.
(fn):
Source/JavaScriptCore:
Current patch improves performance access to arguments within arrow functuion
by preventing create arguments variable within arrow function, also allow to cache
arguments variable. Before arguments variable always have Dynamic resolve type, after
patch it can be ClosureVar, that increase performance of access to arguments variable
in 9 times inside of the arrow function.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
- runtime/JSScope.cpp:
(JSC::abstractAccess):
- 12:51 PM Changeset in webkit [213164] by
-
- 3 edits in trunk/Tools
webkitpy: Regular expression for parsing simctl device information is wrong for iPad Pro
https://bugs.webkit.org/show_bug.cgi?id=168394
Reviewed by Daniel Bates.
- Scripts/webkitpy/xcode/simulator.py:
(Simulator): Allow for parenthesis in device name.
- Scripts/webkitpy/xcode/simulator_unittest.py: Add iPad Pro to test.
- 12:40 PM Changeset in webkit [213163] by
-
- 13 edits4 copies1 add in trunk
[macOS] Migrate off of CTFontCreateForCSS
https://bugs.webkit.org/show_bug.cgi?id=168678
Reviewed by David Hyatt.
Source/WebCore:
This patch implements the Font Matching Algorithm detailed in
https://drafts.csswg.org/css-fonts-4/#font-matching-algorithm
Previously, this was implemented inside Core Text (via
CTFontCreateForCSS()), but that implementation does not understand
variation fonts. Therefore it should move to WebKit (along with
the general fact that CSS algorithms should be implemented in a
CSS engine, not the platform's text engine).
This implementation is not completely divorced from the platform,
however - Core Text exposes font weights on a [-1, 1] range, but
CSS operates on a [1, 999] range. In order to provide the mapping
to CSS weights, Core Text infrastructure is necessary. Therefore,
this new implementation of the matching algorithm is only used
on certain operating systems.
The new implementation of the algorithm is not bug-compatible with
the existing implementation; this patch does represent a behavior
change. However, I have reviewed the differences manually and
believe this algorithm to be a progression over the previous one
(except for one case with Helvetica Neue - see
LayoutTests/ChangeLog for more information about that).
This patch also represents a 27% performance progression on our
standard page load test (just measuring the performance of the font
matching algorithm, and nothing else). (Because font matching is
only a small part of the entire test, the overall progression is
much smaller.)
Tests: FontCacheTest.FontLookupFromFamilyName
FontCacheTest.FontLookupFromPostScriptName
- platform/graphics/FontCache.h:
(WebCore::FontCache::createFontPlatformDataForTesting): Allow for
unit testing.
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::isSystemFont): Inlined.
(WebCore::FontDatabase::singleton): Cache results of Core Text
lookups.
(WebCore::FontDatabase::Range::Range): Because of variation fonts,
fonts' weights, widths, and slopes need to be represented as a range
instead of an individual value.
(WebCore::FontDatabase::Range::isValid):
(WebCore::FontDatabase::Range::expand):
(WebCore::FontDatabase::Range::includes):
(WebCore::FontDatabase::InstalledFont::InstalledFont): Represents a
Font Descriptor as well as some lookup information about it.
(WebCore::FontDatabase::InstalledFontCollection::InstalledFontCollection):
A collection of installed fonts.
(WebCore::FontDatabase::InstalledFontCollection::insertInstalledFont):
Cache minima and maxima.
(WebCore::FontDatabase::InstalledFontCollection::isEmpty):
(WebCore::FontDatabase::InstalledFontCollection::size):
(WebCore::FontDatabase::lookupFamilyName): Get all the fonts in
the family.
(WebCore::FontDatabase::lookupPostScriptName): Get the font with
the given PostScript name.
(WebCore::FontDatabase::clear):
(WebCore::FontDatabase::FontDatabase): Cache.
(WebCore::iterateActiveFontsWithReturn): The Font Matching Algorithm
works by starting with every font in the family, and the eliminating
items from the set iteratively. Instead of actually removing items
from a vector or linked list, we instead want to treat the collection
as immutable and keep a parallel side-table of which items have been
eliminated (in order to reduce copies and allocations). This makes
sense because most families only have a handful of fonts in them.
This function consults with the side-table to iterate only over the
fonts which have not been eliminated.
(WebCore::iterateActiveFonts): Ditto.
(WebCore::findClosestStretch):
(WebCore::filterStretch): Eliminate fonts based on their stretch
value.
(WebCore::findClosestStyle):
(WebCore::filterStyle): Eliminate fonts based on their style value.
(WebCore::findClosestWeight):
(WebCore::filterWeight): Eliminate fonts based on their weight value.
(WebCore::computeTargetWeight):
(WebCore::findClosestFont): If we have a set of fonts in a family,
select the font in the set which best matches the criteria.
(WebCore::platformFontLookupWithFamily): While findClosestFont()
function satisfies the spec's notion of the font matching algorithm,
WebKit actually claims to be able to look up fonts by their PostScript
name. Therefore, this function has a higher-level of logic to rectify
the confusion that results when the PostScript name doesn't agree with
the other CSS properties (like if you say "Helvetica-Bold" but also say
font-weight: 100).
- platform/spi/cocoa/CoreTextSPI.h: Add signature for system CSS
font weight support.
Tools:
Exhaustively test the font matching algorithm on Sierra.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/FontCache.cpp: Added.
(TestWebKitAPI::FontCacheTest::SetUp):
(TestWebKitAPI::createPlatformFont):
(TestWebKitAPI::compareFonts):
(TestWebKitAPI::TEST_F):
LayoutTests:
Updating test results.
Note that there is a slight regression here with Helvetica Neue. In
particular, this family includes a Bold font with a weight of 700,
and a Condensed Black font with a weight of 900. Because we don't
currently have any notion of font-stretch, our model can only
distinguish between these fonts due to their differing weights, not
their widths. This means that requests for weights 800 or 900 will
match the Condensed Black font in accordance with the font matching
algorithm. This gives visually surprising results because weights
100-700 match regular-width fonts.
However, this regression is intentional and temporary - my next task
is to properly implement font-stretch, which will educate our model
on the difference between these two fonts. This will fix the regression
and allow the tests below to be reset to their original expected
results.
- platform/mac-elcapitan/fast/text/font-weights-expected.png: Copied from LayoutTests/platform/mac/fast/text/font-weights-expected.png.
- platform/mac-elcapitan/fast/text/font-weights-expected.txt: Copied from LayoutTests/platform/mac/fast/text/font-weights-expected.txt.
- platform/mac-elcapitan/fast/text/font-weights-zh-expected.png: Copied from LayoutTests/platform/mac/fast/text/font-weights-zh-expected.png.
- platform/mac-elcapitan/fast/text/font-weights-zh-expected.txt: Copied from LayoutTests/platform/mac/fast/text/font-weights-zh-expected.txt.
- platform/mac/fast/text/font-weights-expected.png:
- platform/mac/fast/text/font-weights-expected.txt:
- platform/mac/fast/text/font-weights-zh-expected.png:
- platform/mac/fast/text/font-weights-zh-expected.txt:
- 12:36 PM Changeset in webkit [213162] by
-
- 2 edits in trunk/Tools
Windows build doesn't start build if the git branch is not master
https://bugs.webkit.org/show_bug.cgi?id=168843
Patch by Basuke Suzuki <Basuke.Suzuki@am.sony.com> on 2017-02-28
Reviewed by Myles C. Maxfield.
Use correct value for product base dir.
- Scripts/build-webkit:
- 11:42 AM Changeset in webkit [213161] by
-
- 9 edits in trunk
Media: notify clients when autoplayed media ends without being paused
https://bugs.webkit.org/show_bug.cgi?id=168852
Reviewed by Alex Christensen.
Source/WebCore:
Added API tests.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState):
Set state accordingly if we autoplayed or if playback was prevented.
(WebCore::HTMLMediaElement::play):
Update state if playback was prevented.
(WebCore::HTMLMediaElement::playInternal):
Update state if playback began without user interaction.
(WebCore::HTMLMediaElement::pauseInternal):
Update state.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
If playback ends and it began without user interaction, send a DidPlayMediaWithoutInterference event.
(WebCore::HTMLMediaElement::stopWithoutDestroyingMediaPlayer): Ditto.
- html/HTMLMediaElement.h:
- page/AutoplayEvent.h:
Source/WebKit2:
- UIProcess/API/C/WKPageUIClient.h:
Tools:
- TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html:
- TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST): Added.
- 11:37 AM Changeset in webkit [213160] by
-
- 9 edits1 add in branches/safari-603-branch
Merge r213078. rdar://problem/30704432
- 11:37 AM Changeset in webkit [213159] by
-
- 2 edits in branches/safari-603-branch/Source/WebCore
Merge r213077. rdar://problem/30704432
- 11:36 AM Changeset in webkit [213158] by
-
- 9 edits6 adds in branches/safari-603-branch
Merge r213076. rdar://problem/30704432
- 11:31 AM Changeset in webkit [213157] by
-
- 5 edits in branches/safari-603.1.30.0-branch/Source
Versioning.
- 11:30 AM Changeset in webkit [213156] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/IndexedDB/idb-binary-key-roundtrip.htm as flaky on El Capitan.
https://bugs.webkit.org/show_bug.cgi?id=168380
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:25 AM Changeset in webkit [213155] by
-
- 4 edits in branches/safari-603.1.30.4-branch/Source/WebKit/win
rdar://problem/30687449
- 11:25 AM Changeset in webkit [213154] by
-
- 5 edits in branches/safari-603.1.30.4-branch/Source
Versioning.
- 11:22 AM Changeset in webkit [213153] by
-
- 4 edits in branches/safari-603-branch/Source/WebKit/win
rdar://problem/30687449
- 11:13 AM Changeset in webkit [213152] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
[WebRTC] LibWebRTC frame dropper is not working consistently
https://bugs.webkit.org/show_bug.cgi?id=168973
Patch by Youenn Fablet <youenn@apple.com> on 2017-02-28
Reviewed by Eric Carlson.
- Source/webrtc/modules/video_coding/video_sender.cc: Disable temporarily the frame dropper as it is sometimes
dropping too many frames.
- 10:50 AM Changeset in webkit [213151] by
-
- 9 edits2 adds in trunk/Source
Add ability to configure JSC options from a file
https://bugs.webkit.org/show_bug.cgi?id=168914
Reviewed by Filip Pizlo.
Added the ability to set options and DataLog file location via a configuration file.
Source/JavaScriptCore:
The configuration file is specified with the --configFile option to JSC or the
JSC_configFile environment variable.
The file format allows for options conditionally dependent on various attributes.
Currently those attributes are the process name, parent process name and build
type (Release or Debug). In this patch, the parent process type is not set.
That will be set up in WebKit code with a follow up patch.
Here is an example config file:
logFile = "/tmp/jscLog.%pid.txt"
jscOptions {
dumpOptions = 2
}
build == "Debug" {
jscOptions {
useConcurrentJIT = false
dumpDisassembly = true
}
}
build == "Release" && processName == "jsc" {
jscOptions {
asyncDisassembly = true
}
}
Eliminated the prior options file code.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- jsc.cpp:
(jscmain):
- runtime/ConfigFile.cpp: Added.
(JSC::ConfigFileScanner::ConfigFileScanner):
(JSC::ConfigFileScanner::start):
(JSC::ConfigFileScanner::lineNumber):
(JSC::ConfigFileScanner::currentBuffer):
(JSC::ConfigFileScanner::atFileEnd):
(JSC::ConfigFileScanner::tryConsume):
(JSC::ConfigFileScanner::tryConsumeString):
(JSC::ConfigFileScanner::tryConsumeUpto):
(JSC::ConfigFileScanner::fillBufferIfNeeded):
(JSC::ConfigFileScanner::fillBuffer):
(JSC::ConfigFile::ConfigFile):
(JSC::ConfigFile::setProcessName):
(JSC::ConfigFile::setParentProcessName):
(JSC::ConfigFile::parse):
- runtime/ConfigFile.h: Added.
- runtime/Options.cpp:
(JSC::Options::initialize):
(JSC::Options::setOptions):
- runtime/Options.h:
Source/WTF:
The pathname can include the printf style "%pid", which will be replaced with the
current process id.
- wtf/DataLog.cpp:
(WTF::initializeLogFileOnce):
(WTF::setDataFile):
- wtf/DataLog.h:
- 8:43 AM Changeset in webkit [213150] by
-
- 2 edits in trunk/Tools
webkitpy: jsc-ews should run when Makefiles and build scripts are changed
https://bugs.webkit.org/show_bug.cgi?id=168950
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/tool/steps/checkpatchrelevance.py:
(CheckPatchRelevance): Add makefiles and build scripts to jsc_paths.
- 8:23 AM Changeset in webkit [213149] by
-
- 214 edits131 adds6 deletes in trunk
Update flexbox to Blink's tip of tree
https://bugs.webkit.org/show_bug.cgi?id=168657
Reviewed by Zalan Bujtas.
Source/WebCore:
Added new tests in css3/flexbox.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
- rendering/FlexibleBoxAlgorithm.cpp: Added.
(WebCore::FlexItem::FlexItem):
(WebCore::FlexLayoutAlgorithm::FlexLayoutAlgorithm):
(WebCore::FlexLayoutAlgorithm::computeNextFlexLine):
- rendering/FlexibleBoxAlgorithm.h: Added.
(WebCore::FlexItem::hypotheticalMainAxisMarginBoxSize):
(WebCore::FlexItem::flexBaseMarginBoxSize):
(WebCore::FlexItem::flexedMarginBoxSize):
(WebCore::FlexLayoutAlgorithm::isMultiline):
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::computeTrackBasedSize):
(WebCore::GridTrackSizingAlgorithm::increaseSizesToAccommodateSpanningItems):
(WebCore::GridTrackSizingAlgorithm::assumedRowsSizeForOrthogonalChild):
(WebCore::GridTrackSizingAlgorithm::gridAreaBreadthForChild):
(WebCore::IndefiniteSizeStrategy::recomputeUsedFlexFractionIfNeeded):
- rendering/GridTrackSizingAlgorithm.h:
- rendering/OrderIterator.cpp:
(WebCore::OrderIterator::next):
(WebCore::OrderIterator::reset):
(WebCore::OrderIteratorPopulator::~OrderIteratorPopulator):
(WebCore::OrderIteratorPopulator::collectChild):
(WebCore::OrderIteratorPopulator::OrderIteratorPopulator): Deleted.
(WebCore::OrderIteratorPopulator::removeDuplicatedOrderValues): Deleted.
- rendering/OrderIterator.h:
(WebCore::OrderIteratorPopulator::OrderIteratorPopulator):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateBlockChildDirtyBitsBeforeLayout):
(WebCore::RenderBlock::layoutPositionedObject):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
(WebCore::RenderBlock::computeChildPreferredLogicalWidths):
(WebCore::RenderBlock::hasDefiniteLogicalHeight):
(WebCore::RenderBlock::availableLogicalHeightForPercentageComputation):
- rendering/RenderBlock.h:
(WebCore::RenderBlock::hasPercentHeightDescendants):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::columnFlexItemHasStretchAlignment):
(WebCore::RenderBox::isStretchingColumnFlexItem):
(WebCore::RenderBox::hasStretchedLogicalWidth):
(WebCore::RenderBox::sizesLogicalWidthToFitContent):
(WebCore::RenderBox::computeInlineDirectionMargins):
(WebCore::RenderBox::cacheIntrinsicContentLogicalHeightForFlexItem):
(WebCore::RenderBox::updateLogicalHeight):
(WebCore::RenderBox::computeLogicalHeightWithoutLayout):
(WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation):
(WebCore::RenderBox::shouldTreatChildAsReplacedInTableCells):
(WebCore::tableCellShouldHaveZeroInitialSize):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::RenderBox::percentageLogicalHeightIsResolvable):
(WebCore::RenderBox::hasUnsplittableScrollingOverflow):
(WebCore::flexItemHasStretchAlignment): Deleted.
(WebCore::isStretchingColumnFlexItem): Deleted.
(WebCore::logicalWidthIsResolvable): Deleted.
(WebCore::RenderBox::hasDefiniteLogicalWidth): Deleted.
(WebCore::percentageLogicalHeightIsResolvable): Deleted.
(WebCore::RenderBox::percentageLogicalHeightIsResolvableFromBlock): Deleted.
(WebCore::RenderBox::hasDefiniteLogicalHeight): Deleted.
- rendering/RenderBox.h:
(WebCore::RenderBox::isGridItem):
(WebCore::RenderBox::isFlexItem):
(WebCore::RenderBox::selfAlignmentNormalBehavior):
- rendering/RenderBoxModelObject.cpp:
(WebCore::isOutOfFlowPositionedWithImplicitHeight):
(WebCore::RenderBoxModelObject::containingBlockForAutoHeightDetection):
(WebCore::RenderBoxModelObject::hasAutoHeightOrContainingBlockWithAutoHeight):
- rendering/RenderBoxModelObject.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::removeChildInternal):
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::LineContext::LineContext):
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
(WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths):
(WebCore::contentAlignmentNormalBehavior):
(WebCore::RenderFlexibleBox::styleDidChange):
(WebCore::RenderFlexibleBox::layoutBlock):
(WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
(WebCore::RenderFlexibleBox::clientLogicalBottomAfterRepositioning):
(WebCore::RenderFlexibleBox::hasOrthogonalFlow):
(WebCore::RenderFlexibleBox::flexBasisForChild):
(WebCore::RenderFlexibleBox::crossAxisExtentForChild):
(WebCore::RenderFlexibleBox::cachedChildIntrinsicContentLogicalHeight):
(WebCore::RenderFlexibleBox::setCachedChildIntrinsicContentLogicalHeight):
(WebCore::RenderFlexibleBox::clearCachedChildIntrinsicContentLogicalHeight):
(WebCore::RenderFlexibleBox::childIntrinsicLogicalHeight):
(WebCore::RenderFlexibleBox::childIntrinsicLogicalWidth):
(WebCore::RenderFlexibleBox::crossAxisIntrinsicExtentForChild):
(WebCore::RenderFlexibleBox::mainAxisExtentForChild):
(WebCore::RenderFlexibleBox::mainAxisContentExtentForChildIncludingScrollbar):
(WebCore::RenderFlexibleBox::crossAxisExtent):
(WebCore::RenderFlexibleBox::mainAxisExtent):
(WebCore::RenderFlexibleBox::mainAxisContentExtent):
(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
(WebCore::RenderFlexibleBox::transformedWritingMode):
(WebCore::RenderFlexibleBox::flowAwareMarginStartForChild):
(WebCore::RenderFlexibleBox::flowAwareMarginEndForChild):
(WebCore::RenderFlexibleBox::flowAwareMarginBeforeForChild):
(WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
(WebCore::RenderFlexibleBox::flowAwareLocationForChild):
(WebCore::RenderFlexibleBox::useChildAspectRatio):
(WebCore::RenderFlexibleBox::computeMainSizeFromAspectRatioUsing):
(WebCore::RenderFlexibleBox::setFlowAwareLocationForChild):
(WebCore::RenderFlexibleBox::mainAxisLengthIsDefinite):
(WebCore::RenderFlexibleBox::crossAxisLengthIsDefinite):
(WebCore::RenderFlexibleBox::cacheChildMainSize):
(WebCore::RenderFlexibleBox::clearCachedMainSizeForChild):
(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild):
(WebCore::RenderFlexibleBox::layoutFlexItems):
(WebCore::RenderFlexibleBox::autoMarginOffsetInMainAxis):
(WebCore::RenderFlexibleBox::updateAutoMarginsInMainAxis):
(WebCore::RenderFlexibleBox::hasAutoMarginsInCrossAxis):
(WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild):
(WebCore::RenderFlexibleBox::updateAutoMarginsInCrossAxis):
(WebCore::RenderFlexibleBox::marginBoxAscentForChild):
(WebCore::RenderFlexibleBox::computeChildMarginValue):
(WebCore::RenderFlexibleBox::adjustChildSizeForMinAndMax):
(WebCore::RenderFlexibleBox::crossSizeForPercentageResolution):
(WebCore::RenderFlexibleBox::mainSizeForPercentageResolution):
(WebCore::RenderFlexibleBox::childLogicalHeightForPercentageResolution):
(WebCore::RenderFlexibleBox::adjustChildSizeForAspectRatioCrossAxisMinAndMax):
(WebCore::RenderFlexibleBox::constructFlexItem):
(WebCore::RenderFlexibleBox::freezeViolations):
(WebCore::RenderFlexibleBox::freezeInflexibleItems):
(WebCore::RenderFlexibleBox::resolveFlexibleLengths):
(WebCore::alignmentOffset):
(WebCore::RenderFlexibleBox::setOverrideMainAxisContentSizeForChild):
(WebCore::RenderFlexibleBox::staticMainAxisPositionForPositionedChild):
(WebCore::RenderFlexibleBox::staticCrossAxisPositionForPositionedChild):
(WebCore::RenderFlexibleBox::staticInlinePositionForPositionedChild):
(WebCore::RenderFlexibleBox::staticBlockPositionForPositionedChild):
(WebCore::RenderFlexibleBox::setStaticPositionForPositionedLayout):
(WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
(WebCore::RenderFlexibleBox::alignmentForChild):
(WebCore::RenderFlexibleBox::resetAutoMarginsAndLogicalTopInCrossAxis):
(WebCore::RenderFlexibleBox::needToStretchChildLogicalHeight):
(WebCore::RenderFlexibleBox::childHasIntrinsicMainAxisSize):
(WebCore::RenderFlexibleBox::crossAxisOverflowForChild):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
(WebCore::initialAlignContentOffset):
(WebCore::alignContentSpaceBetweenChildren):
(WebCore::RenderFlexibleBox::alignFlexLines):
(WebCore::RenderFlexibleBox::adjustAlignmentForChild):
(WebCore::RenderFlexibleBox::alignChildren):
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
(WebCore::RenderFlexibleBox::flipForRightToLeftColumn):
(WebCore::RenderFlexibleBox::flipForWrapReverse):
(WebCore::RenderFlexibleBox::Violation::Violation): Deleted.
(WebCore::RenderFlexibleBox::setCrossAxisExtent): Deleted.
(WebCore::RenderFlexibleBox::flowAwareMarginAfterForChild): Deleted.
(WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild): Deleted.
(WebCore::RenderFlexibleBox::mainAxisScrollbarExtentForChild): Deleted.
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Deleted.
(WebCore::RenderFlexibleBox::computeNextFlexLine): Deleted.
(WebCore::RenderFlexibleBox::setLogicalOverrideSize): Deleted.
(WebCore::RenderFlexibleBox::numberOfInFlowPositionedChildren): Deleted.
(WebCore::RenderFlexibleBox::needToStretchChild): Deleted.
(WebCore::contentAlignmentNormalBehaviorFlexibleBox): Deleted.
- rendering/RenderFlexibleBox.h:
(WebCore::RenderFlexibleBox::orderIterator):
(WebCore::RenderFlexibleBox::isFlexibleBoxImpl):
- rendering/RenderFullScreen.h:
- rendering/RenderGrid.cpp:
(WebCore::selfAlignmentChangedToStretchInRowAxis):
(WebCore::selfAlignmentChangedFromStretchInRowAxis):
(WebCore::selfAlignmentChangedFromStretchInColumnAxis):
(WebCore::RenderGrid::styleDidChange):
(WebCore::RenderGrid::computeTrackBasedLogicalHeight):
(WebCore::RenderGrid::computeTrackSizesForDefiniteSize):
(WebCore::RenderGrid::gridGapForDirection):
(WebCore::RenderGrid::guttersSize):
(WebCore::RenderGrid::computeTrackSizesForIndefiniteSize):
(WebCore::RenderGrid::computeAutoRepeatTracksCount):
(WebCore::RenderGrid::trackSizesForComputedStyle):
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
(WebCore::RenderGrid::populateGridPositionsForDirection):
(WebCore::RenderGrid::alignSelfForChild):
(WebCore::RenderGrid::justifySelfForChild):
(WebCore::RenderGrid::columnAxisPositionForChild):
(WebCore::RenderGrid::rowAxisPositionForChild):
(WebCore::RenderGrid::columnAxisOffsetForChild):
(WebCore::RenderGrid::rowAxisOffsetForChild):
(WebCore::RenderGrid::needToStretchChildLogicalHeight): Deleted.
- rendering/RenderGrid.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::computeLogicalHeight):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::layout):
- rendering/RenderTableSection.cpp:
(WebCore::shouldFlexCellChild):
(WebCore::RenderTableSection::relayoutCellIfFlexed):
(WebCore::RenderTableSection::layoutRows):
- rendering/RenderTableSection.h:
- rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computeLogicalHeight):
- rendering/style/RenderStyle.cpp:
(WebCore::resolvedSelfAlignment):
(WebCore::RenderStyle::resolvedAlignSelf):
(WebCore::RenderStyle::resolvedJustifySelf):
- rendering/style/RenderStyle.h:
- style/RenderTreeUpdater.cpp:
(WebCore::textRendererIsNeeded):
LayoutTests:
- css3/flexbox/align-absolute-child-expected.txt:
- css3/flexbox/align-absolute-child.html:
- css3/flexbox/alignContent-applies-with-flexWrap-wrap-with-single-line-expected.txt: Added.
- css3/flexbox/alignContent-applies-with-flexWrap-wrap-with-single-line.html: Added.
- css3/flexbox/anonymous-block-merge-crash.html:
- css3/flexbox/assert-generated-new-flexbox-expected.txt: Added.
- css3/flexbox/assert-generated-new-flexbox.html: Added.
- css3/flexbox/auto-height-dynamic-expected.txt:
- css3/flexbox/auto-height-dynamic.html:
- css3/flexbox/auto-height-with-flex-expected.html: Added.
- css3/flexbox/auto-height-with-flex.html: Added.
- css3/flexbox/auto-margins-expected.html: Removed.
- css3/flexbox/auto-margins.html: Removed.
- css3/flexbox/border-and-padding-abspos-expected.txt: Added.
- css3/flexbox/border-and-padding-abspos.html: Added.
- css3/flexbox/box-orient-button-expected.txt: Added.
- css3/flexbox/box-orient-button.html: Added.
- css3/flexbox/box-sizing-expected.txt:
- css3/flexbox/box-sizing-min-max-sizes-expected.txt:
- css3/flexbox/box-sizing-min-max-sizes.html:
- css3/flexbox/box-sizing.html:
- css3/flexbox/bug527039-expected.txt: Added.
- css3/flexbox/bug527039.html: Added.
- css3/flexbox/bug580586-expected.txt: Added.
- css3/flexbox/bug580586.html: Added.
- css3/flexbox/bug604346-expected.html: Added.
- css3/flexbox/bug604346.html: Added.
- css3/flexbox/bug605682-expected.txt: Added.
- css3/flexbox/bug605682.html: Added.
- css3/flexbox/bug633212-expected.txt: Added.
- css3/flexbox/bug633212.html: Added.
- css3/flexbox/bug646288-expected.txt: Added.
- css3/flexbox/bug646288.html: Added.
- css3/flexbox/bug669714-expected.txt: Added.
- css3/flexbox/bug669714.html: Added.
- css3/flexbox/canvas-dynamic-change-expected.txt: Added.
- css3/flexbox/canvas-dynamic-change.html: Added.
- css3/flexbox/change-flexitem-into-abspos-expected.txt: Added.
- css3/flexbox/change-flexitem-into-abspos.html: Added.
- css3/flexbox/child-overflow-expected.html:
- css3/flexbox/child-overflow.html:
- css3/flexbox/column-flex-child-with-overflow-scroll-expected.txt: Added.
- css3/flexbox/column-flex-child-with-overflow-scroll.html: Added.
- css3/flexbox/columns-auto-size.html:
- css3/flexbox/columns-center-with-margins-and-wrap-expected.html: Added.
- css3/flexbox/columns-center-with-margins-and-wrap.html: Added.
- css3/flexbox/columns-center-with-margins-expected.html: Added.
- css3/flexbox/columns-center-with-margins.html: Added.
- css3/flexbox/columns-height-set-via-top-bottom-expected.txt:
- css3/flexbox/columns-height-set-via-top-bottom.html:
- css3/flexbox/content-height-with-scrollbars.html:
- css3/flexbox/cross-axis-scrollbar-expected.html:
- css3/flexbox/cross-axis-scrollbar.html:
- css3/flexbox/css-properties-expected.txt:
- css3/flexbox/css-properties.html:
- css3/flexbox/csswg/flex-margin-no-collapse.html:
- css3/flexbox/definite-cross-sizes-expected.txt: Added.
- css3/flexbox/definite-cross-sizes.html: Added.
- css3/flexbox/definite-main-size-expected.txt: Added.
- css3/flexbox/definite-main-size.html: Added.
- css3/flexbox/display-flexbox-set-get-expected.txt:
- css3/flexbox/display-flexbox-set-get.html:
- css3/flexbox/flex-algorithm-expected.txt:
- css3/flexbox/flex-algorithm-min-max-expected.txt:
- css3/flexbox/flex-algorithm-min-max.html:
- css3/flexbox/flex-algorithm-with-margins-expected.txt:
- css3/flexbox/flex-algorithm-with-margins.html:
- css3/flexbox/flex-algorithm.html:
- css3/flexbox/flex-align-baseline-expected.txt:
- css3/flexbox/flex-align-baseline.html:
- css3/flexbox/flex-align-column-expected.txt:
- css3/flexbox/flex-align-column.html:
- css3/flexbox/flex-align-end-expected.txt:
- css3/flexbox/flex-align-end.html:
- css3/flexbox/flex-align-max-expected.txt:
- css3/flexbox/flex-align-max.html:
- css3/flexbox/flex-align-percent-height-expected.txt:
- css3/flexbox/flex-align-percent-height.html:
- css3/flexbox/flex-align-stretch-expected.txt:
- css3/flexbox/flex-align-stretch.html:
- css3/flexbox/flex-align-vertical-writing-mode.html:
- css3/flexbox/flex-align.html:
- css3/flexbox/flex-column-relayout-assert-expected.txt: Added.
- css3/flexbox/flex-column-relayout-assert.html: Added.
- css3/flexbox/flex-factor-less-than-one-expected.txt: Added.
- css3/flexbox/flex-factor-less-than-one.html: Added.
- css3/flexbox/flex-flow-2-expected.txt:
- css3/flexbox/flex-flow-2.html:
- css3/flexbox/flex-flow-auto-margins-expected.txt:
- css3/flexbox/flex-flow-auto-margins-no-available-space-assert-expected.txt: Added.
- css3/flexbox/flex-flow-auto-margins-no-available-space-assert.html: Added.
- css3/flexbox/flex-flow-auto-margins-no-available-space-expected.txt:
- css3/flexbox/flex-flow-auto-margins-no-available-space.html:
- css3/flexbox/flex-flow-auto-margins.html:
- css3/flexbox/flex-flow-border-expected.txt:
- css3/flexbox/flex-flow-border.html:
- css3/flexbox/flex-flow-expected.txt:
- css3/flexbox/flex-flow-initial-expected.txt:
- css3/flexbox/flex-flow-initial.html:
- css3/flexbox/flex-flow-margins-auto-size-expected.txt:
- css3/flexbox/flex-flow-margins-auto-size.html:
- css3/flexbox/flex-flow-margins-expected.txt:
- css3/flexbox/flex-flow-margins.html:
- css3/flexbox/flex-flow-orientations-expected.txt:
- css3/flexbox/flex-flow-orientations.html:
- css3/flexbox/flex-flow-overflow-expected.txt:
- css3/flexbox/flex-flow-overflow.html:
- css3/flexbox/flex-flow-padding-expected.txt:
- css3/flexbox/flex-flow-padding.html:
- css3/flexbox/flex-flow.html:
- css3/flexbox/flex-item-child-overflow-expected.txt:
- css3/flexbox/flex-item-child-overflow.html:
- css3/flexbox/flex-item-contains-strict-expected.txt: Added.
- css3/flexbox/flex-item-contains-strict.html: Added.
- css3/flexbox/flex-item-firstLine-valid-expected.txt:
- css3/flexbox/flex-item-firstLine-valid.html:
- css3/flexbox/flex-justify-content-expected.txt:
- css3/flexbox/flex-justify-content.html:
- css3/flexbox/flex-longhand-parsing-expected.txt:
- css3/flexbox/flex-longhand-parsing.html:
- css3/flexbox/flex-no-flex-expected.txt:
- css3/flexbox/flex-no-flex.html:
- css3/flexbox/flex-one-sets-flex-basis-to-zero-px-expected.txt: Added.
- css3/flexbox/flex-one-sets-flex-basis-to-zero-px.html: Added.
- css3/flexbox/flex-order-expected.html: Added.
- css3/flexbox/flex-order-expected.png: Removed.
- css3/flexbox/flex-order-expected.txt: Removed.
- css3/flexbox/flex-order.html:
- css3/flexbox/flex-property-parsing-expected.txt:
- css3/flexbox/flex-property-parsing.html:
- css3/flexbox/flex-shorthand-flex-basis-middle-expected.txt: Added.
- css3/flexbox/flex-shorthand-flex-basis-middle.html: Added.
- css3/flexbox/flexbox-baseline.html:
- css3/flexbox/flexbox-height-with-overflow-auto-expected.txt: Added.
- css3/flexbox/flexbox-height-with-overflow-auto.html: Added.
- css3/flexbox/flexbox-ignore-container-firstLetter-expected.txt:
- css3/flexbox/flexbox-ignore-container-firstLetter.html:
- css3/flexbox/flexbox-ignore-firstLetter-expected.txt:
- css3/flexbox/flexbox-ignore-firstLetter.html:
- css3/flexbox/flexbox-ignore-firstLine-expected.txt:
- css3/flexbox/flexbox-ignore-firstLine.html:
- css3/flexbox/flexbox-lines-must-be-stretched-by-default-expected.txt:
- css3/flexbox/flexbox-lines-must-be-stretched-by-default.html:
- css3/flexbox/flexbox-overflow-auto-expected.html:
- css3/flexbox/flexbox-overflow-auto.html:
- css3/flexbox/flexbox-with-multi-column-property-expected.html: Added.
- css3/flexbox/flexbox-with-multi-column-property.html: Added.
- css3/flexbox/flexbox-wordwrap-expected.txt: Added.
- css3/flexbox/flexbox-wordwrap.html: Added.
- css3/flexbox/flexitem-expected.txt:
- css3/flexbox/flexitem-no-margin-collapsing-expected.txt:
- css3/flexbox/flexitem-no-margin-collapsing.html:
- css3/flexbox/flexitem-percent-height-change-expected.txt:
- css3/flexbox/flexitem-percent-height-change.html:
- css3/flexbox/flexitem-stretch-image-expected.txt:
- css3/flexbox/flexitem-stretch-image.html:
- css3/flexbox/flexitem-stretch-range.html:
- css3/flexbox/flexitem.html:
- css3/flexbox/floated-flexbox-expected.txt:
- css3/flexbox/floated-flexbox.html:
- css3/flexbox/floated-flexitem.html:
- css3/flexbox/inline-flex-crash.html:
- css3/flexbox/inline-flex-crash2.html:
- css3/flexbox/inline-flex-expected.txt:
- css3/flexbox/inline-flex.html:
- css3/flexbox/inline-flexbox-ignore-firstLine-expected.txt:
- css3/flexbox/inline-flexbox-ignore-firstLine.html:
- css3/flexbox/inline-flexbox-wrap-vertically-width-calculation-expected.txt: Added.
- css3/flexbox/inline-flexbox-wrap-vertically-width-calculation.html: Added.
- css3/flexbox/insert-text-crash.html:
- css3/flexbox/intrinsic-min-width-applies-with-fixed-width-expected.txt:
- css3/flexbox/intrinsic-min-width-applies-with-fixed-width.html:
- css3/flexbox/intrinsic-width-orthogonal-writing-mode-expected.txt: Added.
- css3/flexbox/intrinsic-width-orthogonal-writing-mode.html: Added.
- css3/flexbox/large-flex-shrink-assert-expected.txt: Added.
- css3/flexbox/large-flex-shrink-assert.html: Added.
- css3/flexbox/line-wrapping.html:
- css3/flexbox/mainAxisExtent-crash-expected.txt: Added.
- css3/flexbox/mainAxisExtent-crash.html: Added.
- css3/flexbox/max-width-violation-expected.txt: Added.
- css3/flexbox/max-width-violation.html: Added.
- css3/flexbox/min-size-auto-expected.txt:
- css3/flexbox/min-size-auto.html:
- css3/flexbox/minimum-size-image-expected.txt: Added.
- css3/flexbox/minimum-size-image.html: Added.
- css3/flexbox/multiline-align-content-expected.txt:
- css3/flexbox/multiline-align-content-horizontal-column-expected.txt:
- css3/flexbox/multiline-align-content-horizontal-column.html:
- css3/flexbox/multiline-align-content.html:
- css3/flexbox/multiline-align-self-expected.txt:
- css3/flexbox/multiline-align-self.html:
- css3/flexbox/multiline-column-auto-expected.txt:
- css3/flexbox/multiline-column-auto.html:
- css3/flexbox/multiline-column-overflow-expected.html: Added.
- css3/flexbox/multiline-column-overflow.html: Added.
- css3/flexbox/multiline-expected.txt:
- css3/flexbox/multiline-justify-content-expected.txt:
- css3/flexbox/multiline-justify-content.html:
- css3/flexbox/multiline-min-max-expected.txt: Added.
- css3/flexbox/multiline-min-max.html: Added.
- css3/flexbox/multiline-min-preferred-width-expected.txt:
- css3/flexbox/multiline-min-preferred-width.html:
- css3/flexbox/multiline-reverse-wrap-baseline.html:
- css3/flexbox/multiline-reverse-wrap-overflow-expected.txt:
- css3/flexbox/multiline-reverse-wrap-overflow.html:
- css3/flexbox/multiline-shrink-to-fit-expected.html:
- css3/flexbox/multiline-shrink-to-fit.html:
- css3/flexbox/multiline.html:
- css3/flexbox/negative-flex-rounding-assert.html:
- css3/flexbox/negative-margins-assert.html:
- css3/flexbox/negative-overflow-expected.txt:
- css3/flexbox/negative-overflow.html:
- css3/flexbox/nested-flexbox-min-size-auto-expected.txt: Added.
- css3/flexbox/nested-flexbox-min-size-auto.html: Added.
- css3/flexbox/nested-orthogonal-flexbox-relayout-expected.html: Added.
- css3/flexbox/nested-orthogonal-flexbox-relayout.html: Added.
- css3/flexbox/nested-stretch-expected.txt:
- css3/flexbox/nested-stretch.html:
- css3/flexbox/order-painting.html:
- css3/flexbox/orthogonal-flex-directions-expected.txt:
- css3/flexbox/orthogonal-flex-directions.html:
- css3/flexbox/orthogonal-writing-modes-and-intrinsic-sizing-expected.txt: Added.
- css3/flexbox/orthogonal-writing-modes-and-intrinsic-sizing.html: Added.
- css3/flexbox/overflow-and-padding-expected.txt: Added.
- css3/flexbox/overflow-and-padding.html: Added.
- css3/flexbox/overflow-auto-dynamic-changes-abspos-expected.html: Added.
- css3/flexbox/overflow-auto-dynamic-changes-abspos.html: Added.
- css3/flexbox/overflow-auto-dynamic-changes-expected.html: Added.
- css3/flexbox/overflow-auto-dynamic-changes.html: Added.
- css3/flexbox/overflow-auto-resizes-correctly-expected.txt: Added.
- css3/flexbox/overflow-auto-resizes-correctly.html: Added.
- css3/flexbox/overflow-keep-scrollpos-expected.txt:
- css3/flexbox/overflow-keep-scrollpos.html:
- css3/flexbox/percent-height-children-of-alignSelf-stretch-flex-item-expected.txt: Added.
- css3/flexbox/percent-height-children-of-alignSelf-stretch-flex-item.html: Added.
- css3/flexbox/percent-margins-expected.txt:
- css3/flexbox/percent-margins.html:
- css3/flexbox/percentage-height-in-abspos-expected.html: Added.
- css3/flexbox/percentage-height-in-abspos.html: Added.
- css3/flexbox/percentage-height-replaced-element-expected.txt: Added.
- css3/flexbox/percentage-height-replaced-element.html: Added.
- css3/flexbox/percentage-heights-expected.txt:
- css3/flexbox/percentage-heights.html:
- css3/flexbox/percentage-max-width-cross-axis-expected.txt: Added.
- css3/flexbox/percentage-max-width-cross-axis.html: Added.
- css3/flexbox/percentage-sizes-expected.txt:
- css3/flexbox/percentage-sizes-quirks-expected.txt:
- css3/flexbox/percentage-sizes-quirks.html:
- css3/flexbox/percentage-sizes.html:
- css3/flexbox/percentage-width-in-abspos-expected.html: Added.
- css3/flexbox/percentage-width-in-abspos.html: Added.
- css3/flexbox/perpendicular-writing-modes-inside-flex-item-expected.txt:
- css3/flexbox/perpendicular-writing-modes-inside-flex-item.html:
- css3/flexbox/position-absolute-child-expected.txt:
- css3/flexbox/position-absolute-child.html:
- css3/flexbox/position-absolute-children-expected.txt:
- css3/flexbox/position-absolute-children.html:
- css3/flexbox/preferred-widths-expected.txt:
- css3/flexbox/preferred-widths-orthogonal.html:
- css3/flexbox/preferred-widths.html:
- css3/flexbox/relayout-align-items-expected.txt:
- css3/flexbox/relayout-align-items.html:
- css3/flexbox/relayout-image-load-expected.txt:
- css3/flexbox/relayout-image-load.html:
- css3/flexbox/relpos-with-percentage-top-expected.txt: Added.
- css3/flexbox/relpos-with-percentage-top.html: Added.
- css3/flexbox/relpos-with-scrollable-with-abspos-crash-expected.txt: Added.
- css3/flexbox/relpos-with-scrollable-with-abspos-crash.html: Added.
- css3/flexbox/resize-min-content-flexbox-expected.txt: Added.
- css3/flexbox/resize-min-content-flexbox.html: Added.
- css3/flexbox/resources/box-orient-button.js: Added.
(setFlexDirection):
(gebi):
(test):
- css3/flexbox/scrollbars-auto-expected.html: Added.
- css3/flexbox/scrollbars-auto.html: Added.
- css3/flexbox/scrollbars-expected.html: Added.
- css3/flexbox/scrollbars.html: Added.
- css3/flexbox/shrinking-column-flexbox-expected.txt: Added.
- css3/flexbox/shrinking-column-flexbox.html: Added.
- css3/flexbox/stretch-after-sibling-size-change-expected.txt:
- css3/flexbox/stretch-after-sibling-size-change.html:
- css3/flexbox/stretch-input-in-column-expected.html:
- css3/flexbox/stretch-simplified-layout-expected.txt:
- css3/flexbox/stretch-simplified-layout.html:
- css3/flexbox/stretch-table-child-expected.txt: Added.
- css3/flexbox/stretch-table-child.html: Added.
- css3/flexbox/stretched-child-shrink-on-relayout-expected.txt: Added.
- css3/flexbox/stretched-child-shrink-on-relayout.html: Added.
- css3/flexbox/stretching-orthogonal-flows-expected.html: Added.
- css3/flexbox/stretching-orthogonal-flows.html: Added.
- css3/flexbox/style-change-expected.txt:
- css3/flexbox/style-change.html:
- css3/flexbox/text-overflow-on-flexbox-expected.html: Added.
- css3/flexbox/text-overflow-on-flexbox.html: Added.
- css3/flexbox/true-centering-expected.txt:
- css3/flexbox/true-centering.html:
- css3/flexbox/undefined-min-width-expected.txt: Added.
- css3/flexbox/undefined-min-width.html: Added.
- css3/flexbox/vertical-align-do-not-effect-flex-items-expected.html: Added.
- css3/flexbox/vertical-align-do-not-effect-flex-items.html: Added.
- css3/flexbox/vertical-flexbox-percentage-ignored-expected.html: Added.
- css3/flexbox/vertical-flexbox-percentage-ignored.html: Added.
- css3/flexbox/whitespace-in-flexitem-expected.html: Added.
- css3/flexbox/whitespace-in-flexitem.html: Added.
- css3/flexbox/width-change-and-relayout-children-expected.txt:
- css3/flexbox/width-change-and-relayout-children.html:
- css3/flexbox/wrapping-column-dynamic-changes-expected.txt: Added.
- css3/flexbox/wrapping-column-dynamic-changes.html: Added.
- css3/flexbox/writing-modes-expected.txt:
- css3/flexbox/writing-modes.html:
- css3/flexbox/z-index.html:
- resources/check-layout-th.js: Added.
(checkSubtreeExpectedValues):
(checkAttribute):
(assert_tolerance):
(checkExpectedValues):
(window.checkLayout):
- 7:48 AM Changeset in webkit [213148] by
-
- 1 copy in tags/Safari-603.1.30.4.2
Tag Safari-603.1.30.4.2.
- 2:11 AM Changeset in webkit [213147] by
-
- 6 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213044 - [TextureMapper] Clean up BitmapTextureGL construction
https://bugs.webkit.org/show_bug.cgi?id=168909
Reviewed by Carlos Garcia Campos.
Have the BitmapTextureGL constructor accept an rvalue reference pointer
to the GraphicsContext3D object. A static create() method is also added
to help with constructing these objects. Construction sites are updated
appropriately.
The BitmapTextureGL constructor is further cleaned up by moving default
member initializations together with the member declarations.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor):
- platform/graphics/texmap/BitmapTextureGL.cpp:
(WebCore::BitmapTextureGL::BitmapTextureGL):
- platform/graphics/texmap/BitmapTextureGL.h:
- platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::createTexture):
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::createTexture):
- 2:10 AM Changeset in webkit [213146] by
-
- 4 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213043 - [TextureMapper] Remove InterpolationQuality, TextDrawingModeFlags member variables
https://bugs.webkit.org/show_bug.cgi?id=168906
Reviewed by Carlos Garcia Campos.
Remove the InterpolationQuality and TextDrawingModeFlags member variables from the
TextureMapper class. These weren't modified anywhere in the code.
BitmapTexture::updateContents() still sets the image interpolation quality and
drawing mode on the ImageBuffer's GraphicsContext, but now uses the default
InterpolationDefault and TextModeFill values.
- platform/graphics/texmap/BitmapTexture.cpp:
(WebCore::BitmapTexture::updateContents):
- platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::TextureMapper): Deleted.
(WebCore::TextureMapper::~TextureMapper): Deleted.
- platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::setImageInterpolationQuality): Deleted.
(WebCore::TextureMapper::setTextDrawingMode): Deleted.
(WebCore::TextureMapper::imageInterpolationQuality): Deleted.
(WebCore::TextureMapper::textDrawingMode): Deleted.
- 1:58 AM Changeset in webkit [213145] by
-
- 6 edits in releases/WebKitGTK/webkit-2.16/Source
Merge r213035 - [CoordinatedGraphics] Remove CoordinatedGraphicsScene::paintToGraphicsContext()
https://bugs.webkit.org/show_bug.cgi?id=168903
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Remove the GraphicsContext pointer member from the TextureMapper class
since the getter and setter methods are not used anywhere.
- platform/graphics/texmap/TextureMapper.cpp:
(WebCore::TextureMapper::TextureMapper):
- platform/graphics/texmap/TextureMapper.h:
(WebCore::TextureMapper::setGraphicsContext): Deleted.
(WebCore::TextureMapper::graphicsContext): Deleted.
Source/WebKit2:
Remove the CoordinatedGraphicsScene::paintToGraphicsContext() method as it
is not used anywhere. Also enables removing the GraphicsContext pointer
member from the TextureMapper class.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::paintToGraphicsContext): Deleted.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
- 1:53 AM Changeset in webkit [213144] by
-
- 6 edits2 adds in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r213009 - Simple line layout: Move coverage functions out of SimpleLineLayout.cpp
https://bugs.webkit.org/show_bug.cgi?id=168872
Reviewed by Simon Fraser.
SimpleLineLayout.cpp is for core functions only.
No change in functionality.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderingAllInOne.cpp:
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
(WebCore::SimpleLineLayout::printReason): Deleted.
(WebCore::SimpleLineLayout::printReasons): Deleted.
(WebCore::SimpleLineLayout::printTextForSubtree): Deleted.
(WebCore::SimpleLineLayout::textLengthForSubtree): Deleted.
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlows): Deleted.
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlowsForCurrentPage): Deleted.
(WebCore::SimpleLineLayout::toggleSimpleLineLayout): Deleted.
(WebCore::SimpleLineLayout::printSimpleLineLayoutBlockList): Deleted.
(WebCore::SimpleLineLayout::printSimpleLineLayoutCoverage): Deleted.
- rendering/SimpleLineLayout.h:
- rendering/SimpleLineLayoutCoverage.cpp: Added.
(WebCore::SimpleLineLayout::printReason):
(WebCore::SimpleLineLayout::printReasons):
(WebCore::SimpleLineLayout::printTextForSubtree):
(WebCore::SimpleLineLayout::textLengthForSubtree):
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlows):
(WebCore::SimpleLineLayout::collectNonEmptyLeafRenderBlockFlowsForCurrentPage):
(WebCore::SimpleLineLayout::toggleSimpleLineLayout):
(WebCore::SimpleLineLayout::printSimpleLineLayoutBlockList):
(WebCore::SimpleLineLayout::printSimpleLineLayoutCoverage):
- rendering/SimpleLineLayoutCoverage.h: Added.
- 1:48 AM Changeset in webkit [213143] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r213008 - Text might wrap when its preferred logical width is used for sizing the containing block.
https://bugs.webkit.org/show_bug.cgi?id=168864
<rdar://problem/30690734>
Reviewed by Antti Koivisto.
Source/WebCore:
In certain cases we end up measuring a text run in 2 different ways.
- preferred width computation -> slow path FontCascade::width()
- line breaking logic -> fast path FontCascade::widthForSimpleText()
FontCascade::width() and ::widthForSimpleText() might return different results for the same run even when
the individual glyph widths are measured to be the same. It's because they run diffrent set of
arithmetics on the float values and for certain values these arithmetics produce different results due to the floating point
precision.
Since RenderText::computePreferredLogicalWidths() currently forces us to use the slow path
(to retrieve fontfallback and glyph overflow information) the only alternative solution is to turn off the fast path
for all runs that have been already measured using the slow path (which would be just wasteful).
Test: fast/text/fast-run-width-vs-slow-run-width.html
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthForSimpleText): Mimics WidthIterator::applyFontTransforms. Use the same set of arithmetics here.
LayoutTests:
- fast/text/fast-run-width-vs-slow-run-width-expected.html: Added.
- fast/text/fast-run-width-vs-slow-run-width.html: Added.
- 1:47 AM Changeset in webkit [213142] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r213005 - [GTK] Unreviewed, document deficiency in webkit_website_data_manager_clear() API
Document that this function cannot currently delete cookie data for a particular period of
time.
- UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
- 1:46 AM Changeset in webkit [213141] by
-
- 7 edits2 adds in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212986 - Simple line layout: Re-adjust paginated lines when block height changes.
https://bugs.webkit.org/show_bug.cgi?id=168838
<rdar://problem/30701233>
Reviewed by Antti Koivisto.
When the estimated block height is wrong, we issue an additional layout on the inline children
so that we get the pagination right (this layout is setChildNeedsLayout(MarkOnlyThis) only).
Since the height change only affects the struts and page breaks (and again, the relayoutChildren flag is false)
we don't need to re-layout the content, but instead we just need to re-adjust the pagination for the simple lines.
This patch also moves the pagination logic to SimpleLineLayoutPagination.cpp.
Not enabled yet.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutSimpleLines):
- rendering/RenderingAllInOne.cpp:
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
(WebCore::SimpleLineLayout::create):
(WebCore::SimpleLineLayout::Layout::create):
(WebCore::SimpleLineLayout::Layout::Layout):
(WebCore::SimpleLineLayout::computeLineTopAndBottomWithOverflow): Deleted.
(WebCore::SimpleLineLayout::computeLineBreakIndex): Deleted.
(WebCore::SimpleLineLayout::computeOffsetAfterLineBreak): Deleted.
(WebCore::SimpleLineLayout::setPageBreakForLine): Deleted.
(WebCore::SimpleLineLayout::updateMinimumPageHeight): Deleted.
(WebCore::SimpleLineLayout::adjustLinePositionsForPagination): Deleted.
- rendering/SimpleLineLayout.h:
(WebCore::SimpleLineLayout::Layout::setIsPaginated):
(WebCore::SimpleLineLayout::Layout::setLineStruts):
- rendering/SimpleLineLayoutPagination.cpp: Added.
(WebCore::SimpleLineLayout::computeLineTopAndBottomWithOverflow):
(WebCore::SimpleLineLayout::computeLineBreakIndex):
(WebCore::SimpleLineLayout::computeOffsetAfterLineBreak):
(WebCore::SimpleLineLayout::setPageBreakForLine):
(WebCore::SimpleLineLayout::updateMinimumPageHeight):
(WebCore::SimpleLineLayout::adjustLinePositionsForPagination):
- rendering/SimpleLineLayoutPagination.h: Added.
- 1:42 AM Changeset in webkit [213140] by
-
- 6 edits in releases/WebKitGTK/webkit-2.16
Merge r212977 - Non-special relative URLs should not ignore extra slashes
https://bugs.webkit.org/show_bug.cgi?id=168834
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
Special authority ignore slashes state should, as its name implies,
only be reached by special URLs. See https://url.spec.whatwg.org/#relative-slash-state
Covered by newly passing web platform tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
- 1:39 AM Changeset in webkit [213139] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212976 - Build fix for newer clang
https://bugs.webkit.org/show_bug.cgi?id=168849
rdar://problem/30638741
Reviewed by Ryosuke Niwa.
- dom/Range.cpp: (WebCore::Range::toString): std::max(0, <unsigned>) is not meaningful,
and now triggers a warning.
- 1:31 AM Changeset in webkit [213138] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212968 - [GTK] WebkitWebProcess crashes on exit on nvidia if threaded compositing is enabled
https://bugs.webkit.org/show_bug.cgi?id=165522
Reviewed by Carlos Garcia Campos.
Before destrying a GLContextGLX we need to set the default framebufer to avoid a bug
in some nvidia drivers. Ensure that we set the context as current before performing
that operation, and set the appropriate current context after doing so.
No new tests.
- platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::~GLContextGLX):
- 1:29 AM Changeset in webkit [213137] by
-
- 11 edits in releases/WebKitGTK/webkit-2.16
Merge r212953 - .. should not remove windows drive letters in paths of file URLs
https://bugs.webkit.org/show_bug.cgi?id=168824
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/url/a-element-expected.txt:
- web-platform-tests/url/a-element-xhtml-expected.txt:
- web-platform-tests/url/url-constructor-expected.txt:
Source/WebCore:
It's specified in https://url.spec.whatwg.org/#shorten-a-urls-path and helps behavior for browsers on Windows.
It can't hurt to pass a few more web platform tests, though.
- platform/URLParser.cpp:
(WebCore::URLParser::copyURLPartsUntil):
(WebCore::URLParser::shouldPopPath):
(WebCore::URLParser::popPath):
(WebCore::URLParser::parse):
- platform/URLParser.h:
LayoutTests:
- fast/url/file-expected.txt:
- fast/url/file-http-base-expected.txt:
- fast/url/relative-win-expected.txt:
- 1:14 AM Changeset in webkit [213136] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212912 - Simple line layout: Adjust RunResolver::lineIndexForHeight with line struts.
https://bugs.webkit.org/show_bug.cgi?id=168783
<rdar://problem/30676449>
Reviewed by Antti Koivisto.
When there's a pagination gap between lines the simple lineIndex = y / lineHeight formula does not work anymore.
This patch takes the line gaps into account by offsetting the y position accordingly.
Not enabled yet.
- rendering/SimpleLineLayoutResolver.cpp:
(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
- 1:13 AM Changeset in webkit [213135] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r212909 - SpeculativeJIT::compilePutByValForIntTypedArray should only do the constant-folding optimization when the constant passes the type check
https://bugs.webkit.org/show_bug.cgi?id=168787
Reviewed by Michael Saboff and Mark Lam.
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
- 1:12 AM Changeset in webkit [213134] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r212908 - Ensure that the end of the last invalidation point does not extend beyond the end of the buffer.
https://bugs.webkit.org/show_bug.cgi?id=168786
Reviewed by Filip Pizlo.
In practice, we will always have multiple instructions after invalidation points,
and have enough room in the JIT buffer for the invalidation point to work with.
However, as a precaution, we can guarantee that there's enough room by always
emitting a label just before we link the buffer. The label will emit nop padding
if needed.
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::linkCode):
- 1:11 AM Changeset in webkit [213133] by
-
- 2 edits in releases/WebKitGTK/webkit-2.16/Source/JavaScriptCore
Merge r212900 - Unreviewed, fix the cloop build. Needed a #if.
- jit/ExecutableAllocator.cpp:
- 1:10 AM Changeset in webkit [213132] by
-
- 5 edits in releases/WebKitGTK/webkit-2.16/Source/WebKit2
Merge r212891 - [GTK] Crash attempting to load Flash plugin in Wayland
https://bugs.webkit.org/show_bug.cgi?id=163159
Reviewed by Michael Catanzaro.
The problem is that we check if the current diplay is X11 or Wayland also in the plugin process, but with GTK2
plugins the display is always X11. We should early reject plugins requiring GTK2 in the UI process when the
current display is Wayland.
- UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
(WebKit::PluginInfoStore::getPluginInfo):
- UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::scanPlugin):
- UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::createPluginContainer): Add an assert to ensure this message is never received on a
non-X11 display.
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::createPluginContainer): Never send CreatePluginContainer message to the UI process if the
display is not X11.
- 1:09 AM Changeset in webkit [213131] by
-
- 3 edits in releases/WebKitGTK/webkit-2.16/Source/WebCore
Merge r212889 - [GStreamer] Several layout tests trigger GStreamer-CRITICAL : gst_bin_get_by_name: assertion 'GST_IS_BIN (bin)' failed
https://bugs.webkit.org/show_bug.cgi?id=167016
Reviewed by Xabier Rodriguez-Calvar.
This is because we create AudioSourceProviderGStreamer objects that are never loaded. In the destructor the
AudioSourceProviderGStreamer calls gst_bin_get_by_name() on its m_audioSinkBin that is nullptr. We could simply
check m_audioSinkBin in the destructor, but I think it's better to simply not create
AudioSourceProviderGStreamer for nothing. MediaPlayerPrivateGStreamer should create the AudioSourceProvider on demand.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Do not create the AudioSourceProvider.
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink): Call ensureAudioSourceProvider() before using m_audioSourceProvider.
(WebCore::MediaPlayerPrivateGStreamer::ensureAudioSourceProvider): Create the AudioSourceProvider if needed.
(WebCore::MediaPlayerPrivateGStreamer::audioSourceProvider): Ensure and return the m_audioSourceProvider.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- 1:08 AM Changeset in webkit [213130] by
-
- 9 edits2 adds in releases/WebKitGTK/webkit-2.16
Merge r212881 - [GTK] Drag and drop is always moving the content even if copy is requested
https://bugs.webkit.org/show_bug.cgi?id=168424
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Drag and drop is always moving the content around even if the copy is
requested (i.e. by pressing the Control key).
Test: editing/pasteboard/drag-drop-copy-content.html
- page/gtk/DragControllerGtk.cpp:
(WebCore::DragController::isCopyKeyDown):
Source/WebKit2:
Drag and drop is always moving the content around even if the copy is
requested (i.e. by pressing the Control key).
- UIProcess/gtk/DragAndDropHandler.cpp:
(WebKit::DragAndDropHandler::drop):
LayoutTests:
Mark the editing/pasteboard/drag-drop-copy-content.html as failing
as WTR doesn't know how to perform drag and drop in WK2. Also the
test does not pass on the mac WK1, created a bug for it.
- platform/efl/TestExpectations:
- platform/gtk-wayland/TestExpectations:
- platform/gtk/TestExpectations:
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 1:07 AM Changeset in webkit [213129] by
-
- 15 edits in releases/WebKitGTK/webkit-2.16
Merge r212878 - Better handle Thread and RunLoop initialization
https://bugs.webkit.org/show_bug.cgi?id=167828
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
- runtime/InitializeThreading.cpp:
(JSC::initializeThreading): Do not initialize double_conversion, that is already initialized by WTF, and GC
threads that will be initialized by WTF main thread when needed.
Source/WebKit/win:
Remove unnecessary call to WTF::initializeMainThread().
- WebView.cpp:
(WebView::WebView):
Source/WebKit2:
Remove unnecessary call to WTF::initializeMainThread().
- Shared/WebKit2Initialize.cpp:
(WebKit::InitializeWebKit2):
Source/WTF:
Make initialization functions more independent so that they can run in different
order. WTF::initializeMainThread initializes WTF threading, so that neither WTF nor JSC theading need to be
initialized before. RunLoop::initializeMainRunLoop() requires main thread to be initialized in some
ports, so it initializes main thread too. WebKit1 always calls WTF::initializeMainThreadToProcessMainThread()
before RunLoop::initializeMainRunLoop() so there's no problem there. GC threads are initialized alwayas by the
main thread. The rules should be simpler now:
- JSC::initializeThreading: should always be called when JSC is used.
- WTF::initializeThreading: only needs to be explicitly called when JSC is not used and process doesn't initialize a main thread or main run loop.
- WTF::initializeMainThread: only needs to be explicitly called if process initializes a main thread but not a main run loop.
- WTF::initializeMainThreadToProcessMainThread(): should always be called in WebKit1 before RunLoop::initializeMainRunLoop().
- RunLoop::initializeMainRunLoop(): to initialize the main run loop. The only requirement is JSC::initializeThreading() to be called before if JSC is used.
- wtf/MainThread.cpp:
(WTF::initializeMainThreadOnce): Use pthread_once to initialize the main thread also in GTK+ port.
(WTF::initializeMainThreadToProcessMainThreadOnce): Call initializeThreading() before the platform
initialization and initializeGCThreads() after it.
(WTF::initializeMainThread): Ditto.
- wtf/RunLoop.cpp:
(WTF::RunLoop::initializeMainRunLoop): Call initializeMainThread().
- wtf/glib/MainThreadGLib.cpp:
(WTF::initializeMainThreadPlatform):
(WTF::isMainThread):
- wtf/mac/MainThreadMac.mm:
(WTF::initializeMainThreadPlatform): Remove call to initializeGCThreads().
(WTF::initializeMainThreadToProcessMainThreadPlatform): Ditto.
Tools:
Remove unnecessary calls to WTF::initializeMainThread().
- TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::ComplexTextControllerTest::SetUp):
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::ContentExtensionTest::SetUp):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
- 1:05 AM Changeset in webkit [213128] by
-
- 8 edits1 delete in releases/WebKitGTK/webkit-2.16/Source
Merge r212867 - Remove the demand executable allocator
https://bugs.webkit.org/show_bug.cgi?id=168754
Reviewed by Saam Barati.
Source/JavaScriptCore:
We currently only use the demand executable allocator for non-iOS 32-bit platforms.
Benchmark results on a MBP indicate there is no appreciable performance difference
between a the fixed and demand allocators. In a future patch I will go back through
this code and remove more of the abstractions.
- JavaScriptCore.xcodeproj/project.pbxproj:
- jit/ExecutableAllocator.cpp:
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):
(JSC::FixedVMPoolExecutableAllocator::initializeSeparatedWXHeaps):
(JSC::FixedVMPoolExecutableAllocator::jitWriteThunkGenerator):
(JSC::FixedVMPoolExecutableAllocator::genericWriteToJITRegion):
(JSC::ExecutableAllocator::initializeAllocator):
(JSC::ExecutableAllocator::ExecutableAllocator):
(JSC::FixedVMPoolExecutableAllocator::~FixedVMPoolExecutableAllocator):
(JSC::ExecutableAllocator::isValid):
(JSC::ExecutableAllocator::underMemoryPressure):
(JSC::ExecutableAllocator::memoryPressureMultiplier):
(JSC::ExecutableAllocator::allocate):
(JSC::ExecutableAllocator::isValidExecutableMemory):
(JSC::ExecutableAllocator::getLock):
(JSC::ExecutableAllocator::committedByteCount):
(JSC::ExecutableAllocator::dumpProfile):
(JSC::DemandExecutableAllocator::DemandExecutableAllocator): Deleted.
(JSC::DemandExecutableAllocator::~DemandExecutableAllocator): Deleted.
(JSC::DemandExecutableAllocator::bytesAllocatedByAllAllocators): Deleted.
(JSC::DemandExecutableAllocator::bytesCommittedByAllocactors): Deleted.
(JSC::DemandExecutableAllocator::dumpProfileFromAllAllocators): Deleted.
(JSC::DemandExecutableAllocator::allocateNewSpace): Deleted.
(JSC::DemandExecutableAllocator::notifyNeedPage): Deleted.
(JSC::DemandExecutableAllocator::notifyPageIsFree): Deleted.
(JSC::DemandExecutableAllocator::allocators): Deleted.
(JSC::DemandExecutableAllocator::allocatorsMutex): Deleted.
- jit/ExecutableAllocator.h:
- jit/ExecutableAllocatorFixedVMPool.cpp: Removed.
- jit/JITStubRoutine.h:
(JSC::JITStubRoutine::canPerformRangeFilter):
(JSC::JITStubRoutine::filteringStartAddress):
(JSC::JITStubRoutine::filteringExtentSize):
Source/WTF:
- wtf/Platform.h:
- 1:01 AM Changeset in webkit [213127] by
-
- 2 edits in trunk/Source/WebKit2
Remove EFL leftover from WebPageProxy.messages.in
https://bugs.webkit.org/show_bug.cgi?id=168828
Reviewed by Gyuyoung Kim.
- UIProcess/WebPageProxy.messages.in:
- 12:30 AM Changeset in webkit [213126] by
-
- 8 edits3 adds in trunk
Main resource requests need cachePartition
https://bugs.webkit.org/show_bug.cgi?id=168806
Source/WebCore:
<rdar://30639764>
Reviewed by Brady Eidson.
Test: http/tests/security/credentials-main-resource.html
r211751 caused an unintended regression on pages whose main resource is protected
by basic authentication. We were not setting the cache partition for main resource
requests, and we use the cache partition now for credentials, so the credentials for
the main resource were not being put into a partition in the CredentialStorage that
would not be used for subresources of the page, whose requests had the correct partition
for the domain of the page. This caused users to have to enter their credentials twice,
once for the main resource and once for any subresources. This is fixed by using the
domain from the main resource request as the cache partition. Elsewhere the Document is
used to get the cache partition, but there is no Document yet when requesting the main resource.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
Set the cache partition for the main resource loads based on the SecurityOrigin of the
initial request if we are loading the main resource for a new top document. If the main resource
request is redirected, then we will still use the partition of the initial request because that is
what the user requested and that is where the user entered the credentials.
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedResourceRequest.cpp:
(WebCore::CachedResourceRequest::setDomainForCachePartition):
- loader/cache/CachedResourceRequest.h:
Source/WebKit2:
Reviewed by Brady Eidson.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::continueWillSendRequest):
LayoutTests:
Reviewed by Brady Eidson.
- http/tests/security/credentials-main-resource-expected.txt: Added.
- http/tests/security/credentials-main-resource.html: Added.
- http/tests/security/resources/credentials-main-resource.php: Added.
- 12:28 AM Changeset in webkit [213125] by
-
- 7 edits in trunk
REGRESSION: LayoutTest http/tests/security/credentials-iframes.html is failing on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=167967
Reviewed by Brady Eidson.
Source/WebCore:
XHR credentials have a persistence of CredentialPersistenceNone because we keep
them in the WebCore::CredentialStorage. We were storing them to CFNetwork's NSURLCredentialStorage
on iOS and then they were being given as the proposedCredential in
NetworkDataTaskCocoa::tryPasswordBasedAuthentication even though we set CredentialPersistenceNone.
This fixes http/tests/security/credentials-iframes.html
- platform/network/CredentialStorage.cpp:
(WebCore::CredentialStorage::set):
- platform/network/CredentialStorage.h:
- platform/network/cf/CredentialStorageCFNet.cpp:
(WebCore::CredentialStorage::saveToPersistentStorage): Deleted.
- platform/network/mac/CredentialStorageMac.mm:
(WebCore::CredentialStorage::saveToPersistentStorage): Deleted.
LayoutTests:
- platform/ios-simulator/TestExpectations: