WebKit-https.git
10 months agoDFG's StrengthReduction phase should not reduce Construct into DirectContruct when...
mark.lam@apple.com [Wed, 5 Dec 2018 03:23:54 +0000 (03:23 +0000)]
DFG's StrengthReduction phase should not reduce Construct into DirectContruct when the executable does not have constructAbility.
https://bugs.webkit.org/show_bug.cgi?id=192386
<rdar://problem/46445516>

Reviewed by Saam Barati.

JSTests:

* stress/regress-192386.js: Added.

Source/JavaScriptCore:

This violates an invariant documented by a RELEASE_ASSERT in operationLinkDirectCall().

* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238884 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoAttempt to de-flake this test by scrolling a bit more.
simon.fraser@apple.com [Wed, 5 Dec 2018 02:18:07 +0000 (02:18 +0000)]
Attempt to de-flake this test by scrolling a bit more.

* compositing/fixed-with-main-thread-scrolling.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238883 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: Add style editing debug mode
nvasilyev@apple.com [Wed, 5 Dec 2018 01:37:03 +0000 (01:37 +0000)]
Web Inspector: Add style editing debug mode
https://bugs.webkit.org/show_bug.cgi?id=192282
<rdar://problem/46399176>

Reviewed by Matt Baker.

Introduce a style editing debug mode to help to troubleshoot complex bugs in the style editor.

  - Log CSS changes;
  - Display red border for locked style declarations.

* UserInterface/Base/Setting.js:
* UserInterface/Models/CSSProperty.js:
(WI.CSSProperty.prototype._updateOwnerStyleText):
* UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createDebugSettingsView):
* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.spreadsheet-style-declaration-editor.debug-style-locked::after):
* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateDebugLockStatus):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238882 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoUnreviewed. Update W3C WebDriver imported tests.
bburg@apple.com [Wed, 5 Dec 2018 01:04:22 +0000 (01:04 +0000)]
Unreviewed. Update W3C WebDriver imported tests.
<rdar://problem/46470254>

* imported/w3c/importer.json:
* imported/w3c/tools/webdriver/webdriver/client.py:
* imported/w3c/tools/webdriver/webdriver/error.py:
* imported/w3c/tools/wptrunner/docs/design.rst:
* imported/w3c/tools/wptrunner/requirements.txt:
* imported/w3c/tools/wptrunner/requirements_chrome.txt:
* imported/w3c/tools/wptrunner/requirements_chrome_android.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_safari.txt:
* imported/w3c/tools/wptrunner/requirements_sauce.txt:
* imported/w3c/tools/wptrunner/tox.ini:
* imported/w3c/tools/wptrunner/wptrunner/browsers/__init__.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/base.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/chrome.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/edge_webdriver.py: Added.
* imported/w3c/tools/wptrunner/wptrunner/browsers/fennec.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/firefox.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/safari.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/sauce.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/servodriver.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/webkit.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/base.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/executorservo.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/executorwebdriver.py: Copied from WebDriverTests/imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py.
* imported/w3c/tools/wptrunner/wptrunner/executors/protocol.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/runner.js: Added.
* imported/w3c/tools/wptrunner/wptrunner/executors/testharness_webdriver.js:
* imported/w3c/tools/wptrunner/wptrunner/executors/testharness_webdriver_resume.js:
* imported/w3c/tools/wptrunner/wptrunner/formatters.py:
* imported/w3c/tools/wptrunner/wptrunner/manifestexpected.py:
* imported/w3c/tools/wptrunner/wptrunner/stability.py:
* imported/w3c/tools/wptrunner/wptrunner/testdriver-extra.js:
* imported/w3c/tools/wptrunner/wptrunner/testloader.py:
* imported/w3c/tools/wptrunner/wptrunner/testrunner.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/base.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/test_formatters.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/test_stability.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/test_testloader.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/test_update.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/test_wpttest.py:
* imported/w3c/tools/wptrunner/wptrunner/update/tree.py:
* imported/w3c/tools/wptrunner/wptrunner/update/update.py:
* imported/w3c/tools/wptrunner/wptrunner/webdriver_server.py:
* imported/w3c/tools/wptrunner/wptrunner/wptcommandline.py:
* imported/w3c/tools/wptrunner/wptrunner/wptmanifest/parser.py:
* imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_parser.py:
* imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_serializer.py:
* imported/w3c/tools/wptrunner/wptrunner/wptrunner.py:
* imported/w3c/tools/wptrunner/wptrunner/wpttest.py:
* imported/w3c/webdriver/tests/add_cookie/add.py:
* imported/w3c/webdriver/tests/add_cookie/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/back/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/conftest.py:
* imported/w3c/webdriver/tests/delete_all_cookies/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/delete_session/delete.py:
* imported/w3c/webdriver/tests/element_clear/clear.py:
* imported/w3c/webdriver/tests/element_clear/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/element_click/center_point.py: Added.
* imported/w3c/webdriver/tests/element_click/interactability.py:
* imported/w3c/webdriver/tests/element_click/scroll_into_view.py:
* imported/w3c/webdriver/tests/element_click/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/element_send_keys/file_upload.py:
* imported/w3c/webdriver/tests/element_send_keys/interactability.py:
* imported/w3c/webdriver/tests/element_send_keys/scroll_into_view.py:
* imported/w3c/webdriver/tests/element_send_keys/send_keys.py:
* imported/w3c/webdriver/tests/execute_async_script/execute_async.py:
* imported/w3c/webdriver/tests/execute_script/execute.py:
* imported/w3c/webdriver/tests/execute_script/promise.py: Added.
* imported/w3c/webdriver/tests/find_element/find.py:
* imported/w3c/webdriver/tests/find_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/find_element_from_element/find.py:
* imported/w3c/webdriver/tests/find_element_from_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py.
* imported/w3c/webdriver/tests/find_elements/find.py:
* imported/w3c/webdriver/tests/find_elements/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/find_elements_from_element/find.py:
* imported/w3c/webdriver/tests/find_elements_from_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py.
* imported/w3c/webdriver/tests/fullscreen_window/fullscreen.py:
* imported/w3c/webdriver/tests/fullscreen_window/stress.py: Added.
* imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py:
* imported/w3c/webdriver/tests/get_active_element/get.py:
* imported/w3c/webdriver/tests/get_active_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_current_url/get.py:
* imported/w3c/webdriver/tests/get_element_attribute/__init__.py: Added.
* imported/w3c/webdriver/tests/get_element_attribute/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_element_css_value/__init__.py: Added.
* imported/w3c/webdriver/tests/get_element_css_value/get.py: Added.
* imported/w3c/webdriver/tests/get_element_css_value/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_element_rect/__init__.py: Added.
* imported/w3c/webdriver/tests/get_element_rect/get.py: Added.
* imported/w3c/webdriver/tests/get_element_rect/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_element_text/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_named_cookie/get.py:
* imported/w3c/webdriver/tests/get_named_cookie/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_page_source/__init__.py: Added.
* imported/w3c/webdriver/tests/get_page_source/source.py: Added.
* imported/w3c/webdriver/tests/get_page_source/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_title/get.py:
* imported/w3c/webdriver/tests/get_window_handle/__init__.py: Added.
* imported/w3c/webdriver/tests/get_window_handle/get.py: Added.
* imported/w3c/webdriver/tests/get_window_handle/user_prompts.py: Added.
* imported/w3c/webdriver/tests/get_window_handles/__init__.py: Added.
* imported/w3c/webdriver/tests/get_window_handles/get.py: Added.
* imported/w3c/webdriver/tests/get_window_handles/user_prompts.py: Added.
* imported/w3c/webdriver/tests/is_element_enabled/__init__.py: Added.
* imported/w3c/webdriver/tests/is_element_enabled/enabled.py: Added.
* imported/w3c/webdriver/tests/is_element_enabled/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/maximize_window/maximize.py:
* imported/w3c/webdriver/tests/maximize_window/stress.py: Added.
* imported/w3c/webdriver/tests/minimize_window/minimize.py:
* imported/w3c/webdriver/tests/minimize_window/stress.py: Added.
* imported/w3c/webdriver/tests/minimize_window/user_prompts.py:
* imported/w3c/webdriver/tests/navigate_to/navigate.py:
* imported/w3c/webdriver/tests/navigate_to/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/new_session/invalid_capabilities.py:
* imported/w3c/webdriver/tests/new_session/platform_name.py:
* imported/w3c/webdriver/tests/new_session/response.py:
* imported/w3c/webdriver/tests/new_session/support/create.py:
* imported/w3c/webdriver/tests/perform_actions/__init__.py: Added.
* imported/w3c/webdriver/tests/perform_actions/conftest.py: Added.
* imported/w3c/webdriver/tests/perform_actions/key.py: Added.
* imported/w3c/webdriver/tests/perform_actions/key_events.py: Added.
* imported/w3c/webdriver/tests/perform_actions/key_modifiers.py: Added.
* imported/w3c/webdriver/tests/perform_actions/key_shortcuts.py: Added.
* imported/w3c/webdriver/tests/perform_actions/key_special_keys.py: Added.
* imported/w3c/webdriver/tests/perform_actions/none.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer_contextmenu.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer_dblclick.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer_modifier_click.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer_origin.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer_pause_dblclick.py: Added.
* imported/w3c/webdriver/tests/perform_actions/sequence.py: Added.
* imported/w3c/webdriver/tests/perform_actions/support/__init__.py: Added.
* imported/w3c/webdriver/tests/perform_actions/support/keys.py: Added.
* imported/w3c/webdriver/tests/perform_actions/support/mouse.py: Added.
* imported/w3c/webdriver/tests/perform_actions/support/refine.py: Added.
* imported/w3c/webdriver/tests/perform_actions/support/test_actions_wdspec.html: Added.
* imported/w3c/webdriver/tests/perform_actions/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/perform_actions/validity.py: Added.
* imported/w3c/webdriver/tests/permissions/set.py: Added.
* imported/w3c/webdriver/tests/release_actions/__init__.py: Added.
* imported/w3c/webdriver/tests/release_actions/conftest.py: Added.
* imported/w3c/webdriver/tests/release_actions/release.py: Added.
* imported/w3c/webdriver/tests/release_actions/sequence.py: Added.
* imported/w3c/webdriver/tests/release_actions/support/__init__.py: Added.
* imported/w3c/webdriver/tests/release_actions/support/refine.py: Added.
* imported/w3c/webdriver/tests/release_actions/support/test_actions_wdspec.html: Added.
* imported/w3c/webdriver/tests/send_alert_text/send.py:
* imported/w3c/webdriver/tests/set_timeouts/set.py:
* imported/w3c/webdriver/tests/set_timeouts/user_prompts.py: Added.
* imported/w3c/webdriver/tests/set_window_rect/set.py:
* imported/w3c/webdriver/tests/support/asserts.py:
* imported/w3c/webdriver/tests/support/defaults.py: Added.
* imported/w3c/webdriver/tests/support/fixtures.py:
* imported/w3c/webdriver/tests/support/helpers.py: Added.
* imported/w3c/webdriver/tests/support/http_request.py:
* imported/w3c/webdriver/tests/support/image.py: Added.
* imported/w3c/webdriver/tests/support/inline.py:
* imported/w3c/webdriver/tests/support/sync.py: Added.
* imported/w3c/webdriver/tests/switch_to_frame/switch.py:
* imported/w3c/webdriver/tests/switch_to_window/switch.py:
* imported/w3c/webdriver/tests/take_element_screenshot/__init__.py: Added.
* imported/w3c/webdriver/tests/take_element_screenshot/screenshot.py: Added.
* imported/w3c/webdriver/tests/take_element_screenshot/user_prompts.py: Added.
* imported/w3c/webdriver/tests/take_screenshot/__init__.py: Added.
* imported/w3c/webdriver/tests/take_screenshot/screenshot.py: Added.
* imported/w3c/webdriver/tests/take_screenshot/user_prompts.py: Added.
* imported/w3c/importer.json:
* imported/w3c/tools/webdriver/webdriver/client.py:
* imported/w3c/tools/webdriver/webdriver/error.py:
* imported/w3c/tools/wptrunner/docs/design.rst:
* imported/w3c/tools/wptrunner/requirements.txt:
* imported/w3c/tools/wptrunner/requirements_chrome.txt:
* imported/w3c/tools/wptrunner/requirements_chrome_android.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_safari.txt:
* imported/w3c/tools/wptrunner/requirements_sauce.txt:
* imported/w3c/tools/wptrunner/tox.ini:
* imported/w3c/tools/wptrunner/wptrunner/browsers/__init__.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/base.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/chrome.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/edge_webdriver.py: Added.
* imported/w3c/tools/wptrunner/wptrunner/browsers/fennec.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/firefox.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/safari.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/sauce.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/servodriver.py:
* imported/w3c/tools/wptrunner/wptrunner/browsers/webkit.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/base.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/executormarionette.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/executorservo.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/executorwebdriver.py: Copied from WebDriverTests/imported/w3c/tools/wptrunner/wptrunner/executors/executorselenium.py.
* imported/w3c/tools/wptrunner/wptrunner/executors/protocol.py:
* imported/w3c/tools/wptrunner/wptrunner/executors/runner.js: Added.
* imported/w3c/tools/wptrunner/wptrunner/executors/testharness_webdriver.js:
* imported/w3c/tools/wptrunner/wptrunner/executors/testharness_webdriver_resume.js:
* imported/w3c/tools/wptrunner/wptrunner/formatters.py:
* imported/w3c/tools/wptrunner/wptrunner/manifestexpected.py:
* imported/w3c/tools/wptrunner/wptrunner/stability.py:
* imported/w3c/tools/wptrunner/wptrunner/testdriver-extra.js:
* imported/w3c/tools/wptrunner/wptrunner/testloader.py:
* imported/w3c/tools/wptrunner/wptrunner/testrunner.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/base.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/test_formatters.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/test_stability.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/test_testloader.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/test_update.py:
* imported/w3c/tools/wptrunner/wptrunner/tests/test_wpttest.py:
* imported/w3c/tools/wptrunner/wptrunner/update/tree.py:
* imported/w3c/tools/wptrunner/wptrunner/update/update.py:
* imported/w3c/tools/wptrunner/wptrunner/webdriver_server.py:
* imported/w3c/tools/wptrunner/wptrunner/wptcommandline.py:
* imported/w3c/tools/wptrunner/wptrunner/wptmanifest/parser.py:
* imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_parser.py:
* imported/w3c/tools/wptrunner/wptrunner/wptmanifest/tests/test_serializer.py:
* imported/w3c/tools/wptrunner/wptrunner/wptrunner.py:
* imported/w3c/tools/wptrunner/wptrunner/wpttest.py:
* imported/w3c/webdriver/tests/add_cookie/add.py:
* imported/w3c/webdriver/tests/add_cookie/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/back/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/conftest.py:
* imported/w3c/webdriver/tests/delete_all_cookies/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/delete_session/delete.py:
* imported/w3c/webdriver/tests/element_clear/clear.py:
* imported/w3c/webdriver/tests/element_clear/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/element_click/center_point.py: Added.
* imported/w3c/webdriver/tests/element_click/interactability.py:
* imported/w3c/webdriver/tests/element_click/scroll_into_view.py:
* imported/w3c/webdriver/tests/element_click/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/element_send_keys/file_upload.py:
* imported/w3c/webdriver/tests/element_send_keys/interactability.py:
* imported/w3c/webdriver/tests/element_send_keys/scroll_into_view.py:
* imported/w3c/webdriver/tests/element_send_keys/send_keys.py:
* imported/w3c/webdriver/tests/execute_async_script/execute_async.py:
* imported/w3c/webdriver/tests/execute_script/execute.py:
* imported/w3c/webdriver/tests/execute_script/promise.py: Added.
* imported/w3c/webdriver/tests/find_element/find.py:
* imported/w3c/webdriver/tests/find_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/find_element_from_element/find.py:
* imported/w3c/webdriver/tests/find_element_from_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py.
* imported/w3c/webdriver/tests/find_elements/find.py:
* imported/w3c/webdriver/tests/find_elements/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/find_elements_from_element/find.py:
* imported/w3c/webdriver/tests/find_elements_from_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py.
* imported/w3c/webdriver/tests/fullscreen_window/fullscreen.py:
* imported/w3c/webdriver/tests/fullscreen_window/stress.py: Added.
* imported/w3c/webdriver/tests/fullscreen_window/user_prompts.py:
* imported/w3c/webdriver/tests/get_active_element/get.py:
* imported/w3c/webdriver/tests/get_active_element/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_current_url/get.py:
* imported/w3c/webdriver/tests/get_element_attribute/__init__.py: Added.
* imported/w3c/webdriver/tests/get_element_attribute/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_element_css_value/__init__.py: Added.
* imported/w3c/webdriver/tests/get_element_css_value/get.py: Added.
* imported/w3c/webdriver/tests/get_element_css_value/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_element_rect/__init__.py: Added.
* imported/w3c/webdriver/tests/get_element_rect/get.py: Added.
* imported/w3c/webdriver/tests/get_element_rect/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_element_text/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_named_cookie/get.py:
* imported/w3c/webdriver/tests/get_named_cookie/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_page_source/__init__.py: Added.
* imported/w3c/webdriver/tests/get_page_source/source.py: Added.
* imported/w3c/webdriver/tests/get_page_source/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/get_title/get.py:
* imported/w3c/webdriver/tests/get_window_handle/__init__.py: Added.
* imported/w3c/webdriver/tests/get_window_handle/get.py: Added.
* imported/w3c/webdriver/tests/get_window_handle/user_prompts.py: Added.
* imported/w3c/webdriver/tests/get_window_handles/__init__.py: Added.
* imported/w3c/webdriver/tests/get_window_handles/get.py: Added.
* imported/w3c/webdriver/tests/get_window_handles/user_prompts.py: Added.
* imported/w3c/webdriver/tests/is_element_enabled/__init__.py: Added.
* imported/w3c/webdriver/tests/is_element_enabled/enabled.py: Added.
* imported/w3c/webdriver/tests/is_element_enabled/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/maximize_window/maximize.py:
* imported/w3c/webdriver/tests/maximize_window/stress.py: Added.
* imported/w3c/webdriver/tests/minimize_window/minimize.py:
* imported/w3c/webdriver/tests/minimize_window/stress.py: Added.
* imported/w3c/webdriver/tests/minimize_window/user_prompts.py:
* imported/w3c/webdriver/tests/navigate_to/navigate.py:
* imported/w3c/webdriver/tests/navigate_to/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/new_session/invalid_capabilities.py:
* imported/w3c/webdriver/tests/new_session/platform_name.py:
* imported/w3c/webdriver/tests/new_session/response.py:
* imported/w3c/webdriver/tests/new_session/support/create.py:
* imported/w3c/webdriver/tests/perform_actions/__init__.py: Added.
* imported/w3c/webdriver/tests/perform_actions/conftest.py: Added.
* imported/w3c/webdriver/tests/perform_actions/key.py: Added.
* imported/w3c/webdriver/tests/perform_actions/key_events.py: Added.
* imported/w3c/webdriver/tests/perform_actions/key_modifiers.py: Added.
* imported/w3c/webdriver/tests/perform_actions/key_shortcuts.py: Added.
* imported/w3c/webdriver/tests/perform_actions/key_special_keys.py: Added.
* imported/w3c/webdriver/tests/perform_actions/none.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer_contextmenu.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer_dblclick.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer_modifier_click.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer_origin.py: Added.
* imported/w3c/webdriver/tests/perform_actions/pointer_pause_dblclick.py: Added.
* imported/w3c/webdriver/tests/perform_actions/sequence.py: Added.
* imported/w3c/webdriver/tests/perform_actions/support/__init__.py: Added.
* imported/w3c/webdriver/tests/perform_actions/support/keys.py: Added.
* imported/w3c/webdriver/tests/perform_actions/support/mouse.py: Added.
* imported/w3c/webdriver/tests/perform_actions/support/refine.py: Added.
* imported/w3c/webdriver/tests/perform_actions/support/test_actions_wdspec.html: Added.
* imported/w3c/webdriver/tests/perform_actions/user_prompts.py: Copied from WebDriverTests/imported/w3c/webdriver/tests/minimize_window/user_prompts.py.
* imported/w3c/webdriver/tests/perform_actions/validity.py: Added.
* imported/w3c/webdriver/tests/permissions/set.py: Added.
* imported/w3c/webdriver/tests/release_actions/__init__.py: Added.
* imported/w3c/webdriver/tests/release_actions/conftest.py: Added.
* imported/w3c/webdriver/tests/release_actions/release.py: Added.
* imported/w3c/webdriver/tests/release_actions/sequence.py: Added.
* imported/w3c/webdriver/tests/release_actions/support/__init__.py: Added.
* imported/w3c/webdriver/tests/release_actions/support/refine.py: Added.
* imported/w3c/webdriver/tests/release_actions/support/test_actions_wdspec.html: Added.
* imported/w3c/webdriver/tests/send_alert_text/send.py:
* imported/w3c/webdriver/tests/set_timeouts/set.py:
* imported/w3c/webdriver/tests/set_timeouts/user_prompts.py: Added.
* imported/w3c/webdriver/tests/set_window_rect/set.py:
* imported/w3c/webdriver/tests/support/asserts.py:
* imported/w3c/webdriver/tests/support/defaults.py: Added.
* imported/w3c/webdriver/tests/support/fixtures.py:
* imported/w3c/webdriver/tests/support/helpers.py: Added.
* imported/w3c/webdriver/tests/support/http_request.py:
* imported/w3c/webdriver/tests/support/image.py: Added.
* imported/w3c/webdriver/tests/support/inline.py:
* imported/w3c/webdriver/tests/support/sync.py: Added.
* imported/w3c/webdriver/tests/switch_to_frame/switch.py:
* imported/w3c/webdriver/tests/switch_to_window/switch.py:
* imported/w3c/webdriver/tests/take_element_screenshot/__init__.py: Added.
* imported/w3c/webdriver/tests/take_element_screenshot/screenshot.py: Added.
* imported/w3c/webdriver/tests/take_element_screenshot/user_prompts.py: Added.
* imported/w3c/webdriver/tests/take_screenshot/__init__.py: Added.
* imported/w3c/webdriver/tests/take_screenshot/screenshot.py: Added.
* imported/w3c/webdriver/tests/take_screenshot/user_prompts.py: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238881 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoCrash in HTMLCollection::updateNamedElementCache
rniwa@webkit.org [Wed, 5 Dec 2018 00:30:23 +0000 (00:30 +0000)]
Crash in HTMLCollection::updateNamedElementCache
https://bugs.webkit.org/show_bug.cgi?id=192347

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by CollectionIndexCache's nodeAt caching the length of 1
when there are no matching elements in the subtree when the index is non-zero.

