⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Mar 1, 2018:

11:58 PM Changeset in webkit [229167] by Carlos Garcia Campos
  • 2 edits in trunk/WebDriverTests

Unreviewed gardening. Skip new action tests added in r229166.

11:56 PM Changeset in webkit [229166] by Carlos Garcia Campos
  • 41 edits
    3 adds
    4 deletes in trunk/WebDriverTests

Unreviewed. Update W3C WebDriver imported tests.

  • imported/w3c/importer.json:
  • imported/w3c/tools/webdriver/webdriver/transport.py:
  • imported/w3c/tools/wptrunner/MANIFEST.in:
  • imported/w3c/tools/wptrunner/README.rst:
  • imported/w3c/tools/wptrunner/requirements.txt:
  • imported/w3c/tools/wptrunner/requirements_chrome.txt:
  • imported/w3c/tools/wptrunner/requirements_edge.txt:
  • imported/w3c/tools/wptrunner/requirements_firefox.txt:
  • imported/w3c/tools/wptrunner/requirements_ie.txt:
  • imported/w3c/tools/wptrunner/requirements_opera.txt:
  • imported/w3c/tools/wptrunner/requirements_sauce.txt:
  • imported/w3c/tools/wptrunner/requirements_servo.txt:
  • imported/w3c/tools/wptrunner/setup.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/chrome.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/chrome_android.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/edge.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/firefox.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/ie.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/opera.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/sauce.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/server-locations.txt: Removed.
  • imported/w3c/tools/wptrunner/wptrunner/browsers/servo.py:
  • imported/w3c/tools/wptrunner/wptrunner/browsers/servodriver.py:
  • imported/w3c/tools/wptrunner/wptrunner/config.json: Removed.
  • imported/w3c/tools/wptrunner/wptrunner/environment.py:
  • imported/w3c/tools/wptrunner/wptrunner/executors/executorservo.py:
  • imported/w3c/tools/wptrunner/wptrunner/font.py:
  • imported/w3c/tools/wptrunner/wptrunner/hosts.py: Removed.
  • imported/w3c/tools/wptrunner/wptrunner/testrunner.py:
  • imported/w3c/tools/wptrunner/wptrunner/tests/browsers/init.py: Added.
  • imported/w3c/tools/wptrunner/wptrunner/tests/test_hosts.py: Removed.
  • imported/w3c/tools/wptrunner/wptrunner/webdriver_server.py:
  • imported/w3c/tools/wptrunner/wptrunner/wptrunner.py:
  • imported/w3c/webdriver/OWNERS:
  • imported/w3c/webdriver/tests/actions/mouse.py:
  • imported/w3c/webdriver/tests/actions/mouse_dblclick.py:
  • imported/w3c/webdriver/tests/actions/pointer_origin.py: Added.
  • imported/w3c/webdriver/tests/actions/support/mouse.py:
  • imported/w3c/webdriver/tests/element_click/bubbling.py:
  • imported/w3c/webdriver/tests/element_click/select.py:
  • imported/w3c/webdriver/tests/element_send_keys/form_controls.py:
  • imported/w3c/webdriver/tests/element_send_keys/interactability.py:
  • imported/w3c/webdriver/tests/execute_script/cyclic.py:
  • imported/w3c/webdriver/tests/fullscreen_window.py:
  • imported/w3c/webdriver/tests/interface.html:
  • imported/w3c/webdriver/tests/state/get_element_property.py:
10:43 PM Changeset in webkit [229165] by Carlos Garcia Campos
  • 5 edits
    2 adds in trunk

REGRESSION(r222843): [HarfBuzz] Combining enclosed keycap not correctly handled
https://bugs.webkit.org/show_bug.cgi?id=183246

Reviewed by Michael Catanzaro.

Source/WebCore:

We are not correctly handling the combining enclosed keycap since we switched to use
ComplexTextController. This is because fontForCombiningCharacterSequence() always returns the font of the first
character, without checking if that font can render the whole sequence or not. Before 222843, the shaper did
that check when creating the text runs. In this case the sequence was split and a different font was used for the
text and the mark. This patch makes fontForCombiningCharacterSequence() try to find a suitable font for the
whole sequence, first looking at the CSS fallbacks and finally at system ones. The result is much better than
the old one, because we use the same font for both the text and the mark. If there isn't any font to render the
mark, then we fallback to use the first character font, since we will end up rendering the missing glyph
character, it's better to use the same font than the first character one.

Test: fast/text/combining-enclosing-keycap.html

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::FontCascade::fontForCombiningCharacterSequence const): Check if the first charatcer font can render
the whole sequence, trying with fallbacks otherwise.

  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::Font::canRenderCombiningCharacterSequence const): Check if the font face has glyphs for the whole
sequence not just the first character.

LayoutTests:

  • fast/text/combining-enclosing-keycap-expected.txt: Added.
  • platform/gtk/fast/text/combining-enclosing-keycap.html: Added.
  • platform/gtk/TestExpectations:
10:40 PM Changeset in webkit [229164] by Carlos Garcia Campos
  • 11 edits in trunk

[FreeType] Remove FontPlatformData fallbacks
https://bugs.webkit.org/show_bug.cgi?id=183210

Reviewed by Michael Catanzaro.

Source/WebCore:

They are only used by FontCache::systemFallbackForCharacters() where a direct FcFontMatch provides the same
or better results.

  • platform/graphics/FontPlatformData.h: Remove fallbacks.
  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::systemFallbackForCharacters): Use FcFontMatch() only.

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::FontPlatformData::fallbacks): Removed.

LayoutTests:

Rebaseline 3 tests that progressed.

  • platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.png:
  • platform/gtk/fast/text/international/bidi-LDB-2-CSS-expected.txt:
  • platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.png:
  • platform/gtk/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
  • platform/gtk/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
10:04 PM Changeset in webkit [229163] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Unreviewed, rolling out r229153.
https://bugs.webkit.org/show_bug.cgi?id=183274

it is breaking imported/w3c/web-platform-tests/service-workers
/service-worker/clients-matchall-exact-controller.https.html
(Requested by youenn on #webkit).

Reverted changeset:

"Clients should register to StorageProcess with their service
worker registration identifier"
https://bugs.webkit.org/show_bug.cgi?id=182313
https://trac.webkit.org/changeset/229153

9:55 PM Changeset in webkit [229162] by Yusuke Suzuki
  • 3 edits
    1 add in trunk

ASSERTION FAILED: matchContextualKeyword(m_vm->propertyNames->async)
https://bugs.webkit.org/show_bug.cgi?id=183173

Reviewed by Saam Barati.

JSTests:

  • stress/async-arrow-function-in-class-heritage.js: Added.

(testSyntax):
(testSyntaxError):
(SyntaxError):

Source/JavaScriptCore:

Classifier could propagate an error which does not occur at the first token
of the given expression. We should check whether the given token is "async"
instead of assertion.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseAssignmentExpression):

9:00 PM Changeset in webkit [229161] by sbarati@apple.com
  • 5 edits
    1 add in trunk

