Timeline
Jun 3, 2017:
- 6:54 PM Changeset in webkit [217764] by
-
- 10 edits2 adds in trunk
Implement DOMMatrix's fromFloat32Array / fromFloat64Array & toFloat32Array / toFloat64Array
https://bugs.webkit.org/show_bug.cgi?id=172898
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline web-platform-test now that more checks are passing.
- web-platform-tests/css/geometry-1/DOMMatrix-newobject-expected.txt:
Source/WebCore:
Implement DOMMatrix's fromFloat32Array / fromFloat64Array & toFloat32Array / toFloat64Array
as per:
Test: http/wpt/geometry/DOMMatrix-from-to-typed-arrays.html
- css/DOMMatrix.cpp:
(WebCore::DOMMatrix::fromFloat32Array):
(WebCore::DOMMatrix::fromFloat64Array):
- css/DOMMatrix.h:
- css/DOMMatrix.idl:
- css/DOMMatrixReadOnly.cpp:
(WebCore::DOMMatrixReadOnly::fromFloat32Array):
(WebCore::DOMMatrixReadOnly::fromFloat64Array):
(WebCore::DOMMatrixReadOnly::toFloat32Array):
(WebCore::DOMMatrixReadOnly::toFloat64Array):
- css/DOMMatrixReadOnly.h:
- css/DOMMatrixReadOnly.idl:
LayoutTests:
Add layout test coverage.
- http/wpt/geometry/DOMMatrix-from-to-typed-arrays-expected.txt: Added.
- http/wpt/geometry/DOMMatrix-from-to-typed-arrays.html: Added.
- 2:09 PM Changeset in webkit [217763] by
-
- 12 edits1 copy3 adds in trunk
Implement DOMPointReadOnly.matrixTransform()
https://bugs.webkit.org/show_bug.cgi?id=172896
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
New baselines.
- web-platform-tests/css/geometry-1/DOMPoint-002-expected.txt:
- web-platform-tests/css/geometry-1/historical-expected.txt:
Source/WebCore:
DOMPointReadOnly.matrixTransform() creates the matrix or throws, then uses
a new function in TransformationMatrix to map x,y,z,w through the matrix.
Test: http/wpt/geometry/DOMPoint-003.html
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/DOMMatrixReadOnly.h:
(WebCore::DOMMatrixReadOnly::transformationMatrix):
- dom/DOMPointReadOnly.cpp: Copied from Source/WebCore/dom/DOMPointReadOnly.idl.
(WebCore::DOMPointReadOnly::matrixTransform):
- dom/DOMPointReadOnly.h:
- dom/DOMPointReadOnly.idl:
- platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::TransformationMatrix::map4ComponentPoint):
- platform/graphics/transforms/TransformationMatrix.h:
LayoutTests:
DOMPoint-003.html should be upstreamed at some point.
- http/wpt/geometry/DOMPoint-003-expected.txt: Added.
- http/wpt/geometry/DOMPoint-003.html: Added.
- 11:07 AM Changeset in webkit [217762] by
-
- 4 edits in trunk/Source/WebCore
Cleanup arguments to preparePlatformFont() and fontWithFamily() in FontCacheCoreText.cpp
https://bugs.webkit.org/show_bug.cgi?id=172886
Reviewed by Simon Fraser.
The number of arguments is getting out of control.
No new tests because there is no behavior change.
- platform/graphics/FontCache.h:
- platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::preparePlatformFont):
(WebCore::fontWithFamily):
(WebCore::FontCache::createFontPlatformData):
(WebCore::FontCache::systemFallbackForCharacters):
- platform/graphics/mac/FontCacheMac.mm:
(WebCore::platformFontWithFamilySpecialCase):
- platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
- platform/spi/cocoa/CoreTextSPI.h:
- 10:58 AM Changeset in webkit [217761] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening
- platform/ios/TestExpectations: Update expectation for tests passing
- 9:31 AM Changeset in webkit [217760] by
-
- 9 edits4 adds in trunk
Script modules should be able to import data urls
https://bugs.webkit.org/show_bug.cgi?id=171594
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/html/semantics/scripting-1/the-script-element/data-url-expected.txt:
- web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-data-url-expected.txt:
- web-platform-tests/html/webappapis/scripting/processing-model-2/runtime-error-data-url-expected.txt:
Source/WebCore:
Tests: js/dom/classic-script-with-data-url.html
js/dom/modules/module-script-with-data-url.html
Script tag resources should have SameOriginDataURLFlag::Set to load data URLs
since script tags should treat data URLs as same origin.
- bindings/js/CachedScriptFetcher.cpp:
(WebCore::CachedScriptFetcher::requestScriptWithCache):
LayoutTests:
- http/tests/security/script-with-dataurl-expected.txt:
- http/tests/security/script-with-dataurl.html:
Now, the spec is changed and errors from data: scripts should not be muted.
https://github.com/whatwg/html/issues/1778
- js/dom/classic-script-with-data-url-expected.txt: Added.
- js/dom/classic-script-with-data-url.html: Added.
- js/dom/modules/module-script-with-data-url-expected.txt: Added.
- js/dom/modules/module-script-with-data-url.html: Added.
- 9:21 AM Changeset in webkit [217759] by
-
- 4 edits in trunk/Source
Sort the project file.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit2:
- WebKit2.xcodeproj/project.pbxproj:
- 9:11 AM Changeset in webkit [217758] by
-
- 3 edits in trunk/Tools
webkitpy: Add contextmanager to disable logging for a block
https://bugs.webkit.org/show_bug.cgi?id=172876
Reviewed by Daniel Bates.
Add a context manager which will use an OutputCapture object to capture logging
in a block and hold it in a variable.
- Scripts/webkitpy/common/system/outputcapture.py:
(OutputCaptureScope):
(OutputCaptureScope.init): Construct with OutputCapture object.
(OutputCaptureScope.enter): Begin capturing output.
(OutputCaptureScope.exit): Restore output and save captured output to a variable.
output and retain the resulting log.
- Scripts/webkitpy/common/system/outputcapture_unittest.py:
(OutputCaptureTest.test_output_capture_scope): Added.
- 8:26 AM Changeset in webkit [217757] by
-
- 3 edits in trunk/LayoutTests
Move css3/flexbox/image-percent-max-height.html failure expectation.
https://bugs.webkit.org/show_bug.cgi?id=126898
Unreviewed test gardening
css3/flexbox/image-percent-max-height.html fails on iOS-simulator,
but passes on device.
- platform/ios-simulator/TestExpectations:
- platform/ios/TestExpectations:
- 6:36 AM Changeset in webkit [217756] by
-
- 2 edits in trunk/Source/JavaScriptCore
[ARM] Unreviewed buildfix after r217711.
- assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::xor32):
- 4:24 AM Changeset in webkit [217755] by
-
- 4 edits1 add in trunk
ASSERTION FAILED: "We should only declare a function as a lexically scoped variable in scopes where var declarations aren't allowed. ..." for function redeclaration with async function module export
https://bugs.webkit.org/show_bug.cgi?id=168844
Reviewed by Saam Barati.
JSTests:
- modules/async-function-export.js: Added.
(f):
(export.async.f):
Source/JavaScriptCore:
As the same to the exported function declaration, we should set statementDepth = 1 for exported async function declaration.
- parser/Parser.cpp:
(JSC::DepthManager::DepthManager):
(JSC::Parser<LexerType>::parseExportDeclaration):
- parser/Parser.h:
(JSC::Parser::DepthManager::DepthManager): Deleted.
(JSC::Parser::DepthManager::~DepthManager): Deleted.
- 3:29 AM Changeset in webkit [217754] by
-
- 7 edits1 add in trunk/Source/WebCore
[GCrypt] Gather SUBTLE_CRYPTO utility functions in a single header
https://bugs.webkit.org/show_bug.cgi?id=172870
Reviewed by Jiewen Tan.
Gather the helper functions used across different source files
for libgcrypt-backed SUBTLE_CRYPTO implementations in a single
header file.
- crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp:
(WebCore::hashCryptoDigestAlgorithm): Deleted.
(WebCore::hashAlgorithmName): Deleted.
(WebCore::mpiData): Deleted.
- crypto/gcrypt/CryptoAlgorithmHKDFGCrypt.cpp:
(WebCore::gcryptDeriveBits):
(WebCore::macAlgorithmForHashFunction): Deleted.
- crypto/gcrypt/CryptoAlgorithmPBKDF2GCrypt.cpp:
(WebCore::gcryptDeriveBits):
- crypto/gcrypt/CryptoAlgorithmRSAES_PKCS1_v1_5GCrypt.cpp:
(WebCore::mpiData): Deleted.
- crypto/gcrypt/CryptoAlgorithmRSASSA_PKCS1_v1_5GCrypt.cpp:
(WebCore::hashCryptoDigestAlgorithm): Deleted.
(WebCore::hashAlgorithmName): Deleted.
(WebCore::mpiData): Deleted.
- crypto/gcrypt/CryptoAlgorithmRSA_OAEPGCrypt.cpp:
(WebCore::hashAlgorithmName): Deleted.
(WebCore::mpiData): Deleted.
- crypto/gcrypt/GCryptUtilities.h: Added.
(WebCore::hashAlgorithmName):
(WebCore::hmacAlgorithm):
(WebCore::digestAlgorithm):
(WebCore::hashCryptoDigestAlgorithm):
(WebCore::mpiData):
- 3:27 AM Changeset in webkit [217753] by
-
- 2 edits in trunk/Source/WebCore
[GCrypt] Fix PK verification for ECDSA
https://bugs.webkit.org/show_bug.cgi?id=172857
Reviewed by Michael Catanzaro.
No new tests -- covered by existing tests.
- crypto/gcrypt/CryptoAlgorithmECDSAGCrypt.cpp:
(WebCore::gcryptVerify): Return
trueif the verification succeeded orfalse
in any other case, avoiding spilling information about the exact cause of
verification failure.
- 1:07 AM Changeset in webkit [217752] by
-
- 3 edits in trunk/LayoutTests
http/tests/cache/disk-cache/shattered-deduplication.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=172868
<rdar://problem/31249379>
Reviewed by Antti Koivisto.
http/tests/cache/disk-cache/shattered-deduplication.html was flaky due to PDF banner
fade-in / fade-out animation.
<rdar://problem/31249379> is fixed for me with the proposed changes.
- http/tests/cache/disk-cache/shattered-deduplication-expected.html:
- Wait 1 second before calling notifyDone() to give the PDF as much time to render as
the test page.
- Reduce frame height to 30 to not have to worry about the PDF tool banner being visible or not (as it fades in and out). 30 is still enough to see the color and confirm the test is passing.
- http/tests/cache/disk-cache/shattered-deduplication.html:
- Reduce frame height to 30 to not have to worry about the PDF tool banner being visible or not (as it fades in and out). 30 is still enough to see the color and confirm the test is passing.
Jun 2, 2017:
- 9:40 PM Changeset in webkit [217751] by
-
- 4 edits in trunk
Cleanup FrameView::autoSizeIfEnabled.
https://bugs.webkit.org/show_bug.cgi?id=172889
<rdar://problem/32550783>
Reviewed by Tim Horton.
Source/WebCore:
This patch ensures that we always have a clean tree (and a valid and current document size) when
setting m_autoSizeContentSize.
- page/FrameView.cpp:
(WebCore::FrameView::autoSizeIfEnabled):
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:
(-[AutoLayoutWKWebView load:withWidth:expectingContentSize:resettingWidth:]): progression.
(TEST):
- 8:44 PM Changeset in webkit [217750] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Don't create NavigationSidebarPanel classes until they are needed by a Tab
https://bugs.webkit.org/show_bug.cgi?id=172621
Reviewed by Timothy Hatcher.
- UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView):
(WebInspector.ContentBrowserTabContentView.prototype.shown):
- UserInterface/Views/TabContentView.js:
(WebInspector.TabContentView):
(WebInspector.TabContentView.prototype.get navigationSidebarPanel):
- UserInterface/Views/NetworkTabContentView.js:
(WebInspector.NetworkTabContentView.prototype.canShowRepresentedObject):
- UserInterface/Views/SearchTabContentView.js:
(WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
Use public getter for navigationSidebarPanel.
- UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype.initialLayout): Added.
Load information about the current frame once the sidebar panel is displayed.
- 8:37 PM Changeset in webkit [217749] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: Use initialLayout for DetailsSidebarPanel classes
https://bugs.webkit.org/show_bug.cgi?id=172381
Reviewed by Timothy Hatcher.
- UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
(WebInspector.ApplicationCacheDetailsSidebarPanel):
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.initialLayout): Added.
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.layout):
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype.initialLayout): Added.
(WebInspector.DOMNodeDetailsSidebarPanel.prototype.layout):
- UserInterface/Views/IndexedDatabaseDetailsSidebarPanel.js:
(WebInspector.IndexedDatabaseDetailsSidebarPanel):
(WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.initialLayout): Added.
(WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.layout):
- UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype.initialLayout): Added.
(WebInspector.LayerTreeDetailsSidebarPanel.prototype.layout):
- UserInterface/Views/ProbeDetailsSidebarPanel.js:
(WebInspector.ProbeDetailsSidebarPanel):
(WebInspector.ProbeDetailsSidebarPanel.prototype.initialLayout): Added.
- UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel):
(WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
(WebInspector.ResourceDetailsSidebarPanel.prototype.initialLayout): Added.
(WebInspector.ResourceDetailsSidebarPanel.prototype.layout):
(WebInspector.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
- 7:27 PM Changeset in webkit [217748] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r216212): RenderReplaced::paint() should not save and restore the context unless it has to
https://bugs.webkit.org/show_bug.cgi?id=172883
<rdar://problem/32548614>
Reviewed by Tim Horton.
After implementing dragged content fading, RenderReplace::paint is now always guarded by unnecessary calls to
GraphicsContext::save and GraphicsContext::restore, even when there is no dragged content being rendered. To
address this, we initialize our GraphicsContextStateSaver with saveAndRestore = false, indicating that we don't
want to immediately try and save the context.
If we are in a dragged content range, we will then call GraphicsContextStateSaver::save, which saves the
graphics context and also causes the GraphicsContextStateSaver to eventually try and restore() when it is
destroyed. Otherwise, in the common codepath where the renderer is not in a dragged content range, the
constructor and destructor of GraphicsContextStateSaver will be no-ops with respect to saving and restoring the
graphics context.
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
- 6:35 PM Changeset in webkit [217747] by
-
- 1 edit4 adds in trunk/JSTests
ES2015 modules - Export default function hoisting
https://bugs.webkit.org/show_bug.cgi?id=170174
Reviewed by Saam Barati.
This issue itself is solved by fixing function declaration hoisting rules.
This patch just adds the specific test to modules tests to ensure the bug
is fixed.
- modules/export-default-function-hoisting.js: Added.
- modules/export-default-function-hoisting/cappuccino.js: Added.
(import.drinkCocoa.from.string_appeared_here.export.default.drinkCappuccino):
- modules/export-default-function-hoisting/cocoa.js: Added.
(export.default.drinkCocoa):
- 6:18 PM Changeset in webkit [217746] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: The CodeMirror instance in the ConsolePrompt does't need to be refreshed each time it is shown
https://bugs.webkit.org/show_bug.cgi?id=172608
Reviewed by Timothy Hatcher.
- UserInterface/Views/ConsolePrompt.js:
(WebInspector.ConsolePrompt.prototype.shown): Deleted.
- UserInterface/Views/DatabaseContentView.js:
(WebInspector.DatabaseContentView.prototype.shown): Deleted.
- UserInterface/Views/QuickConsole.js:
(WebInspector.QuickConsole):
- 6:09 PM Changeset in webkit [217745] by
-
- 3 edits in trunk/Source/JavaScriptCore
Defer installing mach breakpoint handler until watchdog is actually called
https://bugs.webkit.org/show_bug.cgi?id=172885
Reviewed by Saam Barati.
Eagerly installing the mach breakpoint handler causes issues with Xcode GUI debugging.
This hides the issue, so it won't occur as often.
- runtime/VMTraps.cpp:
(JSC::VMTraps::SignalSender::send):
(JSC::VMTraps::VMTraps): Deleted.
- runtime/VMTraps.h:
- 4:58 PM Changeset in webkit [217744] by
-
- 5 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: Attributes table in Node Details Sidebar should have editable keys and values
https://bugs.webkit.org/show_bug.cgi?id=167076
<rdar://problem/30033629>
Reviewed by Timothy Hatcher.
- UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAttributes):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._attributeNodeValueChanged):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._createAttributesDataGrid): Deleted.
Rework creation of the attributes DataGrid so that it is only created once and cleared for
new content. Nodes in the DataGrid are now EditableDataGridNode instances so that attribute
names and values can be changed from within the sidebar. The DataGrid is also sorted based
on attribute name, to make finding attributes easier.
- UserInterface/Views/DataGrid.css:
(.data-grid tr.editable .cell-content > input):
(body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
- UserInterface/Views/DetailsSection.css:
(.details-section > .content .data-grid tr:not(.editable) td.value-column):
(.details-section > .content .data-grid tr:not(.editable) td.value-column > div):
(.details-section > .content .data-grid td.value-column): Deleted.
(.details-section > .content .data-grid td.value-column > div): Deleted.
- UserInterface/Main.html:
- UserInterface/Views/EditableDataGridNode.js: Added.
(WebInspector.EditableDataGridNode):
(WebInspector.EditableDataGridNode.prototype.get element):
(WebInspector.EditableDataGridNode.prototype.createCellContent):
(WebInspector.EditableDataGridNode.prototype._handleKeyPress):
(WebInspector.EditableDataGridNode.prototype._handleBlur):
(WebInspector.EditableDataGridNode.prototype._notifyInputElementValueChanged):
Special type of DataGridNode that wraps the content of each cell in an <input>.
- 4:48 PM Changeset in webkit [217743] by
-
- 8 edits in trunk
ResourceLoadStatistics are not using unique paths during test runs
https://bugs.webkit.org/show_bug.cgi?id=172861
<rdar://problem/32442251>
Reviewed by Darin Adler.
Source/WebKit2:
Add WKContextConfigurationSetResourceLoadStatisticsDirectory() C API to allow
WKTR to use a custom directory.
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration):
(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationCopyResourceLoadStatisticsDirectory):
(WKContextConfigurationSetResourceLoadStatisticsDirectory):
- UIProcess/API/C/WKContextConfigurationRef.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::legacyWebsiteDataStoreConfiguration):
Tools:
Make sure WebKitTestRunner sets a temporary path for saving resource
load statistics.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::generateContextConfiguration):
- 4:40 PM Changeset in webkit [217742] by
-
- 11 edits4 adds in trunk
REGRESSION(r213464): [iOS] Fonts get too bold when the "Bold Text" accessibility setting is enabled
https://bugs.webkit.org/show_bug.cgi?id=172737
Source/WebCore:
Reviewed by Simon Fraser.
Revert the part of r213464 which changed how we calculate the weights of system fonts.
Add an InternalSetting to trigger our mock of the accessbility "Bold Text" setting. We can't
use the real setting, so instead we just ask for bold fonts instead of regular fonts when this
setting is true.
Tests: fast/text/accessibility-bold-system-font.html
fast/text/accessibility-bold-system-font-2.html
- platform/graphics/FontCache.h:
(WebCore::FontCache::shouldMockBoldSystemFontForAccessibility):
(WebCore::FontCache::setShouldMockBoldSystemFontForAccessibility):
- platform/graphics/ios/FontCacheIOS.mm:
(WebCore::platformFontWithFamilySpecialCase):
- rendering/RenderTheme.h:
(WebCore::RenderTheme::shouldMockBoldSystemFontForAccessibility):
(WebCore::RenderTheme::setShouldMockBoldSystemFontForAccessibility):
- rendering/RenderThemeIOS.h:
- rendering/RenderThemeIOS.mm:
(WebCore::cssWeightOfSystemFont):
(WebCore::RenderThemeIOS::updateCachedSystemFontDescription):
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setShouldMockBoldSystemFontForAccessibility):
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
LayoutTests:
<rdar://problem/31608236>
Reviewed by Simon Fraser.
- fast/text/accessibility-bold-system-font-2-expected.html: Added.
- fast/text/accessibility-bold-system-font-2.html: Added.
- fast/text/accessibility-bold-system-font-expected.txt: Added.
- fast/text/accessibility-bold-system-font.html: Added.
- platform/mac/TestExpectations:
- 4:11 PM Changeset in webkit [217741] by
-
- 2 edits in trunk/LayoutTests
Mark webrtc/captureCanvas-webrtc.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=170870
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 4:10 PM Changeset in webkit [217740] by
-
- 3 edits in trunk/LayoutTests
Move compositing/overflow/dynamic-composited-scrolling-status.html failure expectation.
https://bugs.webkit.org/show_bug.cgi?id=152439
Unreviewed test gardening
compositing/overflow/dynamic-composited-scrolling-status.html fails on iOS-simulator WK2,
but passes on device.
- platform/ios-simulator-wk2/TestExpectations:
- platform/ios-wk2/TestExpectations:
- 4:07 PM Changeset in webkit [217739] by
-
- 3 edits in trunk/LayoutTests
Mark webrtc/audio-replace-track.html as flaky on iOS and remove Timeout expectation for macOS.
https://bugs.webkit.org/show_bug.cgi?id=171895
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 4:07 PM Changeset in webkit [217738] by
-
- 7 edits in trunk
Prevent scheme handlers from handling all built-in URL schemes.
<rdar://problem/32404790> and https://bugs.webkit.org/show_bug.cgi?id=172869
Reviewed by Andy Estes.
Source/WebCore:
Covered by API test.
This patch refactors SchemeRegistry to keep a base, constant set of each of the special
URL schemes that WebKit knows about by default.
It then exposes that list through a new method to support WK2 API.
- platform/SchemeRegistry.cpp:
(WebCore::allBuiltinSchemes):
(WebCore::builtinLocalURLSchemes):
(WebCore::localURLSchemes):
(WebCore::builtinSecureSchemes):
(WebCore::secureSchemes):
(WebCore::builtinSchemesWithUniqueOrigins):
(WebCore::schemesWithUniqueOrigins):
(WebCore::builtinEmptyDocumentSchemes):
(WebCore::emptyDocumentSchemes):
(WebCore::builtinCanDisplayOnlyIfCanRequestSchemes):
(WebCore::canDisplayOnlyIfCanRequestSchemes):
(WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
(WebCore::builtinCORSEnabledSchemes):
(WebCore::CORSEnabledSchemes):
(WebCore::SchemeRegistry::isBuiltinScheme):
- platform/SchemeRegistry.h:
Source/WebKit2:
- UIProcess/API/Cocoa/WKWebView.mm:
(+[WKWebView handlesURLScheme:]): Check against WebCore's new master list of URL schemes.
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
- 4:06 PM Changeset in webkit [217737] by
-
- 31 edits2 copies2 adds in trunk/Source
All scroll peformance logging should happen in the UI process
https://bugs.webkit.org/show_bug.cgi?id=172874
rdar://problem/24474830
Reviewed by Tim Horton.
Printing to stdout from the WebProcess doesn't show up anywhere in non-development builds,
so we have to log from the UI process.
Achieve this by adding a PerformanceLoggingClient to Page which forwards messages to
WebPageProxy, which prints them with the same format they had before. Some plumbing through
PlatformCALayerClient and GraphicsLayerClient is required to get messages from TileControllers
through to something that can get to Page.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
- page/Page.h:
(WebCore::Page::performanceLoggingClient):
- page/PageConfiguration.cpp:
- page/PageConfiguration.h:
- page/PerformanceLoggingClient.cpp: Added.
(WebCore::PerformanceLoggingClient::synchronousScrollingReasonsAsString):
- page/PerformanceLoggingClient.h: Added.
(WebCore::PerformanceLoggingClient::~PerformanceLoggingClient):
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::reportExposedUnfilledArea):
(WebCore::AsyncScrollingCoordinator::reportSynchronousScrollingReasonsChanged):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::reportSynchronousScrollingReasonsChanged):
(WebCore::ScrollingTree::reportExposedUnfilledArea):
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::reportSynchronousScrollingReasonsChanged):
(WebCore::ThreadedScrollingTree::reportExposedUnfilledArea):
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollPosition):
(WebCore::ScrollingTreeFrameScrollingNodeMac::exposedUnfilledArea):
(WebCore::ScrollingTreeFrameScrollingNodeMac::logExposedUnfilledArea): Deleted.
(WebCore::logThreadedScrollingMode): Deleted.
- platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::logFilledVisibleFreshTile):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::platformCALayerLogFilledVisibleFreshTile):
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/ca/PlatformCALayerClient.h:
(WebCore::PlatformCALayerClient::platformCALayerLogFilledVisibleFreshTile):
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::logFilledVisibleFreshTile):
- platform/graphics/ca/TileController.h:
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::platformCALayerPaintContents):
- platform/graphics/ca/TileGrid.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::logFilledVisibleFreshTile):
- rendering/RenderLayerBacking.h:
Source/WebKit2:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::logScrollingEvent):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/WebCoreSupport/WebPerformanceLoggingClient.cpp: Added.
(WebKit::WebPerformanceLoggingClient::WebPerformanceLoggingClient):
(WebKit::WebPerformanceLoggingClient::logScrollingEvent):
- WebProcess/WebCoreSupport/WebPerformanceLoggingClient.h: Added.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_cpuLimit):
- 3:20 PM Changeset in webkit [217736] by
-
- 8 edits in trunk
[JSCOnly] Build static jsc.exe on Windows
https://bugs.webkit.org/show_bug.cgi?id=172833
Patch by Stephan Szabo <stephan.szabo@am.sony.com> on 2017-06-02
Reviewed by Konstantin Tokarev.
.:
- Source/cmake/OptionsJSCOnly.cmake:
Source/WTF:
- wtf/PlatformJSCOnly.cmake:
Tools:
- CMakeLists.txt:
- Scripts/build-jsc:
- 3:12 PM Changeset in webkit [217735] by
-
- 2 edits in trunk/Tools
Disable ViewportSizeForViewportUnits tests on iOS.
https://bugs.webkit.org/show_bug.cgi?id=172872
Reviewed by Tim Horton.
- TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm:
- 2:16 PM Changeset in webkit [217734] by
-
- 9 edits2 adds in trunk
[MediaStream iOS] Cleanup video muting/unmuting when tab visibility changes
https://bugs.webkit.org/show_bug.cgi?id=172858
Reviewed by Youenn Fablet.
Source/WebCore:
Test: platform/ios/mediastream/video-muted-in-background-tab.html
- dom/Document.cpp:
(WebCore::Document::visibilityStateChanged): Call notifyMediaCaptureOfVisibilityChanged.
(WebCore::Document::notifyMediaCaptureOfVisibilityChanged): Renamed from notifyVisibilityChangedToMediaCapture.
Set m_videoCaptureMutedForVisibilityChange when capture is muted because the document is hidden,
and clear it when visibility changes when capture is disabled. Don't unmute when the document
becomes visible unless this m_videoCaptureMutedForVisibilityChange is still true.
(WebCore::Document::notifyVisibilityChangedToMediaCapture): Deleted.
- dom/Document.h:
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/RealtimeMediaSourceCenter.cpp:
(WebCore::RealtimeMediaSourceCenter::setVideoCaptureMutedForPageVisibility): Renamed from
setVisibility.
(WebCore::RealtimeMediaSourceCenter::setVisibility): Deleted.
- platform/mediastream/RealtimeMediaSourceCenter.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSourceFactory::setVideoCaptureMutedForPageVisibility): Ditto.
(WebCore::AVVideoCaptureSourceFactory::setVisibility): Deleted.
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSourceFactory::setVideoCaptureMutedForPageVisibility): Ditto.
(WebCore::MockRealtimeVideoSourceFactory::setVisibility): Deleted.
LayoutTests:
- platform/ios/mediastream/video-muted-in-background-tab-expected.txt: Added.
- platform/ios/mediastream/video-muted-in-background-tab.html: Added.
- 1:57 PM Changeset in webkit [217733] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: Existing query in Search tab doesn't perform search on reload
https://bugs.webkit.org/show_bug.cgi?id=172663
Reviewed by Timothy Hatcher.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/SearchSidebarPanel.css:
(.sidebar > .panel.navigation.search.changed > .banner):
(.sidebar > .panel.navigation.search.changed > .banner > a):
(.sidebar > .panel.navigation.search.changed > :matches(.content, .empty-content-placeholder)):
- UserInterface/Views/SearchSidebarPanel.js:
(WebInspector.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
(WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange):
(WebInspector.SearchSidebarPanel.prototype._contentChanged):
Listen for any "resource added" event, and show the content changed banner when one occurs.
- 1:48 PM Changeset in webkit [217732] by
-
- 3 edits in trunk/LayoutTests
Moved test expectation for http/tests/preload/viewport/meta-viewport-link-headers.php to correct file.
https://bugs.webkit.org/show_bug.cgi?id=172518
Unreviewed test gardening
- platform/ios-simulator/TestExpectations:
- platform/ios/TestExpectations:
- 12:57 PM Changeset in webkit [217731] by
-
- 3 edits in trunk/LayoutTests
REGRESSION: LayoutTest fast/scrolling/arrow-key-scroll-in-rtl-document.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=161549
<rdar://problem/28213429>
Reviewed by Simon Fraser.
- fast/scrolling/arrow-key-scroll-in-rtl-document.html:
Call eventSender.callAfterScrollingCompletes() in the next event loop iteration to
address the flakiness.
- platform/mac-wk2/TestExpectations:
Unskip test.
- 12:40 PM Changeset in webkit [217730] by
-
- 6 edits5 adds in trunk
[Mac] Include frames in the scrolling tree when ScrollingTreeIncludesFrames=true
https://bugs.webkit.org/show_bug.cgi?id=172825
Patch by Frederic Wang <fwang@igalia.com> on 2017-06-02
Reviewed by Simon Fraser.
Source/WebCore:
This commit generalizes RenderLayerCompositor/ScrollingCoordinator so that it handles the
case of non-main frames. When ScrollingTreeIncludesFrames=true, all the frames will appear
in the scrolling tree on Mac WK2.
Test: fast/scrolling/scrolling-tree-includes-frame.html
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView): Do not to restrict to the
main frame.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking): Do not to restrict to the main frame.
(WebCore::RenderLayerCompositor::useCoordinatedScrollingForLayer): Make this function a class
member so it can call hasCoordinatedScrolling and no longer needs a RenderView parameter.
(WebCore::RenderLayerCompositor::updateScrollCoordinatedStatus): Do not to restrict to the
main frame.
- rendering/RenderLayerCompositor.h: Introduce useCoordinatedScrollingForLayer.
LayoutTests:
Add a new test to check whether a non-main frame appears in the scrolling tree when
ScrollingTreeIncludesFrames=true. For now this is only happens for Mac WK2. Also update
the iOS WK2 reference for scrolling-iframe-expected.html
- fast/scrolling/scrolling-tree-includes-frame-expected.txt: Added.
- fast/scrolling/scrolling-tree-includes-frame.html: Added.
- platform/ios-simulator/fast/scrolling/scrolling-tree-includes-frame-expected.txt: Added.
- platform/ios-wk2/compositing/iframes/scrolling-iframe-expected.txt: Update reference.
- platform/mac-wk1/fast/scrolling/scrolling-tree-includes-frame-expected.txt: Added.
- 12:15 PM Changeset in webkit [217729] by
-
- 2 edits in trunk/Source/WebKit2
REGRESSION (r206386): Xactimate Website Crashes @ com.apple.WebKit: WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant + 255
https://bugs.webkit.org/show_bug.cgi?id=172846
<rdar://problem/31093005>
Reviewed by Mark Lam.
Follow-up to r217695 to deal with exceptions potentially thrown by
NPRuntimeObjectMap::convertJSValueToNPVariant() as well.
- WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::invoke):
- 12:04 PM Changeset in webkit [217728] by
-
- 6 edits in trunk/Source/WebKit2
Add abilility to specify presentingApplicationPID for a WebProcessPool.
https://bugs.webkit.org/show_bug.cgi?id=172839
rdar://problem/32247170
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-06-02
Reviewed by Tim Horton.
Expose presentingApplicationPID through WebProcessPoolConfiguration.
This allows rehosted WebViews to specify the hosting application.
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration setPresentingApplicationPID:]):
(-[_WKProcessPoolConfiguration presentingApplicationPID]):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::createNewWebProcess):
- 12:04 PM Changeset in webkit [217727] by
-
- 2 edits in trunk/Source/WebCore
[WebCore] DragImageRef should correspond to USE(CAIRO)
https://bugs.webkit.org/show_bug.cgi?id=172863
Patch by Don Olmstead <don.olmstead@am.sony.com> on 2017-06-02
Reviewed by Carlos Alberto Lopez Perez.
No new tests. No change in behavior.
- platform/DragImage.h:
- 11:42 AM Changeset in webkit [217726] by
-
- 6 edits7 adds in trunk
[Mac] Use compositing for frames when ScrollingTreeIncludesFrames=true
https://bugs.webkit.org/show_bug.cgi?id=172851
Patch by Frederic Wang <fwang@igalia.com> on 2017-06-02
Reviewed by Simon Fraser.
Source/WebCore:
When fast frame scrolling is supported on mac (bug 171667), scrollable frames will require
special composited layer. This commit enables that on mac but only when
ScrollingTreeIncludesFrames=true, so that the default behavior is unchanged.
Test: compositing/iframes/compositing-for-scrollable-iframe.html
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame): Do not enable frame
compositing when ScrollingTreeIncludesFrames=false.
Rename ScrollableInnerFrameTrigger to ScrollableNonMainFrameTrigger.
- page/ChromeClient.h: Rename ScrollableInnerFrameTrigger.
Source/WebKit2:
When fast frame scrolling is supported on mac (bug 171667), scrollable frames will require
special composited layer. This commit enables that on mac but only when
ScrollingTreeIncludesFrames=true, so that the default behavior is unchanged.
- WebProcess/WebCoreSupport/WebChromeClient.h: Make scrollable inner frame trigger
compositing on Mac by default. This is ignored on mac when ScrollingTreeIncludesFrames=false.
Rename ScrollableInnerFrameTrigger to ScrollableNonMainFrameTrigger.
LayoutTests:
This commit adds a test to check whether scrollable iframes require a special composited
layer when ScrollingTreeIncludesFrames=true. This is currently only done on Mac WK2.
- compositing/iframes/compositing-for-scrollable-iframe.html: Added. This is a basic test
printing the layer tree of a page with an iframe.
- platform/ios-simulator/compositing/iframes/compositing-for-scrollable-iframe-expected.txt: Added.
- platform/mac/compositing/iframes/compositing-for-scrollable-iframe-expected.txt: Added.
- platform/mac-wk1/compositing/iframes/compositing-for-scrollable-iframe-expected.txt: Added.
- 11:38 AM Changeset in webkit [217725] by
-
- 13 edits1 add in trunk
Allow clients to override viewport size for CSS viewport units.
https://bugs.webkit.org/show_bug.cgi?id=172838
<rdar://problem/32523441>
Reviewed by Tim Horton.
Source/WebKit2:
This enables auto-sizing clients to ensure that styles relative to the viewport are
resolved to a set value (presumably the size of the container) as opposed to the preferred
document size (which is set as the FrameView size).
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _viewportSizeForCSSViewportUnits]):
(-[WKWebView _setViewportSizeForCSSViewportUnits:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setViewportSizeForCSSViewportUnits):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::viewportSizeForCSSViewportUnits):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_cpuLimit):
(WebKit::WebPage::setViewportSizeForCSSViewportUnits):
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::viewportSizeForCSSViewportUnits):
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm: Added.
(TEST):
- 11:20 AM Changeset in webkit [217724] by
-
- 20 edits in trunk
Get <chrono> out of StdLibExtras.h
https://bugs.webkit.org/show_bug.cgi?id=172744
Reviewed by Zalan Bujtas.
Source/WebCore:
Only bring in <chrono> and namespace std::literals::chrono_literals when necessary.
- fileapi/FileReader.cpp:
- inspector/InspectorOverlay.cpp:
- loader/CrossOriginPreflightResultCache.cpp:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::freshnessLifetime):
- page/ResourceUsageThread.cpp:
(WebCore::ResourceUsageThread::threadBody):
- page/cocoa/MemoryReleaseCocoa.mm:
(WebCore::jettisonExpensiveObjectsOnTopLevelNavigation):
- platform/network/CacheValidation.cpp:
(WebCore::computeFreshnessLifetimeForHTTPFamily):
- platform/network/CacheValidation.h:
Source/WebKit2:
Only bring in <chrono> and namespace std::literals::chrono_literals when necessary.
- NetworkProcess/cache/NetworkCache.cpp:
- NetworkProcess/cache/NetworkCacheFileSystem.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::computeRecordWorth):
- Shared/mac/RemoteLayerBackingStoreCollection.mm:
- WebProcess/Cookies/WebCookieManager.h:
Source/WTF:
We hates std::chrono. Don't include it everywhere to discourage use.
- wtf/StdLibExtras.h:
Tools:
- TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
- 11:14 AM Changeset in webkit [217723] by
-
- 12 edits2 adds in trunk
[Cocoa] Add a "supportedCountries" property to ApplePayPaymentRequest
https://bugs.webkit.org/show_bug.cgi?id=172832
<rdar://problem/30735544>
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/tests/ssl/applepay/ApplePaySessionV3.html
- Modules/applepay/ApplePayPaymentRequest.h:
- Modules/applepay/ApplePayPaymentRequest.idl:
- Modules/applepay/ApplePaySession.cpp:
(WebCore::convertAndValidate):
- Modules/applepay/PaymentRequest.h:
(WebCore::PaymentRequest::supportedCountries):
(WebCore::PaymentRequest::setSupportedCountries):
- Modules/applepay/PaymentRequestValidator.cpp:
(WebCore::PaymentRequestValidator::validate):
- platform/spi/cocoa/PassKitSPI.h:
Source/WebKit2:
- Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<PaymentRequest>::encode):
(IPC::ArgumentCoder<PaymentRequest>::decode):
- UIProcess/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::toNSSet):
(WebKit::toPKPaymentRequest):
LayoutTests:
- http/tests/ssl/applepay/ApplePaySessionV3-expected.txt: Added.
- http/tests/ssl/applepay/ApplePaySessionV3.html: Added.
- platform/mac-wk2/TestExpectations:
- 10:58 AM Changeset in webkit [217722] by
-
- 7 edits in trunk
Atomics.load and Atomics.store need to be fully fenced
https://bugs.webkit.org/show_bug.cgi?id=172844
Reviewed by Keith Miller.
Source/JavaScriptCore:
Implement fully fenced loads and stores in FTL using AtomicXchgAdd(0, ptr) for the load and
AtomicXchg(value, ptr) for the store.
DFG needed no changes because it implements all atomics using a CAS loop.
AtomicsObject.cpp now uses new Atomic<> API for fully fences loads and stores.
Prior to this change, we used half fences (acquire/release) for atomic loads and stores. This
is not correct according to my current understanding of the SAB memory model, which requires
that atomic operations are SC with respect to everything not just other atomics.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite):
- ftl/FTLOutput.cpp:
(JSC::FTL::Output::atomicWeakCAS):
- ftl/FTLOutput.h:
- runtime/AtomicsObject.cpp:
Source/WTF:
Add loadFullyFenced and storeFullyFenced to Atomic<>.
- wtf/Atomics.h:
(WTF::Atomic::loadFullyFenced):
(WTF::Atomic::storeRelaxed):
(WTF::Atomic::storeFullyFenced):
(WTF::atomicLoadFullyFenced):
(WTF::atomicStoreFullyFenced):
Websites/webkit.org:
Update documentation to say that the canonical way to do fully fenced loads and stores is
AtomicXchgAdd(0, ptr) and AtomicXchg(value, ptr), respectively.
- docs/b3/intermediate-representation.html:
- 10:54 AM Changeset in webkit [217721] by
-
- 11 edits3 adds in trunk
Web Inspector: Should see active Web Sockets when opening Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=172312
Reviewed by Joseph Pecoraro.
Source/WebCore:
Test: http/tests/websocket/tests/hybi/inspector/before-load.html
- Modules/websockets/WebSocket.h:
- Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::WebSocket):
(WebCore::WebSocket::~WebSocket):
(WebCore::WebSocket::allActiveWebSockets):
(WebCore::WebSocket::allActiveWebSocketsMutex):
(WebCore::WebSocket::channel):
(WebCore::WebSocket::eventTargetInterface):
Add a static set of all WebSocket objects and provide getters to access web socket metadata.
- Modules/websockets/ThreadableWebSocketChannel.h:
(WebCore::ThreadableWebSocketChannel::isWebSocketChannel):
- Modules/websockets/WebSocketChannel.h:
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::isWebSocketChannel):
(WebCore::WebSocketChannel::identifier):
(WebCore::WebSocketChannel::clientHandshakeRequest):
(WebCore::WebSocketChannel::serverHandshakeResponse):
(WebCore::WebSocketChannel::handshakeMode):
(WebCore::WebSocketChannel::isType):
Provide getters to access web socket metadata.
- inspector/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::enable):
Loops over the static set of all WebSocket objects and sends events for each to the frontend.
Source/WebInspectorUI:
- UserInterface/Controllers/FrameResourceManager.js:
(WebInspector.FrameResourceManager.prototype.webSocketHandshakeResponseReceived):
(WebInspector.FrameResourceManager.prototype.initialize): Removed.
Rework order of agent enable calls to ensure that the main frame is initialized before any
websocket events are dispatched.
- UserInterface/Models/WebSocketResource.js:
(WebInspector.WebSocketResource.ReadyState):
Change symbol strings in enum for better printing in tests.
LayoutTests:
Test that WebSockets created before the inspector loads are also tracked.
- http/tests/websocket/tests/hybi/inspector/before-load-expected.txt: Added.
- http/tests/websocket/tests/hybi/inspector/before-load.html: Added.
- http/tests/websocket/tests/hybi/inspector/before-load_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
- 10:01 AM Changeset in webkit [217720] by
-
- 2 edits in trunk/Source/WebKit2
[Xcode] Header postprocessing should be based on the target OS version rather than the builder OS version
https://bugs.webkit.org/show_bug.cgi?id=172860
Reviewed by Anders Carlsson.
- Configurations/WebKit.xcconfig: Use TARGET_MAC_OS_X_VERSION_MAJOR
- 9:47 AM Changeset in webkit [217719] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, fix linking errors on iOS after r217712.
- platform/OrientationNotifer.h:
(WebCore::OrientationNotifier::Observer::setNotifier):
- 9:26 AM Changeset in webkit [217718] by
-
- 2 edits in tags/Safari-604.1.23.0.5/Source/WebCore
Build fix. rdar://problem/32530825
- 9:25 AM Changeset in webkit [217717] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, attempt to fix the iOS build after r217711.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::xor32):
(JSC::MacroAssemblerARM64::xor64):
- 9:20 AM Changeset in webkit [217716] by
-
- 7 edits in tags/Safari-604.1.23.0.5/Source
Versioning.
- 9:19 AM Changeset in webkit [217715] by
-
- 2 edits in branches/safari-603-branch/LayoutTests
Merge r211465.
- 9:17 AM Changeset in webkit [217714] by
-
- 1 copy in tags/Safari-604.1.23.0.5
New tag.
- 9:17 AM Changeset in webkit [217713] by
-
- 2 edits in trunk/LayoutTests
Marked fast/images/slower-decoding-than-animation-image.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=172666
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 9:08 AM Changeset in webkit [217712] by
-
- 2 edits in trunk/Source/WebCore
Crash under OrientationNotifier::Observer::setNotifier()
https://bugs.webkit.org/show_bug.cgi?id=172847
<rdar://problem/32519127>
Reviewed by Youenn Fablet.
Update OrientationNotifier::Observer::setNotifier() to unregister itself from
its current notifier if it already has one. This is needed because
Internals::setCameraMediaStreamTrackOrientation() may be used to override the
notifier of an observer. If we override the notifier without unregistering
the observer from its previous notifier, then the previous notifier will not
get notified when the observer gets destroyed.
No new tests, already covered by webrtc/video-rotation.html that is currently
failing on some bots.
- platform/OrientationNotifer.h:
(WebCore::OrientationNotifier::Observer::setNotifier):
- 8:59 AM Changeset in webkit [217711] by
-
- 27 edits1 add in trunk/Source/JavaScriptCore
GC should use scrambled free-lists
https://bugs.webkit.org/show_bug.cgi?id=172793
Reviewed by Mark Lam.
Previously, our bump'n'pop allocator would use a conventional linked-list for the free-list.
The linked-list would be threaded through free memory, as is the usual convention.
This scrambles the next pointers of that free-list. It also scrambles the head pointer, because
this leads to a more natural fast-path structure and saves one register on ARM64.
The secret with which pointers are scrambled is per-allocator. Allocators choose a new secret
every time they do a sweep-to-pop.
This doesn't change the behavior of the bump part of bump'n'pop, but it does refactor the code
quite a bit. Previously, there were four copies of the allocator fast path: two in
MarkedAllocatorInlines.h, one in MarkedAllocator.cpp, and one in AssemblyHelpers.h. The JIT one
was obviously different-looking, but the other three were almost identical. This moves all of
that logic into FreeList. There are now just two copies of the allocator: FreeListInlines.h and
AssemblyHelpers.h.
This appears to be just as fast as our previously allocator.
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/FreeList.cpp:
(JSC::FreeList::FreeList):
(JSC::FreeList::~FreeList):
(JSC::FreeList::clear):
(JSC::FreeList::initializeList):
(JSC::FreeList::initializeBump):
(JSC::FreeList::contains):
(JSC::FreeList::dump):
- heap/FreeList.h:
(JSC::FreeList::allocationWillFail):
(JSC::FreeList::originalSize):
(JSC::FreeList::addressOfList):
(JSC::FreeList::offsetOfBlock):
(JSC::FreeList::offsetOfList):
(JSC::FreeList::offsetOfIndex):
(JSC::FreeList::offsetOfPayloadEnd):
(JSC::FreeList::offsetOfRemaining):
(JSC::FreeList::offsetOfOriginalSize):
(JSC::FreeList::FreeList): Deleted.
(JSC::FreeList::list): Deleted.
(JSC::FreeList::bump): Deleted.
(JSC::FreeList::operator==): Deleted.
(JSC::FreeList::operator!=): Deleted.
(JSC::FreeList::operator bool): Deleted.
- heap/FreeListInlines.h: Added.
(JSC::FreeList::addFreeCell):
(JSC::FreeList::allocate):
(JSC::FreeList::forEach):
(JSC::FreeList::toOffset):
(JSC::FreeList::fromOffset):
- heap/IncrementalSweeper.cpp:
(JSC::IncrementalSweeper::sweepNextBlock):
- heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::didConsumeFreeList):
(JSC::MarkedAllocator::tryAllocateWithoutCollecting):
(JSC::MarkedAllocator::tryAllocateIn):
(JSC::MarkedAllocator::allocateSlowCaseImpl):
(JSC::MarkedAllocator::stopAllocating):
(JSC::MarkedAllocator::prepareForAllocation):
(JSC::MarkedAllocator::resumeAllocating):
(JSC::MarkedAllocator::sweep):
(JSC::MarkedAllocator::setFreeList): Deleted.
- heap/MarkedAllocator.h:
(JSC::MarkedAllocator::freeList):
(JSC::MarkedAllocator::isFreeListedCell): Deleted.
- heap/MarkedAllocatorInlines.h:
(JSC::MarkedAllocator::isFreeListedCell):
(JSC::MarkedAllocator::tryAllocate):
(JSC::MarkedAllocator::allocate):
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::Handle::stopAllocating):
(JSC::MarkedBlock::Handle::lastChanceToFinalize):
(JSC::MarkedBlock::Handle::resumeAllocating):
(JSC::MarkedBlock::Handle::zap):
(JSC::MarkedBlock::Handle::sweep):
(JSC::MarkedBlock::Handle::isFreeListedCell):
(JSC::MarkedBlock::Handle::forEachFreeCell): Deleted.
- heap/MarkedBlock.h:
- heap/MarkedBlockInlines.h:
(JSC::MarkedBlock::Handle::specializedSweep):
(JSC::MarkedBlock::Handle::finishSweepKnowingSubspace):
(JSC::MarkedBlock::Handle::isFreeListedCell): Deleted.
- heap/Subspace.cpp:
(JSC::Subspace::finishSweep):
- heap/Subspace.h:
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):
- runtime/JSDestructibleObjectSubspace.cpp:
(JSC::JSDestructibleObjectSubspace::finishSweep):
- runtime/JSDestructibleObjectSubspace.h:
- runtime/JSSegmentedVariableObjectSubspace.cpp:
(JSC::JSSegmentedVariableObjectSubspace::finishSweep):
- runtime/JSSegmentedVariableObjectSubspace.h:
- runtime/JSStringSubspace.cpp:
(JSC::JSStringSubspace::finishSweep):
- runtime/JSStringSubspace.h:
- wasm/js/JSWebAssemblyCodeBlockSubspace.cpp:
(JSC::JSWebAssemblyCodeBlockSubspace::finishSweep):
- wasm/js/JSWebAssemblyCodeBlockSubspace.h:
- 8:18 AM Changeset in webkit [217710] by
-
- 4 edits in trunk/LayoutTests
Unreviewed WPE gardening.
- platform/wpe/TestExpectations: Add a few test failure expectations.
- platform/wpe/js/dom/global-constructors-attributes-dedicated-worker-expected.txt: Rebaseline.
- platform/wpe/js/dom/global-constructors-attributes-expected.txt: Ditto.
- 4:35 AM Changeset in webkit [217709] by
-
- 7 edits2 adds in trunk
[css-grid] Logical margin incorrectly applied during the tracks sizing algorithm of auto tracks
https://bugs.webkit.org/show_bug.cgi?id=172836
Reviewed by Manuel Rego Casasnovas.
Source/WebCore:
When computing min-content and max-content of the content-sized tracks
we are using the marginIntrinsicLogicalWidthForChild function, which
uses the grid's writing-mode to determine wether to use the child's
margin width or height. This is not correct when the grid item is
orthogonal.
This patch changes how we compute the tracks width so we use always
the item's marginLogicalWidth, which depends only on its own writing
mode.
Test: fast/css-grid-layout/grid-track-sizing-with-margins-and-orthogonal-flows.html
- rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithmStrategy::minContentForChild):
(WebCore::GridTrackSizingAlgorithmStrategy::maxContentForChild):
LayoutTests:
Test to verify different cases of auto-sized tracks and orthogonal items with margins.
- fast/css-grid-layout/grid-track-sizing-with-margins-and-orthogonal-flows-expected.txt: Added.
- fast/css-grid-layout/grid-track-sizing-with-margins-and-orthogonal-flows.html: Added.
- 3:18 AM Changeset in webkit [217708] by
-
- 4 edits in trunk/Source/WebCore
Invalidate the shadow subtree style when slotted pseudo rules are present.
https://bugs.webkit.org/show_bug.cgi?id=172822
Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-06-02
Reviewed by Antti Koivisto.
No new tests, this is tested by
fast/shadow-dom/css-scoping-slot-with-id.html, once we don't force an
Inherit style change for slots. I could add some more tests for stuff
with descendant combinators and similar I guess, though.
- style/AttributeChangeInvalidation.cpp:
(WebCore::Style::AttributeChangeInvalidation::invalidateStyle):
- style/ClassChangeInvalidation.cpp:
(WebCore::Style::ClassChangeInvalidation::invalidateStyle):
- style/IdChangeInvalidation.cpp:
(WebCore::Style::IdChangeInvalidation::invalidateStyle):
- 2:57 AM Changeset in webkit [217707] by
-
- 5 edits in trunk/Source/WebKit2
REGRESSION(r217214): [Coordinated Graphics] UpdateAtlas didn't released while resetting testrunner
https://bugs.webkit.org/show_bug.cgi?id=172746
Reviewed by Žan Doberšek.
After clearing update atlases in CompositingCoordinator, we should
release update atlases at the compositing thread, too.
We cannot remove update atlases from the CoordinatedGraphicsScene
without regard to update scheduling, since previously committed scene
states can try to use already released update atlases.
To prevent this timing problem, releasing update atlases should be done
with a update scheduler.
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::syncRemoteContent):
(WebKit::CoordinatedGraphicsScene::appendUpdate):
- Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
Use WTF::Function instead of std::function
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::updateSceneState):
(WebKit::ThreadedCompositor::releaseUpdateAtlases):
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::ThreadedCompositor::flushPendingLayerChanges):
Release UpdateAtlases at the end of compositing states update, too.
(WebKit::CompositingCoordinator::clearUpdateAtlases):
- 2:18 AM Changeset in webkit [217706] by
-
- 6 edits in trunk/Source/WebCore
[GTK+][WPE] Allow TextureMapperShaderProgram to perform colorspace conversions with the source texture pixels
https://bugs.webkit.org/show_bug.cgi?id=172749
Reviewed by Žan Doberšek.
Currently TextureMapperGL is only able to paint properly textures that are in RGBA format. There are
situations where we will want it to be able to handle other formats (for example BGRA for gstreamer-gl).
To make this possible without having to perform the color conversion in the CPU, we add a new color
conversion matrix to TextureMapperShaderProgram. This matrix will perform the color space conversion
in the GPU, just after sampling the source texture.
Also, add a new flag to TextureMapperGL to indicate that a color conversion is required to handle a
texture. This flag will be set to the TextureMapperPlatformLayerBuffers as required, and TextureMapperGL
will set the appropriate color space matrix to the shader. Initially only the flag for BGRA->RGBA conversion
is defined, but support for new transformations can be added as needed.
VideoTextureCopierGStreamer also uses the TextureMapperShaderProgram to perform texture sampling, but for
the moment it just sets an identity matrix because when using gstreamer-gl, the format of the video frames
is RGBA. This will be changed soon to use BGRA.
No new tests.
- platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp:
(WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture):
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::colorSpaceMatrixForFlags):
(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
- platform/graphics/texmap/TextureMapperGL.h:
- platform/graphics/texmap/TextureMapperShaderProgram.cpp:
- platform/graphics/texmap/TextureMapperShaderProgram.h:
- 2:08 AM Changeset in webkit [217705] by
-
- 9 edits2 adds in trunk
[css-grid] Margin wrong applied when stretching an orthogonal item in fixed size track
https://bugs.webkit.org/show_bug.cgi?id=172590
Reviewed by Sergio Villar Senin.
LayoutTests/imported/w3c:
All the test cases of these tests pass with this change, so updating their expectations accordingly.
- web-platform-tests/css/css-grid-1/alignment/grid-self-alignment-stretch-006-expected.txt:
- web-platform-tests/css/css-grid-1/alignment/grid-self-alignment-stretch-vertical-lr-006-expected.txt:
- web-platform-tests/css/css-grid-1/alignment/grid-self-alignment-stretch-vertical-rl-006-expected.txt:
Source/WebCore:
We need to consider orthogonality when using the item's logical margin to
compute the available space for stretching.
The issue this patch fixes is only reproducible when the grid layout logic
is executed several times, since probably the item doesn't need to be
laid out again. In such cases, we just get the cached logical margins
but we were not taking orthogonality into account.
Test: fast/css-grid-layout/grid-item-stretching-must-not-depend-on-previous-layouts.html
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::marginLogicalSizeForChild):
(WebCore::RenderGrid::availableAlignmentSpaceForChildBeforeStretching):
- rendering/RenderGrid.h:
LayoutTests:
- TestExpectations: 2 tests pass now but 3 more fail because of bug #172836
- fast/css-grid-layout/grid-item-stretching-must-not-depend-on-previous-layouts-expected.html: Added.
- fast/css-grid-layout/grid-item-stretching-must-not-depend-on-previous-layouts.html: Added.
- 12:52 AM Changeset in webkit [217704] by
-
- 5 edits1 add in trunk
[WPE] Enable SUBTLE_CRYPTO
https://bugs.webkit.org/show_bug.cgi?id=172756
Reviewed by Michael Catanzaro.
Tools:
- Scripts/webkitperl/FeatureList.pm: Set ENABLE_SUBTLE_CRYPTO to 1 for WPE.
- wpe/jhbuild.modules: Add libgpg-error and libgcrypt dependencies.
- wpe/patches/libgcrypt-use-only-dev-urandom-for-testing.patch: Added. Prevents
exhausting entropy when running the crypto layout tests.
LayoutTests:
- platform/wpe/TestExpectations: Enable tests under crypto/ and
imported/w3c/web-platform-tests/WebCryptoAPI/ in general, but add
the test expectations for failing tests under those directories.
- 12:47 AM Changeset in webkit [217703] by
-
- 3 edits in trunk/Source/JavaScriptCore
[JSC] Use @globalPrivate for concatSlowPath
https://bugs.webkit.org/show_bug.cgi?id=172802
Reviewed by Darin Adler.
Use @globalPrivate instead of manually putting it to JSGlobalObject.
- builtins/ArrayPrototype.js:
(concatSlowPath): Deleted.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):