A related bug was fixed in r182125 but we were not considering the possibility
that the index given to this function might be non-zero even when there were
no matching elements.

Test: fast/dom/options-collection-zero-length-crash.html

* dom/CollectionIndexCache.h:
(WebCore::CollectionIndexCache<Collection, Iterator>::nodeAt):

LayoutTests:

Added a regression test. We can't simply call select.options.item
to catch this crash because the generated bidning code first call length()
to check if the index is within the valid range.

* fast/dom/options-collection-zero-length-crash-expected.txt: Added.
* fast/dom/options-collection-zero-length-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238880 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoDon't report resource timing to parent frame for history items
jiewen_tan@apple.com [Tue, 4 Dec 2018 23:01:29 +0000 (23:01 +0000)]
Don't report resource timing to parent frame for history items
https://bugs.webkit.org/show_bug.cgi?id=192273
<rdar://problem/45163764>

Reviewed by Youenn Fablet.

Source/WebCore:

We should not report history items to its parent frame as those are less
interested to its parent and might not be the first navigation in the iframes.

This change aligns the behavior when a cached document is not available for the
history item with the available case as we don't report resource timing for any
cached main document.

Test: http/tests/misc/resource-timing-navigation-in-restored-iframe-2.html

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadDifferentDocumentItem):

LayoutTests:

* http/tests/misc/resource-timing-navigation-in-restored-iframe-2-expected.txt: Added.
* http/tests/misc/resource-timing-navigation-in-restored-iframe-2.html: Copied from LayoutTests/http/tests/misc/resource-timing-navigation-in-restored-iframe.html.
* http/tests/misc/resource-timing-navigation-in-restored-iframe.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238877 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoREGRESSION (r238090): position:fixed sidebar on https://www.w3.org/TR/SVG2/coords...
simon.fraser@apple.com [Tue, 4 Dec 2018 22:58:36 +0000 (22:58 +0000)]
REGRESSION (r238090): position:fixed sidebar on https://w3.org/TR/SVG2/coords.html does not stay fixed
https://bugs.webkit.org/show_bug.cgi?id=192320
<rdar://problem/46429833>

Reviewed by Zalan Bujtas.
Source/WebCore:

Re-land r238840 with a more reliable test.

When we fall into slow scrolling mode (for example, because of background-attachment: fixed),
RenderLayerCompositor::updateCompositingLayers() needs to set the geometry dirty bit on layers
for viewport-constrained objects so we update them.

This is only necessary for page scrolling; for overflow scrolls, updateLayerPositions() already
does enough dirtying that fixed layers nested inside scrollers get updated.

Test: compositing/fixed-with-main-thread-scrolling.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):

LayoutTests:

* compositing/fixed-with-main-thread-scrolling-expected.html: Added.
* compositing/fixed-with-main-thread-scrolling.html: Added.
* platform/ios/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238876 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker...
youenn@apple.com [Tue, 4 Dec 2018 22:33:24 +0000 (22:33 +0000)]
[iOS] Layout Test imported/w3c/web-platform-tests/service-workers/service-worker/fetch-cors-xhr.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189727
<rdar://problem/44584993>

Unreviewed.

* platform/ios/TestExpectations: Update expectation to dump JS console lines in stderr.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238875 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoFix MediaRecorder flaky tests
youenn@apple.com [Tue, 4 Dec 2018 21:40:44 +0000 (21:40 +0000)]
Fix MediaRecorder flaky tests
https://bugs.webkit.org/show_bug.cgi?id=192371

Reviewed by Eric Carlson.

Source/WebCore:

No change of behavior.

* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
Reset to use real MediaRecorder by default.

LayoutTests:

Updated tests to make them less flaky and more debuggable.

* http/wpt/mediarecorder/MediaRecorder-AV-audio-only-dataavailable.html:
* http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html:
* http/wpt/mediarecorder/MediaRecorder-AV-video-only-dataavailable.html:
* platform/gtk/TestExpectations:
* platform/wpe/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238874 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoCalling getUserMedia in a link that was opened with target="_blank" does not work...
youenn@apple.com [Tue, 4 Dec 2018 20:57:56 +0000 (20:57 +0000)]
Calling getUserMedia in a link that was opened with target="_blank" does not work the second time
https://bugs.webkit.org/show_bug.cgi?id=188088
<rdar://problem/42681448>

Reviewed by Eric Carlson.

On closing a page, we need to make sure to consider that the capture is ended,
as otherwise WebPageProxy will not get noticed from WebPage, since WebPageProxy is no longer an IPC receiver.

* UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::endedCaptureSession):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238873 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoCSS Painting API should allow image values in inputProperties
justin_michaud@apple.com [Tue, 4 Dec 2018 20:25:02 +0000 (20:25 +0000)]
CSS Painting API should allow image values in inputProperties
https://bugs.webkit.org/show_bug.cgi?id=192200

Reviewed by Dean Jackson.

Source/WebCore:

Adds new TypedOMCSSImageValue wrapper. We rename all the existing ones so that the naming is consistent (CSSImageValue is already a thing).
Finally, we let CanvasRenderingContext2DBase render these.

Tests: fast/css-custom-paint/arguments.html
       fast/css-custom-paint/image.html

* CMakeLists.txt:
* DerivedSources.make:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/CallTracerTypes.h:
* bindings/js/JSTypedOMCSSStyleValueCustom.cpp: Renamed from Source/WebCore/bindings/js/JSCSSStyleValueCustom.cpp.
(WebCore::toJSNewlyCreated):
(WebCore::toJS):
* bindings/js/WebCoreBuiltinNames.h:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::customPropertyValue):
* css/CSSCustomPropertyValue.cpp:
(WebCore::CSSCustomPropertyValue::equals const):
(WebCore::CSSCustomPropertyValue::customCSSText const):
(WebCore::CSSCustomPropertyValue::tokens const):
* css/CSSCustomPropertyValue.h:
* css/CSSPaintImageValue.cpp:
(WebCore::CSSPaintImageValue::image):
* css/typedom/StylePropertyMapReadOnly.h:
(WebCore::StylePropertyMapReadOnly::create):
(WebCore::StylePropertyMapReadOnly::get const):
(WebCore::StylePropertyMapReadOnly::StylePropertyMapReadOnly):
* css/typedom/StylePropertyMapReadOnly.idl:
* css/typedom/TypedOMCSSImageValue.h: Copied from Source/WebCore/css/typedom/CSSUnitValue.h.
* css/typedom/TypedOMCSSImageValue.idl: Copied from Source/WebCore/css/typedom/CSSStyleValue.idl.
* css/typedom/TypedOMCSSNumericValue.h: Renamed from Source/WebCore/css/typedom/CSSNumericValue.h.
* css/typedom/TypedOMCSSNumericValue.idl: Renamed from Source/WebCore/css/typedom/CSSNumericValue.idl.
* css/typedom/TypedOMCSSStyleValue.h: Renamed from Source/WebCore/css/typedom/CSSStyleValue.h.
(WebCore::TypedOMCSSStyleValue::isImageValue):
* css/typedom/TypedOMCSSStyleValue.idl: Renamed from Source/WebCore/css/typedom/CSSStyleValue.idl.
* css/typedom/TypedOMCSSUnitValue.h: Renamed from Source/WebCore/css/typedom/CSSUnitValue.h.
* css/typedom/TypedOMCSSUnitValue.idl: Renamed from Source/WebCore/css/typedom/CSSUnitValue.idl.
* css/typedom/TypedOMCSSUnparsedValue.h: Renamed from Source/WebCore/css/typedom/CSSUnparsedValue.h.
* css/typedom/TypedOMCSSUnparsedValue.idl: Renamed from Source/WebCore/css/typedom/CSSUnparsedValue.idl.
* html/ImageBitmap.cpp:
(WebCore::ImageBitmap::createPromise):
* html/ImageBitmap.h:
* html/canvas/CanvasDrawImage.idl:
* html/canvas/CanvasFillStrokeStyles.idl:
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::checkOrigin):
* html/canvas/CanvasRenderingContext.h:
* html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::size):
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::CanvasRenderingContext2DBase::createPattern):
* html/canvas/CanvasRenderingContext2DBase.h:
* inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::buildAction):
* page/WindowOrWorkerGlobalScope.idl:
* platform/graphics/CustomPaintImage.cpp:
(WebCore::CustomPaintImage::doCustomPaint):

LayoutTests:

* fast/css-custom-paint/arguments-expected.html: Added.
* fast/css-custom-paint/arguments.html: Added.
* fast/css-custom-paint/image-expected.html: Added.
* fast/css-custom-paint/image.html: Added.
* fast/css-custom-paint/resources/test-image.png: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238872 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: REGRESSION(r238602): Elements: changing selection no longer highlights...
mattbaker@apple.com [Tue, 4 Dec 2018 20:07:09 +0000 (20:07 +0000)]
Web Inspector: REGRESSION(r238602): Elements: changing selection no longer highlights the selected node
https://bugs.webkit.org/show_bug.cgi?id=192354
<rdar://problem/46444438>

Reviewed by Joseph Pecoraro.