We need to clear cached structures when having a bad time
https://bugs.webkit.org/show_bug.cgi?id=183256
<rdar://problem/36245022>

Reviewed by Mark Lam.

JSTests:

  • stress/having-a-bad-time-with-derived-arrays.js: Added.

(assert):
(defineSetter):
(iterate):
(doSlice):

Source/JavaScriptCore:

This patch makes both InternalFunctionAllocationProfile and the VM's
structure cache having-a-bad-time aware. For InternalFunctionAllocationProfile,
we clear them when they'd produce an object with a bad indexing type.
For the VM's Structure cache, we conservatively clear the entire cache
since it may be housing Structures with bad indexing types.

  • runtime/FunctionRareData.h:

(JSC::FunctionRareData::clearInternalFunctionAllocationProfile):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::haveABadTime):

  • runtime/StructureCache.h:

(JSC::StructureCache::clear):

5:41 PM Changeset in webkit [229160] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Service worker test gardening
https://bugs.webkit.org/show_bug.cgi?id=183264

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2018-03-01

5:17 PM Changeset in webkit [229159] by jmarcell@apple.com
  • 7 edits in branches/safari-605.1.33.1-branch/Source

Versioning.

5:16 PM Changeset in webkit [229158] by jmarcell@apple.com
  • 7 edits in branches/safari-605.1.33.0-branch/Source

Versioning.

5:11 PM Changeset in webkit [229157] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.33.0.2

Tag Safari-605.1.33.0.2.

5:10 PM Changeset in webkit [229156] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.33.1.2

Tag Safari-605.1.33.1.2.

5:03 PM WebKitGTK/2.20.x edited by Michael Catanzaro
(diff)
5:01 PM Changeset in webkit [229155] by Michael Catanzaro
  • 2 edits in trunk

[CMake] configure failure for aarch64
https://bugs.webkit.org/show_bug.cgi?id=183268

Unreviewed build fix. This failure is caused by a simple typo.

  • Source/cmake/OptionsCommon.cmake:
4:31 PM Changeset in webkit [229154] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Add the "com.apple.security.cs.disable-library-validation” entitlement to the Plugin Process
https://bugs.webkit.org/show_bug.cgi?id=183252
<rdar://problem/37887136>

Reviewed by David Kilzer.

  • Configurations/PluginService.entitlements:
4:04 PM Changeset in webkit [229153] by commit-queue@webkit.org
  • 12 edits in trunk/Source

Clients should register to StorageProcess with their service worker registration identifier
https://bugs.webkit.org/show_bug.cgi?id=182313

Patch by Youenn Fablet <youenn@apple.com> on 2018-03-01
Reviewed by Chris Dumez.

Source/WebCore:

No observable change of behavior in regular conditions.
When service worker process crashes, the service worker identifiers sent by the WebProcess might be wrong
and we will not be able to retrieve the registration from these identifiers.
The storage process will be able to still process correctly messages coming from the WebProcess to register clients of the registration.
Otherwise, there is a chance that WebProcess clients will not be added to the SWServerRegistration.m_clientsUsingRegistration maps.

  • dom/Document.cpp:

(WebCore::Document::setServiceWorkerConnection):

  • workers/service/SWClientConnection.h:
  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::registerServiceWorkerClient):

  • workers/service/server/SWServer.h:

Source/WebKit:

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::registerServiceWorkerClient):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • StorageProcess/ServiceWorker/WebSWServerConnection.messages.in:
  • WebProcess/Storage/WebSWClientConnection.cpp:

(WebKit::WebSWClientConnection::registerServiceWorkerClient):

  • WebProcess/Storage/WebSWClientConnection.h:
3:22 PM Changeset in webkit [229152] by wilander@apple.com
  • 42 edits in trunk/LayoutTests

Move resource load statistics tests from js-test-pre.js to js-test.js
https://bugs.webkit.org/show_bug.cgi?id=183249
<rdar://problem/38033096>

Unreviewed test gardening.

  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics-expected.txt:
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-mixed-statistics.html:
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt:
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-sub-frame-under-top-frame-origins.html:
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins-expected.txt:
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-under-top-frame-origins.html:
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to-expected.txt:
  • http/tests/resourceLoadStatistics/classify-as-non-prevalent-based-on-subresource-unique-redirects-to.html:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics-expected.txt:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins-expected.txt:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins-expected.txt:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to-expected.txt:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html:
  • http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics.html:
  • http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-expected.txt:
  • http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour-expected.txt:
  • http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store-one-hour.html:
  • http/tests/resourceLoadStatistics/clear-in-memory-and-persistent-store.html:
  • http/tests/resourceLoadStatistics/grandfathering-expected.txt:
  • http/tests/resourceLoadStatistics/grandfathering.html:
  • http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction-expected.txt:
  • http/tests/resourceLoadStatistics/non-prevalent-resource-with-user-interaction.html:
  • http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction-expected.txt:
  • http/tests/resourceLoadStatistics/non-prevalent-resource-without-user-interaction.html:
  • http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-deletion.html:
  • http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout-expected.txt:
  • http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
  • http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction-expected.txt:
  • http/tests/resourceLoadStatistics/partitioned-cookies-with-and-without-user-interaction.html:
  • http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown.html:
  • http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html:
  • http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-expected.txt:
  • http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout-expected.txt:
  • http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction-timeout.html:
  • http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction.html:
  • http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction-expected.txt:
  • http/tests/resourceLoadStatistics/prevalent-resource-without-user-interaction.html:
3:19 PM Changeset in webkit [229151] by commit-queue@webkit.org
  • 5 edits in trunk

LayoutTest imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=179248
<rdar://problem/35377756>

Patch by Youenn Fablet <youenn@apple.com> on 2018-03-01
Reviewed by Chris Dumez.

Source/WebKit:

WebKitTestRunner is clearing caches for every test but there might still be some on-going cache activity due to a previous test.
In that case, the activity might try to open the Caches object at the same time the files are deleted by the clearing task.
If the new test is trying to open the same caches, it will also receive the same error, hence the console log message.

To fix that issue, we clear the initialization pending callbacks when clearing the caches.
This prevents the new test to receive the error since the new test should only start some cache activity after the cache clear task is done.
Made refactoring to append the first callback into the list of pending callbacks.

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::initialize):
(WebKit::CacheStorage::Caches::initializeSize):
(WebKit::CacheStorage::Caches::clear):

  • NetworkProcess/cache/CacheStorageEngineCaches.h:

LayoutTests:

3:18 PM Changeset in webkit [229150] by commit-queue@webkit.org
  • 11 edits in trunk

Add API test to validate setting of service worker and cache storage directories
https://bugs.webkit.org/show_bug.cgi?id=182543

Patch by Youenn Fablet <youenn@apple.com> on 2018-03-01
Reviewed by Chris Dumez.

Source/WebCore:

Covered by API tests.

Add getters to service worker registration directory.

  • testing/Internals.cpp:

(WebCore::Internals::serviceWorkerRegistrationDirectory):

  • testing/Internals.h:
  • testing/Internals.idl:
  • workers/service/SWClientConnection.h:
  • workers/service/server/RegistrationDatabase.h:

(WebCore::RegistrationDatabase::serviceWorkerRegistrationDirectory const):

  • workers/service/server/RegistrationStore.h:

(WebCore::RegistrationStore::serviceWorkerRegistrationDirectory const):

  • workers/service/server/SWServer.h:

(WebCore::SWServer::serviceWorkerRegistrationDirectory const):

Source/WebKit:

Add cache engine directory path to its representation dump.
This is used in API tests to check that the path is correctly set.

Add a way for to know whether a service worker was registered from a WKWebsiteDataStore.
This is used in API tests to check that the path is correctly set.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::representation):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _hasRegisteredServiceWorker]):

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:

LayoutTests:

Updated tests according new engine representation.

  • http/tests/cache-storage/cache-clearing-origin.https.html:
  • http/tests/cache-storage/cache-origins.https.html:
  • http/tests/cache-storage/cache-representation.https.html:
3:14 PM Changeset in webkit [229149] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

SWServer::removeClientServiceWorkerRegistration should not log an error if there is no registration
https://bugs.webkit.org/show_bug.cgi?id=183248

Patch by Youenn Fablet <youenn@apple.com> on 2018-03-01
Reviewed by Chris Dumez.

No change of behavior.
Removed the error logging.
As can be seen from running api and layout tests, a web process can ask a registration to be unregistered
and by the time it goes to the StorageProcess, the registration is already cleared.

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::removeClientServiceWorkerRegistration):

3:11 PM Changeset in webkit [229148] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Fix some errors due to some mach port APIs being unavailable on watchOS
https://bugs.webkit.org/show_bug.cgi?id=183262
<rdar://problem/38028521>

Reviewed by Tim Horton.

Minor build fix; mach_port_guard and mach_port_unguard are not available on this platform.

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::platformInvalidate):
(IPC::Connection::platformInitialize):
(IPC::Connection::open):

2:35 PM Changeset in webkit [229147] by dbates@webkit.org
  • 8 edits
    12 adds in trunk

CSS ::selection stroke-color and stroke-width are not applied to selected text in text fields
and ::selection:window-inactive stroke-color and stroke-width are never applied
https://bugs.webkit.org/show_bug.cgi?id=183178

Reviewed by David Hyatt.

Source/WebCore:

This change fixes the following two issues:

  1. Properties stroke-color and stroke-width are not applied to the ::selection pseudo- element of text fields.
  2. Properties stroke-color and stroke-width are never applied to ::selection:window-inactive pseudo elements.

Currently when computing the paint styles for selected text we query the cached styles for
the ::selection pseudo element on the renderer. Text fields are implemented using a User Agent
shadow DOM. With regards to issue (1) the renderer queried was the inner most renderer for
the text in the text field. But it should have been the shadow host renderer (i.e. the renderer
for the <input>). With regards to issue (2) we cannot retrieve cached styles for the
::selection pseudo element because it can be effected by a pseudo class, :window-inactive,
which matches when the page is deactivated (i.e. the window is in the background as the user
made another window the frontmost window). Both of these issues are fixed by making use
of RenderElement::selectionPseudoStyle().

Tests: fast/selectors/selection-window-inactive-stroke-color.html

fast/selectors/selection-window-inactive-text-shadow.html
fast/selectors/text-field-selection-stroke-color.html
fast/selectors/text-field-selection-text-shadow.html
fast/selectors/text-field-selection-window-inactive-stroke-color.html
fast/selectors/text-field-selection-window-inactive-text-shadow.html

  • rendering/RenderText.h:

(WebCore::RenderText::selectionPseudoStyle const): Add a convenience function that turns
around and calls the function of the same name on its parent.

  • rendering/TextPaintStyle.cpp:

(WebCore::computeTextSelectionPaintStyle): Modified to use RenderText::selectionPseudoStyle()
instead of directly querying for the cached styles for the ::selection pseudo element.

LayoutTests:

Add tests to ensure that we paint ::selection stroke-color and stroke-width for selected text
in text fields. Add tests to ensure that we apply ::selection:window-inactive stroke-color
and stroke-width to selected text when the page is deactivated.

  • fast/selectors/selection-window-inactive-stroke-color-expected.html: Added.
  • fast/selectors/selection-window-inactive-stroke-color.html: Added.
  • fast/selectors/selection-window-inactive-text-shadow-expected.html: Added.
  • fast/selectors/selection-window-inactive-text-shadow.html: Added.
  • fast/selectors/text-field-selection-stroke-color-expected.html: Added.
  • fast/selectors/text-field-selection-stroke-color.html: Added.
  • fast/selectors/text-field-selection-text-shadow-expected.html: Added.
  • fast/selectors/text-field-selection-text-shadow.html: Added.
  • fast/selectors/text-field-selection-window-inactive-stroke-color-expected.html: Added.
  • fast/selectors/text-field-selection-window-inactive-stroke-color.html: Added.
  • fast/selectors/text-field-selection-window-inactive-text-shadow-expected.html: Added.
  • fast/selectors/text-field-selection-window-inactive-text-shadow.html: Added.
  • platform/gtk/TestExpectations: Skip the ::selection:window-inactive tests until we fix

<https://bugs.webkit.org/show_bug.cgi?id=183143>.

Windows does not seem to be updating selectors when the window is deactivated or window deactivation,
testRunner.setWindowIsKey() is broken.

  • platform/wpe/TestExpectations: Skip the ::selection:window-inactive tests until we fix

<https://bugs.webkit.org/show_bug.cgi?id=183144>.

2:21 PM Changeset in webkit [229146] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix after r229140.

  • WebProcess/cocoa/WebProcessCocoa.mm:
1:58 PM Changeset in webkit [229145] by jmarcell@apple.com
  • 2 edits in branches/safari-605.1.33.0-branch/Source/WebKit

Cherry-pick r229134. rdar://problem/38035469

1:58 PM Changeset in webkit [229144] by jmarcell@apple.com
  • 1 edit in branches/safari-605.1.33.0-branch/Source/JavaScriptCore/runtime/Options.h

Apply patch. rdar://problem/38035480

1:50 PM Changeset in webkit [229143] by Ross Kirsling
  • 13 edits
    1 copy
    3 adds in trunk

[Win][DRT] Implement setSpatialNavigationEnabled.
https://bugs.webkit.org/show_bug.cgi?id=183166

Reviewed by Per Arne Vollan.

Source/WebKitLegacy/win:

Create a non-dummy implementation of the private preference in Win WKL to support layout tests.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::spatialNavigationEnabled):
(WebPreferences::setSpatialNavigationEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Tools:

  • DumpRenderTree/TestRunner.cpp:

(setSpatialNavigationEnabledCallback):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::setSpatialNavigationEnabled):

LayoutTests:

  • platform/win/fast/spatial-navigation/snav-multiple-select-focusring-expected.txt:
  • platform/wincairo/fast/spatial-navigation/snav-multiple-select-focusring-expected.txt: Added.