* UserInterface/Views/TreeOutline.js:
(WI.TreeOutline.prototype._treeKeyDown):
(WI.TreeOutline.prototype._handleMouseDown):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238871 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing
cdumez@apple.com [Tue, 4 Dec 2018 19:44:45 +0000 (19:44 +0000)]
ProcessSwap.UseSessionCookiesAfterProcessSwapInPrivateBrowsing API test is failing
https://bugs.webkit.org/show_bug.cgi?id=192362

Reviewed by Alex Christensen.

Set the cookie policy to Accept to make sure the cookies are saved.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238868 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoRegression(r238817) PSON Page Cache API tests are failing
cdumez@apple.com [Tue, 4 Dec 2018 19:44:09 +0000 (19:44 +0000)]
Regression(r238817) PSON Page Cache API tests are failing
https://bugs.webkit.org/show_bug.cgi?id=192348

Reviewed by Alex Christensen.

Source/WebCore:

* page/MemoryRelease.cpp:
(WebCore::releaseCriticalMemory):
(WebCore::releaseMemory):
* page/MemoryRelease.h:

Source/WebKit:

Before suspending a WebProcess on iOS, we normally fake a memory pressure signal
so that the suspended process uses as little memory as possible while suspended.
Among other things, this will clear the page cache. This is an issue in the case
of process-swap on navigation because we keep suspended web processes around to
keep Page Cache functional.

To address the issue, when a WebProcess is about to get suspended, we check if
the process has any suspended WebPage (WebPage used for PSON PageCache support)
and we bypass the PageCache clearing if it does.

Our API tests did not catch this before r238817 because the NavigationState's
assertion was preventing the old WebProcesses from suspending for 3 seconds,
which was enough for those tests to complete.

* UIProcess/SuspendedPageProxy.cpp:
(WebKit::SuspendedPageProxy::SuspendedPageProxy):
(WebKit::SuspendedPageProxy::didFinishLoad):
* UIProcess/SuspendedPageProxy.h:
Take a background assertion until the suspension load is complete, to make sure
the suspension load has a chance to complete before the process gets suspended.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::hasPageRequiringPageCacheWhileSuspended const):
(WebKit::WebProcess::actualPrepareToSuspend):
* WebProcess/WebProcess.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238867 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[WPE][GTK] Update GLib
mcatanzaro@igalia.com [Tue, 4 Dec 2018 19:42:59 +0000 (19:42 +0000)]
[WPE][GTK] Update GLib
https://bugs.webkit.org/show_bug.cgi?id=191222

Reviewed by Žan Doberšek.

When I try running API tests locally, they crash with:

GLib-GIO-WARNING **: unknown schema extension 'd'

We need to update our old glib to support the 'd' value type, otherwise schemas that may
exist on the host using this type will cause instant crashes.

Also, switch the GLib build to use meson. This requires updating meson as well.

* gtk/jhbuild.modules:
* gtk/patches/glib-cast-function-type.patch: Removed.
* gtk/patches/glib-gtester-do-not-consider-skipped-tests-as-failures.patch: Removed.
* wpe/jhbuild.modules:
* wpe/patches/glib-cast-function-type.patch: Removed.
* wpe/patches/glib-revert-wakeup-changes.patch: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238866 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[ews-app] Run BugzillaPatchFetcher periodically
aakash_jain@apple.com [Tue, 4 Dec 2018 19:34:45 +0000 (19:34 +0000)]
[ews-app] Run BugzillaPatchFetcher periodically
https://bugs.webkit.org/show_bug.cgi?id=192241

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-app/ews/__init__.py:
* BuildSlaveSupport/ews-app/ews/apps.py:
(EwsConfig.ready): This method is called by Django on startup.
* BuildSlaveSupport/ews-app/ews/fetcher.py:
(FetchLoop): Class which invokes BugzillaPatchFetcher every 60s.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238865 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: REGRESSION(r238330): Timeline auto-capture does not work after page...
joepeck@webkit.org [Tue, 4 Dec 2018 19:07:57 +0000 (19:07 +0000)]
Web Inspector: REGRESSION(r238330): Timeline auto-capture does not work after page transition
https://bugs.webkit.org/show_bug.cgi?id=192248
<rdar://problem/46390199>

Reviewed by Devin Rousso.

* UserInterface/Base/Main.js:
(WI.transitionPageTarget):
Let the TimelineManager perform work on page transitions.

* UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.prototype.initializeTarget):
Initialize the autocapture state of the target.

(WI.TimelineManager.prototype.transitionPageTarget):
When transitioning pages perform a legacy (frontend based) timeline capture.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238864 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agowebkitpy: Support unicode in MeteredStream
jbedard@apple.com [Tue, 4 Dec 2018 19:00:26 +0000 (19:00 +0000)]
webkitpy: Support unicode in MeteredStream
https://bugs.webkit.org/show_bug.cgi?id=192260

Reviewed by Aakash Jain.

It's possible that the test runner returns unicode characters to be logged when
running layout tests.

* Scripts/webkitpy/layout_tests/views/metered_stream.py:
(MeteredStream.write): Print message without attempting to encode/decode it.
* Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
(RegularTest.test_unicode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238862 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[ESNext][BigInt] Support logic operations
ticaiolima@gmail.com [Tue, 4 Dec 2018 18:55:27 +0000 (18:55 +0000)]
[ESNext][BigInt] Support logic operations
https://bugs.webkit.org/show_bug.cgi?id=179903

Reviewed by Yusuke Suzuki.

JSTests:

* stress/big-int-branch-usage.js: Added.
* stress/big-int-logical-and.js: Added.
* stress/big-int-logical-not.js: Added.
* stress/big-int-logical-or.js: Added.

Source/JavaScriptCore:

We are introducing in this patch the ToBoolean support for JSBigInt.
With this change, we can implement the correct behavior of BigInt as
operand of logical opertions. During JIT genertion into DFG and FTL,
we are using JSBigInt::m_length to verify if the number is 0n or not,
following the same approach used by JSString. This is also safe in the case
of BigInt, because only 0n has m_length == 0.

We are not including BigInt speculation into Branch nodes in this
patch, but the plan is to implement it in further patches.

* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::boolify):
(JSC::FTL::DFG::LowerDFGToB3::isBigInt):
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitConvertValueToBoolean):
(JSC::AssemblyHelpers::branchIfValue):
* runtime/JSBigInt.cpp:
(JSC::JSBigInt::isZero const):
(JSC::JSBigInt::offsetOfLength):
(JSC::JSBigInt::toBoolean const):
(JSC::JSBigInt::isZero): Deleted.
* runtime/JSBigInt.h:
* runtime/JSCellInlines.h:
(JSC::JSCell::toBoolean const):
(JSC::JSCell::pureToBoolean const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238861 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoUnreviewed, rolling out r238838.
ryanhaddad@apple.com [Tue, 4 Dec 2018 18:50:52 +0000 (18:50 +0000)]
Unreviewed, rolling out r238838.

The layout test added with this change is failing on iOS.

Reverted changeset:

"Thick overlines and line-throughs grow in the wrong
direction"
https://bugs.webkit.org/show_bug.cgi?id=192264
https://trac.webkit.org/changeset/238838

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238860 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: Elements: $0 is shown for all selected elements
mattbaker@apple.com [Tue, 4 Dec 2018 18:17:16 +0000 (18:17 +0000)]
Web Inspector: Elements: $0 is shown for all selected elements
https://bugs.webkit.org/show_bug.cgi?id=192119
<rdar://problem/46327554>

Reviewed by Devin Rousso.

* UserInterface/Views/ContentBrowserTabContentView.js:
(WI.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObject):
* UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView):
(WI.DOMTreeContentView.prototype.layout):
(WI.DOMTreeContentView.prototype._domTreeSelectionDidChange):
Update the selected DOM node using the TreeOutline's selection change
event, instead of in `onselect`, which wasn't always called.

* UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype.onselect): Deleted.
(WI.DOMTreeElement.prototype.ondeselect): Deleted.
Eliminate `onselect` and `ondeselect`. TreeOutline clients should use
the TreeOutline.Event.SelectedDidChange event instead.

* UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom li.last-selected > span::after):
(.tree-outline.dom:focus li.last-selected > span::after):
(.tree-outline.dom li.selected > span::after): Deleted.
(.tree-outline.dom:focus li.selected > span::after): Deleted.
* UserInterface/Views/DOMTreeOutline.js:
(WI.DOMTreeOutline.prototype.updateSelection): Deleted.

* UserInterface/Views/DebuggerSidebarPanel.js:
(WI.DebuggerSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
* UserInterface/Views/FolderizedTreeElement.js:
(WI.FolderizedTreeElement.prototype._addTreeElement):
* UserInterface/Views/NavigationSidebarPanel.js:
(WI.NavigationSidebarPanel.prototype.showDefaultContentViewForTreeElement):
(WI.NavigationSidebarPanel.prototype._treeElementWasFiltered):
(WI.NavigationSidebarPanel):
* UserInterface/Views/OpenResourceDialog.js:
(WI.OpenResourceDialog.prototype._populateResourceTreeOutline):
(WI.OpenResourceDialog.prototype._handleKeydownEvent):
* UserInterface/Views/SourceCodeTreeElement.js:
(WI.SourceCodeTreeElement.prototype.descendantResourceTreeElementTypeDidChange):
* UserInterface/Views/TreeElement.js:
(WI.TreeElement.prototype.select):
(WI.TreeElement.prototype.revealAndSelect):
(WI.TreeElement.prototype.deselect):
Remove `suppressOnDeselect` and rename `suppressOnSelect` to `suppressNotification`.
Now that `ondeselect` has been removed `suppressOnDeselect` is no longer
meaningful, as TreeOutline generates a single `SelectedDidChange` event
when the selected item changes. In the case of `revealAndSelect`, both
arguments had the same value.

* UserInterface/Views/TreeOutline.js:
(WI.TreeOutline):
(WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
Add a unique class name to the last selected TreeElement to distinguish
it from other selected elements.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238859 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: Elements: ⌘-A should select all visible nodes
mattbaker@apple.com [Tue, 4 Dec 2018 18:14:28 +0000 (18:14 +0000)]
Web Inspector: Elements: ⌘-A should select all visible nodes
https://bugs.webkit.org/show_bug.cgi?id=192120
<rdar://problem/46344435>

Reviewed by Devin Rousso.

* UserInterface/Views/TreeOutline.js:
(WI.TreeOutline.prototype._treeKeyDown):
Remove an early return, allowing `WI.SelectionController` to handle ⌘-A
and select all items.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238858 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoDevice orientation may be wrong on page reload after crash
youenn@apple.com [Tue, 4 Dec 2018 18:12:10 +0000 (18:12 +0000)]
Device orientation may be wrong on page reload after crash
https://bugs.webkit.org/show_bug.cgi?id=192349
<rdar://problem/46359466>

Reviewed by Eric Carlson.

On page crash, the process is relaunched and the page is reloaded.
At that point, the orientation information of the page is not reset until the next device orientation change.
To fix that, add the device orientation to the page creation parameters so that we pass it everytime we create a page.
Covered by manual testing.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* WebProcess/WebPage/WebPage.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238857 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoUnreviewed, rolling out r238840.
ryanhaddad@apple.com [Tue, 4 Dec 2018 17:17:19 +0000 (17:17 +0000)]
Unreviewed, rolling out r238840.

The layout test added with this change is frequently failing.

Reverted changeset:

"REGRESSION (r238090): position:fixed sidebar on
https://www.w3.org/TR/SVG2/coords.html does not stay fixed"
https://bugs.webkit.org/show_bug.cgi?id=192320
https://trac.webkit.org/changeset/238840

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238855 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoUpdate scripts for generating .xcfilelist files
krollin@apple.com [Tue, 4 Dec 2018 17:05:10 +0000 (17:05 +0000)]
Update scripts for generating .xcfilelist files
https://bugs.webkit.org/show_bug.cgi?id=192081
<rdar://problem/46312290>

Reviewed by Brent Fulgham.

The initial pass at generate-xcfilelists (a script for
creating/updating the .xcfilelist files needed for various Generate
Foo Source build phases in Xcode) only generated the .xcfilelist files
that held the output files; it did not generate the list of input
files. As well, for the sources generated by DerivedSources.make
makefiles, the script accomplished this via the implementation of a
convention in the makefile that allowed the printing of these output
files when invoked with the 'print_all_generated_files' target. Use of
this convention is inconvenient and error-prone.

The script is now updated to address both of these issues. First, it
generates for the input and output sets of files. Second, it does away
with the convention in the DerivedSources.make makefiles and instead
works from the dependency output information printed when `make` is
invoked with --debug. This second part is implemented in the new
script extract-dependencies-from-makefile.

* Scripts/extract-dependencies-from-makefile: Added.
(Parser):
(Parser.__init__):
(Parser.nextLine):
(Parser.addTarget):
(Parser.addPrereq):
(Parser.doParse):
(Parser.printInputs):
(Parser.printOutputs):
(parseArgs):
(main):
* Scripts/generate-xcfilelists:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238854 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[WPE] Add gtk-doc
commit-queue@webkit.org [Tue, 4 Dec 2018 16:33:22 +0000 (16:33 +0000)]
[WPE] Add gtk-doc
https://bugs.webkit.org/show_bug.cgi?id=178900

Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-12-04
Reviewed by Michael Catanzaro.

Add gtk-doc to WPE port. This patch tries to reuse as much code from
WebKitGTK+ as possible.

.:

* Source/PlatformGTK.cmake: include GtkDoc.cmake instead of defining macro.
* Source/PlatformWPE.cmake: Added documentation generation.
* Source/cmake/GtkDoc.cmake: Added.
* Source/cmake/OptionsWPE.cmake: Added ENABLE_GTKDOC build option and added pkg-config path variables.

Source/WebKit:

* PlatformWPE.cmake: Write variables to gtkdoc-wpe.cfg and gtkdoc-webextensions that is used by python script later.
* UIProcess/API/wpe/WebKitWebContext.h: Placed sandbox functions in the same location as in the WebKitGTK+ for consistency.
* UIProcess/API/wpe/docs/wpe-0.1-sections.txt: Added.
* UIProcess/API/wpe/docs/wpe-docs.sgml: Added.
* WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h: Placed webkit_web_page_get_dom_document
in the same position as in the WebKitGTK+ for consistency.
* WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-0.1-sections.txt: Added.
* WebProcess/InjectedBundle/API/wpe/docs/wpe-webextensions-docs.sgml: Added.

Tools:

* gtkdoc/generate-gtkdoc: Renamed from Tools/gtk/generate-gtkdoc.
(get_gtkdoc_module_paths): Add GDK and GTK only if building for GTK.
(prepare_environment_for_gtkdoc_generation):
(build_gtkdoc_for_wpe): Code to generate doc for WPE.
(build_gtkdoc_for_wkgtk): Code to generate doc for WebKitGTK+. Moved from main.
* gtkdoc/gtkdoc.py: Renamed from Tools/gtk/gtkdoc.py.
(GTKDoc.__init__): Initialized required variables according to pylint.
(GTKDoc.api_missing_documentation):
* wpe/install-dependencies: Add gtkdoc dependency.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238853 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[SOUP] Move URLSoup back to WebCore after r238771
carlosgc@webkit.org [Tue, 4 Dec 2018 11:01:17 +0000 (11:01 +0000)]
[SOUP] Move URLSoup back to WebCore after r238771
https://bugs.webkit.org/show_bug.cgi?id=192306

Reviewed by Michael Catanzaro.

Source/WebCore:

Add soupURIToURL() and urlToSoupURI() to replace the URL contructor taking a Soup URI and
URL::createSoupURI(). Fix several build failures that showed up after removing the soup includes from URL
header.

* platform/Cookie.h:
* platform/SharedBuffer.h:
* platform/SourcesSoup.txt:
* platform/network/soup/CookieSoup.cpp:
* platform/network/soup/GUniquePtrSoup.h: Renamed from Source/WTF/wtf/glib/GUniquePtrSoup.h.
* platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::deleteCookie const):
(WebCore::NetworkStorageSession::getCookies):
(WebCore::NetworkStorageSession::getRawCookies const):
(WebCore::cookiesForSession):
* platform/network/soup/ResourceErrorSoup.cpp:
(WebCore::failingURI):
* platform/network/soup/ResourceHandleSoup.cpp:
* platform/network/soup/ResourceRequest.h:
(WebCore::ResourceRequest::ResourceRequest):
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::ResourceRequest::updateSoupMessageMembers const):
(WebCore::ResourceRequest::updateFromSoupMessage):
(WebCore::ResourceRequest::createSoupURI const):
* platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::updateFromSoupMessage):
* platform/network/soup/SocketStreamHandleImpl.h:
* platform/network/soup/SocketStreamHandleImplSoup.cpp:
(WebCore::SocketStreamHandleImpl::create):
* platform/network/soup/SoupNetworkSession.cpp:
* platform/network/soup/URLSoup.cpp: Copied from Source/WTF/wtf/glib/URLSoup.cpp.
(WebCore::soupURIToURL):
(WebCore::urlToSoupURI):
* platform/network/soup/URLSoup.h: Renamed from Source/WTF/wtf/glib/URLSoup.cpp.

Source/WebKit:

Include GUniquePtrSoup from WebCore again and fix several build failures that showed up after removing the soup
includes from URL header.

* NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::tlsConnectionAcceptCertificate):
* PluginProcess/PluginProcess.cpp:
* Shared/API/glib/WebKitURIRequest.cpp:
* Shared/API/glib/WebKitURIResponse.cpp:
* UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp:
* UIProcess/API/glib/WebKitURISchemeRequest.cpp:
(webkit_uri_scheme_request_finish_error): Use soupURIToURL().
* UIProcess/API/glib/WebKitWebView.cpp:
(webkit_web_view_load_uri): Use soupURIToURL().
* UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
* UIProcess/Launcher/glib/BubblewrapLauncher.h:
* UIProcess/Launcher/glib/FlatpakLauncher.cpp:
* UIProcess/Launcher/glib/FlatpakLauncher.h:

Source/WTF:

In r238771 URL was moved from WebCore to WTF, including the soup implementation. Unfortunately that added
libsoup as a new dependency of libjavascriptcoregtk.

* wtf/PlatformGTK.cmake:
* wtf/PlatformWPE.cmake:
* wtf/URL.h:
* wtf/glib/URLGLib.cpp: Copied from Source/WTF/wtf/glib/URLSoup.cpp.

Tools:

Include GUniquePtrSoup from WebCore again.

* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238851 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: Audit: tests should support async operations
drousso@apple.com [Tue, 4 Dec 2018 09:08:42 +0000 (09:08 +0000)]
Web Inspector: Audit: tests should support async operations
https://bugs.webkit.org/show_bug.cgi?id=192171
<rdar://problem/46423562>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Add `awaitPromise` command for executing a callback when a Promise gets settled.

Drive-by: allow `wasThrown` to be optional, instead of expecting it to always have a value.
* inspector/protocol/Runtime.json:

* inspector/InjectedScriptSource.js:
(InjectedScript.prototype.awaitPromise): Added.

* inspector/InjectedScript.h:
* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::evaluate):
(Inspector::InjectedScript::awaitPromise): Added.
(Inspector::InjectedScript::callFunctionOn):
(Inspector::InjectedScript::evaluateOnCallFrame):

* inspector/InjectedScriptBase.h:
* inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::makeEvalCall):
(Inspector::InjectedScriptBase::makeAsyncCall): Added.
(Inspector::InjcetedScriptBase::checkCallResult): Added.
(Inspector::InjcetedScriptBase::checkAsyncCallResult): Added.

* inspector/agents/InspectorRuntimeAgent.h:
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::evaluate):
(Inspector::InspectorRuntimeAgent::awaitPromise):
(Inspector::InspectorRuntimeAgent::callFunctionOn):

* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):

Source/WebCore:

* page/Settings.yaml:
* dom/ScriptExecutionContext.cpp:
(ScriptExecutionContext::reportUnhandledPromiseRejection):
Add setting for muting the "Unhandled Promise Rejection" console message.

Source/WebInspectorUI:

* UserInterface/Controllers/RuntimeManager.js:
(WI.RuntimeManager.supportsAwaitPromise): Added.

* UserInterface/Models/AuditTestCase.js:
(WI.AuditTestCase.prototype.async run.async parseResponse.checkResultProperty.addErrorForValueType): Deleted.
(WI.AuditTestCase.prototype.async run.async parseResponse.checkResultProperty): Deleted.
(WI.AuditTestCase.prototype.async run.async parseResponse.async resultArrayForEach): Deleted.
(WI.AuditTestCase.prototype.async run.async parseResponse): Added.
(WI.AuditTestCase.prototype.async run):
(WI.AuditTestCase.prototype.async run.checkResultProperty.addErrorForValueType): Deleted.
(WI.AuditTestCase.prototype.async run.checkResultProperty): Deleted.
(WI.AuditTestCase.prototype.async run.async resultArrayForEach): Deleted.

* UserInterface/Models/AuditTestCaseResult.js:
(WI.AuditTestCaseResult.async fromPayload):
(WI.AuditTestCaseResult.prototype.toJSON):

* UserInterface/Views/AuditTestCaseContentView.js:
(WI.AuditTestCaseContentView.prototype.layout):

LayoutTests:

* inspector/audit/resources/audit-utilities.js:
(TestPage.registerInitializer.InspectorTest.Audit.addFunctionlessTest):
(TestPage.registerInitializer.InspectorTest.Audit.addStringTest):
(TestPage.registerInitializer.InspectorTest.Audit.addObjectTest):
(TestPage.registerInitializer.InspectorTest.Audit.addPromiseTest): Added.
* inspector/audit/basic-expected.txt:
* inspector/audit/basic.html:

* inspector/model/auditTestCaseResult-expected.txt:
* inspector/model/auditTestCaseResult.html:
* inspector/model/auditTestGroupResult-expected.txt:
* inspector/model/auditTestGroupResult.html:

* inspector/runtime/awaitPromise-expected.txt: Added.
* inspector/runtime/awaitPromise.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238850 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoFix the watchOS build; stop unnecessarily linking CorePDF
timothy_horton@apple.com [Tue, 4 Dec 2018 09:00:54 +0000 (09:00 +0000)]
Fix the watchOS build; stop unnecessarily linking CorePDF
https://bugs.webkit.org/show_bug.cgi?id=192356
<rdar://problem/46427844>

Reviewed by Wenson Hsieh.

* Configurations/WebKit.xcconfig:
* Platform/spi/ios/CorePDFSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238849 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[GTK] Bump freetype, fontconfig, harfbuzz, cairo and icu in jhbuild
carlosgc@webkit.org [Tue, 4 Dec 2018 08:34:44 +0000 (08:34 +0000)]
[GTK] Bump freetype, fontconfig, harfbuzz, cairo and icu in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=192310

Reviewed by Michael Catanzaro.

Tools:

Update those dependencies to their latest stable versions.

* gtk/jhbuild.modules:

LayoutTests:

Rebaseline tests.

* platform/gtk/fast/text/format-control-expected.png:
* platform/gtk/fast/text/format-control-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/filters-light-04-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/filters-turb-02-f-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/masking-mask-01-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/render-groups-01-b-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt:
* platform/gtk/svg/W3C-SVG-1.1/render-groups-03-t-expected.png:
* platform/gtk/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt:
* platform/gtk/svg/custom/glyph-transformation-with-hkern-expected.png:
* platform/gtk/svg/custom/glyph-transformation-with-hkern-expected.txt:
* platform/gtk/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
* platform/gtk/svg/foreignObject/text-tref-02-b-expected.png:
* platform/gtk/svg/foreignObject/text-tref-02-b-expected.txt:
* platform/gtk/svg/text/text-hkern-on-vertical-text-expected.png:
* platform/gtk/svg/text/text-hkern-on-vertical-text-expected.txt:
* platform/gtk/svg/transforms/text-with-mask-with-svg-transform-expected.png:
* platform/gtk/svg/transforms/text-with-mask-with-svg-transform-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238848 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[GTK] Can't run MiniBrowser due to missing python2-yaml
tpopela@redhat.com [Tue, 4 Dec 2018 07:59:08 +0000 (07:59 +0000)]
[GTK] Can't run MiniBrowser due to missing python2-yaml
https://bugs.webkit.org/show_bug.cgi?id=192308

Reviewed by Michael Catanzaro.

* gtk/install-dependencies:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238847 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoFix the build
timothy_horton@apple.com [Tue, 4 Dec 2018 07:31:27 +0000 (07:31 +0000)]
Fix the build

* platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm:
Unified sources, of course.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238846 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoA sender created through addTransceiver and populated using addTrack should have...
youenn@apple.com [Tue, 4 Dec 2018 06:22:21 +0000 (06:22 +0000)]
A sender created through addTransceiver and populated using addTrack should have its source set
https://bugs.webkit.org/show_bug.cgi?id=192136

Reviewed by Eric Carlson.

Source/WebCore:

In case libwebrtc backend is already created, we need to make sure to
set the track source to the libwebrtc sender backend that is actually
tied to the sender.

Covered by updated test.

* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCPeerConnectionBackend::removeTrack):
* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::LibWebRTCPeerConnectionBackend::addTrack):
* Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.h:

LayoutTests:

* webrtc/video-replace-track-expected.txt:
* webrtc/video-replace-track.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238845 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoImplement non-timeslice mode encoding for MediaRecorder
commit-queue@webkit.org [Tue, 4 Dec 2018 06:11:31 +0000 (06:11 +0000)]
Implement non-timeslice mode encoding for MediaRecorder
https://bugs.webkit.org/show_bug.cgi?id=192069

Patch by YUHAN WU <yuhan_wu@apple.com> on 2018-12-03
Reviewed by Youenn Fablet.

Source/WebCore:

Implement the encoding for non-timeslice mode of MediaRecorder.
It only supports to record MP4 file through H264 and AAC encoding, we will need to support more MIME types and encoding methods.
Add a API in internals to allow testings to turn on the mock source.

Tests: http/wpt/mediarecorder/MediaRecorder-AV-audio-only-dataavailable.html
       http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html
       http/wpt/mediarecorder/MediaRecorder-AV-video-only-dataavailable.html

* Modules/mediarecorder/MediaRecorder.cpp:
(WebCore::MediaRecorder::create):
(WebCore::MediaRecorder::setCustomPrivateRecorderCreator):
(WebCore::MediaRecorder::getPrivateImpl):
(WebCore::MediaRecorder::MediaRecorder):
(WebCore::MediaRecorder::stopRecording):
(WebCore::MediaRecorder::stopRecordingInternal):
(WebCore::MediaRecorder::createRecordingDataBlob):
(WebCore::MediaRecorder::scheduleDeferredTask):
* Modules/mediarecorder/MediaRecorder.h:
* Modules/mediarecorder/MediaRecorder.idl:
* SourcesCocoa.txt:
* WebCore.xcodeproj/project.pbxproj:
* platform/mediarecorder/MediaRecorderPrivate.h:
(WebCore::MediaRecorderPrivate::stopRecording):
* platform/mediarecorder/MediaRecorderPrivateAVFImpl.cpp: Added.
(WebCore::MediaRecorderPrivateAVFImpl::create):
(WebCore::MediaRecorderPrivateAVFImpl::MediaRecorderPrivateAVImpl):
(WebCore::MediaRecorderPrivateAVFImpl::sampleBufferUpdated):
(WebCore::MediaRecorderPrivateAVFImpl::audioSamplesAvailable):
(WebCore::MediaRecorderPrivateAVFImpl::stopRecording):
(WebCore::MediaRecorderPrivateAVFImpl::fetchData):
(WebCore::MediaRecorderPrivateAVFImpl::mimeType):
* platform/mediarecorder/MediaRecorderPrivateAVFImpl.h: Added.
* platform/mediarecorder/MediaRecorderPrivateMock.cpp:
(WebCore::MediaRecorderPrivateMock::fetchData):
(WebCore::MediaRecorderPrivateMock::mimeType):
* platform/mediarecorder/MediaRecorderPrivateMock.h:
* platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.h: Added.
* platform/mediarecorder/cocoa/MediaRecorderPrivateWriterCocoa.mm: Added.
(WebCore::MediaRecorderPrivateWriter::setupWriter):
(WebCore::MediaRecorderPrivateWriter::setVideoInput):
(WebCore::MediaRecorderPrivateWriter::setAudioInput):
(WebCore::copySampleBufferWithCurrentTimeStamp):
(WebCore::MediaRecorderPrivateWriter::appendVideoSampleBuffer):
(WebCore::MediaRecorderPrivateWriter::appendAudioSampleBuffer):
(WebCore::MediaRecorderPrivateWriter::stopRecording):
(WebCore::MediaRecorderPrivateWriter::fetchData):
* testing/Internals.cpp:
(WebCore::createRecorderMockSource):
(WebCore::Internals::setCustomPrivateRecorderCreator):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

Create new tests for encoding of MediaRecorder. Check if the produced video and audio are correct.
Add code to turn on the mock source of MediaRecorder for the two old tests because the real source is enabled by default.

* http/wpt/mediarecorder/MediaRecorder-AV-audio-only-dataavailable-expected.txt: Added.
* http/wpt/mediarecorder/MediaRecorder-AV-audio-only-dataavailable.html: Added.
* http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable-expected.txt: Added.
* http/wpt/mediarecorder/MediaRecorder-AV-audio-video-dataavailable.html: Added.
* http/wpt/mediarecorder/MediaRecorder-AV-video-only-dataavailable-expected.txt: Added.
* http/wpt/mediarecorder/MediaRecorder-AV-video-only-dataavailable.html: Added.
* http/wpt/mediarecorder/MediaRecorder-dataavailable.html:
* http/wpt/mediarecorder/MediaRecorder-mock-dataavailable.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238844 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: Audit: save the expanded state of test groups
drousso@apple.com [Tue, 4 Dec 2018 06:01:16 +0000 (06:01 +0000)]
Web Inspector: Audit: save the expanded state of test groups
https://bugs.webkit.org/show_bug.cgi?id=192346
<rdar://problem/46440704>

Reviewed by Matt Baker.

* UserInterface/Views/AuditTreeElement.js:
(WI.AuditTreeElement):
(WI.AuditTreeElement.prototype.onattach):
(WI.AuditTreeElement.prototype.onexpand): Added.
(WI.AuditTreeElement.prototype.oncollapse): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238843 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: Audit: sidebar briefly shows "No Filter Results" before populating...
drousso@apple.com [Tue, 4 Dec 2018 04:06:55 +0000 (04:06 +0000)]
Web Inspector: Audit: sidebar briefly shows "No Filter Results" before populating default audits
https://bugs.webkit.org/show_bug.cgi?id=192341
<rdar://problem/46436550>

Reviewed by Matt Baker.

* UserInterface/Views/AuditNavigationSidebarPanel.js:
(WI.AuditNavigationSidebarPanel.prototype.initialLayout):
(WI.AuditNavigationSidebarPanel.prototype._addTest):
(WI.AuditNavigationSidebarPanel.prototype._addResult):
(WI.AuditNavigationSidebarPanel.prototype.applyFiltersToTreeElement): Deleted.
Delay the construction of the "Results" folder until it's needed, since adding a hidden
`WI.TreeElement` will cause the placeholder to appear.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238842 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: Audit: navigating while tests are running should stop and clear all...
drousso@apple.com [Tue, 4 Dec 2018 04:06:31 +0000 (04:06 +0000)]
Web Inspector: Audit: navigating while tests are running should stop and clear all results
https://bugs.webkit.org/show_bug.cgi?id=192317
<rdar://problem/46435222>

Reviewed by Joseph Pecoraro.

* UserInterface/Controllers/AuditManager.js:
(WI.AuditManager.prototype.async start):
(WI.AuditManager.prototype._handleFrameMainResourceDidChange):