This test requires an expectation for every platform. AppleWin had one but it must've been a copy-paste job?

  • platform/win/TestExpectations:

Enable fast/spatial-navigation tests on AppleWin too.

1:45 PM Changeset in webkit [229142] by jmarcell@apple.com
  • 1 edit in branches/safari-605.1.33.1-branch/Source/JavaScriptCore/runtime/Options.h

Apply patch. rdar://problem/38035478

1:26 PM Changeset in webkit [229141] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[webkitpy] Use shell=False to launch apache http server.
https://bugs.webkit.org/show_bug.cgi?id=183191

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-03-01
Reviewed by Aakash Jain.

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init):
(LayoutTestApacheHttpd._run):

1:16 PM Changeset in webkit [229140] by pvollan@apple.com
  • 13 edits in trunk/Source

Scrollbar preferences are ignored when the WebContent process doesn't have access to the WindowServer.
https://bugs.webkit.org/show_bug.cgi?id=183231
<rdar://problem/37793457>

Reviewed by Brent Fulgham.

When the WebContent process doesn't have access to the WindowServer, the scrollbars are always of the overlay type.
The notification about scrollbar preferences is never received by the WebContent process when there is no
WindowServer access. This can be fixed by adding an observer of scrollbar preferences in the UI process, and
notifying the WebProcess about this by sending it a message. This message should also contain the preferred
scrollbar type, since the call '[NSScroller preferredScrollerStyle]' will always return the overlay style when
there is no WindowServer access.

Source/WebCore:

No new tests, covered by existing tests.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/NSScrollerImpDetails.h:
  • platform/mac/NSScrollerImpDetails.mm:

(WebCore::ScrollerStyle::recommendedScrollerStyle):
(WebCore::ScrollerStyle::setUseOverlayScrollbars):
(WebCore::recommendedScrollerStyle): Deleted.

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::mouseEnteredScrollbar const):
(WebCore::ScrollAnimatorMac::mouseExitedScrollbar const):
(WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting):

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::registerScrollbar):
(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::usesOverlayScrollbarsChanged):

Source/WebKit:

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):

  • UIProcess/WebProcessPool.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeProcess):

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::scrollerStylePreferenceChanged):

1:11 PM Changeset in webkit [229139] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Temporarily enable user-installed-fonts everywhere until we can stop crashing on launch
https://bugs.webkit.org/show_bug.cgi?id=183255

Unreviewed.

Tests are already disabled.

  • platform/graphics/cocoa/FontCacheCoreText.cpp:
12:39 PM Changeset in webkit [229138] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[Curl] Split DNS cache expiration and connection timeout setting.
https://bugs.webkit.org/show_bug.cgi?id=182979

It was mis-implemented and was named ambiguous name 'enableTimeout'.
Implement each feature correctly.

Patch by Basuke Suzuki <Basuke Suzuki> on 2018-03-01
Reviewed by Per Arne Vollan.

  • platform/network/curl/CurlContext.cpp:

(WebCore::EnvironmentVariableReader::read):
(WebCore::EnvironmentVariableReader::defined):
(WebCore::EnvironmentVariableReader::readAs):
(WebCore::EnvironmentVariableReader::sscanTemplate):
(WebCore::EnvironmentVariableReader::sscanTemplate<unsigned>):
(WebCore::CurlContext::CurlContext):
(WebCore::safeTimeValue):
(WebCore::CurlHandle::setDnsCacheTimeout):
(WebCore::CurlHandle::setConnectTimeout):
(WebCore::CurlHandle::setTimeout):
(WebCore::CurlHandle::enableTimeout): Deleted.

  • platform/network/curl/CurlContext.h:

(WebCore::CurlContext::dnsCacheTimeout const):
(WebCore::CurlContext::connectTimeout const):

  • platform/network/curl/CurlRequest.cpp:

(WebCore::CurlRequest::setupTransfer):

12:20 PM Changeset in webkit [229137] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Remove RenderElement::s_noLongerAffectsParentBlock
https://bugs.webkit.org/show_bug.cgi?id=183196
<rdar://problem/38030797>

Reviewed by Antti Koivisto.

Remove the hack to track floating/out-of-flow changes between styleWillChange and styleDidChange.

Covered by existing tests.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::styleDidChange):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::noLongerAffectsParentBlock const):
(WebCore::RenderElement::styleDidChange):

  • rendering/RenderElement.h:

(WebCore::RenderElement::noLongerAffectsParentBlock const): Deleted.

10:41 AM Changeset in webkit [229136] by Chris Dumez
  • 2 edits in trunk/Tools

Unreviewed, update WebKit.CustomHeaderFields API test after r229133.

We no longer do policy checks for 'about:blank'.

  • TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