* UserInterface/Views/AuditNavigationSidebarPanel.js:
(WI.AuditNavigationSidebarPanel.prototype.initialLayout):
Drive-by: pass the index of the saved result.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238841 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoREGRESSION (r238090): position:fixed sidebar on https://www.w3.org/TR/SVG2/coords...
simon.fraser@apple.com [Tue, 4 Dec 2018 04:03:46 +0000 (04:03 +0000)]
REGRESSION (r238090): position:fixed sidebar on https://w3.org/TR/SVG2/coords.html does not stay fixed
https://bugs.webkit.org/show_bug.cgi?id=192320
<rdar://problem/46429833>

Reviewed by Zalan Bujtas.
Source/WebCore:

When we fall into slow scrolling mode (for example, because of background-attachment: fixed),
RenderLayerCompositor::updateCompositingLayers() needs to set the geometry dirty bit on layers
for viewport-constrained objects so we update them.

This is only necessary for page scrolling; for overflow scrolls, updateLayerPositions() already
does enough dirtying that fixed layers nested inside scrollers get updated.

Test: compositing/fixed-with-main-thread-scrolling.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):

LayoutTests:

* compositing/fixed-with-main-thread-scrolling-expected.html: Added.
* compositing/fixed-with-main-thread-scrolling.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238840 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoCSS Painting API should scale display list when drawing
justin_michaud@apple.com [Tue, 4 Dec 2018 04:03:13 +0000 (04:03 +0000)]
CSS Painting API should scale display list when drawing
https://bugs.webkit.org/show_bug.cgi?id=192217

Reviewed by Simon Fraser.

Source/WebCore:

When we replay the display list, fix the scaling. The separate buffer is needed to make sure that globalCompositeOperation functions correctly.

* html/CustomPaintCanvas.cpp:
(WebCore::CustomPaintCanvas::replayDisplayList const):
* html/CustomPaintCanvas.h:
* platform/graphics/CustomPaintImage.cpp:
(WebCore::CustomPaintImage::doCustomPaint):

LayoutTests:

* fast/css-custom-paint/properties-expected.html:
* fast/css-custom-paint/registerPaintBindings-expected.html:
* fast/css-custom-paint/simple-hidpi-expected.html: Added.
* fast/css-custom-paint/simple-hidpi.html: Added.
* fast/css-custom-paint/worklet-expected.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238839 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoThick overlines and line-throughs grow in the wrong direction
mmaxfield@apple.com [Tue, 4 Dec 2018 03:54:49 +0000 (03:54 +0000)]
Thick overlines and line-throughs grow in the wrong direction
https://bugs.webkit.org/show_bug.cgi?id=192264

Reviewed by Dean Jackson.

Source/WebCore:

Overlines should grow upward, and line-throughs should stay centered.

Test: fast/css3-text/css3-text-decoration/text-decoration-thicknes-overline-grow-direction.html

* rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintTextDecoration):
* style/InlineTextBoxStyle.cpp:
(WebCore::visualOverflowForDecorations):

LayoutTests:

I can't figure out a way to test the line-through, so this just tests the overline.

* fast/css3-text/css3-text-decoration/text-decoration-thicknes-overline-grow-direction-expected.html: Added.
* fast/css3-text/css3-text-decoration/text-decoration-thicknes-overline-grow-direction.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238838 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoViewport-constrained renderers are always RenderLayerModelObjects
simon.fraser@apple.com [Tue, 4 Dec 2018 02:43:29 +0000 (02:43 +0000)]
Viewport-constrained renderers are always RenderLayerModelObjects
https://bugs.webkit.org/show_bug.cgi?id=192342

Reviewed by Myles C. Maxfield.

addViewportConstrainedObject/removeViewportConstrainedObject can take RenderLayerModelObjects,
since all viewport-constrained renderers have layers.

* page/FrameView.cpp:
(WebCore::FrameView::addViewportConstrainedObject):
(WebCore::FrameView::removeViewportConstrainedObject):
* page/FrameView.h:
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleDidChange): The 0 argument is actually a nullptr RenderGeometryMap,
which has a default value, and the comment was obsolete.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238837 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoFix some unused parameter warnings
don.olmstead@sony.com [Tue, 4 Dec 2018 02:30:27 +0000 (02:30 +0000)]
Fix some unused parameter warnings
https://bugs.webkit.org/show_bug.cgi?id=192336

Reviewed by Fujii Hironori.

Source/WebCore:

* Modules/indexeddb/server/IDBSerialization.cpp:
(WebCore::isLegacySerializedIDBKeyData):
* platform/FileSystem.cpp:
(WebCore::FileSystem::openAndLockFile):
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::bindVertexArray):
* platform/network/curl/CertificateInfo.h:
(WTF::Persistence::Coder<WebCore::CertificateInfo>::encode):
(WTF::Persistence::Coder<WebCore::CertificateInfo>::decode):

Source/WTF:

* wtf/StackTrace.cpp:
(WTFGetBacktrace):
(WTF::StackTrace::demangle):
* wtf/generic/MemoryPressureHandlerGeneric.cpp:
(WTF::MemoryPressureHandler::holdOff):
(WTF::MemoryPressureHandler::respondToMemoryPressure):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238836 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoUnreviewed, rolling out r238833.
ryanhaddad@apple.com [Tue, 4 Dec 2018 01:34:28 +0000 (01:34 +0000)]
Unreviewed, rolling out r238833.

Breaks macOS and iOS debug builds.

Reverted changeset:

"[ESNext][BigInt] Support logic operations"
https://bugs.webkit.org/show_bug.cgi?id=179903
https://trac.webkit.org/changeset/238833

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238835 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoMake it possible to disable animated keyboard scrolling behavior
timothy_horton@apple.com [Tue, 4 Dec 2018 01:15:13 +0000 (01:15 +0000)]
Make it possible to disable animated keyboard scrolling behavior
https://bugs.webkit.org/show_bug.cgi?id=192331
<rdar://problem/45586859>

Reviewed by Simon Fraser.

* UIProcess/API/Cocoa/WKWebView.mm:
* UIProcess/ios/WKKeyboardScrollingAnimator.mm:
(-[WKKeyboardScrollingAnimator invalidate]):
(-[WKKeyboardScrollingAnimator beginWithEvent:]):
(-[WKKeyboardScrollingAnimator stopAnimatedScroll]):
(-[WKKeyboardScrollingAnimator willStartInteractiveScroll]):
(-[WKKeyboardScrollingAnimator startRepeatTimerIfNeeded]):
(-[WKKeyboardScrollingAnimator stopRepeatTimer]):
(-[WKKeyboardScrollingAnimator performDiscreteScroll]):
(-[WKKeyboardScrollViewAnimator scrollToContentOffset:animated:]):
(-[WKKeyboardScrollViewAnimator scrollWithScrollToExtentAnimationTo:]):
* WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238834 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[ESNext][BigInt] Support logic operations
ticaiolima@gmail.com [Tue, 4 Dec 2018 01:13:01 +0000 (01:13 +0000)]
[ESNext][BigInt] Support logic operations
https://bugs.webkit.org/show_bug.cgi?id=179903

Reviewed by Yusuke Suzuki.

JSTests:

* stress/big-int-branch-usage.js: Added.
* stress/big-int-logical-and.js: Added.
* stress/big-int-logical-not.js: Added.
* stress/big-int-logical-or.js: Added.

Source/JavaScriptCore:

We are introducing in this patch the ToBoolean support for JSBigInt.
With this change, we can implement the correct behavior of BigInt as
operand of logical opertions. During JIT genertion into DFG and FTL,
we are using JSBigInt::m_length to verify if the number is 0n or not,
following the same approach used by JSString. This is also safe in the case
of BigInt, because only 0n has m_length == 0.

We are not including BigInt speculation into Branch nodes in this
patch, but the plan is to implement it in further patches.

* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::boolify):
(JSC::FTL::DFG::LowerDFGToB3::isBigInt):
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitConvertValueToBoolean):
(JSC::AssemblyHelpers::branchIfValue):
* runtime/JSBigInt.cpp:
(JSC::JSBigInt::isZero const):
(JSC::JSBigInt::offsetOfLength):
(JSC::JSBigInt::toBoolean const):
(JSC::JSBigInt::isZero): Deleted.
* runtime/JSBigInt.h:
* runtime/JSCellInlines.h:
(JSC::JSCell::toBoolean const):
(JSC::JSCell::pureToBoolean const):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238833 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoRemove "using namespace WebKit" under Source/WebKit/WebProcess/InjectedBundle/API
Hironori.Fujii@sony.com [Tue, 4 Dec 2018 01:12:19 +0000 (01:12 +0000)]
Remove "using namespace WebKit" under Source/WebKit/WebProcess/InjectedBundle/API
https://bugs.webkit.org/show_bug.cgi?id=192301

Reviewed by Alex Christensen.

Removed "using namespace WebKit" statement, and use "WebKit::"
namespace prefix instead.

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePageBanner.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
* WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238832 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: Audit: "Add Default Audits" shown when there are no filter results
drousso@apple.com [Tue, 4 Dec 2018 00:57:36 +0000 (00:57 +0000)]
Web Inspector: Audit: "Add Default Audits" shown when there are no filter results
https://bugs.webkit.org/show_bug.cgi?id=192105

Reviewed by Matt Baker.

* UserInterface/Views/NavigationSidebarPanel.js:
(WI.NavigationSidebarPanel):
(WI.NavigationSidebarPanel.prototype.get hasActiveFilters): Added.
(WI.NavigationSidebarPanel.prototype.suppressFilteringOnTreeElements):
(WI.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
(WI.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder):
(WI.NavigationSidebarPanel.prototype.updateEmptyContentPlaceholder):
(WI.NavigationSidebarPanel.prototype.updateFilter):
(WI.NavigationSidebarPanel.prototype._checkForEmptyFilterResults.checkTreeOutlineForEmptyFilterResults):
(WI.NavigationSidebarPanel.prototype._filterDidChange):
(WI.NavigationSidebarPanel.prototype._updateFilter): Deleted.
(WI.NavigationSidebarPanel.prototype._createEmptyContentPlaceholderIfNeeded): Deleted.

* UserInterface/Views/AuditNavigationSidebarPanel.js:
(WI.AuditNavigationSidebarPanel.prototype._handleAuditTestRemoved):
Drive-by: change capitalization for consistency with other navigation sidebars.
* Localizations/en.lproj/localizedStrings.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238831 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[css-grid] Crash on debug changing the style of a positioned element
ryanhaddad@apple.com [Tue, 4 Dec 2018 00:55:21 +0000 (00:55 +0000)]
[css-grid] Crash on debug changing the style of a positioned element
https://bugs.webkit.org/show_bug.cgi?id=191473

Unreviewed test gardening.

* TestExpectations: Skip crashing layout test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238830 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: Canvas: add singular localized string for "Record first %s frames"
drousso@apple.com [Tue, 4 Dec 2018 00:15:22 +0000 (00:15 +0000)]
Web Inspector: Canvas: add singular localized string for "Record first %s frames"
https://bugs.webkit.org/show_bug.cgi?id=192189

Reviewed by Joseph Pecoraro.

* UserInterface/Views/CanvasOverviewContentView.js:
(WI.CanvasOverviewContentView):
(WI.CanvasOverviewContentView.prototype._setRecordingAutoCaptureFrameCount):
(WI.CanvasOverviewContentView.prototype._updateRecordingAutoCaptureCheckboxLabel): Added.
(WI.CanvasOverviewContentView.prototype._handleRecordingAutoCaptureInput):
(WI.CanvasOverviewContentView.prototype._handleCanvasRecordingAutoCaptureFrameCountChanged):
(WI.CanvasOverviewContentView.prototype.initialLayout): Deleted.
Drive-by: update the auto-capture navigation item when the view is first created so there is
no flashing of in the navigation bar (before `initialLayout` is called).

* UserInterface/Views/CheckboxNavigationItem.js:
(WI.CheckboxNavigationItem):
(WI.CheckboxNavigationItem.prototype.set label): Added.

* Localizations/en.lproj/localizedStrings.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238829 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoRegression(PSON) Google OAuth is broken in private sessions
cdumez@apple.com [Tue, 4 Dec 2018 00:08:42 +0000 (00:08 +0000)]
Regression(PSON) Google OAuth is broken in private sessions
https://bugs.webkit.org/show_bug.cgi?id=192337
<rdar://problem/46353558>

Reviewed by Alex Christensen.

Source/WebKit:

In WebPageProxy::swapToWebProcess(), we would call removeWebPage() on the old WebProcessProxy and then
addExistingWebPage() on the new WebProcessProxy, as you would expect in case of process swap.

The issue is that WebProcessProxy::removeWebPage() calls WebProcessPool::pageEndUsingWebsiteDataStore()
which would cause the session to get destroyed assuming this was the last page using it. We would
therefore lose session cookies after a process-swap in private session.

To address the issue, a parameter to WebProcessPool::pageEndUsingWebsiteDataStore() and
WebProcessPool::pageBeginUsingWebsiteDataStore() to control if we want to tell the WebProcessPool
about the page beginning / ending its use of the session. In the case of a process-swap, we make
sure the process pool is not notified.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::swapToWebProcess):
(WebKit::WebPageProxy::finishAttachingToWebProcess):
(WebKit::WebPageProxy::close):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::createWebPage):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::removeWebPage):
* UIProcess/WebProcessProxy.h:

Tools:

Add API test coverage.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/GetSessionCookie.html: Added.
* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
* TestWebKitAPI/Tests/WebKitCocoa/SetSessionCookie.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238828 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[PSON] Request by the client to process-swap is ignored if the window has an opener
cdumez@apple.com [Mon, 3 Dec 2018 23:57:41 +0000 (23:57 +0000)]
[PSON] Request by the client to process-swap is ignored if the window has an opener
https://bugs.webkit.org/show_bug.cgi?id=192267
<rdar://problem/46386886>

Reviewed by Brady Eidson.

Source/WebKit:

If the client forces a process-swap, we should process-swap, even if the browsing
context has an opener (or openees). Previously, we would only bypass the cross-site
check, not the openee / openees checks.

The issue when doing so is that the openee still has a opener link to the window
in the old process. They would see that the window is still there and navigated
to 'about:blank' due to our page suspension logic. To address the issue, we no
longer suspend the old WebPage if the process swap was forced by the client and
we make sure that the old WebPage gets closed.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::suspendCurrentPageIfPossible):
(WebKit::WebPageProxy::swapToWebProcess):
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):

Tools:

Add API test coverage.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238826 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: REGRESSION(r238599): Multiple Selection: restoring selection when...
mattbaker@apple.com [Mon, 3 Dec 2018 23:16:25 +0000 (23:16 +0000)]
Web Inspector: REGRESSION(r238599): Multiple Selection: restoring selection when opening WebInspector puts the TreeElement into a permanent selected state
https://bugs.webkit.org/show_bug.cgi?id=192091
<rdar://problem/46321795>

Reviewed by Devin Rousso.

* UserInterface/Controllers/SelectionController.js:
(WI.SelectionController.prototype.didInsertItem):
Fix a bug where selected indexes were overwritten by the inserted index.

* UserInterface/Views/TreeOutline.js:
(WI.TreeOutline):
(WI.TreeOutline.prototype.insertChild):
Update the SelectionController with the newly inserted index before
attaching the TreeElement. Attaching the TreeElement can cause it to
become selected, which would add the index to the SelectionController,
only to have it immediately incremented by the call to `didInsertItem`.
Additionally, change `insertionIndex` to be the index of the inserted
item instead of the inserted item's previous sibling.

(WI.TreeOutline.prototype._rememberTreeElement):
(WI.TreeOutline.prototype._forgetTreeElement):
(WI.TreeOutline.prototype._indexOfTreeElement.previousElement): Deleted.
Eliminate TreeElement index caching, which could become stale and cause
the wrong index to be calculated. Additionally, instead of walking up the
parent chain to determine the index, start at the root and use existing
method `traverseNextTreeElement`.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238825 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoAdd .xcfilelist files
krollin@apple.com [Mon, 3 Dec 2018 22:52:14 +0000 (22:52 +0000)]
Add .xcfilelist files
https://bugs.webkit.org/show_bug.cgi?id=192082
<rdar://problem/46312533>