(-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
(TEST):

9:41 AM Changeset in webkit [229135] by jmarcell@apple.com
  • 2 edits in branches/safari-605.1.33.1-branch/Source/JavaScriptCore

Cherry-pick r229109. rdar://problem/38005919

9:11 AM Changeset in webkit [229134] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit

Crash when updating cache entry after validation in apps that uses class A file protection
https://bugs.webkit.org/show_bug.cgi?id=183242
<rdar://problem/33289058>

Reviewed by Chris Dumez.

When validating a cache entry, we keep it alive until we get a network response. With 304 response
we then update the headers of this existing entry. This accesses the body data of the entry which
may be backed by a mapped file. If the app uses class A protection, user might have locked
the device and the entry might have become inaccessible, leading to a crash.

  • NetworkProcess/cache/NetworkCacheEntry.cpp:

(WebKit::NetworkCache::Entry::setNeedsValidation):

In case of class A protection, pull the data to a memory buffer immediately before starting a revalidation request.
This makes the window where the file could become inaccessible much shorter (since it no longer depends on network).

9:05 AM Changeset in webkit [229133] by Chris Dumez
  • 7 edits
    3 adds in trunk

imported/w3c/web-platform-tests/html/browsers/windows/browsing-context.html fails with async policy delegates
https://bugs.webkit.org/show_bug.cgi?id=183225
<rdar://problem/38003828>

Reviewed by Alex Christensen.

Source/WebCore:

Bypass navigation policy check when loading about:blank. This does not seem necessary and it would not
be Web-compatible for such policy check to happen synchronously. This is because an iframe without src
or src="about:blank" should load synchronously as per HTML specification.

Test: http/wpt/html/browsers/windows/browsing-context.html

  • loader/PolicyChecker.cpp:

(WebCore::PolicyChecker::checkNavigationPolicy):

LayoutTests:

  • http/wpt/html/browsers/windows/browsing-context-expected.txt: Added.
  • http/wpt/html/browsers/windows/browsing-context.html: Added.

Add layout test coverage.

  • fast/loader/iframe-src-invalid-url-expected.txt:
  • fast/loader/policy-delegate-action-hit-test-zoomed-expected.txt:
  • loader/navigation-policy/should-open-external-urls/subframe-click-target-self-expected.txt:
  • loader/navigation-policy/should-open-external-urls/subframe-click-target-top-expected.txt:

Rebaseline a few layout tests now that the log lines for the about:blank policy checks are
gone.

8:59 AM Changeset in webkit [229132] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[Curl] Linker errors in some curl files due to missing exports
https://bugs.webkit.org/show_bug.cgi?id=183238

Patch by Christopher Reid <chris.reid@sony.com> on 2018-03-01
Reviewed by Alex Christensen.

No new tests, no change in behavior.

Adding WEBCORE_EXPORT to functions now used in WebKit.

  • platform/network/NetworkStorageSession.h:
  • platform/network/curl/CookieJarDB.h:
  • platform/network/curl/CurlContext.h:
6:00 AM Changeset in webkit [229131] by commit-queue@webkit.org
  • 5 edits
    1 delete in trunk/Source/WebCore

Unreviewed, rolling out r229130.
https://bugs.webkit.org/show_bug.cgi?id=183244

It breaks AppleWin compilation (Requested by alexg on
#webkit).

Reverted changeset:

"Make LibWebRTCProvider port agnostic again after r215424"
https://bugs.webkit.org/show_bug.cgi?id=183080
https://trac.webkit.org/changeset/229130

5:27 AM Changeset in webkit [229130] by commit-queue@webkit.org
  • 5 edits
    1 copy in trunk/Source/WebCore

Make LibWebRTCProvider port agnostic again after r215424
https://bugs.webkit.org/show_bug.cgi?id=183080

Patch by Alejandro G. Castro <alex@igalia.com> on 2018-03-01
Reviewed by Youenn Fablet.

In the r215424 commit the webRTCAvailable function started to use a function from the DARWIN platform,
we have moved that code to the cocoa class and created a glib implementation that will be used in the future
to implement the LibWebRTCProviderGlib class.

No new tests, this is a refactor.

  • Sources.txt: Add the compilation of the new file.
  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: Remove the webRTCAvailable function from this file.

(WebCore::LibWebRTCProvider::create): We want to use this even when LIBWEBRTC is not used.

  • platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:

(WebCore::LibWebRTCProvider::webRTCAvailable): Moved the code from the LibWebRTCProvider class.

  • platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp:

(WebCore::LibWebRTCProvider::webRTCAvailable): Add the glib implementation, basically true, we are always
linking libwebrtc for the moment in these situations.

2:24 AM Changeset in webkit [229129] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix exception check for ExceptionScope
https://bugs.webkit.org/show_bug.cgi?id=183175

  • jsc.cpp:

(GlobalObject::moduleLoaderFetch):

1:26 AM Changeset in webkit [229128] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[FreeType] Color emojis in WebKitGTK+ for great justice
https://bugs.webkit.org/show_bug.cgi?id=183155

Reviewed by Michael Catanzaro.

Emojis are actually rendered if there's an emoji font installed in the system, but the size is so tiny that we
don't see them. This is because for some reason the matrix we are getting from fontconfig contains a scale,
which we don't expect. We only get the fontconfig matrix to apply rotations in case of oblique fonts, and then we
always apply the scale for the computed pixel font size. Ignoring the fontconfig matrix scale fixes the issue.

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::fontWeightToFontconfigWeight): Moved here since it's now used by configurePatternForFontDescription().
(WebCore::configurePatternForFontDescription): Helper function to apply the same options for fallback pattern.
(WebCore::createFontConfigPatternForCharacters): Use configurePatternForFontDescription().
(WebCore::findBestFontGivenFallbacks): Adopt the returned reference.
(WebCore::FontCache::systemFallbackForCharacters): Clean it up.
(WebCore::FontCache::createFontPlatformData): Use configurePatternForFontDescription().

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::FontPlatformData::buildScaledFont): Ignore the scale returned by fontconfig matrix.

1:24 AM Changeset in webkit [229127] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer] text samples no longer processed
https://bugs.webkit.org/show_bug.cgi?id=183212

Reviewed by Xabier Rodriguez-Calvar.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::newTextSample): Refer to
track stream ID instead of (potentially) manually generated track
ID stored as hashmap keys.

1:24 AM Changeset in webkit [229126] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit

REGRESSION(r221514): [GTK] UI process crash in WebKit::WaylandCompositor::Surface::flushPendingFrameCallbacks
https://bugs.webkit.org/show_bug.cgi?id=183091

Reviewed by Michael Catanzaro.

Invalidate the surface in the page map when the backing store is destroyed.

  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::willDestroySurface):

  • UIProcess/gtk/WaylandCompositor.h:

Feb 28, 2018:

11:35 PM Changeset in webkit [229125] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[ARM] Fix compile error in debug builds by invoking unpoisoned().

Patch by Dominik Infuehr <dinfuehr@igalia.com> on 2018-02-28
Reviewed by Mark Lam.

  • assembler/MacroAssemblerCodeRef.h:

(JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr): Fix compile error.
(JSC::MacroAssemblerCodePtr::createFromExecutableAddress()): Ditto.
(JSC::MacroAssemblerCodePtr::dataLocation()): Ditto.

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::ByteCompiler::dumpDisjunction): use %zu for printf'ing size_t.

10:47 PM Changeset in webkit [229124] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Push WTF_PLATFORM_IOS down into preprocessor.pm instead of trying to determine it inside
https://bugs.webkit.org/show_bug.cgi?id=183193

Reviewed by Andy Estes.

  • DerivedSources.make:
  • bindings/scripts/preprocessor.pm:

(applyPreprocessor):
Instead of trying to discern WTF_PLATFORM_IOS inside preprocessor.pm,
push it down from DerivedSources.make. Also clean up DerivedSources.make
a tiny bit by adding a variable, FEATURE_AND_PLATFORM_DEFINES, which
contains both FEATURE_DEFINES and WTF_PLATFORM macros if needed.

7:55 PM Changeset in webkit [229123] by jmarcell@apple.com
  • 2 edits in branches/safari-605.1.33.0-branch/Source/JavaScriptCore

Cherry-pick r229109. rdar://problem/38005929

7:51 PM Changeset in webkit [229122] by jmarcell@apple.com
  • 2 edits in tags/Safari-605.1.32.0.1/Source/JavaScriptCore

Cherry-pick r229109. rdar://problem/38005929

7:49 PM Changeset in webkit [229121] by jmarcell@apple.com
  • 7 edits in tags/Safari-605.1.32.0.1/Source

Versioning.

7:40 PM Changeset in webkit [229120] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.32.0.1

New tag.

6:18 PM Changeset in webkit [229119] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests/imported/w3c

Make LayoutTests wait_for_state fail after a given period of time
https://bugs.webkit.org/show_bug.cgi?id=183039

Patch by Youenn Fablet <youenn@apple.com> on 2018-02-28
Reviewed by Chris Dumez.

This will allow further investigating why some tests are timing out.

  • web-platform-tests/service-workers/service-worker/resources/test-helpers.sub.js:

(wait_for_state):

6:15 PM Changeset in webkit [229118] by n_wang@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test accessibility/mac/accessibility-make-first-responder.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=183232

Reviewed by Chris Fleizach.