Reviewed by Brent Fulgham.

Add .xcfilelist files for Generate Derived Sources and Generate
Unified Sources build phases in Xcode. These are just being staged for
now; they'll be added to the Xcode projects later.

Source/JavaScriptCore:

* DerivedSources-input.xcfilelist: Added.
* DerivedSources-output.xcfilelist: Added.
* UnifiedSources-input.xcfilelist: Added.
* UnifiedSources-output.xcfilelist: Added.

Source/WebCore:

No new tests -- no changed functionality.

* DerivedSources-input.xcfilelist: Added.
* DerivedSources-output.xcfilelist: Added.
* UnifiedSources-input.xcfilelist: Added.
* UnifiedSources-output.xcfilelist: Added.

Source/WebKit:

* DerivedSources-input.xcfilelist: Added.
* DerivedSources-output.xcfilelist: Added.
* UnifiedSources-input.xcfilelist: Added.
* UnifiedSources-output.xcfilelist: Added.

Tools:

* DumpRenderTree/DerivedSources-input.xcfilelist: Added.
* DumpRenderTree/DerivedSources-output.xcfilelist: Added.
* WebKitTestRunner/DerivedSources-input.xcfilelist: Added.
* WebKitTestRunner/DerivedSources-output.xcfilelist: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238824 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: Audit: test tree elements should start out collapsed
drousso@apple.com [Mon, 3 Dec 2018 22:28:35 +0000 (22:28 +0000)]
Web Inspector: Audit: test tree elements should start out collapsed
https://bugs.webkit.org/show_bug.cgi?id=192107

Reviewed by Matt Baker.

* UserInterface/Views/AuditTreeElement.js:
(WI.AuditTreeElement.prototype.onattach):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238822 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[iOS] Unreviewed build fix.
zalan@apple.com [Mon, 3 Dec 2018 22:07:28 +0000 (22:07 +0000)]
[iOS] Unreviewed build fix.

* Platform/Logging.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238821 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoRemove unused NetworkProcessCreationParameters.diskCacheSizeOverride
achristensen@apple.com [Mon, 3 Dec 2018 21:55:24 +0000 (21:55 +0000)]
Remove unused NetworkProcessCreationParameters.diskCacheSizeOverride
https://bugs.webkit.org/show_bug.cgi?id=192246

Reviewed by Chris Dumez.

The last use of this functionality was removed in rdar://problem/46344871

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::setCacheModel):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
* UIProcess/API/APIProcessPoolConfiguration.h:
* UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationDiskCacheSizeOverride):
(WKContextConfigurationSetDiskCacheSizeOverride):
* UIProcess/API/C/WKContextConfigurationRef.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration diskCacheSizeOverride]):
(-[_WKProcessPoolConfiguration setDiskCacheSizeOverride:]):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238820 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoAdd WKWebProcessPlugInLoadDelegate SPI willStartProvisionalLoadForFrame with a comple...
achristensen@apple.com [Mon, 3 Dec 2018 21:47:08 +0000 (21:47 +0000)]
Add WKWebProcessPlugInLoadDelegate SPI willStartProvisionalLoadForFrame with a completion handler
https://bugs.webkit.org/show_bug.cgi?id=192272

Reviewed by Brady Eidson.

Source/WebCore:

This is needed for rdar://problem/45910057
Covered by an API test.

* loader/EmptyFrameLoaderClient.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
* loader/FrameLoader.h:
* loader/FrameLoaderClient.h:

Source/WebKit:

* WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
(API::InjectedBundle::PageLoaderClient::didStartProvisionalLoadForFrame):
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
* WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(ResourceLoadClient::ResourceLoadClient):
(ResourceLoadClient::loadDelegate const):
(ResourceLoadClient::pluginContextController const):
(PageLoaderClient::PageLoaderClient):
(PageLoaderClient::loadDelegate const):
(PageLoaderClient::pluginContextController const):
(PageLoaderClient::didStartProvisionalLoadForFrame):
(PageLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(PageLoaderClient::didFinishLoadForFrame):
(PageLoaderClient::globalObjectIsAvailableForFrame):
(PageLoaderClient::didRemoveFrameFromHierarchy):
(PageLoaderClient::didCommitLoadForFrame):
(PageLoaderClient::didFinishDocumentLoadForFrame):
(PageLoaderClient::didFailProvisionalLoadWithErrorForFrame):
(PageLoaderClient::didFailLoadWithErrorForFrame):
(PageLoaderClient::didSameDocumentNavigationForFrame):
(PageLoaderClient::didLayoutForFrame):
(PageLoaderClient::didReachLayoutMilestone):
(PageLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
(PageLoaderClient::didHandleOnloadEventsForFrame):
(PageLoaderClient::userAgentForURL const):
(ResourceLoadClient::willSendRequestForFrame):
(ResourceLoadClient::didInitiateLoadForResource):
(ResourceLoadClient::didFinishLoadForResource):
(ResourceLoadClient::didFailLoadForResource):
(-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]):
(didStartProvisionalLoadForFrame): Deleted.
(didReceiveServerRedirectForProvisionalLoadForFrame): Deleted.
(didFinishLoadForFrame): Deleted.
(globalObjectIsAvailableForFrame): Deleted.
(didRemoveFrameFromHierarchy): Deleted.
(didCommitLoadForFrame): Deleted.
(didFinishDocumentLoadForFrame): Deleted.
(didFailProvisionalLoadWithErrorForFrame): Deleted.
(didFailLoadWithErrorForFrame): Deleted.
(didSameDocumentNavigationForFrame): Deleted.
(didLayoutForFrame): Deleted.
(didReachLayoutMilestone): Deleted.
(didFirstVisuallyNonEmptyLayoutForFrame): Deleted.
(didHandleOnloadEventsForFrame): Deleted.
(userAgentForURL): Deleted.
(setUpPageLoaderClient): Deleted.
(willSendRequestForFrame): Deleted.
(didInitiateLoadForResource): Deleted.
(didFinishLoadForResource): Deleted.
(didFailLoadForResource): Deleted.
(setUpResourceLoadClient): Deleted.
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
(WebKit::InjectedBundlePageLoaderClient::didStartProvisionalLoadForFrame):
* WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKitLegacy/mac:

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/ParserYieldTokenPlugIn.mm:
(-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:willStartProvisionalLoadForFrame:completionHandler:]):
(-[ParserYieldTokenPlugIn webProcessPlugInBrowserContextController:didCommitLoadForFrame:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238819 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoSwipe snapshot stays up too long swiping around on apple.com (waiting for first paint)
timothy_horton@apple.com [Mon, 3 Dec 2018 21:41:29 +0000 (21:41 +0000)]
Swipe snapshot stays up too long swiping around on apple.com (waiting for first paint)
https://bugs.webkit.org/show_bug.cgi?id=192319
<rdar://problem/45928708>

Reviewed by Simon Fraser.

* UIProcess/Cocoa/ViewGestureController.cpp:
(WebKit::ViewGestureController::didStartProvisionalLoadForMainFrame):
* UIProcess/Cocoa/ViewGestureController.h:
* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::endSwipeGesture):
In r236966, I reverted slightly too much of r232416.
We still need to defer requesting a presentation update callback until
after the provisional load starts. Otherwise, we could get the callback
while we're in the 'paused' state, and drop it on the floor. That would
then mean that we time out instead of promptly removing the snapshot.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238818 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoUpdate process assertions after swapping processes
achristensen@apple.com [Mon, 3 Dec 2018 21:20:02 +0000 (21:20 +0000)]
Update process assertions after swapping processes
https://bugs.webkit.org/show_bug.cgi?id=192318
<rdar://problem/46377552>

Reviewed by Chris Dumez.

If the previous WebProcess had a ProcessAssertion to prevent it from being suspended,
after navigation and process swapping we need the new WebProcess to update its process assertions.

* UIProcess/API/Cocoa/PageLoadStateObserver.h:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::didSwapWebProcesses):
* UIProcess/PageLoadState.cpp:
(WebKit::PageLoadState::didSwapWebProcesses):
* UIProcess/PageLoadState.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::finishAttachingToWebProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238817 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[iOS] Unreviewed build fix.
zalan@apple.com [Mon, 3 Dec 2018 21:12:46 +0000 (21:12 +0000)]
[iOS] Unreviewed build fix.

* page/DOMTimer.cpp:
(WebCore::DOMTimer::fired):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238816 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoGet rid of old, dead Mac video fullscreen code.
jer.noble@apple.com [Mon, 3 Dec 2018 21:06:35 +0000 (21:06 +0000)]
Get rid of old, dead Mac video fullscreen code.
https://bugs.webkit.org/show_bug.cgi?id=192315

Reviewed by Eric Carlson.

Source/WebCore:

* PlatformMac.cmake:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen const):

Source/WebKitLegacy:

* WebKitLegacy.xcodeproj/project.pbxproj:

Source/WebKitLegacy/mac:

The Mac-only WebVideoFullscreenController and WebVideoFullscreenHUDWindowController depend upon QTKit, which
is no longer supported in the Mac port.

* WebView/WebVideoFullscreenController.h: Removed.
* WebView/WebVideoFullscreenController.mm: Removed.
* WebView/WebVideoFullscreenHUDWindowController.h: Removed.
* WebView/WebVideoFullscreenHUDWindowController.mm: Removed.
* WebView/WebView.mm:
(-[WebView _enterVideoFullscreenForVideoElement:mode:]):
(-[WebView _exitVideoFullscreen]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238815 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[iOS] Do not handle key events that are key commands
dbates@webkit.org [Mon, 3 Dec 2018 20:45:41 +0000 (20:45 +0000)]
[iOS] Do not handle key events that are key commands
https://bugs.webkit.org/show_bug.cgi?id=191608
<rdar://problem/46046013>

Reviewed by Ryosuke Niwa.

Source/WebKit:

A key down event may be associated with a key command. If it is then we want to execute the
key command instead of inserting or deleting text. We need to ask UIKit to handle the current
event as a key command to find out.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _interpretKeyEvent:isCharEvent:]): Ask UIKit to handle the current event
as a key command. If it handles it then we're done. Otherwise, do what we do now.

Source/WebKitLegacy/ios:

Add default implementation of -handleKeyCommandForCurrentEvent that returns NO - the current
event was not handled as a key command.

* DefaultDelegates/WebDefaultUIKitDelegate.m:
(-[WebDefaultUIKitDelegate handleKeyCommandForCurrentEvent]):
* WebView/WebUIKitDelegate.h:

Source/WebKitLegacy/mac:

A key down event may be associated with a key command. If it is then we want to execute the
key command instead of inserting or deleting text. We need to ask UIKit to handle the current
event as a key command to find out.

* WebView/WebHTMLView.mm:
(-[WebHTMLView _handleEditingKeyEvent:]):

LayoutTests:

Add tests to ensure that we process key commands correctly.

* fast/events/ios/key-command-italic-dispatches-keydown-expected.txt: Added.
* fast/events/ios/key-command-italic-dispatches-keydown.html: Added.
* fast/events/ios/key-command-italic-expected.txt: Added.
* fast/events/ios/key-command-italic.html: Added.
* fast/events/ios/type-digits-holding-control-key-expected.txt: Added.
* fast/events/ios/type-digits-holding-control-key.html: Added.
* platform/ios-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238814 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: Styles: can't select properties of read-only rules
nvasilyev@apple.com [Mon, 3 Dec 2018 20:37:10 +0000 (20:37 +0000)]
Web Inspector: Styles: can't select properties of read-only rules
https://bugs.webkit.org/show_bug.cgi?id=192266

Reviewed by Devin Rousso.

Implement multiple properties selection for read-only rules (such as User Agent Stylesheets)
in the Styles panel.

* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
Keep selection on layout.

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingFirstProperty):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.startEditingLastProperty):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyBlur):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyMouseEnter):
SpreadsheetCSSStyleDeclarationEditor is used by ComputedStyleDetailsPanel, which doesn't have:
  - spreadsheetCSSStyleDeclarationEditorPropertyBlur
  - spreadsheetCSSStyleDeclarationEditorPropertyMouseEnter

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._handleKeyDown):
* UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
* UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype.startEditingName):
(WI.SpreadsheetStyleProperty.prototype.startEditingValue):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238813 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agotitle attribute on style & link elements should be ignored inside a shadow tree
rniwa@webkit.org [Mon, 3 Dec 2018 20:33:23 +0000 (20:33 +0000)]
title attribute on style & link elements should be ignored inside a shadow tree
https://bugs.webkit.org/show_bug.cgi?id=191297

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Rebaseline the test case that's now passing.

* web-platform-tests/css/css-scoping/stylesheet-title-002-expected.txt:

Source/WebCore:

Fixed the by not setting the stylesheet's title even when the title content attribute is present
or set on SVG/HTML style and link elements inside a shadow tree.

Test: fast/shadow-dom/stylesheet-title-in-shadow-tree.html

* dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::createSheet):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::parseAttribute):
(WebCore::HTMLLinkElement::initializeStyleSheet):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::parseAttribute):
* style/StyleScope.cpp:
(WebCore::Style::Scope::collectActiveStyleSheets):
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::parseAttribute):

LayoutTests:

Adde a W3C-style testharness.js test for a more comprehensive testing of the title content attribute
on HTML link and style elements and SVG style element inside a shadow tree.

* TestExpectations:
* fast/shadow-dom/resources/green-div.css: Added.
* fast/shadow-dom/resources/red-div.css: Added.
* fast/shadow-dom/stylesheet-title-in-shadow-tree-expected.txt: Added.
* fast/shadow-dom/stylesheet-title-in-shadow-tree.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238812 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[iOS] Add logging channel for hover related content observation
zalan@apple.com [Mon, 3 Dec 2018 20:18:38 +0000 (20:18 +0000)]
[iOS] Add logging channel for hover related content observation
https://bugs.webkit.org/show_bug.cgi?id=192312

Reviewed by Simon Fraser.

Source/WebCore:

* dom/Document.cpp:
(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::platformSuspendOrStopActiveDOMObjects):
* page/DOMTimer.cpp:
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::clearTimeout):
* page/Frame.cpp:
(WebCore::Frame::willDetachPage):
* platform/Logging.h:

Source/WebKit:

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238811 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoEnable swipe snapshot removal logging in release builds
timothy_horton@apple.com [Mon, 3 Dec 2018 20:05:59 +0000 (20:05 +0000)]
Enable swipe snapshot removal logging in release builds
https://bugs.webkit.org/show_bug.cgi?id=192313

Reviewed by Dean Jackson.

* UIProcess/Cocoa/ViewGestureController.cpp:
(WebKit::ViewGestureController::SnapshotRemovalTracker::log const):
This is super-low-traffic and super-helpful logging.
Turn it on all the time.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238810 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[CMake] Sync feature defines
don.olmstead@sony.com [Mon, 3 Dec 2018 19:58:06 +0000 (19:58 +0000)]
[CMake] Sync feature defines
https://bugs.webkit.org/show_bug.cgi?id=191167

Reviewed by Michael Catanzaro.

* Source/cmake/WebKitFeatures.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238809 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoVersioning.
kocsen_chung@apple.com [Mon, 3 Dec 2018 19:45:12 +0000 (19:45 +0000)]
Versioning.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238807 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoWeb Inspector: resource combining should be more robust against missing WebKitAdditions
bburg@apple.com [Mon, 3 Dec 2018 19:13:17 +0000 (19:13 +0000)]
Web Inspector: resource combining should be more robust against missing WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=192255
<rdar://problem/46042879>

Reviewed by Joseph Pecoraro.

* Scripts/copy-user-interface-resources.pl:
(combineOrStripResourcesForWebKitAdditions):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238806 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[SOUP] Use SoupSession instead of SoupSessionAsync
mcatanzaro@igalia.com [Mon, 3 Dec 2018 19:11:28 +0000 (19:11 +0000)]
[SOUP] Use SoupSession instead of SoupSessionAsync
https://bugs.webkit.org/show_bug.cgi?id=107451