The test is flaky because that the UIProcess might have received the IPC message
to set the first responder after we check the current state. Added a delay
in the test to fix that.

  • accessibility/mac/accessibility-make-first-responder.html:
6:12 PM Changeset in webkit [229117] by BJ Burg
  • 4 edits in trunk/Source/WebKit

[Cocoa] Web Automation: provide a way to ask clients the type of a JavaScript dialog
https://bugs.webkit.org/show_bug.cgi?id=182660
<rdar://problem/37408183>

Reviewed by Tim Horton and Carlos Garcia Campos.

Add another delegate method to ask what type of dialog is being shown.
This is used to implement §18.4 Step 5, where sending text to a dialog
without a prompt will return several different kinds of errors.

No new tests, covered by web platform tests once Safari side has landed.

  • UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h: Update FIXME radar numbers.
  • UIProcess/Cocoa/AutomationSessionClient.h:
  • UIProcess/Cocoa/AutomationSessionClient.mm:

(WebKit::AutomationSessionClient::AutomationSessionClient):
(WebKit::toImpl):
(WebKit::AutomationSessionClient::typeOfCurrentJavaScriptDialogOnPage):
If there is no current dialog to be checked, the client can return the 'None'
type. This gets converted into a std::nullopt and causes a command error later.

6:09 PM Changeset in webkit [229116] by Jonathan Bedard
  • 4 edits in trunk/Tools

[webkitpy] Remove concept of 'future' versions (Follow-up fix 2)
https://bugs.webkit.org/show_bug.cgi?id=183184
<rdar://problem/37958594>

Reviewed by Aakash Jain.

Unlisted Apple versions can't run webkitpy tests because they don't
have specified port names.

  • Scripts/webkitpy/port/apple.py:

(ApplePort.determine_full_port_name): Return valid port name for unnamed
versions.

  • Scripts/webkitpy/port/base.py:

(Port.version_name): Check both public and internal version mapping
when returning a version name.

  • Scripts/webkitpy/port/mac.py:

(MacPort.init): If no os version is defined, use the current version.

4:54 PM Changeset in webkit [229115] by wilander@apple.com
  • 2 edits in trunk/Source/WebKit

Remove assertion from ResourceLoadStatisticsClassifier::calculateResourcePrevalence() which causes crashes when domains are explicitly set as prevalent without the associated statistics
https://bugs.webkit.org/show_bug.cgi?id=183233

Unreviewed removal of an assertion that's causing layout test crashes.

  • Platform/classifier/ResourceLoadStatisticsClassifier.cpp:

(WebKit::ResourceLoadStatisticsClassifier::calculateResourcePrevalence):

Removed ASSERT(currentPrevalence == Low).

4:37 PM Changeset in webkit [229114] by jmarcell@apple.com
  • 7 edits in branches/safari-605.1.33.1-branch/Source

Versioning.

4:33 PM Changeset in webkit [229113] by jmarcell@apple.com
  • 7 edits in branches/safari-605.1.33.0-branch/Source

Versioning.

4:30 PM Changeset in webkit [229112] by n_wang@apple.com
  • 17 edits
    5 adds in trunk

AX: AOM: Dispatch accessiblesetvalue event
https://bugs.webkit.org/show_bug.cgi?id=183021
<rdar://problem/37764242>

Reviewed by Chris Fleizach.

Source/WebCore:

Accessibility events.
Spec: https://wicg.github.io/aom/spec/phase2.html

Added a new event type AccessibleSetValueEvent.

Test: accessibility/mac/AOM-event-accessiblesetvalue.html

  • CMakeLists.txt:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AccessibilityAllInOne.cpp:
  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canSetValueAttribute const):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::press):
(WebCore::AccessibilityObject::dispatchAccessibilityEvent):
(WebCore::AccessibilityObject::dispatchAccessibleSetValueEvent):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::setValue):

  • accessibility/AccessibilityScrollbar.cpp:

(WebCore::AccessibilityScrollbar::setValue):

  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySlider::setValue):

  • accessibility/AccessibleSetValueEvent.cpp: Added.

(WebCore::AccessibleSetValueEvent::AccessibleSetValueEvent):

  • accessibility/AccessibleSetValueEvent.h: Added.

(WebCore::AccessibleSetValueEvent::create):
(WebCore::AccessibleSetValueEvent::value const):

  • accessibility/AccessibleSetValueEvent.idl: Added.
  • dom/Element.idl:
  • dom/EventNames.h:
  • dom/EventNames.in:

LayoutTests:

  • accessibility/mac/AOM-event-accessiblesetvalue-expected.txt: Added.
  • accessibility/mac/AOM-event-accessiblesetvalue.html: Added.
  • js/dom/dom-static-property-for-in-iteration-expected.txt:
4:12 PM Changeset in webkit [229111] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.33.0.1

Tag Safari-605.1.33.0.1.

4:11 PM Changeset in webkit [229110] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.33.1.1

Tag Safari-605.1.33.1.1.

4:00 PM Changeset in webkit [229109] by jfbastien@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

GC should sweep code block before deleting
https://bugs.webkit.org/show_bug.cgi?id=183229
<rdar://problem/32767615>

Reviewed by Saam Barati, Fil Pizlo.

Stub routines shouldn't get deleted before codeblocks have been
swept, otherwise there's a small race window where the codeblock
thinks it's still reachable.

  • heap/Heap.cpp:

(JSC::Heap::deleteUnmarkedCompiledCode):
(JSC::Heap::sweepInFinalize):

3:58 PM Changeset in webkit [229108] by Chris Dumez
  • 4 edits
    8 adds in trunk

html/browsers/browsing-the-web/navigating-across-documents/006.html fails with async policy delegates
https://bugs.webkit.org/show_bug.cgi?id=183168
<rdar://problem/37951341>

Reviewed by Alex Christensen.

Source/WebCore:

The test has an anchor element with both a 'click' event handler which submits a form
and an href attribute. When clicking the link, as per specification, things happen in
this order:

  1. We fire the click event at the anchor, which will execute the event handler and submit the form. Submitting the form *schedules* a navigation to 'click.html'.
  2. We execute the anchor activation code which *navigates* to 'href.html'. The navigation to 'href' is supposed to cancel the pending navigation to 'click.html' and we should navigate to 'href.html', which is what the test asserts.

The issue for us is that we do not cancel pending navigations until after the navigation
policy decision is made, when the provisional loads actually starts, in FrameLoader::provisionalLoadStarted().
Because the policy decision for the navigation can now be made asynchronously, the NavigationScheduler
timer can now fire while the decision is made and we'll submit the form, thus navigating to
'click.html'.

To address the issue, we now cancel any pending navigations in FrameLoader::loadWithDocumentLoader(),
*before* doing the policy check for the navigation.

Test: http/wpt/html/browsers/browsing-the-web/navigating-across-documents/006.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadWithDocumentLoader):

LayoutTests:

Add layout test coverage.

  • TestExpectations:
  • http/wpt/html/browsers/browsing-the-web/navigating-across-documents/006-expected.txt: Added.
  • http/wpt/html/browsers/browsing-the-web/navigating-across-documents/006.html: Added.
  • http/wpt/html/browsers/browsing-the-web/navigating-across-documents/click.html: Added.
  • http/wpt/html/browsers/browsing-the-web/navigating-across-documents/href.html: Added.