Reviewed by Carlos Garcia Campos.

With glib-networking 2.57.1, WebKit is no longer able to load TLS error pages. The problem
is a network process deadlock caused by a change in how glib-networking performs certificate
verification. Previously it verified certificates *after* the TLS handshake had completed,
which was weirdly late, but previously not problematic. But now that TLS 1.3 exists,
application data can be sent before certificate verification occurs, which is no good. So I
moved verification to occur during the handshake. I needed to do this regardless because I
need to add a new callback in GnuTLS for another feature. This introduced a deadlock in
WebKit:

 - glib-networking detects an unacceptable certificate, emits accept-certificate signal
 - NetworkDataTaskSoup::tlsConnectionAcceptCertificate calls
   NetworkDataTaskSoup::invalidateAndCancel calls NetworkDataTaskSoup::clearRequest
 - NetworkDataTaskSoup::clearRequest calls soup_session_cancel_message

The problem is that, in the deprecated SoupSessionAsync used by WebKit, cancellation is
always *synchronous* despite the name of the class. So soup_session_cancel_message winds up
doing its thing to close everything out, and that eventually ends up in a synchronous call
to g_tls_connection_gnutls_close. The close operation can't proceed until the TLS handshake
is finished, and the handshake is blocked waiting for WebKit to return from its
accept-certificate handler. So the close operation winds up polling forever waiting for the
handshake to finish. Deadlock.

The only changes required in WebKit to use the modern SoupSession are adjustments for the
new default property values. Most of the properties we used to set explicitly are now
defaults and should be removed. Additionally, SoupSession has default timeouts, which we
want to override to allow NetworkDataTaskSoup to implement its own timeouts.

No new tests because this is covered by TestSSL (which would be failing if run with the
newer glib-networking).

* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::SoupNetworkSession):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238805 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoFix the bytecode code generator scripts to pretty print BytecodeStructs.h and Bytecod...
mark.lam@apple.com [Mon, 3 Dec 2018 17:57:51 +0000 (17:57 +0000)]
Fix the bytecode code generator scripts to pretty print BytecodeStructs.h and BytecodeIndices.h.
https://bugs.webkit.org/show_bug.cgi?id=192271

Reviewed by Keith Miller.

This makes the generated code style compliant and human readable.

* generator/Argument.rb:
* generator/DSL.rb:
* generator/Fits.rb:
* generator/Metadata.rb:
* generator/Opcode.rb:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238804 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoModify unexpected new line in test after https://trac.webkit.org/changeset/238765...
tsavell@apple.com [Mon, 3 Dec 2018 17:52:27 +0000 (17:52 +0000)]
Modify unexpected new line in test after https://trac.webkit.org/changeset/238765/webkit
https://bugs.webkit.org/show_bug.cgi?id=192201

Unreviewed Test Gardening.

* platform/ios/compositing/scrolling/overflow-scrolling-layers-are-self-painting-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238803 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoUse WallTime for file time
yusukesuzuki@slowstart.org [Mon, 3 Dec 2018 17:50:20 +0000 (17:50 +0000)]
Use WallTime for file time
https://bugs.webkit.org/show_bug.cgi?id=192287

Reviewed by Darin Adler.

Source/WebCore:

This patch changes a type of file time from double to WallTime to use strongly typed file time.

No behavior change.

* Modules/webdatabase/Database.cpp:
(WebCore::Database::details const):
* Modules/webdatabase/DatabaseDetails.h:
(WebCore::DatabaseDetails::DatabaseDetails):
(WebCore::DatabaseDetails::creationTime const):
(WebCore::DatabaseDetails::modificationTime const):
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::detailsForNameAndOrigin):
* fileapi/AsyncFileStream.cpp:
(WebCore::AsyncFileStream::getSize):
* fileapi/AsyncFileStream.h:
* fileapi/File.cpp:
(WebCore::File::lastModified const):
* page/Page.cpp:
(WebCore::Page::userStyleSheetLocationChanged):
(WebCore::Page::userStyleSheet const):
* page/Page.h:
* platform/FileMetadata.h:
* platform/FileStream.cpp:
(WebCore::FileStream::getSize):
* platform/FileStream.h:
* platform/FileSystem.cpp:
(WebCore::FileSystem::getFileModificationTime): Deleted.
* platform/FileSystem.h:
(WebCore::FileSystem::invalidFileTime): Deleted.
(WebCore::FileSystem::isValidFileTime): Deleted.
* platform/glib/FileSystemGlib.cpp:
(WebCore::FileSystem::getFileCreationTime):
(WebCore::FileSystem::getFileModificationTime):
(WebCore::FileSystem::fileMetadataUsingFunction):
* platform/network/BlobDataFileReference.cpp:
(WebCore::BlobDataFileReference::BlobDataFileReference):
(WebCore::BlobDataFileReference::expectedModificationTime):
* platform/network/BlobDataFileReference.h:
* platform/network/FormData.cpp:
(WebCore::FormData::appendFile):
(WebCore::FormData::appendFileRange):
* platform/network/FormData.h:
(WebCore::FormDataElement::FormDataElement):
(WebCore::FormDataElement::EncodedFileData::decode):
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::advanceCurrentStream):
* platform/network/soup/ResourceRequestSoup.cpp:
(WebCore::appendEncodedBlobItemToSoupMessageBody):
* platform/posix/FileSystemPOSIX.cpp:
(WebCore::FileSystem::getFileCreationTime):
(WebCore::FileSystem::getFileModificationTime):
* platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::databaseCreationTime):
(WebCore::SQLiteFileSystem::databaseModificationTime):
* platform/sql/SQLiteFileSystem.h:
* platform/win/FileSystemWin.cpp:
(WebCore::FileSystem::getFileModificationTime):
(WebCore::FileSystem::getFileCreationTime):
(WebCore::FileSystem::findDataToFileMetadata):

Source/WebKit:

* Shared/SessionState.h:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DatabaseDetails>::decode):
* UIProcess/API/C/WKKeyValueStorageManager.cpp:
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):
* UIProcess/API/glib/WebKitWebViewSessionState.cpp:
(decodeHTTPBody):
* UIProcess/Plugins/gtk/PluginInfoCache.cpp:
(WebKit::PluginInfoCache::getPluginInfo):
(WebKit::PluginInfoCache::updatePluginInfo):
* UIProcess/ResourceLoadStatisticsPersistentStorage.cpp:
(WebKit::hasFileChangedSince):
* UIProcess/WebStorage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::databasesModifiedSince):
(WebKit::LocalStorageDatabaseTracker::originDetails):
* UIProcess/WebStorage/LocalStorageDatabaseTracker.h:
* UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::encodeFormDataElement):
(WebKit::decodeFormDataElement):
* WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
(WebKit::removeAllMediaKeyStorageForOriginPath):
(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesForOrigin):
(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesModifiedBetweenDates):
(WebKit::WebMediaKeyStorageManager::deleteAllMediaKeyEntries):
* WebProcess/MediaCache/WebMediaKeyStorageManager.h:
* WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toHTTPBody):
(WebKit::toFormData):

Source/WebKitLegacy/win:

* Plugins/PluginDatabase.cpp:
(WebCore::PluginDatabase::refresh):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238802 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoFix iOS Simulator Release test crashes.
dino@apple.com [Mon, 3 Dec 2018 17:48:59 +0000 (17:48 +0000)]
Fix iOS Simulator Release test crashes.

* platform/network/ios/WebCoreURLResponseIOS.mm:
(WebCore::adjustMIMETypeIfNecessary): Check for null before using the
new MIME type.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238801 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[Cocoa] Check message IDs when decoding Mach messages in IPC::Connection
darin@apple.com [Mon, 3 Dec 2018 17:26:38 +0000 (17:26 +0000)]
[Cocoa] Check message IDs when decoding Mach messages in IPC::Connection
https://bugs.webkit.org/show_bug.cgi?id=192300
rdar://problem/46215523

Reviewed by Chris Dumez.

* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::sendOutgoingMessage): Use message IDs other than 0 and 1 for
the messages, as suggested by an expert at Apple.
(IPC::createMessageDecoder): Update for the new message IDs.
(IPC::Connection::receiveSourceEventHandler): Ignore messages with unexpected
message IDs.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238800 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[Cocoa] Check descriptor types in createMessageDecoder
darin@apple.com [Mon, 3 Dec 2018 17:18:57 +0000 (17:18 +0000)]
[Cocoa] Check descriptor types in createMessageDecoder
https://bugs.webkit.org/show_bug.cgi?id=192302

Reviewed by Chris Dumez.

Not sure how to construct a test case for Connection, so not adding any
tests at this time.

* Platform/IPC/mac/ConnectionMac.mm:
(IPC::createMessageDecoder): Check descriptor types and return nullptr if they
are incorrect. Retained the assertions to help with debugging.
(IPC::Connection::receiveSourceEventHandler): Ignore the message if no decoder
is created, which means the message is invalid.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238799 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoAlignment padding needs to be zeroed out in IPC::Encoder
darin@apple.com [Mon, 3 Dec 2018 17:16:03 +0000 (17:16 +0000)]
Alignment padding needs to be zeroed out in IPC::Encoder
https://bugs.webkit.org/show_bug.cgi?id=192304

Reviewed by Chris Dumez.

Might be useful to make a regression test for this, but I couldn't find any
other tests for this code.

* Platform/IPC/Encoder.cpp:
(IPC::Encoder::grow): Use std::memset to zero-fill padding bytes.

* UIProcess/mac/LegacySessionStateCoding.cpp:
(WebKit::HistoryEntryDataEncoder::grow): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238798 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[Cocoa] Streamline sandbox code a tiny bit
darin@apple.com [Mon, 3 Dec 2018 16:45:42 +0000 (16:45 +0000)]
[Cocoa] Streamline sandbox code a tiny bit
https://bugs.webkit.org/show_bug.cgi?id=192299

Reviewed by Anders Carlsson.

* Shared/mac/SandboxUtilities.mm:
(WebKit::processHasContainer): Removed separate function, just use the
pathForProcessContainer instead of repeating logic. This costs a tiny
bit of memory allocation overhead the first time this function is called,
but in return we can eliminate a second copy of the code to call
sandbox_container_path_for_pid.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238797 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[MediaStream] 'devicechange' event when more capture device information are revealed.
eric.carlson@apple.com [Mon, 3 Dec 2018 16:28:31 +0000 (16:28 +0000)]
[MediaStream] 'devicechange' event when more capture device information are revealed.
https://bugs.webkit.org/show_bug.cgi?id=192268

Reviewed by Youenn Fablet.

Source/WebCore:

Test: fast/mediastream/enumerate-devices-change-event.html

* Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::start): Remove code to modify device based on access, that is
now done in the UI process.
(WebCore::MediaDevicesRequest::filterDeviceList): Deleted.
* Modules/mediastream/MediaDevicesRequest.h:
* platform/mediastream/RealtimeMediaSourceCenter.h:

Source/WebKit:

* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Call captureDevicesChanged
if a filtered device list was returned previously.
(WebKit::UserMediaPermissionRequestManagerProxy::resetAccess): Clear m_hasFilteredDeviceList.
(WebKit::UserMediaPermissionRequestManagerProxy::wasGrantedVideoOrAudioAccess): New.
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): Filter device
list and strip device IDs if gUM permission hasn't been given.
(WebKit::UserMediaPermissionRequestManagerProxy::watchdogTimerFired): Clear m_hasFilteredDeviceList.
* UIProcess/UserMediaPermissionRequestManagerProxy.h:

LayoutTests:

* fast/mediastream/device-change-event-2.html: Fix bogus title.
* fast/mediastream/enumerate-devices-change-event-expected.txt: Added.
* fast/mediastream/enumerate-devices-change-event.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238796 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[iOSMac] Unable to upload non-image files using drag and drop in WKWebView
wenson_hsieh@apple.com [Mon, 3 Dec 2018 15:42:12 +0000 (15:42 +0000)]
[iOSMac] Unable to upload non-image files using drag and drop in WKWebView
https://bugs.webkit.org/show_bug.cgi?id=192283
<rdar://problem/46399461>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Currently on iOS, file URLs aren't generally written to the pasteboard during drag and drop unless the
application providing the data explicitly registers "public.file-url" to item providers. As such, our current
logic on iOS for handling drops does not attempt to prevent "public.file-url" from being advertised as the
"text/uri-list" MIME type in DataTransfer, though we do currently succeed in suppressing access to the file URL.

However, on iOSMac, the scenario in which file URLs are registered to item providers becomes pertinent when
uploading files from other macOS apps (e.g. Finder) into a WKWebView running in iOSMac. Furthermore, the
`preferredPresentationStyle` flag on `NSItemProvider` is unavailable in iOSMac; currently, this flag is our
primary cue on iOS that an item should be treated as an attachment rather than inline data. In order to support
file uploads in iOSMac, we make several adjustments to drop handling logic in iOS to handle the case where the
"public.file-url" type is registered. See below for more details.

Tests:  DragAndDropTests.DataTransferExposePlainTextWithFileURLAsFile
        DragAndDropTests.DataTransferGetDataWhenDroppingImageWithFileURL

* platform/PasteboardItemInfo.h:
(WebCore::PasteboardItemInfo::encode const):
(WebCore::PasteboardItemInfo::decode):

Add a new flag that is set if and only if the item provider contains the "public.file-url" type, and also
contains some non-URL data type that conforms to one of the file types supported for file uploads (i.e.
"public.content", zip archives, and folders).

* platform/cocoa/PasteboardCocoa.mm:
(WebCore::Pasteboard::fileContentState):

Consider the pasteboard to contain files in the case where one or more of the items contains a file URL, along
with some other pasteboard data that can be represented as a file upload.

* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::informationForItemAtIndex):
(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):

If the pasteboard contains "public.file-url", don't consider "text/uri-list" to be one of the data types that's
safe to expose to the page. Our current behavior in this case is that we will advertise "text/uri-list" as a
pasteboard type in the DataTransfer, but if the page attempts to request this information, we simply return the
empty string. Instead, we shouldn't expose "text/uri-list" as a type in the first place.

* platform/ios/WebItemProviderPasteboard.h:
* platform/ios/WebItemProviderPasteboard.mm:

Add a few more `__bridge`-ing casts where appropriate.

(typeConformsToTypes):

Move this further up the file so that it can be used in `NSItemProvider (WebCoreExtras)`.

(-[NSItemProvider web_containsFileURLAndFileUploadContent]):

Add a helper method on NSItemProvider to determine whether an item provider has a file URL, as well as a content
type suitable for file uploads.

(-[WebItemProviderLoadResult canBeRepresentedAsFileUpload]):

This currently always returns `NO` in iOSMac; instead, return `YES` on both iOS and iOSMac in the case where the
item provider contains a file URL and content which may be uploaded.

(-[WebItemProviderPasteboard preferredFileUploadURLAtIndex:fileType:]):
(-[WebItemProviderPasteboard typeIdentifiersToLoad:]):

Refactor this to take an `NSItemProvider` instead of a list of type identifiers, and bail out of loading data
for "public.url" if the item provider contains a file URL.

(-[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout:]):
(-[WebItemProviderPasteboard typeIdentifiersToLoadForRegisteredTypeIdentifiers:]): Deleted.

Tools:

Add a new API test to check that an item provider which contains plain text data and a file URL (but is not
marked as an attachment) is still treated as an attachment upon drop. Furthermore, verify that "text/uri-list"
does not expose the actual file URL written to the item provider.

Additionally, rebaseline an existing API test to remove an extraneous "text/uri-list" type that appears in
`DataTransfer.types`, but whose data is inaccessible via `getData` anyways.

* TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238795 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoGardening: unskip marsaglia.js on arm
guijemont@igalia.com [Mon, 3 Dec 2018 12:47:21 +0000 (12:47 +0000)]
Gardening: unskip marsaglia.js on arm

Unreviewed Test Gardening.

Bug 192152 has been fixed by r238778, so this test should not time out
any more.