3:23 PM Changeset in webkit [229107] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

Unreviewed GTK test gardening.
https://bugs.webkit.org/show_bug.cgi?id=183217

Patch by Alicia Boya García <aboya@igalia.com> on 2018-02-28

  • platform/gtk/TestExpectations:
2:25 PM Changeset in webkit [229106] by wilander@apple.com
  • 27 edits
    2 adds in trunk

Add a second tier of prevalence to facilitate telemetry on very prevalent domains
https://bugs.webkit.org/show_bug.cgi?id=183218
<rdar://problem/37992388>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics.html

  • loader/ResourceLoadStatistics.cpp:

(WebCore::ResourceLoadStatistics::encode const):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::ResourceLoadStatistics::merge):

Handling of the new boolean field isVeryPrevalentResource.

  • loader/ResourceLoadStatistics.h:

Added the new boolean field isVeryPrevalentResource.

Source/WebKit:

  • Platform/classifier/ResourceLoadStatisticsClassifier.cpp:

(WebKit::vectorLength):

New convenience function.

(WebKit::ResourceLoadStatisticsClassifier::calculateResourcePrevalence):

Renamed from ResourceLoadStatisticsClassifier::hasPrevalentResourceCharacteristics().
Now returns a value from the enum ResourceLoadPrevalence.

(WebKit::ResourceLoadStatisticsClassifier::classifyWithVectorThreshold):

Now uses the new vectorLength() convenience function.

(WebKit::ResourceLoadStatisticsClassifier::hasPrevalentResourceCharacteristics): Deleted.

Renamed to ResourceLoadStatisticsClassifier::calculateResourcePrevalence().

  • Platform/classifier/ResourceLoadStatisticsClassifier.h:

Added enum ResourceLoadPrevalence.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):

Handling of the new boolean field isVeryPrevalentResource.

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreSetStatisticsVeryPrevalentResource):
(WKWebsiteDataStoreIsStatisticsVeryPrevalentResource):

Test infrastructure.

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::processStatisticsAndDataRecords):
(WebKit::WebResourceLoadStatisticsStore::setPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::setVeryPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::isVeryPrevalentResource):
(WebKit::WebResourceLoadStatisticsStore::clearPrevalentResource):

All of these are for handling of the two-tier classification.
Also bumped the statisticsModelVersion to 12.

  • UIProcess/WebResourceLoadStatisticsStore.h:

Tools:

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:

Added two new testRunner functions:

  • setStatisticsVeryPrevalentResource()
  • isStatisticsVeryPrevalentResource()
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setStatisticsVeryPrevalentResource):
(WTR::TestRunner::isStatisticsVeryPrevalentResource):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::setStatisticsVeryPrevalentResource):
(WTR::TestController::isStatisticsVeryPrevalentResource):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-mixed-statistics.html:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-sub-frame-under-top-frame-origins.html:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-redirect-collusion.html:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-under-top-frame-origins.html:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-subresource-unique-redirects-to.html:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion.html:
  • http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-unique-redirects-to.html:
  • http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics-expected.txt: Added.
  • http/tests/resourceLoadStatistics/classify-as-very-prevalent-based-on-mixed-statistics.html: Added.
  • platform/wk2/TestExpectations:

New test marked as [ Pass ].

2:01 PM Changeset in webkit [229105] by jmarcell@apple.com
  • 7 edits
    5 adds in branches/safari-605.1.33.1-branch

Cherry-pick r229086. rdar://problem/37991718

2:01 PM Changeset in webkit [229104] by jmarcell@apple.com
  • 7 edits in branches/safari-605.1.33.1-branch/Source

Cherry-pick r229028. rdar://problem/37992270

1:57 PM Changeset in webkit [229103] by jmarcell@apple.com
  • 7 edits
    5 adds in branches/safari-605.1.33.0-branch

Cherry-pick r229086. rdar://problem/37991818

1:57 PM Changeset in webkit [229102] by jmarcell@apple.com
  • 7 edits in branches/safari-605.1.33.0-branch/Source

Cherry-pick r229028. rdar://problem/37947990

1:54 PM Changeset in webkit [229101] by aakash_jain@apple.com
  • 2 edits in trunk/Websites/perf.webkit.org

Rename samplePendingBuild to samplePendingBuildRequest
https://bugs.webkit.org/show_bug.cgi?id=183171

Reviewed by Ryosuke Niwa.

  • unit-tests/buildbot-syncer-tests.js:

(samplePendingBuildRequests): Renamed from samplePendingBuild.
(samplePendingBuildRequestDeprecated): Renamed from samplePendingBuildDeprecated.
(samplePendingBuild): Deleted.
(samplePendingBuildDeprecated): Deleted.

11:53 AM Changeset in webkit [229100] by commit-queue@webkit.org
  • 24 edits in trunk/Source

Reduce use of NetworkingContext in WebKit
https://bugs.webkit.org/show_bug.cgi?id=183213

Patch by Alex Christensen <achristensen@webkit.org> on 2018-02-28
Reviewed by Brady Eidson.

Source/WebCore:

NetworkingContext is intended to be used only with ResourceHandle, which is now only used in WebKitLegacy.
Now that we don't use ResourceHandle in the WebProcess, everything that was done through the NetworkingContext
can now be done a cleaner way with no change in behavior.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadResourceSynchronously):

  • loader/LinkLoader.cpp:

(WebCore::LinkLoader::loadLink):

  • loader/LoaderStrategy.h:
  • platform/network/ProxyServer.h:
  • platform/network/cf/ProxyServerCFNet.cpp:

(WebCore::proxyServersForURL):

  • platform/network/curl/ProxyServerCurl.cpp:

(WebCore::proxyServersForURL):

  • platform/network/soup/ProxyServerSoup.cpp:

(WebCore::proxyServersForURL):

Source/WebKit:

  • NetworkProcess/RemoteNetworkingContext.h:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::preconnectTo):

  • WebProcess/Network/WebLoaderStrategy.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::proxiesForURL):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
  • WebProcess/WebPage/WebFrame.cpp:

Source/WebKitLegacy:

  • WebCoreSupport/WebResourceLoadScheduler.cpp:

(WebResourceLoadScheduler::loadResourceSynchronously):
(WebResourceLoadScheduler::preconnectTo):

  • WebCoreSupport/WebResourceLoadScheduler.h:

Source/WebKitLegacy/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::getProxy):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView getVariable:forURL:value:length:]):

Source/WebKitLegacy/win:

  • Plugins/PluginView.cpp:

(WebCore::PluginView::getValueForURL):

11:34 AM Changeset in webkit [229099] by Jonathan Bedard
  • 3 edits in trunk/Tools

[webkitpy] Remove concept of 'future' versions (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=183184
<rdar://problem/37958594>

Reviewed by David Kilzer.

The factory also relies on future in a non-obvious way.

  • Scripts/webkitpy/common/system/platforminfo.py:

(PlatformInfo.os_version_name): Check both public and internal version mapping
when returning a version name.

  • Scripts/webkitpy/common/system/platforminfo_mock.py:

(MockPlatformInfo.os_version_name): Ditto.

11:14 AM Changeset in webkit [229098] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Disable three resourceLoadStatistics tests on iOS Simulator Debug because they frequently time out.
https://bugs.webkit.org/show_bug.cgi?id=183216

Unreviewed test gardening.

  • platform/ios/TestExpectations:
10:25 AM Changeset in webkit [229097] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Unreviewed WPE fixup after r229080.

Add empty definitions for two AccessibilityUIElement methods,
avoiding undefined symbols in the WKTR injected bundle.

  • WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:

(WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
(WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):

10:15 AM Changeset in webkit [229096] by jmarcell@apple.com
  • 7 edits in tags/Safari-606.1.4.4/Source

Versioning.

10:08 AM Changeset in webkit [229095] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/resourceLoadStatistics/classify-as-prevalent-based-on-top-frame-redirect-collusion.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=182983

Unreviewed test gardening.

  • platform/wk2/TestExpectations:
10:01 AM WebKitGTK/Gardening/Calendar edited by aboya@igalia.com
(diff)
9:47 AM Changeset in webkit [229094] by jmarcell@apple.com
  • 1 copy in tags/Safari-606.1.4.4

New tag.

9:17 AM Changeset in webkit [229093] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

Remove network access from the WebContent process sandbox
https://bugs.webkit.org/show_bug.cgi?id=183192
<rdar://problem/35369115>

Reviewed by Alex Christensen.

Remove the 'system-network', 'allow-network-common', and 'network-client' access from the WebContent process.
That's why we have a Network Process!

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
  • WebProcess/com.apple.WebProcess.sb.in:
8:38 AM Changeset in webkit [229092] by Yusuke Suzuki
  • 3 edits
    1 add in trunk

JSC crash with import("")
https://bugs.webkit.org/show_bug.cgi?id=183175

Reviewed by Saam Barati.

JSTests:

  • stress/import-with-empty-string.js: Added.

Source/JavaScriptCore:

Add file existence and file type check for module loader implementation in jsc.cpp.
This is not safe for TOCTOU, but it is OK since this functionality is used for the
JSC shell (jsc.cpp): testing purpose.

  • jsc.cpp:

(fillBufferWithContentsOfFile):
(fetchModuleFromLocalFileSystem):

8:31 AM Changeset in webkit [229091] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Remove RenderElement::s_affectsParentBlock
https://bugs.webkit.org/show_bug.cgi?id=183187
<rdar://problem/37961079>

Reviewed by Antti Koivisto.

Remove the hack to track floating/out-of-flow changes between styleWillChange and styleDidChange.

Covered by existing tests.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::styleDidChange):

  • rendering/RenderElement.h:
7:50 AM Changeset in webkit [229090] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Filter attribute selectors with selector filter
https://bugs.webkit.org/show_bug.cgi?id=183200

Reviewed by Zalan Bujtas.

Currently selector filtering is done based on tags, classes and ids. We should include attributes too.

This patch adds filtering based on attribute name (but not content).

  • css/SelectorFilter.cpp:

(WebCore::isExcludedAttribute):

Ignore id, class and style attributes. First two are already handled and the last is common but is rarely
used in selectors.

(WebCore::collectElementIdentifierHashes):

Collect attributes.
Remove the unnecessary StyledElement casting.

(WebCore::collectSimpleSelectorHash):

Collect attribute selectors.

(WebCore::chooseSelectorHashesForFilter):

Pick attributes with high priority for the filter as it is likely a good signal.

12:45 AM Changeset in webkit [229089] by svillar@igalia.com
  • 6 edits
    1 delete in trunk/Source/WebCore

[WebVR] Convert VRPlatformDisplayInfo into a class
https://bugs.webkit.org/show_bug.cgi?id=183162

Reviewed by Žan Doberšek.

In preparation for further changes we're transforming the
VRPlatformDisplayInfo into a class. All the members are now private
and the class provides the needed getters/setters.

Apart from that VRDisplayCapabilityFlags is now just an unsigned and
the different flags are defined in VRDisplayCapabilityFlag enum.
Another cleanup was the removal of VRDisplayCapabilities.cpp as
everything can be implemented in the header.

  • Modules/webvr/VRDisplay.cpp:

(WebCore::VRDisplay::VRDisplay):
(WebCore::VRDisplay::isConnected const):
(WebCore::VRDisplay::stageParameters const):

  • Modules/webvr/VRDisplayCapabilities.cpp: Removed.
  • Modules/webvr/VRDisplayCapabilities.h:

(WebCore::VRDisplayCapabilities::hasPosition const):
(WebCore::VRDisplayCapabilities::hasOrientation const):
(WebCore::VRDisplayCapabilities::hasExternalDisplay const):
(WebCore::VRDisplayCapabilities::canPresent const):
(WebCore::VRDisplayCapabilities::maxLayer const):
(WebCore::VRDisplayCapabilities::VRDisplayCapabilities):

  • Sources.txt:
  • platform/vr/VRPlatformDisplay.h:

(WebCore::VRPlatformDisplayInfo::displayName const):
(WebCore::VRPlatformDisplayInfo::setDisplayName):
(WebCore::VRPlatformDisplayInfo::isConnected const):
(WebCore::VRPlatformDisplayInfo::setIsConnected):
(WebCore::VRPlatformDisplayInfo::isMounted const):
(WebCore::VRPlatformDisplayInfo::setIsMounted):
(WebCore::VRPlatformDisplayInfo::capabilityFlags const):
(WebCore::VRPlatformDisplayInfo::setCapabilityFlags):
(WebCore::VRPlatformDisplayInfo::displayIdentifier const):
(WebCore::VRPlatformDisplayInfo::setDisplayIdentifier):
(WebCore::VRPlatformDisplayInfo::eyeTranslation const):
(WebCore::VRPlatformDisplayInfo::setEyeTranslation):
(WebCore::VRPlatformDisplayInfo::eyeFieldOfView const):
(WebCore::VRPlatformDisplayInfo::setEyeFieldOfView):
(WebCore::VRPlatformDisplayInfo::renderSize const):
(WebCore::VRPlatformDisplayInfo::setRenderSize):
(WebCore::VRPlatformDisplayInfo::setPlayAreaBounds):
(WebCore::VRPlatformDisplayInfo::playAreaBounds const):
(WebCore::VRPlatformDisplayInfo::setSittingToStandingTransform):
(WebCore::VRPlatformDisplayInfo::sittingToStandingTransform const):

  • platform/vr/openvr/VRPlatformDisplayOpenVR.cpp:

(WebCore::VRPlatformDisplayOpenVR::VRPlatformDisplayOpenVR):
(WebCore::VRPlatformDisplayOpenVR::updateEyeParameters):
(WebCore::VRPlatformDisplayOpenVR::updateStageParameters):

Note: See TracTimeline for information about the timeline view.