* js/slow-stress/script-tests/marsaglia.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238794 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[EME][ClearKey] Add layout test for dynamic change of key and video resolution
commit-queue@webkit.org [Mon, 3 Dec 2018 11:25:08 +0000 (11:25 +0000)]
[EME][ClearKey] Add layout test for dynamic change of key and video resolution
https://bugs.webkit.org/show_bug.cgi?id=191926

Patch by Yacine Bandou <yacine.bandou@softathome.com> on 2018-12-03
Reviewed by Xabier Rodriguez-Calvar.

       Add new layout tests in order to test the playback of ClearKey encrypted video content with
       a change of key and resolution during decoding.
       The test starts by playing a ClearKey video with a resolution of 240p, then, in the third second,
       the resolution of the video will change to 480p with a new ClearKey key.

* media/content/encrypted/segments/VideoClearKeyCenc-seg-240-0.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-240-1.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-240-2.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-240-3.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-480-0.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-480-4.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-480-5.mp4: Added.
* media/content/encrypted/segments/VideoClearKeyCenc-seg-480-6.mp4: Added.
* media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse-multikey-expected.txt: Added.
* media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse-multikey.html: Added.
* media/encrypted-media/medias-enc.js:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238793 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoRemove Network Capture
krollin@apple.com [Mon, 3 Dec 2018 08:22:56 +0000 (08:22 +0000)]
Remove Network Capture
https://bugs.webkit.org/show_bug.cgi?id=192296
<rdar://problem/46408648>

Reviewed by Daniel Bates.

r209498 introduced an embedded record and replay facility for network
resource loading. This facility was added in order to support a new
implementation of the PLT and related performance tests. The PLT is
currenty taking a different direction, and so this record/replace
facility is no longer needed. Removing it as unused code.

* CMakeLists.txt:
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
(WebKit::NetworkLoad::setDefersLoading):
(WebKit::NetworkLoad::continueWillSendRequest):
(WebKit::NetworkLoad::willPerformHTTPRedirection):
(WebKit::NetworkLoad::notifyDidReceiveResponse):
(WebKit::NetworkLoad::didReceiveData):
(WebKit::NetworkLoad::didCompleteWithError):
(WebKit::NetworkLoad::initializeForRecord): Deleted.
(WebKit::NetworkLoad::initializeForReplay): Deleted.
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::terminate):
* NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
* NetworkProcess/NetworkProcessCreationParameters.h:
* NetworkProcess/capture/NetworkCaptureEvent.cpp: Removed.
* NetworkProcess/capture/NetworkCaptureEvent.h: Removed.
* NetworkProcess/capture/NetworkCaptureLogging.h: Removed.
* NetworkProcess/capture/NetworkCaptureManager.cpp: Removed.
* NetworkProcess/capture/NetworkCaptureManager.h: Removed.
* NetworkProcess/capture/NetworkCaptureRecorder.cpp: Removed.
* NetworkProcess/capture/NetworkCaptureRecorder.h: Removed.
* NetworkProcess/capture/NetworkCaptureReplayer.cpp: Removed.
* NetworkProcess/capture/NetworkCaptureReplayer.h: Removed.
* NetworkProcess/capture/NetworkCaptureResource.cpp: Removed.
* NetworkProcess/capture/NetworkCaptureResource.h: Removed.
* NetworkProcess/capture/NetworkDataTaskReplay.cpp: Removed.
* NetworkProcess/capture/NetworkDataTaskReplay.h: Removed.
* NetworkProcess/capture/json.hpp: Removed.
* Sources.txt:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* WebKit.xcodeproj/project.pbxproj:
* config.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238792 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoAdd a runtime feature flag for LayoutFormattingContext.
zalan@apple.com [Mon, 3 Dec 2018 03:24:42 +0000 (03:24 +0000)]
Add a runtime feature flag for LayoutFormattingContext.
https://bugs.webkit.org/show_bug.cgi?id=192280

Reviewed by Simon Fraser.

* Configurations/FeatureDefines.xcconfig:
Source/WebCore:

* page/FrameViewLayoutContext.cpp:
(WebCore::layoutUsingFormattingContext):
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setLayoutFormattingContextEnabled):
(WebCore::RuntimeEnabledFeatures::layoutFormattingContextEnabled const):

Source/WebKit:

* Shared/WebPreferences.yaml:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238791 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[ESNext][BigInt] Implement support for "<<" and ">>"
ticaiolima@gmail.com [Sun, 2 Dec 2018 17:08:44 +0000 (17:08 +0000)]
[ESNext][BigInt] Implement support for "<<" and ">>"
https://bugs.webkit.org/show_bug.cgi?id=186233

Reviewed by Yusuke Suzuki.

JSTests:

* stress/big-int-left-shift-general.js: Added.
* stress/big-int-left-shift-range-error.js: Added.
* stress/big-int-left-shift-type-error.js: Added.
* stress/big-int-left-shift-wrapped-value.js: Added.
* stress/big-int-right-shift-general.js: Added.
* stress/big-int-right-shift-type-error.js: Added.
* stress/big-int-right-shift-wrapped-value.js: Added.
* stress/left-shift-to-primitive-precedence.js: Added.
* stress/right-shift-to-primitive-precedence.js: Added.

Source/JavaScriptCore:

This patch is introducing the support for BigInt into lshift and
rshift into LLint and Baseline layers.

* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/JSBigInt.cpp:
(JSC::JSBigInt::createWithLength):
(JSC::JSBigInt::leftShift):
(JSC::JSBigInt::signedRightShift):
(JSC::JSBigInt::leftShiftByAbsolute):
(JSC::JSBigInt::rightShiftByAbsolute):
(JSC::JSBigInt::rightShiftByMaximum):
(JSC::JSBigInt::toShiftAmount):
* runtime/JSBigInt.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238790 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoCleanup WebKit Features
don.olmstead@sony.com [Sun, 2 Dec 2018 02:03:03 +0000 (02:03 +0000)]
Cleanup WebKit Features
https://bugs.webkit.org/show_bug.cgi?id=192262

Reviewed by Michael Catanzaro.

.:

Removes unused ENABLE flags from the listing in WebKitFeatures.cmake
and any other associated code. Synced the options in FeatureList.pm to
the feature listing. Sorts the ENABLE flags.

* Source/cmake/OptionsMac.cmake:
* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:
* Source/cmake/tools/vsprops/FeatureDefinesCairo.props:

Tools:

Removes obsolete ENABLE options and variable names. Syncs the option's
descriptions with what is present in WebKitFeatures.cmake. Sorts the
options based on the associated define.

* Scripts/webkitperl/FeatureList.pm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238789 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoLifetime of HTMLMediaElement is not properly handled in asynchronous actions
bfulgham@apple.com [Sun, 2 Dec 2018 01:52:59 +0000 (01:52 +0000)]
Lifetime of HTMLMediaElement is not properly handled in asynchronous actions
https://bugs.webkit.org/show_bug.cgi?id=192087
<rdar://problem/45975230>

Reviewed by Dean Jackson.

The HTMLMediaElement performs operations that allow arbitrary JavaScript to run. We need to make
sure the active media element is protected until those calls complete.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::didFinishInsertingNode):
(WebCore::HTMLMediaElement::exitFullscreen):
(WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured):
(WebCore::HTMLMediaElement::scheduleConfigureTextTracks):
(WebCore::HTMLMediaElement::scheduleMediaEngineWasUpdated):
(WebCore::HTMLMediaElement::scheduleUpdatePlayState):
(WebCore::HTMLMediaElement::scheduleUpdateMediaState):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238788 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[PSON] process-swapping may occur even though opener has handle to openee
cdumez@apple.com [Sat, 1 Dec 2018 22:40:07 +0000 (22:40 +0000)]
[PSON] process-swapping may occur even though opener has handle to openee
https://bugs.webkit.org/show_bug.cgi?id=192277

Reviewed by Antti Koivisto.

Source/WebCore:

Process-swapping may occur even though opener has handle to openee, which is not Web-compatible. The reason
is that we rely on the window not having an opener to process-swap. However, the opener can be disowned,
which does not mean that the opener doesn't still have a handle to its openee.

To address the issue:
- Renamed openedViaWindowOpenWithOpener flag to openedByDOMWithOpener
- Make sure this flag gets set if an opener have ever been set for the browsing context
- Do not process-swap if this flag is set
- Drop opener from NavigationAction since it does not provide meaningful information to decide whether
  to process-swap or not.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::setOpener):
* loader/NavigationAction.h:
(WebCore::NavigationAction::openedByDOMWithOpener const):
(WebCore::NavigationAction::setOpenedByDOMWithOpener):
(WebCore::NavigationAction::setOpener): Deleted.
(WebCore::NavigationAction::opener const): Deleted.
(WebCore::NavigationAction::openedViaWindowOpenWithOpener const): Deleted.
(WebCore::NavigationAction::setOpenedViaWindowOpenWithOpener): Deleted.
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):
* page/Page.h:
(WebCore::Page::openedByDOMWithOpener const):
(WebCore::Page::setOpenedByDOMWithOpener):
(WebCore::Page::openedViaWindowOpenWithOpener const): Deleted.
(WebCore::Page::setOpenedViaWindowOpenWithOpener): Deleted.

Source/WebKit:

* Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode const):
(WebKit::NavigationActionData::decode):
* Shared/NavigationActionData.h:
* UIProcess/API/APINavigation.h:
(API::Navigation::openedByDOMWithOpener const):
(API::Navigation::openedViaWindowOpenWithOpener const): Deleted.
(API::Navigation::opener const): Deleted.
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Tools:

Add API test coverage.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238787 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoHeap.h refers to the non-existent HeapStatistics
simon.fraser@apple.com [Sat, 1 Dec 2018 22:09:08 +0000 (22:09 +0000)]
Heap.h refers to the non-existent HeapStatistics
https://bugs.webkit.org/show_bug.cgi?id=187882

Reviewed by Keith Miller.

Just remove the "friend class HeapStatistics".

* heap/Heap.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238786 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoModernize version check for _suppressedAutoAddedHTTPHeaders
ap@apple.com [Sat, 1 Dec 2018 22:04:44 +0000 (22:04 +0000)]
Modernize version check for _suppressedAutoAddedHTTPHeaders
https://bugs.webkit.org/show_bug.cgi?id=192175

Reviewed by Tim Horton.

Source/WebCore/PAL:

* pal/spi/cf/CFNetworkSPI.h: Curiously, it was forward declared twice, for no
apparent reason.

Source/WebKit:

* NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
Also removed selector check - we only need to support running on 10.13.0 when building
with 10.13.0 SDK.

Source/WTF:

* wtf/Platform.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238785 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoUnreviewed, rolling out r238764.
jbedard@apple.com [Sat, 1 Dec 2018 21:09:08 +0000 (21:09 +0000)]
Unreviewed, rolling out r238764.

Breaks existing layout tests

Reverted changeset:

"webkitpy: Support unicode in MeteredStream"
https://bugs.webkit.org/show_bug.cgi?id=192260
https://trac.webkit.org/changeset/238764

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238784 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agowebkit.org/css-status is broken
simon.fraser@apple.com [Sat, 1 Dec 2018 20:08:22 +0000 (20:08 +0000)]
webkit.org/css-status is broken
https://bugs.webkit.org/show_bug.cgi?id=192278

Reviewed by Zalan Bujtas.

Remove a stray '='.

* wp-content/themes/webkit/css-status.php:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238783 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoAdd generic implementations to FileSystemPOSIX.cpp
chris.reid@sony.com [Sat, 1 Dec 2018 19:34:44 +0000 (19:34 +0000)]
Add generic implementations to FileSystemPOSIX.cpp
https://bugs.webkit.org/show_bug.cgi?id=192263

Reviewed by Yusuke Suzuki.

No new tests, no change in behavior.

Add generic FileSystemPOSIX implementations for:
    - stringFromFileSystemRepresentation
    - fileSystemRepresentation
    - moveFile
    - getVolumeFreeSpace

Also removing an unneeded PLATFORM(GTK) check since GTK is only using FileSystemGlib

* platform/posix/FileSystemPOSIX.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238782 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[LFC][BFC] Call instrinsicWidthConstraints on the correct formatting state.
zalan@apple.com [Sat, 1 Dec 2018 16:03:52 +0000 (16:03 +0000)]
[LFC][BFC] Call instrinsicWidthConstraints on the correct formatting state.
https://bugs.webkit.org/show_bug.cgi?id=192274

Reviewed by Antti Koivisto.

When we call intrinsic width on a formatting context root, we need to use the formatting state
that this root constructs and not the one it lives in.

* layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::instrinsicWidthConstraints const):
* layout/inlineformatting/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::instrinsicWidthConstraints const): it's the caller's responsiblitiy to store the intrinsic values.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238781 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[GStreamer][WebRTC] Build opus decoder support in libwebrtc
commit-queue@webkit.org [Sat, 1 Dec 2018 15:12:42 +0000 (15:12 +0000)]
[GStreamer][WebRTC] Build opus decoder support in libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=192226

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-12-01
Reviewed by Philippe Normand.

Somehow that was overlooked at some point (it used to work).

* CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238780 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoMove URL tests from TestWebKitAPI to TestWTF
yusukesuzuki@slowstart.org [Sat, 1 Dec 2018 12:23:25 +0000 (12:23 +0000)]
Move URL tests from TestWebKitAPI to TestWTF
https://bugs.webkit.org/show_bug.cgi?id=192275

Reviewed by Keith Miller.

Since URL is moved from WebCore to WTF, we also move tests for them from TestWebKitAPI (TestWebCore) to TestWTF.
But we still have some tests in TestWebCore since only WebCore implements TextEncoding. That part is now decoupled
from URLParser tests and new URLParserTextEncoding.cpp is created.

* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/PlatformGTK.cmake:
* TestWebKitAPI/PlatformWPE.cmake:
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/URL.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URL.cpp.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WTF/URLParser.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp.
(TestWebKitAPI::TEST_F):
* TestWebKitAPI/Tests/WTF/cocoa/URLExtras.mm: Renamed from Tools/TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebCore/URLParserTextEncoding.cpp: Added.
(TestWebKitAPI::ExpectedParts::isInvalid const):
(TestWebKitAPI::eq):
(TestWebKitAPI::insertTabAtLocation):
(TestWebKitAPI::invalidParts):
(TestWebKitAPI::checkURL):
(TestWebKitAPI::TEST_F):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238779 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months ago[JSC] Keep TypeMaybeBigInt small
yusukesuzuki@slowstart.org [Sat, 1 Dec 2018 08:38:53 +0000 (08:38 +0000)]
[JSC] Keep TypeMaybeBigInt small
https://bugs.webkit.org/show_bug.cgi?id=192203

Reviewed by Saam Barati.

As BigInt is being implemented, more and more bytecodes start returning BigInt.
It means that ResultType of these bytecodes include TypeMaybeBigInt. However,
TypeMaybeBigInt was large number 0x20, leading to wide instruction since ResultType
easily becomes larger than 32 (e.g. TypeInt32 | TypeMaybeBigInt == 33).

This patch sorts the numbers of TypeMaybeXXX based on the frequency of appearance in
the code.

* parser/ResultType.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238778 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoFix Windows build.
achristensen@apple.com [Sat, 1 Dec 2018 06:17:55 +0000 (06:17 +0000)]
Fix Windows build.

* UIProcess/API/C/curl/WKWebsiteDataStoreRefCurl.cpp:
(WKWebsiteDataStoreEnableCustomNetworkProxySettings):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238777 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoUnreviewed LFC passing test list update.
zalan@apple.com [Sat, 1 Dec 2018 05:58:58 +0000 (05:58 +0000)]
Unreviewed LFC passing test list update.

* LayoutReloaded/misc/LFC-passing-tests.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238776 268f45cc-cd09-0410-ab3c-d52691b4dbfc

10 months agoFix Windows build.
achristensen@apple.com [Sat, 1 Dec 2018 04:58:40 +0000 (04:58 +0000)]
Fix Windows build.

* WebView.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238775 268f45cc-cd09-0410-ab3c-d52691b4dbfc