daa2379b1f2905f1ea021e32212eda29ed73af3f
[WebKit-https.git] / Tools / ChangeLog
1 2018-05-01  Jonathan Bedard  <jbedard@apple.com>
2
3         webkitpy: SIGKILL right after SIGTERM causes orphaned processes with 'xcrun simctl spawn'
4         https://bugs.webkit.org/show_bug.cgi?id=185164
5
6         Reviewed by David Kilzer.
7
8         * Scripts/webkitpy/common/system/executive.py:
9         (Executive.kill_process): First attempt will always send a SIGTERM, all subsequent attempts will
10         send a SIGKILL. A SIGKILL with not be sent if the process is not running to avoid orphaning childen.
11
12 2018-05-01  Chris Dumez  <cdumez@apple.com>
13
14         REGRESSION (r230919): API test WebKit.AutoLayoutIntegration is a flaky failure
15         https://bugs.webkit.org/show_bug.cgi?id=184918
16         <rdar://problem/39705516>
17
18         Reviewed by Wenson Hsieh.
19
20         Make sure provisional load has started before calling beginLayoutAtMinimumWidth
21         on the AutoLayoutWKWebView to restore pre-r230919 behavior. The load now starts
22         asynchronously because we ask the client if it is OK to do the load and the policy
23         delegates are asynchronous nowadays.
24
25         * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
26         (-[AutoLayoutWKWebView load:withWidth:expectingContentSize:resettingWidth:]):
27         * TestWebKitAPI/cocoa/TestNavigationDelegate.h:
28         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
29         (-[TestNavigationDelegate webView:didStartProvisionalNavigation:]):
30         (-[TestNavigationDelegate waitForDidStartProvisionalNavigation]):
31         (-[WKWebView _test_waitForDidStartProvisionalNavigation]):
32
33 2018-05-01  Ross Kirsling  <ross.kirsling@sony.com>
34
35         [WinCairo] Align buildbot test stages with AppleWin.
36         https://bugs.webkit.org/show_bug.cgi?id=185094
37
38         Reviewed by Brent Fulgham.
39
40         * BuildSlaveSupport/build.webkit.org-config/factories.py:
41         (TestFactory.__init__):
42         Do run API tests, don't run dashboard tests.
43
44         * BuildSlaveSupport/build.webkit.org-config/steps.py:
45         (RunUnitTests):
46         Call run-api-tests with Python, not Perl (bugfix for r230998).
47
48         * Scripts/webkitpy/port/win.py:
49         (WinPort.environment_for_api_tests):
50         Retrieve necessary Windows environment variables.
51
52 2018-05-01  Eric Carlson  <eric.carlson@apple.com>
53
54         [MediaStream] remove WK1 support
55         https://bugs.webkit.org/show_bug.cgi?id=185136
56
57         Reviewed by Youenn Fablet.
58
59         * DumpRenderTree/mac/UIDelegate.mm:
60         (-[UIDelegate webView:decidePolicyForUserMediaRequestFromOrigin:listener:]): Deleted.
61
62 2018-05-01  Chris Dumez  <cdumez@apple.com>
63
64         [WKTR] Move navigation policy for response decision from InjectedBundle to UIProcess
65         https://bugs.webkit.org/show_bug.cgi?id=185157
66
67         Reviewed by Geoffrey Garen.
68
69         Move navigation policy for response decision from InjectedBundle to UIProcess. This is a more
70         common configuration and should therefore be the configuration we test by default.
71
72         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
73         (WTR::InjectedBundlePage::decidePolicyForResponse):
74
75 2018-05-01  Oleksandr Skachkov  <gskachkov@gmail.com>
76
77         WebAssembly: add support for stream APIs - JavaScript API
78         https://bugs.webkit.org/show_bug.cgi?id=183442
79
80         Reviewed by Yusuke Suzuki and JF Bastien.
81
82         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
83
84 2018-04-30  Mark Lam  <mark.lam@apple.com>
85
86         Apply PtrTags to the MetaAllocator and friends.
87         https://bugs.webkit.org/show_bug.cgi?id=185110
88         <rdar://problem/39533895>
89
90         Reviewed by Saam Barati.
91
92         Update the test to match MetaAllocator changes in WTF.
93
94         * TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
95         (TestWebKitAPI::TEST_F):
96         (WTF::tagForPtr):
97         (WTF::ptrTagName):
98
99 2018-04-30  Alex Christensen  <achristensen@webkit.org>
100
101         Add WKUIDelegatePrivate equivalent of WKPageContextMenuClient getContextMenuFromProposedMenuAsync
102         https://bugs.webkit.org/show_bug.cgi?id=180955
103
104         Reviewed by Andy Estes.
105
106         * TestWebKitAPI/Tests/WebKit/mac/ContextMenuImgWithVideo.mm:
107         (-[ContextMenuImgWithVideoDelegate _webView:contextMenu:forElement:]):
108         (-[ContextMenuImgWithVideoDelegate _webView:getContextMenuFromProposedMenu:forElement:userInfo:completionHandler:]):
109
110 2018-04-30  JF Bastien  <jfbastien@apple.com>
111
112         Use some C++17 features
113         https://bugs.webkit.org/show_bug.cgi?id=185135
114
115         Reviewed by Alex Christensen.
116
117         * DumpRenderTree/PlatformMac.cmake:
118         * gtk/ycm_extra_conf.py:
119         (FlagsForFile):
120
121 2018-04-30  Yusuke Suzuki  <utatane.tea@gmail.com>
122
123         Use WordLock instead of std::mutex for Threading
124         https://bugs.webkit.org/show_bug.cgi?id=185121
125
126         Reviewed by Geoffrey Garen.
127
128         * TestWebKitAPI/Tests/WTF/Signals.cpp:
129         (TEST):
130
131 2018-04-30  Michael Catanzaro  <mcatanzaro@igalia.com>
132
133         [GTK] Webkit should spoof as Safari on a Mac when on Chase.com
134         https://bugs.webkit.org/show_bug.cgi?id=185103
135
136         Reviewed by Carlos Garcia Campos.
137
138         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
139         (TestWebKitAPI::TEST):
140
141 2018-04-28  Sihui Liu  <sihui_liu@apple.com>
142
143         [Cocoa] Set HTTPOnly flag when converting Cookie to NSHTTPCookie
144         https://bugs.webkit.org/show_bug.cgi?id=185052
145
146         Reviewed by Geoffrey Garen.
147
148         Modified API test to provide correct test cases for HTTPOnly flag.
149
150         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
151         (TEST):
152
153 2018-04-28  Rick Waldron  <waldron.rick@gmail.com>
154
155         Token misspelled "tocken" in error message string
156         https://bugs.webkit.org/show_bug.cgi?id=185030
157
158         Reviewed by Saam Barati.
159
160         * Scripts/test262/test262-expectations.yaml: Fix typo "tocken" => "token"
161
162 2018-04-27  Stephan Szabo  <stephan.szabo@sony.com>
163
164         [WinCairo] Support --no-copy for jsc tests in wincairo tests, add copying of dlls for copy case
165         https://bugs.webkit.org/show_bug.cgi?id=185049
166
167         Reviewed by Keith Miller.
168
169         * Scripts/run-javascriptcore-tests:
170         (runJSCStressTests):
171         * Scripts/run-jsc-stress-tests:
172
173 2018-04-26  Ryosuke Niwa  <rniwa@webkit.org>
174
175         PSON: Triggering a navigation to an invalid URL creates a new WebContent process
176         https://bugs.webkit.org/show_bug.cgi?id=185066
177
178         Reviewed by Youenn Fablet.
179
180         Added a new test case (ProcessSwap.NavigateToInvalidURL) for navigating to an invalid URL.
181         WebKit should not swap WebContent process in this case.
182
183         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
184         (-[PSONNavigationDelegate webView:didFailProvisionalNavigation:withError:]):
185         (-[PSONUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
186
187 2018-04-27  Nan Wang  <n_wang@apple.com>
188
189         AX: Accessibility needs to know which part of the content view is visible on iOS
190         https://bugs.webkit.org/show_bug.cgi?id=185085
191         <rdar://problem/39801363>
192
193         Reviewed by Chris Fleizach.
194
195         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
196         (WTR::AccessibilityUIElement::stringAttributeValue):
197
198 2018-04-27  Wenson Hsieh  <wenson_hsieh@apple.com>
199
200         [Extra zoom mode] Add a mechanism to override default viewport behaviors in extra zoom mode
201         https://bugs.webkit.org/show_bug.cgi?id=185050
202         <rdar://problem/39624038>
203
204         Reviewed by Tim Horton.
205
206         Remove a test that's no longer useful, now that the SPI it was testing is gone. This functionality is now
207         tested by the layout test added in this patch.
208
209         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
210         * TestWebKitAPI/Tests/ios/ViewportSizingTests.mm: Removed.
211
212 2018-04-26  Ryan Haddad  <ryanhaddad@apple.com>
213
214         REGRESSION (r231039): RunUnitTests step reports disabled tests as failures
215         https://bugs.webkit.org/show_bug.cgi?id=185061
216
217         Reviewed by Aakash Jain.
218
219         * BuildSlaveSupport/build.webkit.org-config/steps.py:
220         (RunUnitTests.countFailures): Return the difference between the total number of tests run and the number that passed.
221         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Add a test.
222
223 2018-04-26  Ross Kirsling  <ross.kirsling@sony.com>
224
225         Add release bots for WinCairo.
226         https://bugs.webkit.org/show_bug.cgi?id=185042
227
228         Reviewed by Lucas Forschler.
229
230         * BuildSlaveSupport/build.webkit.org-config/config.json:
231         Add a release build bot and two test bots, replacing the outdated WinCairo release bots.
232
233 2018-04-26  Sihui Liu  <sihui_liu@apple.com>
234
235         -[WKHTTPCookieStore deleteCookie:completionHandler:] doesn't delete cookies
236         https://bugs.webkit.org/show_bug.cgi?id=184938
237         <rdar://problem/34737395>
238
239         Reviewed by Geoffrey Garen.
240
241         Add API test coverage.
242
243         * TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
244         (TEST):
245
246 2018-04-26  Ross Kirsling  <ross.kirsling@sony.com>
247
248         WinCairo test bots should run JSC tests with options for Windows command prompt.
249         https://bugs.webkit.org/show_bug.cgi?id=185019
250
251         Reviewed by Per Arne Vollan.
252
253         * BuildSlaveSupport/build.webkit.org-config/steps.py:
254         (RunJavaScriptCoreTests.start):
255
256 2018-04-26  Ross Kirsling  <ross.kirsling@sony.com>
257
258         WinCairo WKL Debug Test bot is not using DRT.
259         https://bugs.webkit.org/show_bug.cgi?id=185009
260
261         Reviewed by Per Arne Vollan.
262
263         * BuildSlaveSupport/build.webkit.org-config/config.json:
264
265 2018-04-26  Per Arne Vollan  <pvollan@apple.com>
266
267         Disable content filtering in minimal simulator mode
268         https://bugs.webkit.org/show_bug.cgi?id=185027
269         <rdar://problem/39736091>
270
271         Reviewed by Jer Noble.
272
273         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
274
275 2018-04-26  Brady Eidson  <beidson@apple.com>
276
277         Add a setting for keeping around all processes and always reusing them per-origin.
278         <rdar://problem/39695798> and https://bugs.webkit.org/show_bug.cgi?id=185020
279
280         Reviewed by Andy Estes.
281
282         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
283
284 2018-04-26  Andy VanWagoner  <thetalecrafter@gmail.com>
285
286         [INTL] Implement Intl.PluralRules
287         https://bugs.webkit.org/show_bug.cgi?id=184312
288
289         Reviewed by JF Bastien.
290
291         Added Intl.PluralRules feature flag.
292
293         * Scripts/webkitperl/FeatureList.pm:
294         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
295
296 2018-04-25  Michael Catanzaro  <mcatanzaro@igalia.com>
297
298         [WPE] Build and link against latest WPEBackend and WPEBackend-fdo
299         https://bugs.webkit.org/show_bug.cgi?id=184643
300
301         Reviewed by Žan Doberšek.
302
303         Add missing INCLUDE_DIRS in many places.
304
305         Adapt to single-header WPE includes.
306
307         Null-initialize padding to silence -Wmissing-field-initializers. (Yuck.)
308
309         * TestWebKitAPI/PlatformWPE.cmake:
310         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
311         (testWebViewWebBackend):
312         * TestWebKitAPI/glib/PlatformWPE.cmake:
313         * WebKitTestRunner/EventSenderProxy.h:
314         * WebKitTestRunner/PlatformWPE.cmake:
315         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
316         * wpe/HeadlessViewBackend/CMakeLists.txt:
317         * wpe/HeadlessViewBackend/HeadlessViewBackend.cpp:
318         * wpe/HeadlessViewBackend/HeadlessViewBackend.h:
319         * wpe/jhbuild.modules:
320
321 2018-04-25  Jonathan Bedard  <jbedard@apple.com>
322
323         REGRESSION (r230998): Bot watcher's dashboard doesn't display number of API test failures
324         https://bugs.webkit.org/show_bug.cgi?id=184982
325
326         Rubber-stamped by Aakash Jain.
327
328         Correctly count the number of API test failures.
329
330         * BuildSlaveSupport/build.webkit.org-config/steps.py:
331         (RunUnitTests.countFailures): Count the number of test failures for the new run-api-tests.
332         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
333         * Scripts/webkitpy/api_tests/manager.py:
334         (Manager.run): Disabled tests are not run.
335
336 2018-04-25  Jiewen Tan  <jiewen_tan@apple.com>
337
338         Remove access to keychain from the WebContent process
339         https://bugs.webkit.org/show_bug.cgi?id=184428
340         <rdar://problem/13150903>
341
342         Reviewed by Brent Fulgham.
343
344         This patch does the followings:
345         1. Added an API test for this patch.
346         2. Instrument DumpRenderTree and WebKitTestRunner to take advantages of new SPIs.
347
348         * DumpRenderTree/mac/UIDelegate.mm:
349         (-[UIDelegate signedPublicKeyAndChallengeStringForWebView:]):
350         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
351         * TestWebKitAPI/Tests/mac/SSLKeyGenerator.mm: Added.
352         (TestWebKitAPI::SSLKeyGeneratorTest::SetUp):
353         (TestWebKitAPI::SSLKeyGeneratorTest::TearDown):
354         (TestWebKitAPI::TEST_F):
355         * WebKitTestRunner/TestController.cpp:
356         (WTR::copySignedPublicKeyAndChallengeString):
357         (WTR::TestController::createOtherPage):
358         (WTR::TestController::createWebViewWithOptions):
359
360 2018-04-25  Wenson Hsieh  <wenson_hsieh@apple.com>
361
362         [Extra zoom mode] The search field on www.bing.com is missing label text
363         https://bugs.webkit.org/show_bug.cgi?id=184975
364         <rdar://problem/39723081>
365
366         Reviewed by Tim Horton.
367
368         Adds UIScriptController.formInputLabel, which asynchronously requests the input label text for the currently
369         focused element in extra zoom mode.
370
371         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
372         (WTR::UIScriptController::formInputLabel const):
373         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
374         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
375         (WTR::UIScriptController::formInputLabel const):
376         * TestRunnerShared/UIScriptContext/UIScriptController.h:
377         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
378         (WTR::UIScriptController::formInputLabel const):
379
380 2018-04-25  Michael Catanzaro  <mcatanzaro@igalia.com>
381
382         [WPE] Should load injected bundle from builddir in developer builds
383         https://bugs.webkit.org/show_bug.cgi?id=184983
384
385         Reviewed by Carlos Alberto Lopez Perez.
386
387         Set WEBKIT_INJECTED_BUNDLE_PATH when running WPE MiniBrowser.
388
389         * Scripts/run-minibrowser:
390
391 2018-04-25  Michael Catanzaro  <mcatanzaro@igalia.com>
392
393         [WPE] libgstggtk.so broken in jhbuild environment
394         https://bugs.webkit.org/show_bug.cgi?id=184984
395
396         Reviewed by Carlos Alberto Lopez Perez.
397
398         Don't pass --enable-glx=no when building libepoxy, to ensure it's compatible with
399         gst-plugins-good.
400
401         * wpe/jhbuild.modules:
402
403 2018-04-25  Ryosuke Niwa  <rniwa@webkit.org>
404
405         PSON: Don't create a new process when navigating to a blob URL, data URL, and about:blank
406         https://bugs.webkit.org/show_bug.cgi?id=184962
407
408         Reviewed by Youenn Fablet.
409
410         Added four test cases for navigating to a blob URL, data URL, and about:blank with process-swap-on-navigation turned on.
411
412         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
413         (ProcessSwap.SameOriginBlobNavigation): Added.
414         (ProcessSwap.CrossOriginBlobNavigation): Added.
415         (ProcessSwap.NavigateToAboutBlank): Added.
416         (ProcessSwap.NavigateToDataURL): Added.
417
418 2018-04-25  Michael Catanzaro  <mcatanzaro@igalia.com>
419
420         [WPE] Remove deprecated functions and properties from the API
421         https://bugs.webkit.org/show_bug.cgi?id=179295
422
423         Reviewed by Žan Doberšek.
424
425         * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
426         (testWebViewAuthenticationStorage): Disable this test for now. It will require some effort
427         to rewrite LoadTrackingTest to not require the web view at construction time.
428         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
429         (testWebKitSettings): Don't test private browsing setting, which is gone.
430         * TestWebKitAPI/glib/CMakeLists.txt: Disable TestCookieManager for now.
431
432 2018-04-25  Andy Estes  <aestes@apple.com>
433
434         [Mac] Number of drop items is always 0 when performing a DHTML drag
435         https://bugs.webkit.org/show_bug.cgi?id=184943
436
437         Reviewed by Ryosuke Niwa.
438
439         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
440         * TestWebKitAPI/Tests/mac/DragAndDropPasteboardTests.mm:
441         (-[DragInfo numberOfValidItemsForDrop]):
442         (-[DragInfo setNumberOfValidItemsForDrop:]):
443         (TestWebKitAPI::TEST):
444         * TestWebKitAPI/Tests/mac/full-page-dropzone.html: Added.
445
446 2018-04-25  Jonathan Bedard  <jbedard@apple.com>
447
448         API test harness should be Python
449         https://bugs.webkit.org/show_bug.cgi?id=181043
450         <rdar://problem/36164410>
451
452         Reviewed by David Kilzer.
453
454         Run API tests from a Python script rather than Perl. The Python API tests have
455         the same structure as the layout tests.
456
457         * Scripts/run-api-tests: Changed from Perl to Python.
458         * Scripts/webkitpy/api_tests: Added.
459         * Scripts/webkitpy/api_tests/__init__.py: Added.
460         * Scripts/webkitpy/api_tests/manager.py: Added.
461         (Manager):
462         (Manager.__init__):
463         (Manager._test_list_from_output): Construct a list of tests from the output of
464         TestWTF and TestWebKitAPI.
465         (Manager._find_test_subset): Given a list of all possible tests and command line
466         arguments, return a list of tests which match the provided arguments.
467         (Manager._collect_tests): Run TestWTF and TestWebKitAPI with --gtest_list_tests
468         to determine which tests will be run.
469         (Manager._print_test_result): Formatted print of a test with it's output.
470         (Manager._print_tests_result_with_status): Print all tests and output for tests
471         which ran with a specified exit status.
472         (Manager.run): Collect all tests, run them and then print results from the run.
473         * Scripts/webkitpy/api_tests/run_api_tests.py: Added.
474         (main): Parse arguments, construct a port, early exit for illegal ports and
475         then run tests.
476         (run): Setup logging and printing before using the Manager to run tests.
477         (parse_args): Use argparse to define all options used by run-api-tests.
478         * Scripts/webkitpy/api_tests/runner.py: Added.
479         (Runner):
480         (Runner.__init__):
481         (Runner._shard_tests): Split tests so that each suite runs together.
482         (Runner.command_for_port): Run a command on the device specified by the given
483         port object. Once <https://bugs.webkit.org/show_bug.cgi?id=175204> is completed,
484         this function would be entirely replaced by the server_process factory owned
485         by the port object.
486         (Runner.run): Run all shards in the message_pool.
487         (Runner.handle): Handle reports from child processes.
488         (Runner.result_map_by_status): Return a mapping of tests to output for tests
489         which exit with a specific status.
490         (_Worker):
491         (_Worker.__init__):
492         (_Worker._filter_noisy_output): Filter out objc warnings since these polite the log.
493         (_Worker._run_single_test): Runs a single test in a single child process.
494         (_Worker._run_shard_with_binary): Attempts to run a group of tests in the same
495         child process. If this technique fails, the remaining tests are run singly.
496         (_Worker.handle): Run the specified shard.
497         * Scripts/webkitpy/port/base.py:
498         (Port):
499         (Port.check_api_test_build): Check if TestWTF and TestWebKitAPI are built.
500         (Port.environment_for_api_tests): Return the environment needed to run
501         the TestWebKitAPI binary.
502         (Port. path_to_api_test_binaries): Return a list of the path to all binaries
503         used when running API tests.
504         (Port._build_api_tests): Build TestWTF and TestWebKitAPI if required.
505         * Scripts/webkitpy/port/mac.py:
506         (MacPort.environment_for_api_tests): Enable GuardMalloc for API tests.
507         * Scripts/webkitpy/port/server_process.py: 
508         (ServerProcess.pop_all_buffered_stdout):
509
510 2018-04-25  Carlos Garcia Campos  <cgarcia@igalia.com>
511
512         Incorrect number of WebDriver test failures shown in the bots
513         https://bugs.webkit.org/show_bug.cgi?id=184959
514
515         Reviewed by Michael Catanzaro.
516
517         The regular expression we are using to get the number of failures from the log is matching a particular test
518         error output. Improve the regular expression to avoid matching other strings in the log. Ensure that only
519         matches at the beginning of lines and add spaces after Unexpected and before the (<failures>).
520
521         * BuildSlaveSupport/build.webkit.org-config/steps.py:
522         (RunWebDriverTests.commandComplete):
523
524 2018-04-25  Carlos Garcia Campos  <cgarcia@igalia.com>
525
526         [GTK] Implement MouseEvent.buttons
527         https://bugs.webkit.org/show_bug.cgi?id=184913
528
529         Reviewed by Žan Doberšek.
530
531         Include the mouse buttons state in WTR synthesized events.
532
533         * WebKitTestRunner/EventSenderProxy.h:
534         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
535         (WTR::EventSenderProxy::EventSenderProxy):
536         (WTR::EventSenderProxy::createMouseButtonEvent):
537         (WTR::EventSenderProxy::mouseDown):
538         (WTR::EventSenderProxy::mouseUp):
539         (WTR::EventSenderProxy::mouseMoveTo):
540
541 2018-04-24  Pablo Saavedra  <psaavedra@igalia.com>
542
543         [GTK][WPE] Fix triggered bot name on the WPE Debug Build bot
544         https://bugs.webkit.org/show_bug.cgi?id=184954
545
546         Reviewed by Michael Catanzaro.
547
548         * BuildSlaveSupport/build.webkit.org-config/config.json:
549
550 2018-04-24  Saam Barati  <sbarati@apple.com>
551
552         Keep around a pre-warmed process when doing process swap on navigation
553         https://bugs.webkit.org/show_bug.cgi?id=184765
554         <rdar://problem/39685099>
555
556         Reviewed by Ryosuke Niwa and Brady Eidson.
557
558         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
559
560 2018-04-24  Aakash Jain  <aakash_jain@apple.com>
561
562         [build.webkit.org] unit-tests fail when passwords.json is missing
563         https://bugs.webkit.org/show_bug.cgi?id=180390
564
565         Reviewed by Carlos Alberto Lopez Perez.
566
567         * BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
568         (loadBuilderConfig): Add support for test_mode. Load mock passwords in test_mode.
569         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
570         (BuildBotConfigLoader._add_dependant_modules_to_sys_modules): Call _add_webkitpy_to_sys_path as well.
571         (BuildBotConfigLoader._mock_open): Deleted.
572         (BuildBotConfigLoader.load_config): Deleted.
573
574 2018-04-24  John Wilander  <wilander@apple.com>
575
576         From-Origin: Support for 'same' and 'same-site' response header, nested frame origin check
577         https://bugs.webkit.org/show_bug.cgi?id=184560
578         <rdar://problem/38901344>
579
580         Reviewed by Youenn Fablet and Daniel Bates.
581
582         This patch implements significant parts of https://github.com/whatwg/fetch/issues/687.
583         We consume the From-Origin response header and only load the resource if:
584         - The header is non-existent, empty, or invalid.
585         - The header specifies 'same' and the resource's origin matches the originating
586           document's origin and the origins up the frame tree.
587         - The header specifies 'same-site' and the resource's eTLD+1 matches the originating
588           document's eTLD+1 and the eTLD+1 of the documents up the frame tree.
589
590         This feature is experimental and off by default.
591
592         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
593         * TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp: Added.
594         (TestWebKitAPI::TEST):
595             Tests for From-Origin header parsing.
596
597 2018-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
598
599         Unreviewed. Update W3C WebDriver imported tests.
600
601         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
602         (WebDriverW3CExecutor.__init__):
603
604 2018-04-24  Zan Dobersek  <zdobersek@igalia.com>
605
606         [WPE] Remove libgbm dependency
607         https://bugs.webkit.org/show_bug.cgi?id=184906
608
609         Reviewed by Carlos Garcia Campos.
610
611         Stop searching for libgbm, using its compiler flags for the
612         HeadlessViewBackend compilation and linking against the .so object.
613         This is not necessary anymore after r230562 switched to a different
614         backend implementation for testing.
615
616         * wpe/HeadlessViewBackend/CMakeLists.txt:
617         * wpe/install-dependencies:
618
619 2018-04-23  Carlos Garcia Campos  <cgarcia@igalia.com>
620
621         [GLIB] Make it possible to use a different timeout for slow test cases in GLib tests
622         https://bugs.webkit.org/show_bug.cgi?id=184816
623
624         Reviewed by Michael Catanzaro.
625
626         Pass a function from api test runner to glib test runner to check if a test is slow and use the given slow
627         timeout.
628
629         * TestWebKitAPI/glib/TestExpectations.json:
630         * glib/api_test_runner.py:
631         (TestRunner._run_test_glib.is_slow_test):
632         (TestRunner._run_test_glib):
633         * glib/glib_test_runner.py:
634         (GLibTestRunner.__init__):
635         (GLibTestRunner._stop_timeout):
636         (GLibTestRunner._subtest_start):
637         (GLibTestRunner._subtest_end):
638
639 2018-04-23  Wenson Hsieh  <wenson_hsieh@apple.com>
640
641         [Extra zoom mode] REGRESSION(230860) Unable to change time input values using UI
642         https://bugs.webkit.org/show_bug.cgi?id=184901
643         <rdar://problem/39664797>
644
645         Reviewed by Tim Horton.
646
647         Introduce a new UIScriptController method to set the value of a currently focused input of type time, by
648         interacting with the UI. See WebKit ChangeLogs for more detail.
649
650         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
651         (WTR::UIScriptController::setTimePickerValue):
652         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
653         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
654         (WTR::UIScriptController::setTimePickerValue):
655         * TestRunnerShared/UIScriptContext/UIScriptController.h:
656         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
657         (WTR::UIScriptController::setTimePickerValue):
658
659 2018-04-23  Zalan Bujtas  <zalan@apple.com>
660
661         [LayoutFormattingContext] Initial commit.
662         https://bugs.webkit.org/show_bug.cgi?id=184896
663
664         Reviewed by Antti Koivisto.
665
666         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
667
668 2018-04-23  Chris Dumez  <cdumez@apple.com>
669
670         [WKTR] Move navigation policy decision from the injected bundle to the UIProcess
671         https://bugs.webkit.org/show_bug.cgi?id=184801
672
673         Reviewed by Geoffrey Garen.
674
675         Move navigation policy decision from the injected bundle to the UIProcess in WebKitTestRunner.
676         This is a more common configuration and therefore should be the default testing configuration.
677
678         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
679         (WTR::InjectedBundlePage::decidePolicyForNavigationAction):
680         Always respond with 'PassThrough' in the InjectedBundle so the UIProcess
681         is now asked for the policy decision.
682
683 2018-04-23  Pablo Saavedra  <psaavedra@igalia.com>
684
685         [GTK][WPE] Add Debug bots (build and tests) for WPE
686         https://bugs.webkit.org/show_bug.cgi?id=184887
687
688         Reviewed by Carlos Alberto Lopez Perez.
689
690         Deployed 2 new bots for WPE Debug: wpe-linux-bot-3 and
691         wpe-linux-bot-4
692
693         Both bots have already the credentials ready to authenticated against
694         build.webkit.org. They provides the bots for the "debug" configuration over
695         the "WPE" platform and building for the "x86_64" architecture:
696         WPE Linux 64-bit Debug (Build) and WPE Linux 64-bit Debug (Tests) 
697
698         * BuildSlaveSupport/build.webkit.org-config/config.json:
699         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
700
701 2018-04-23  Chris Dumez  <cdumez@apple.com>
702
703         HTML String load cannot be prevented by responding 'Cancel' asynchronously in decidePolicyForNavigationAction
704         https://bugs.webkit.org/show_bug.cgi?id=184848
705         <rdar://problem/39145306>
706
707         Reviewed by Brady Eidson.
708
709         Add API test coverage.
710
711         * TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
712         (-[DecidePolicyForNavigationActionController webView:decidePolicyForNavigationAction:decisionHandler:]):
713         (TEST):
714
715 2018-04-23  Michael Catanzaro  <mcatanzaro@igalia.com>
716
717         [GTK][WPE] TestSSL fails due to additional TLS errors returned
718         https://bugs.webkit.org/show_bug.cgi?id=184860
719
720         Reviewed by Carlos Garcia Campos.
721
722         Add script and config file for regenerating the test certificate.
723         Regenerate it. TestSSL no longer fails on my machine.
724
725         I do see a ton of network process crashes and JavaScript errors, none of
726         which prevent the test from passing, but this commit only claims to fix
727         the certificate validation portion of the test.
728
729         * TestWebKitAPI/Tests/WebKitGLib/resources/generate-test-cert.sh: Added.
730         * TestWebKitAPI/Tests/WebKitGLib/resources/test-cert.conf: Added.
731         * TestWebKitAPI/Tests/WebKitGLib/resources/test-cert.pem:
732
733 2018-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
734
735         [GLIB] ERROR: Thread was unable to be detached when running /jsc/vm test in debug
736         https://bugs.webkit.org/show_bug.cgi?id=184815
737
738         Reviewed by Michael Catanzaro.
739
740         This is because in the test we are calling both join and detach. We should only call join.
741
742         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
743         (testsJSCVirtualMachine):
744
745 2018-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
746
747         [GLIB] Test /jsc/prototypes crashes in debug
748         https://bugs.webkit.org/show_bug.cgi?id=184814
749
750         Reviewed by Michael Catanzaro.
751
752         We should also call the constructor/destructor of Bar struct to ensure Foo is constructed.
753
754         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
755         (barCreate):
756         (barFree):
757
758 2018-04-20  Michael Catanzaro  <mcatanzaro@igalia.com>
759
760         REGRESSION(r228088): [SOUP] Check TLS errors for WebSockets on GTlsConnection::accept-certificate
761         https://bugs.webkit.org/show_bug.cgi?id=184804
762
763         Reviewed by Carlos Garcia Campos.
764
765         * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
766         (WebSocketTest::WebSocketTest):
767         (WebSocketTest::~WebSocketTest):
768         (WebSocketTest::serverWebSocketCallback):
769         (WebSocketTest::webSocketTestResultCallback):
770         (WebSocketTest::connectToServerAndWaitForEvents):
771         (testWebSocketTLSErrors):
772         (beforeAll):
773
774 2018-04-20  Chris Dumez  <cdumez@apple.com>
775
776         Unreviewed, update 2 more API tests after r230876.
777
778         * TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
779         (TEST):
780         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
781         (TestWebKitAPI::TEST):
782
783 2018-04-20  Tim Horton  <timothy_horton@apple.com>
784
785         Adjust geolocation feature flag
786         https://bugs.webkit.org/show_bug.cgi?id=184856
787
788         Reviewed by Wenson Hsieh.
789
790         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
791
792 2018-04-20  Chris Dumez  <cdumez@apple.com>
793
794         REGRESSION (r229828): web view doesn’t update or respond to resizing until client calls policy decision handler
795         https://bugs.webkit.org/show_bug.cgi?id=184210
796         <rdar://problem/39072354>
797
798         Reviewed by Wenson Hsieh.
799
800         * TestWebKitAPI/Tests/WebKit/large-red-square-image.html:
801         * TestWebKitAPI/Tests/WebKitCocoa/dragstart-change-selection-offscreen.html:
802         Add viewport meta tags.
803
804         * TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
805         (-[WKWebView _test_waitForDidFinishNavigation]):
806         Update _test_waitForDidFinishNavigation to wait for the next presentation update
807         to make iOS API tests happy without having to modify each of them.
808
809 2018-04-20  Timothy Hatcher  <timothy@apple.com>
810
811         REGRESSION: API test WebKit.BackgroundColorSystemColor is failing
812
813         https://bugs.webkit.org/show_bug.cgi?id=184849
814         rdar://problem/39386405
815
816         Reviewed by Brian Burg.
817
818         * TestWebKitAPI/Tests/mac/BackgroundColor.mm:
819         (TestWebKitAPI::TEST): Use CGColorEqualToColor since we might get a different
820         CGColor pointer from NSColor each time.
821
822 2018-04-20  Wenson Hsieh  <wenson_hsieh@apple.com>
823
824         [Extra zoom mode] Injected bundle form client should be notified when editing text fields
825         https://bugs.webkit.org/show_bug.cgi?id=184822
826         <rdar://problem/38807319>
827
828         Reviewed by Tim Horton.
829
830         Add WebKitTestRunner support for listening to form editing SPI hooks in the injected bundle. The new layout test
831         installs callbacks that listen for "begin editing", "end editing", and "text changed" calls to injected bundle
832         SPI. See other ChangeLogs for more detail.
833
834         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
835         (WTR::UIScriptController::enterText):
836         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
837
838         Add UIScriptController support for simulating text entry in the currently focused element.
839
840         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
841         (WTR::UIScriptController::enterText):
842         * TestRunnerShared/UIScriptContext/UIScriptController.h:
843         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
844
845         Add TestRunner bindings for registering injected bundle form client callbacks.
846
847         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
848         (WTR::handleTextDidChangeInTextField):
849         (WTR::handleTextFieldDidBeginEditing):
850         (WTR::handleTextFieldDidEndEditing):
851         (WTR::InjectedBundle::didCreatePage):
852
853         Set the injected bundle form editor client.
854
855         (WTR::InjectedBundle::setUpInjectedBundleClients):
856         (WTR::InjectedBundle::textDidChangeInTextField):
857         (WTR::InjectedBundle::textFieldDidBeginEditing):
858         (WTR::InjectedBundle::textFieldDidEndEditing):
859         * WebKitTestRunner/InjectedBundle/InjectedBundle.h:
860         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
861         (WTR::TestRunner::installTextDidChangeInTextFieldCallback):
862         (WTR::TestRunner::textDidChangeInTextFieldCallback):
863         (WTR::TestRunner::installTextFieldDidBeginEditingCallback):
864         (WTR::TestRunner::textFieldDidBeginEditingCallback):
865         (WTR::TestRunner::installTextFieldDidEndEditingCallback):
866         (WTR::TestRunner::textFieldDidEndEditingCallback):
867         * WebKitTestRunner/InjectedBundle/TestRunner.h:
868         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
869         (WTR::UIScriptController::enterText):
870
871 2018-04-20  Youenn Fablet  <youenn@apple.com>
872
873         WebPage sometimes incorrectly rules out PDF as a mime type that can be showed
874         https://bugs.webkit.org/show_bug.cgi?id=184369
875
876         Reviewed by Chris Dumez.
877
878         * TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm:
879         (TEST):
880
881 2018-04-20  Daniel Bates  <dabates@apple.com>
882
883         Remove Strong Password decoration when text field type changes
884         https://bugs.webkit.org/show_bug.cgi?id=184795
885         <rdar://problem/38325108>
886
887         Reviewed by Antti Koivisto.
888
889         Add a unit test to ensure the injected bundle API and WebKit UI delegate SPI is invoked
890         when the field has the Strong Password button and its type changes.
891
892         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
893         * TestWebKitAPI/Tests/WebKitCocoa/DidResignInputElementStrongPasswordAppearance.mm: Added.
894         (didResignInputElementStrongPasswordAppearance):
895         (-[DidResignInputElementStrongPasswordAppearance webProcessPlugIn:didCreateBrowserContextController:]):
896         * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
897         (-[DidResignInputElementStrongPasswordAppearanceDelegate _webView:didResignInputElementStrongPasswordAppearanceWithUserInfo:]):
898         (-[DidResignInputElementStrongPasswordAppearanceDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
899         (TEST):
900
901 2018-04-20  Brady Eidson  <beidson@apple.com>
902
903         Add a test to verify load/unload/pageshow/pagehide all work with process swapping.
904         https://bugs.webkit.org/show_bug.cgi?id=184807
905
906         Reviewed by Chris Dumez.
907
908         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
909         (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
910
911 2018-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
912
913         Unreviewed. Mark TestJSC as slow in debug.
914
915         Only /jsc/vm is slow, but GLib API test runner only checks the test binary for GLib tests.
916
917         * TestWebKitAPI/glib/TestExpectations.json:
918
919 2018-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
920
921         [GTK] Local cross references are broken in API documentation
922         https://bugs.webkit.org/show_bug.cgi?id=184771
923
924         Reviewed by Michael Catanzaro.
925
926         The problem is that gtkdoc-fixxref expects the links to be in the form html/modulename (like the installed
927         ones), but we generate the documentation as modulename/html. So, links to WebKitDOM or JSC are generated as
928         ../html/Foo. The rebase command considers html to be the module name in this case, creating broken links in all
929         the cases.
930
931         * gtk/gtkdoc.py:
932         (GTKDoc._copy_doc_files_to_output_dir): We don't have any html dir in the source tree so, we are not copying
933         anything here.
934         (GTKDoc._run_gtkdoc_mkhtml): Create the html dir here using html/modulename instead now.
935         (GTKDoc._run_gtkdoc_fixxref): Pass the new directory as module dir to gtkdoc-fixxref and fix several links for
936         which gtkdoc-fixxref always uses absolute paths.
937         * gtk/manifest.txt.in: Update the documentation html paths and include the JSC GLib API in the tarball too.
938
939 2018-04-19  Brady Eidson  <beidson@apple.com>
940
941         Make back forward cache work with process swapping.
942         <rdar://problem/38676604> and https://bugs.webkit.org/show_bug.cgi?id=184793
943
944         Reviewed by Chris Dumez.
945
946         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
947
948 2018-04-19  David Kilzer  <ddkilzer@apple.com>
949
950         Enable Objective-C weak references
951         <https://webkit.org/b/184789>
952         <rdar://problem/39571716>
953
954         Reviewed by Dan Bernstein.
955
956         * ContentExtensionTester/Configurations/Base.xcconfig:
957         (CLANG_ENABLE_OBJC_WEAK): Enable.
958         * DumpRenderTree/mac/Configurations/Base.xcconfig:
959         (CLANG_ENABLE_OBJC_WEAK): Enable.
960         * ImageDiff/cg/Configurations/Base.xcconfig:
961         (CLANG_ENABLE_OBJC_WEAK): Enable.
962         * MiniBrowser/Configurations/Base.xcconfig:
963         (CLANG_ENABLE_OBJC_WEAK): Enable.
964         * TestWebKitAPI/Configurations/Base.xcconfig:
965         (CLANG_ENABLE_OBJC_WEAK): Enable.
966         * WebEditingTester/Configurations/Base.xcconfig:
967         (CLANG_ENABLE_OBJC_ARC): Re-order.
968         * WebKitLauncher/Configurations/Base.xcconfig: Add newline at
969         end of file.
970         (CLANG_ENABLE_OBJC_WEAK): Enable.
971         * WebKitTestRunner/Configurations/Base.xcconfig:
972         (CLANG_ENABLE_OBJC_WEAK): Enable.
973
974 2018-04-19  Chris Dumez  <cdumez@apple.com>
975
976         REGRESSION (r229133): decidePolicyForNavigationAction not called for loading an HTML string
977         https://bugs.webkit.org/show_bug.cgi?id=184209
978         <rdar://problem/39145306>
979
980         Reviewed by Ryosuke Niwa.
981
982         Add API test coverage.
983
984         * TestWebKitAPI/Tests/WebKitCocoa/DecidePolicyForNavigationAction.mm:
985         (TEST):
986
987 2018-04-18  Ross Kirsling  <ross.kirsling@sony.com>
988
989         [WinCairo][EWS] Build bot should clean user temp directory each time.
990         https://bugs.webkit.org/show_bug.cgi?id=184761
991
992         Reviewed by Lucas Forschler.
993
994         * EWSTools/Start-Queue.ps1:
995         Clean user's temp directory before each build, so that Windows git doesn't fill it up over time.
996
997 2018-04-18  Ross Kirsling  <ross.kirsling@sony.com>
998
999         Buildbots using Python zipfile should enable compression
1000         https://bugs.webkit.org/show_bug.cgi?id=184759
1001
1002         Reviewed by Lucas Forschler.
1003
1004         * BuildSlaveSupport/built-product-archive:
1005         (createZipManually):
1006         Default is to archive without compressing, so tell it to compress as well. 
1007
1008 2018-04-18  Nan Wang  <n_wang@apple.com>
1009
1010         AX: [macOS] WebKit hangs when triggering an alert from an AOM increment event
1011         https://bugs.webkit.org/show_bug.cgi?id=184742
1012
1013         Reviewed by Chris Fleizach.
1014
1015         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
1016         (AccessibilityUIElement::increment):
1017         (AccessibilityUIElement::decrement):
1018         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
1019         (WTR::AccessibilityUIElement::asyncIncrement):
1020         (WTR::AccessibilityUIElement::asyncDecrement):
1021         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
1022         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
1023         (WTR::AccessibilityUIElement::increment):
1024         (WTR::AccessibilityUIElement::decrement):
1025         (WTR::AccessibilityUIElement::asyncIncrement):
1026         (WTR::AccessibilityUIElement::asyncDecrement):
1027
1028 2018-04-18  Ross Kirsling  <ross.kirsling@sony.com>
1029
1030         Fix archive step for WinCairo build bot.
1031         https://bugs.webkit.org/show_bug.cgi?id=184715
1032
1033         Reviewed by Lucas Forschler.
1034
1035         * BuildSlaveSupport/built-product-archive:
1036         (archiveBuiltProduct):
1037         (extractBuiltProduct):
1038
1039 2018-04-18  Sihui Liu  <sihui_liu@apple.com>
1040
1041         REGRESSION: Using the reload button while offline pushes identical pages onto the back/forward list
1042         https://bugs.webkit.org/show_bug.cgi?id=184570
1043         <rdar://problem/34807323>
1044
1045         Reviewed by Chris Dumez.
1046
1047         Add API test coverage.
1048
1049         * TestWebKitAPI/Tests/WebKitCocoa/LoadAlternateHTMLString.mm:
1050         (TEST):
1051
1052 2018-04-18  Chris Dumez  <cdumez@apple.com>
1053
1054         Add support for converting a local window to a remote window
1055         https://bugs.webkit.org/show_bug.cgi?id=184515
1056         <rdar://problem/39011318>
1057
1058         Reviewed by Ryosuke Niwa.
1059
1060         * MiniBrowser/mac/AppDelegate.m:
1061         (defaultConfiguration):
1062         * MiniBrowser/mac/SettingsController.h:
1063         * MiniBrowser/mac/SettingsController.m:
1064         (-[SettingsController _populateMenu]):
1065         (-[SettingsController validateMenuItem:]):
1066         (-[SettingsController processSwapOnWindowOpenWithOpenerEnabled]):
1067         (-[SettingsController toggleProcessSwapOnWindowOpenWithOpener:]):
1068         Add menu entry in minibrowser to turn on process swap on cross-origin window.open().
1069
1070         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1071         Turn on process swap on cross-origin window.open() for corresponding test and update
1072         test to expect that a new WebProcess is created.
1073
1074         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1075         (WTR::InjectedBundlePage::decidePolicyForResponse):
1076         Add null checks for injectedBundle.testRunner(). When we swap process on navigation,
1077         the InjectedBundlePage::decidePolicyForResponse() gets called in the new process.
1078         In this new process, we have constructed a InjectedBundlePage for the page but we
1079         have not initialized the InjectedBundle members such as testRunner.
1080
1081         * WebKitTestRunner/TestController.cpp:
1082         (WTR::TestController::createWebViewWithOptions):
1083         (WTR::updateTestOptionsFromTestHeader):
1084         * WebKitTestRunner/TestOptions.h:
1085         (WTR::TestOptions::hasSameInitializationOptions const):
1086         Add a way for layout tests to turn on process swap on navigation via a test header.
1087
1088 2018-04-18  Yusuke Suzuki  <utatane.tea@gmail.com>
1089
1090         Unreviewed, reland r230697, r230720, and r230724.
1091         https://bugs.webkit.org/show_bug.cgi?id=184600
1092
1093         * Scripts/run-jsc-stress-tests:
1094
1095 2018-04-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1096
1097         [GLIB] Make it possible to handle JSCClass external properties not added to the prototype
1098         https://bugs.webkit.org/show_bug.cgi?id=184687
1099
1100         Reviewed by Michael Catanzaro.
1101
1102         Add test cases for the new API.
1103
1104         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
1105         (fooCreate):
1106         (fooFree):
1107         (fooGetProperty):
1108         (fooSetProperty):
1109         (testJSCPromises):
1110         (testJSCGarbageCollector):
1111         (testsJSCVirtualMachine):
1112         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
1113         (windowObjectClearedCallback):
1114
1115 2018-04-17  Wenson Hsieh  <wenson_hsieh@apple.com>
1116
1117         [Extra zoom mode] Programmatically changing focus when an element already has focus is a confusing experience
1118         https://bugs.webkit.org/show_bug.cgi?id=184635
1119         <rdar://problem/39440642>
1120
1121         Reviewed by Tim Horton.
1122
1123         Add plumbing to support invoking `didHideKeyboardCallback` and `didShowKeyboardCallback` when (respectively)
1124         dismissing or presenting fullscreen input view controllers in extra zoom mode.
1125
1126         * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
1127         (-[TestRunnerWKWebView initWithFrame:configuration:]):
1128         (-[TestRunnerWKWebView dealloc]):
1129         (-[TestRunnerWKWebView _invokeShowKeyboardCallbackIfNecessary]):
1130         (-[TestRunnerWKWebView _invokeHideKeyboardCallbackIfNecessary]):
1131         (-[TestRunnerWKWebView _keyboardDidShow:]):
1132         (-[TestRunnerWKWebView _keyboardDidHide:]):
1133         (-[TestRunnerWKWebView _webView:didPresentFocusedElementViewController:]):
1134         (-[TestRunnerWKWebView _webView:didDismissFocusedElementViewController:]):
1135
1136 2018-04-17  Michael Catanzaro  <mcatanzaro@igalia.com>
1137
1138         [GTK] Webkit should spoof as Safari on a Mac for Outlook.com
1139         https://bugs.webkit.org/show_bug.cgi?id=184573
1140
1141         Reviewed by Carlos Alberto Lopez Perez.
1142
1143         * TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
1144         (TestWebKitAPI::TEST):
1145
1146 2018-04-17  Fujii Hironori  <Hironori.Fujii@sony.com>
1147
1148         [WinCairo][TestWebKitAPI] Implement PlatformWebView for TestWebKit
1149         https://bugs.webkit.org/show_bug.cgi?id=184524
1150
1151         Reviewed by Alex Christensen.
1152
1153         Resurrect PlatformWebView for Windows port which was removed in Bug 104607.
1154
1155         * TestWebKitAPI/PlatformWebView.h:
1156         * TestWebKitAPI/PlatformWin.cmake:
1157         * TestWebKitAPI/win/InjectedBundleControllerWin.cpp: Added.
1158         (TestWebKitAPI::InjectedBundleController::platformInitialize):
1159         * TestWebKitAPI/win/PlatformUtilitiesWin.cpp: Added.
1160         (TestWebKitAPI::Util::moduleDirectory):
1161         (TestWebKitAPI::Util::createInjectedBundlePath):
1162         (TestWebKitAPI::Util::createURLForResource):
1163         (TestWebKitAPI::Util::URLForNonExistentResource):
1164         (TestWebKitAPI::Util::isKeyDown):
1165         * TestWebKitAPI/win/PlatformWebViewWin.cpp: Added.
1166         (TestWebKitAPI::PlatformWebView::registerWindowClass):
1167         (TestWebKitAPI::PlatformWebView::PlatformWebView):
1168         (TestWebKitAPI::PlatformWebView::initialize):
1169         (TestWebKitAPI::PlatformWebView::~PlatformWebView):
1170         (TestWebKitAPI::PlatformWebView::page const):
1171         (TestWebKitAPI::PlatformWebView::resizeTo):
1172         (TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
1173         (TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
1174         (TestWebKitAPI::PlatformWebView::simulateRightClick):
1175         (TestWebKitAPI::PlatformWebView::simulateMouseMove):
1176         (TestWebKitAPI::PlatformWebView::wndProc):
1177         * TestWebKitAPI/win/UtilitiesWin.cpp: Added.
1178         (TestWebKitAPI::Util::run):
1179         (TestWebKitAPI::Util::spinRunLoop):
1180         (TestWebKitAPI::Util::sleep):
1181
1182 2018-04-17  Jonathan Bedard  <jbedard@apple.com>
1183
1184         Fix hasher tests for system with 32 bit longs
1185         https://bugs.webkit.org/show_bug.cgi?id=184708
1186         <rdar://problem/39459977>
1187
1188         Reviewed by Mark Lam.
1189
1190         Some systems have 32 bit longs. The Hasher WTF tests should handle this case.
1191
1192         * TestWebKitAPI/Tests/WTF/Hasher.cpp:
1193         (TestWebKitAPI::TEST):
1194
1195 2018-04-17  Commit Queue  <commit-queue@webkit.org>
1196
1197         Unreviewed, rolling out r230697, r230720, and r230724.
1198         https://bugs.webkit.org/show_bug.cgi?id=184717
1199
1200         These caused multiple failures on the Test262 testers.
1201         (Requested by mlewis13 on #webkit).
1202
1203         Reverted changesets:
1204
1205         "[WebAssembly][Modules] Prototype wasm import"
1206         https://bugs.webkit.org/show_bug.cgi?id=184600
1207         https://trac.webkit.org/changeset/230697
1208
1209         "[WebAssembly][Modules] Implement function import from wasm
1210         modules"
1211         https://bugs.webkit.org/show_bug.cgi?id=184689
1212         https://trac.webkit.org/changeset/230720
1213
1214         "[JSC] Rename runWebAssembly to runWebAssemblySuite"
1215         https://bugs.webkit.org/show_bug.cgi?id=184703
1216         https://trac.webkit.org/changeset/230724
1217
1218 2018-04-17  Jonathan Bedard  <jbedard@apple.com>
1219
1220         Unreviewed rollout of r230632. Regression in memory usage.
1221
1222         That bug tracked in https://bugs.webkit.org/show_bug.cgi?id=184569.
1223
1224         * DumpRenderTree/TestOptions.h:
1225         * DumpRenderTree/mac/DumpRenderTree.mm:
1226         (runTest):
1227         (shouldOverrideAndDisableCSSAnimationsAndCSSTransitionsBackedByWebAnimationsPreference): Deleted.
1228         * WebKitTestRunner/TestController.cpp:
1229         (WTR::TestController::resetPreferencesToConsistentValues):
1230         * WebKitTestRunner/TestOptions.cpp:
1231         (WTR::TestOptions::TestOptions):
1232         (WTR::isLegacyAnimationEngineTestPath): Deleted.
1233         * WebKitTestRunner/TestOptions.h:
1234
1235 2018-04-17  Yusuke Suzuki  <utatane.tea@gmail.com>
1236
1237         [JSC] Rename runWebAssembly to runWebAssemblySuite
1238         https://bugs.webkit.org/show_bug.cgi?id=184703
1239
1240         Reviewed by JF Bastien.
1241
1242         * Scripts/run-jsc-stress-tests:
1243
1244 2018-04-17  Yusuke Suzuki  <utatane.tea@gmail.com>
1245
1246         [WebAssembly][Modules] Implement function import from wasm modules
1247         https://bugs.webkit.org/show_bug.cgi?id=184689
1248
1249         Reviewed by JF Bastien.
1250
1251         Add runWebAssemblyDirect, which runs wasm file directly.
1252
1253         * Scripts/run-jsc-stress-tests:
1254
1255 2018-04-17  Saam Barati  <sbarati@apple.com>
1256
1257         Add system trace points for process launch and for initializeWebProcess
1258         https://bugs.webkit.org/show_bug.cgi?id=184669
1259
1260         Reviewed by Simon Fraser.
1261
1262         * Tracing/SystemTracePoints.plist:
1263
1264 2018-04-17  Ross Kirsling  <ross.kirsling@sony.com>
1265
1266         Add debug bots for WinCairo.
1267         https://bugs.webkit.org/show_bug.cgi?id=184663
1268
1269         Reviewed by Lucas Forschler.
1270
1271         * BuildSlaveSupport/build.webkit.org-config/config.json:
1272         Add a debug build bot and two debug test bots.
1273
1274         * BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
1275         * BuildSlaveSupport/build.webkit.org-config/templates/root.html:
1276         Add a WinCairo category to build.webkit.org.
1277
1278 2018-04-17  Zalan Bujtas  <zalan@apple.com>
1279
1280         [LayoutReloaded] Set inline-block box position.
1281         https://bugs.webkit.org/show_bug.cgi?id=184690
1282
1283         Reviewed by Antti Koivisto.
1284
1285         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1286         (InlineFormattingContext.prototype._handleInlineBlock):
1287         * LayoutReloaded/Utils.js:
1288         (Utils._dumpBox):
1289         * LayoutReloaded/test/inline-block-with-fixed-width-height.html:
1290
1291 2018-04-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1292
1293         [GLIB] Add API to clear JSCContext uncaught exception
1294         https://bugs.webkit.org/show_bug.cgi?id=184685
1295
1296         Reviewed by Žan Doberšek.
1297
1298         Add test cases for the new API.
1299
1300         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
1301         (testJSCExceptions):
1302
1303 2018-04-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1304
1305         [GLIB] Add API to query, delete and enumerate properties
1306         https://bugs.webkit.org/show_bug.cgi?id=184647
1307
1308         Reviewed by Michael Catanzaro.
1309
1310         Add test cases for the new API.
1311
1312         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
1313         (testJSCObject):
1314         (testJSCClass):
1315         (testJSCPrototypes):
1316
1317 2018-04-16  Zalan Bujtas  <zalan@apple.com>
1318
1319         [LayoutReloaded] Add support for replaced box.
1320         https://bugs.webkit.org/show_bug.cgi?id=184680
1321
1322         Reviewed by Antti Koivisto.
1323
1324         Basic support for inline replaced.
1325
1326         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1327         (InlineFormattingContext.prototype._handleInlineBox):
1328         (InlineFormattingContext.prototype._handleInlineBlock):
1329         (InlineFormattingContext.prototype._handleReplaced):
1330         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
1331         (Line.prototype.lastLineBox):
1332         (Line.prototype.addInlineBox):
1333         (Line.prototype.addInlineContainerBox): Deleted.
1334         * LayoutReloaded/TreeBuilder.js:
1335         (TreeBuilder.prototype._createAndAttachBox):
1336         * LayoutReloaded/Utils.js:
1337         (Utils._dumpBox):
1338         * LayoutReloaded/test/index.html:
1339         * LayoutReloaded/test/inline-simple-replaced.html: Added.
1340
1341 2018-04-16  Zalan Bujtas  <zalan@apple.com>
1342
1343         [LayoutReloaded] Minor InlineFormattingContext::layout() cleanup.
1344         https://bugs.webkit.org/show_bug.cgi?id=184679
1345
1346         Reviewed by Antti Koivisto.
1347
1348         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1349         (InlineFormattingContext):
1350         (InlineFormattingContext.prototype.layout):
1351         (InlineFormattingContext.prototype._handleInlineContainer):
1352         (InlineFormattingContext.prototype._handleInlineContent):
1353         (InlineFormattingContext.prototype._handleInlineBlock):
1354         (InlineFormattingContext.prototype._handleReplacedBox):
1355         (InlineFormattingContext.prototype._clearNeedsLayoutAndMoveToNextSibling):
1356         (InlineFormattingContext.prototype._handleInlineBlockContainer): Deleted.
1357         (InlineFormattingContext.prototype._clearAndMoveToNext): Deleted.
1358
1359 2018-04-16  Zalan Bujtas  <zalan@apple.com>
1360
1361         [LayoutReloaded] Introduce fragmentation state/context.
1362         https://bugs.webkit.org/show_bug.cgi?id=184677
1363
1364         Reviewed by Antti Koivisto.
1365
1366         State/context for fragmented content (multicol, regions, pagination etc).
1367
1368         * LayoutReloaded/FormattingContext/FragmentationContext.js: Added.
1369         (FragmentationContext):
1370         * LayoutReloaded/FormattingState/FragmentationState.js: Added.
1371         (FragmentationState):
1372         (FragmentationState.prototype.formattingState):
1373
1374 2018-04-16  Andy Estes  <aestes@apple.com>
1375
1376         [iOS] Enable WKPDFView by default
1377         https://bugs.webkit.org/show_bug.cgi?id=184675
1378         <rdar://problem/27885452>
1379
1380         Reviewed by Darin Adler.
1381
1382         * TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
1383
1384 2018-04-16  Leo Balter  <leonardo.balter@gmail.com>
1385
1386         Perl-based Test262 runner
1387         https://bugs.webkit.org/show_bug.cgi?id=183343
1388
1389         Reviewed by Michael Saboff.
1390
1391         * Scripts/test262-helpers/README.md: Added.
1392         * Scripts/test262-helpers/agent.js: Added.
1393         (262.getGlobal):
1394         (262.setGlobal):
1395         (262.destroy):
1396         (262.IsHTMLDDA):
1397         * Scripts/test262-helpers/cpanfile: Added.
1398         * Scripts/test262-helpers/cpanfile.snapshot: Added.
1399         * Scripts/test262-helpers/test262-runner.pl: Added.
1400         (main):
1401         (processFile):
1402         (getScenarios):
1403         (addScenario):
1404         (compileTest):
1405         (runTest):
1406         (processResult):
1407         (getTempFile):
1408         (getContents):
1409         (parseData):
1410         (getHarness):
1411         * Scripts/test262-helpers/tests.log: Added.
1412
1413 2018-04-15  Andy Estes  <aestes@apple.com>
1414
1415         [iOS] Add API tests for PDF find-in-page
1416         https://bugs.webkit.org/show_bug.cgi?id=184634
1417
1418         Reviewed by Dan Bernstein.
1419
1420         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1421         * TestWebKitAPI/Tests/WebKit/find.pdf: Added.
1422         * TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
1423         (-[TestFindDelegate findString]):
1424         (-[TestFindDelegate _webView:didCountMatches:forString:]):
1425         (-[TestFindDelegate _webView:didFindMatches:forString:withMatchIndex:]):
1426         (-[TestFindDelegate _webView:didFailToFindString:]):
1427         (loadWebView):
1428         (TEST):
1429
1430 2018-04-13  Zalan Bujtas  <zalan@apple.com>
1431
1432         [LayoutReloaded] Update class documentation
1433         https://bugs.webkit.org/show_bug.cgi?id=184625
1434
1435         Reviewed by Antti Koivisto.
1436
1437         * LayoutReloaded/DisplayTree/Box.js:
1438         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1439         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
1440         * LayoutReloaded/FormattingContext/FloatingContext.js:
1441         * LayoutReloaded/FormattingContext/FormattingContext.js:
1442         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1443         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
1444         * LayoutReloaded/FormattingState/BlockFormattingState.js:
1445         * LayoutReloaded/FormattingState/FloatingState.js:
1446         * LayoutReloaded/FormattingState/FormattingState.js:
1447         * LayoutReloaded/FormattingState/InlineFormattingState.js:
1448         * LayoutReloaded/LayoutState.js:
1449         * LayoutReloaded/LayoutTree/BlockContainer.js:
1450         * LayoutReloaded/LayoutTree/Box.js:
1451         * LayoutReloaded/LayoutTree/Container.js:
1452         * LayoutReloaded/LayoutTree/InlineBox.js:
1453         * LayoutReloaded/LayoutTree/InlineContainer.js:
1454         * LayoutReloaded/LayoutTree/Text.js:
1455         * LayoutReloaded/misc/headers/BlockContainer.h: Removed.
1456         * LayoutReloaded/misc/headers/BlockFormattingContext.h: Removed.
1457         * LayoutReloaded/misc/headers/BlockMarginCollapse.h: Removed.
1458         * LayoutReloaded/misc/headers/Box.h: Removed.
1459         * LayoutReloaded/misc/headers/Container.h: Removed.
1460         * LayoutReloaded/misc/headers/FloatingContext.h: Removed.
1461         * LayoutReloaded/misc/headers/FormattingContext.h: Removed.
1462         * LayoutReloaded/misc/headers/InitialBlockContainer.h: Removed.
1463         * LayoutReloaded/misc/headers/InlineBox.h: Removed.
1464         * LayoutReloaded/misc/headers/LayoutContext.h: Removed.
1465         * LayoutReloaded/misc/headers/Line.h: Removed.
1466         * LayoutReloaded/misc/headers/Text.h: Removed.
1467
1468 2018-04-13  Zalan Bujtas  <zalan@apple.com>
1469
1470         [LayoutReloaded] Add simple implementation for FormattingState::markNeedsLayout()
1471         https://bugs.webkit.org/show_bug.cgi?id=184621
1472
1473         Reviewed by Antti Koivisto.
1474
1475         This is just a simple, mark ancestors dirty implementation.
1476
1477         * LayoutReloaded/FormattingState/FormattingState.js:
1478         (FormattingState.prototype.markNeedsLayout):
1479         * LayoutReloaded/LayoutState.js:
1480         (LayoutState.prototype.markNeedsLayout):
1481         (LayoutState.prototype.setNeedsLayoutById): Deleted.
1482         (LayoutState.prototype.setNeedsLayout): Deleted.
1483         * LayoutReloaded/TreeBuilder.js:
1484         (TreeBuilder.prototype._createAndAttachBox):
1485         (TreeBuilder.prototype._findBox): Deleted.
1486         * LayoutReloaded/Utils.js:
1487         (Utils.layoutBoxById):
1488         * LayoutReloaded/test/index.html:
1489         * LayoutReloaded/test/simple-incremental-layout-with-static-content.html:
1490
1491 2018-04-13  Carlos Alberto Lopez Perez  <clopez@igalia.com>
1492
1493         [WPE] [webkitpy] The driver requirements should be checked before starting the tests
1494         https://bugs.webkit.org/show_bug.cgi?id=184595
1495
1496         Reviewed by Michael Catanzaro.
1497
1498         Ensure Driver.check_driver() is checked at check_sys_deps() time.
1499
1500         * Scripts/webkitpy/port/wpe.py:
1501         (WPEPort.check_sys_deps):
1502
1503 2018-04-13  Zalan Bujtas  <zalan@apple.com>
1504
1505         Rebaseline LayoutReloaded patch file (collectRenderersWithNeedsLayout).
1506
1507         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
1508
1509 2018-04-13  Jonathan Bedard  <jbedard@apple.com>
1510
1511         Boot fewer simulators in CI/EWS machines
1512         https://bugs.webkit.org/show_bug.cgi?id=184594
1513         <rdar://problem/39188082>
1514
1515         Reviewed by Alexey Proskuryakov.
1516
1517         This is a temporary workaround fro <rdar://problem/39393590>.
1518
1519         * Scripts/webkitpy/xcode/simulated_device.py:
1520         (SimulatedDeviceManager): Treat simulators as taking 6 gigs instead of 2.
1521
1522 2018-04-13  Brady Eidson  <beidson@apple.com>
1523
1524         Introduce SuspendedPageProxy to keep old web processes around after their WebPageProxy has been swapped to a new one.
1525         https://bugs.webkit.org/show_bug.cgi?id=184559
1526
1527         Reviewed by Alex Christensen.
1528
1529         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
1530
1531 2018-04-13  Chris Dumez  <cdumez@apple.com>
1532
1533         input.webkitEntries does not work as expected when folder contains accented chars
1534         https://bugs.webkit.org/show_bug.cgi?id=184517
1535         <rdar://problem/39265537>
1536
1537         Reviewed by Alex Christensen.
1538
1539         Add API test coverage.
1540
1541         * TestWebKitAPI/Tests/WebCore/FileSystem.cpp:
1542         (TestWebKitAPI::TEST_F):
1543
1544 2018-04-13  Thibault Saunier  <tsaunier@igalia.com>
1545
1546         Update my emails ordering in contributors.json
1547         https://bugs.webkit.org/show_bug.cgi?id=184587
1548
1549         Rubber-stamped by Philippe Normand.
1550
1551         Bugzilla seems to pick up tsaunier@igalia.com which is not the one I use there.
1552
1553         * Scripts/webkitpy/common/config/contributors.json:
1554
1555 2018-04-13  Michael Catanzaro  <mcatanzaro@igalia.com>
1556
1557         [WPE] xkbcommon: ERROR: failed to add default include path /home/mcatanzaro/Projects/WebKit/WebKitBuild/DependenciesWPE/Root/share/X11/xkb
1558         https://bugs.webkit.org/show_bug.cgi?id=184388
1559
1560         Reviewed by Carlos Alberto Lopez Perez.
1561
1562         Remove libxkbcommon from the JHBuild environment. We could alternatively add
1563         xkeyboard-config, but there doesn't seem to be any need to build libxkbcommon because I do
1564         not believe it depends on anything else in the JHBuild environment.
1565
1566         * wpe/install-dependencies:
1567         * wpe/jhbuild.modules:
1568
1569 2018-04-12  Antoine Quint  <graouts@apple.com>
1570
1571         [Web Animations] Turn CSS Animations and CSS Transitions as Web Animations on by default
1572         https://bugs.webkit.org/show_bug.cgi?id=184569
1573         <rdar://problem/38671301>
1574
1575         Reviewed by Jon Lee.
1576
1577         We set the default value for the CSS Animations and CSS Transitions as Web Animations flag to true
1578         but override it to be false always in the LayoutTests/legacy-animation-engine directory.
1579
1580         * DumpRenderTree/TestOptions.h:
1581         * DumpRenderTree/mac/DumpRenderTree.mm:
1582         (shouldOverrideAndDisableCSSAnimationsAndCSSTransitionsBackedByWebAnimationsPreference):
1583         (runTest):
1584         * WebKitTestRunner/TestController.cpp:
1585         (WTR::TestController::resetPreferencesToConsistentValues):
1586         * WebKitTestRunner/TestOptions.cpp:
1587         (WTR::isLegacyAnimationEngineTestPath):
1588         (WTR::TestOptions::TestOptions):
1589         * WebKitTestRunner/TestOptions.h:
1590
1591 2018-04-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1592
1593         [GLIB] Tests WTF_RefPtr.ReleaseInNonMainThread and WTF_RefPtr.ReleaseInNonMainThreadDestroyInMainThread are crashing since they were added
1594         https://bugs.webkit.org/show_bug.cgi?id=184531
1595
1596         Reviewed by Michael Catanzaro.
1597
1598         It's not a bug in WebKit, but in the tests. The problem is that those tests are using RunLoop::main() but main
1599         run loop hasn't been initialized. ReleaseInNonMainThread doesn't really need to initialize the main run loop if
1600         we change Util::run() to always use RunLop::current() instead of RunLoop::main(). But
1601         ReleaseInNonMainThreadDestroyInMainThread ends up scheduling a task to the main thread, and the generic
1602         implementation fo that uses RunLoop::main(), so we need to initialize the main loop in this case.
1603
1604         * TestWebKitAPI/Tests/WTF/RefPtr.cpp:
1605         (TestWebKitAPI::TEST): Call RunLoop::initializeMainRunLoop().
1606         * TestWebKitAPI/glib/UtilitiesGLib.cpp:
1607         (TestWebKitAPI::Util::run): Use RunLop::current() to stop the current run loop.
1608         (TestWebKitAPI::Util::sleep): Ditto.
1609
1610 2018-04-12  Zalan Bujtas  <zalan@apple.com>
1611
1612         [LayoutReloaded] Add support for incremental layout
1613         https://bugs.webkit.org/show_bug.cgi?id=184578
1614
1615         Reviewed by Antti Koivisto.
1616
1617         * LayoutReloaded/Layout.js:
1618         (layout):
1619         * LayoutReloaded/LayoutState.js:
1620         (LayoutState.prototype.rootContainer):
1621         (LayoutState.prototype.setNeedsLayoutById):
1622         * LayoutReloaded/Utils.js:
1623         (Utils.layoutTreeDump):
1624         * LayoutReloaded/test/TestHarness.js:
1625         (verifyLayout):
1626         (runLayout):
1627         (verifyLayoutTreeDump): Deleted.
1628         * LayoutReloaded/test/index.html:
1629         * LayoutReloaded/test/simple-incremental-layout-with-static-content.html: Added.
1630
1631 2018-04-12  Zalan Bujtas  <zalan@apple.com>
1632
1633         [LayoutReloaded] Move root container ownership to layout state
1634         https://bugs.webkit.org/show_bug.cgi?id=184575
1635
1636         Reviewed by Antti Koivisto.
1637
1638         Now the root container is on the associated layout state (ICB only at this point though).
1639
1640         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1641         (BlockFormattingContext.prototype.layout):
1642         * LayoutReloaded/FormattingContext/FormattingContext.js:
1643         (FormattingContext.prototype._layoutOutOfFlowDescendants):
1644         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1645         (InlineFormattingContext.prototype._handleInlineBlockContainer):
1646         (InlineFormattingContext.prototype._handleFloatingBox):
1647         * LayoutReloaded/Layout.js:
1648         (layout):
1649         * LayoutReloaded/LayoutState.js:
1650         (LayoutState):
1651         (LayoutState.prototype.formattingContext):
1652         (LayoutState.prototype.establishedFormattingState):
1653         (LayoutState.prototype.formattingStateForBox):
1654         (LayoutState.prototype.needsLayout):
1655         (LayoutState.prototype.displayBox):
1656         (LayoutState.prototype._formattingContext):
1657         (LayoutState.prototype.layout): Deleted.
1658         (LayoutState.prototype.formattingStates): Deleted.
1659         (LayoutState.prototype.initialDisplayBox): Deleted.
1660         * LayoutReloaded/Utils.js:
1661         (Utils._dumpBox):
1662         (Utils._findDisplayBox): Deleted.
1663
1664 2018-04-12  Jonathan Bedard  <jbedard@apple.com>
1665
1666         Fix --build-directory flag for run-webkit-tests
1667         https://bugs.webkit.org/show_bug.cgi?id=184545
1668         <rdar://problem/39385080>
1669
1670         Rubber-stamped by Aakash Jain.
1671
1672         The --build-directory path does not work with iOS-Simulator.
1673
1674         * Scripts/webkitpy/port/base.py:
1675         (Port._build_path): Use the port configuration to calculate the root directory.
1676         * Scripts/webkitpy/port/base_unittest.py:
1677         (PortTest.test_build_path): Test build directories for embedded configurations.
1678
1679 2018-04-12  Ross Kirsling  <ross.kirsling@sony.com>
1680
1681         pemfile.py should not assume POSIX line endings
1682         https://bugs.webkit.org/show_bug.cgi?id=184507
1683
1684         Reviewed by Daniel Bates.
1685
1686         * Scripts/webkitpy/common/system/pemfile.py:
1687         (_parse_pem_format):
1688         * Scripts/webkitpy/common/system/pemfile_unittest.py:
1689         (PemFileTest.test_parse_crlf):
1690         (PemFileTest.test_parse_cr):
1691
1692 2018-04-12  Zalan Bujtas  <zalan@apple.com>
1693
1694         [LayoutReloaded] Minor cleanup in LayoutSate
1695         https://bugs.webkit.org/show_bug.cgi?id=184546
1696
1697         Reviewed by Antti Koivisto.
1698
1699         * LayoutReloaded/FormattingContext/FormattingContext.js:
1700         (FormattingContext.isInFormattingContext):
1701         * LayoutReloaded/FormattingState/FormattingState.js:
1702         (FormattingState.prototype.displayBoxes):
1703         (FormattingState.prototype.displayBox):
1704         (FormattingState.prototype._markSubTreeNeedsLayout):
1705         (FormattingState):
1706         (FormattingState.prototype.displayBoxMap): Deleted.
1707         * LayoutReloaded/LayoutState.js:
1708         (LayoutState.prototype.formattingStateForBox):
1709         (LayoutState.prototype.needsLayout):
1710         (LayoutState.prototype.displayBox):
1711         (LayoutState.prototype._createFormattingState):
1712         (LayoutState):
1713         * LayoutReloaded/LayoutTree/Box.js:
1714         (Layout.Box.prototype.isFormattingContextDescendant): Deleted.
1715         * LayoutReloaded/LayoutTree/Container.js:
1716         (Layout.Container.prototype.isContainingBlockDescendant): Deleted.
1717         * LayoutReloaded/Utils.js:
1718         (Utils._findDisplayBox):
1719
1720 2018-04-12  Zalan Bujtas  <zalan@apple.com>
1721
1722         [LayoutReloaded] Introduce needsLayout to InlineFormattingContext
1723         https://bugs.webkit.org/show_bug.cgi?id=184538
1724
1725         Reviewed by Antti Koivisto.
1726
1727         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1728         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1729         (BlockFormattingContext):
1730         (BlockFormattingContext.prototype._firstInFlowChildWithNeedsLayout): Deleted.
1731         (BlockFormattingContext.prototype._nextInFlowSiblingWithNeedsLayout): Deleted.
1732         * LayoutReloaded/FormattingContext/FormattingContext.js:
1733         (FormattingContext.prototype._firstInFlowChildWithNeedsLayout):
1734         (FormattingContext.prototype._nextInFlowSiblingWithNeedsLayout):
1735         (FormattingContext):
1736         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1737         (InlineFormattingContext.prototype.layout):
1738         (InlineFormattingContext.prototype._handleInlineContainer):
1739         (InlineFormattingContext.prototype._handleInlineBlockContainer):
1740         (InlineFormattingContext.prototype._handleInlineContent):
1741         (InlineFormattingContext.prototype._clearAndMoveToNext):
1742         (InlineFormattingContext):
1743
1744 2018-04-12  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1745
1746         [GStreamer] Speed up GStreamer dependency build by removing examples compilation
1747         https://bugs.webkit.org/show_bug.cgi?id=184528
1748
1749         Reviewed by Philippe Normand.
1750
1751         * gstreamer/jhbuild.modules: Added --disable-examples for GStreamer package.
1752
1753 2018-04-12  Zan Dobersek  <zdobersek@igalia.com>
1754
1755         [WPE] Switch testing process to using WPEBackend-fdo
1756         https://bugs.webkit.org/show_bug.cgi?id=184357
1757
1758         Reviewed by Carlos Alberto Lopez Perez.
1759
1760         Switch WPE testing to using the WPEBackend-fdo implementation that
1761         depends on the WL_bind_wayland_display EGL extension, as defined under
1762         the freedesktop.org project.
1763         https://cgit.freedesktop.org/mesa/mesa/tree/docs/specs/WL_bind_wayland_display.spec
1764
1765         HeadlessViewBackend is refactored to use the WPEBackend-fdo API, but
1766         otherwise is not changed in functionality.
1767
1768         Unit tests now have to unconditionally use HeadlessViewBackend as a
1769         wpe_view_backend provider, since WPEBackend-fdo does not provide a
1770         default wpe_view_backend implementation. Unit tests covering that are
1771         adjusted to instead use a mock wpe_view_backend interface.
1772
1773         * Scripts/webkitdirs.pm:
1774         (builtDylibPathForName): Fix the libWPEWebKit.so name to also include
1775         the API version that was added in r230449.
1776         * Scripts/webkitpy/port/waylanddriver.py:
1777         (WaylandDriver._setup_environ_for_test): Export EGL_PLATFORM=wayland.
1778         * Scripts/webkitpy/port/wpe.py:
1779         (WPEPort._driver_class): Use WaylandDriver by default.
1780         * TestWebKitAPI/PlatformWebView.h:
1781         (): Deleted.
1782         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
1783         (testWebViewWebBackend):
1784         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
1785         (Test::createWebViewBackend):
1786         * TestWebKitAPI/wpe/PlatformWebViewWPE.cpp:
1787         (TestWebKitAPI::PlatformWebView::~PlatformWebView):
1788         (TestWebKitAPI::PlatformWebView::initialize):
1789         * wpe/HeadlessViewBackend/CMakeLists.txt:
1790         * wpe/HeadlessViewBackend/HeadlessViewBackend.cpp:
1791         (getEGLDisplay):
1792         (HeadlessViewBackend::HeadlessViewBackend):
1793         (HeadlessViewBackend::~HeadlessViewBackend):
1794         (HeadlessViewBackend::backend const):
1795         (HeadlessViewBackend::createSnapshot):
1796         (HeadlessViewBackend::performUpdate):
1797         (HeadlessViewBackend::makeCurrent): Deleted.
1798         * wpe/HeadlessViewBackend/HeadlessViewBackend.h:
1799         * wpe/jhbuild.modules: Module name cleanup. Dyz version is bumped.
1800
1801 2018-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1802
1803         [GTK] Switch to use always complex text code path
1804         https://bugs.webkit.org/show_bug.cgi?id=183285
1805
1806         Reviewed by Michael Catanzaro.
1807
1808         Keep the auto mode for the layout tests to avoid having to rebaseline a lot of tests.
1809
1810         * WebKitTestRunner/gtk/main.cpp:
1811         (main): Set WEBKIT_FORCE_COMPLEX_TEXT to 0 unless it's already present in the environment.
1812
1813 2018-04-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1814
1815         [GLIB] Handle strings containing null characters
1816         https://bugs.webkit.org/show_bug.cgi?id=184450
1817
1818         Reviewed by Michael Catanzaro.
1819
1820         Add test case for strings with null characters and update all calls to evaluate to pass the script length.
1821
1822         * TestWebKitAPI/PlatformGTK.cmake:
1823         * TestWebKitAPI/PlatformWPE.cmake:
1824         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
1825         (testJSCBasic):
1826         (testJSCFunction):
1827         (testJSCObject):
1828         (testJSCClass):
1829         (testJSCPrototypes):
1830         (testJSCExceptions):
1831         (testJSCPromises):
1832         (testJSCGarbageCollector):
1833         (testJSCWeakValue):
1834         (testsJSCVirtualMachine):
1835         (testsJSCAutocleanups):
1836         * TestWebKitAPI/Tests/JavaScriptCore/glib/script.js: Added.
1837         * TestWebKitAPI/Tests/WebKitGLib/DOMElementTest.cpp:
1838         (DOMElementTest::testAutoFill):
1839         * TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp:
1840         (WebKitWebEditorTest::testSelectionChanged):
1841         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
1842         (WebKitFrameTest::testJavaScriptValues):
1843         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
1844         (consoleMessageSentCallback):
1845         (methodCallCallback):
1846
1847 2018-04-11  Zan Dobersek  <zdobersek@igalia.com>
1848
1849         [WPE] Make WebKitWebViewBackend object mandatory for webkit_web_view_new*() constructors
1850         https://bugs.webkit.org/show_bug.cgi?id=184513
1851
1852         Reviewed by Michael Catanzaro.
1853
1854         Update the WPE-specific testWebViewWebBackend() test case, removing the
1855         test that passes a null WebKitWebViewBackend object to the
1856         webkit_web_view_new() call.
1857
1858         Helper createWebViewBackend() that's called via Test::createWebView()
1859         variations is updated to, in case of not using the headless backend,
1860         return a WebKitWebViewBackend instance that wraps around a
1861         default wpe_view_backend object.
1862
1863         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
1864         (testWebViewWebBackend):
1865         * TestWebKitAPI/glib/WebKitGLib/TestMain.h:
1866         (Test::createWebViewBackend):
1867
1868 2018-04-11  Zalan Bujtas  <zalan@apple.com>
1869
1870         [LayoutReloaded] Introduce needsLayout flag
1871         https://bugs.webkit.org/show_bug.cgi?id=184527
1872
1873         Reviewed by Antti Koivisto.
1874
1875         Use the formatting state to mark boxes dirty.
1876
1877         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1878         (BlockFormattingContext.prototype.layout):
1879         (BlockFormattingContext.prototype._firstInFlowChildWithNeedsLayout):
1880         (BlockFormattingContext.prototype._nextInFlowSiblingWithNeedsLayout):
1881         (BlockFormattingContext):
1882         * LayoutReloaded/FormattingContext/FormattingContext.js:
1883         (FormattingContext.prototype._layoutOutOfFlowDescendants):
1884         * LayoutReloaded/FormattingState/FormattingState.js:
1885         (FormattingState):
1886         (FormattingState.prototype.markNeedsLayout):
1887         (FormattingState.prototype.clearNeedsLayout):
1888         (FormattingState.prototype.needsLayout):
1889         (FormattingState.prototype.layoutNeeded):
1890         (FormattingState.prototype._markSubTreeNeedsLayout):
1891         * LayoutReloaded/LayoutState.js:
1892         (LayoutState.prototype.formattingStateForBox):
1893         (LayoutState.prototype.setNeedsLayout):
1894         (LayoutState.prototype.needsLayout):
1895         * LayoutReloaded/LayoutTree/Box.js:
1896         (Layout.Box.prototype.isFormattingContextDescendant):
1897         * LayoutReloaded/LayoutTree/Container.js:
1898         (Layout.Container.prototype.isContainingBlockDescendant):
1899
1900 2018-04-11  Jonathan Bedard  <jbedard@apple.com>
1901
1902         Fix TestInvocation class for newer versions of clang.
1903         https://bugs.webkit.org/show_bug.cgi?id=184508
1904         <rdar://problem/39328648>
1905
1906         Reviewed by Alexey Proskuryakov.
1907
1908         Declare TestInvocation to be final so it does not require a virtual destructor.
1909
1910         * WebKitTestRunner/TestInvocation.h:
1911
1912 2018-04-10  Alex Christensen  <achristensen@webkit.org>
1913
1914         IDN spoofing with Hebrew combining characters
1915         https://bugs.webkit.org/show_bug.cgi?id=184472
1916         <rdar://problem/39148687>
1917
1918         Reviewed by Brent Fulgham.
1919
1920         * TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm:
1921         (TestWebKitAPI::TEST):
1922
1923 2018-04-11  Wenson Hsieh  <wenson_hsieh@apple.com>
1924
1925         [Extra zoom mode] Missing label when focusing a <select> with a title attribute but no associated <label>
1926         https://bugs.webkit.org/show_bug.cgi?id=184352
1927         <rdar://problem/39237683>
1928
1929         Reviewed by Andy Estes.
1930
1931         Add support for UIScriptController::selectFormPopoverTitle, which returns the title of the current select
1932         popover's UITableViewController (for testing purposes).
1933
1934         * DumpRenderTree/ios/UIScriptControllerIOS.mm:
1935         (WTR::UIScriptController::selectFormPopoverTitle const):
1936         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
1937         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
1938         (WTR::UIScriptController::selectFormPopoverTitle const):
1939         * TestRunnerShared/UIScriptContext/UIScriptController.h:
1940         * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
1941         (WTR::UIScriptController::selectFormPopoverTitle const):
1942
1943 2018-04-10  Nan Wang  <n_wang@apple.com>
1944
1945         AX: Expose strong password fields on iOS
1946         https://bugs.webkit.org/show_bug.cgi?id=184465
1947         <rdar://problem/39325104>
1948
1949         Reviewed by Chris Fleizach.
1950
1951         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
1952         (AccessibilityUIElement::boolAttributeValue):
1953         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
1954         (WTR::AccessibilityUIElement::boolAttributeValue):
1955
1956 2018-04-10  Zalan Bujtas  <zalan@apple.com>
1957
1958         [LayoutReloaded] Add support for out-of-flow descendants in inline formatting context.
1959         https://bugs.webkit.org/show_bug.cgi?id=184454
1960
1961         Reviewed by Antti Koivisto.
1962
1963         When the containing block of an out-of-flow positioned element establishes an inline formatting context.
1964         This is mostly about moving out-of-flow logic from BlockFormattingContext to the base class.
1965
1966         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1967         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1968         (BlockFormattingContext):
1969         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants): Deleted.
1970         (BlockFormattingContext.prototype._computeOutOfFlowWidth): Deleted.
1971         (BlockFormattingContext.prototype._computeInFlowWidth): Deleted.
1972         (BlockFormattingContext.prototype._computeOutOfFlowHeight): Deleted.
1973         (BlockFormattingContext.prototype._computeOutOfFlowPosition): Deleted.
1974         (BlockFormattingContext.prototype._shrinkToFitWidth): Deleted.
1975         * LayoutReloaded/FormattingContext/FormattingContext.js:
1976         (FormattingContext.prototype._placeInFlowPositionedChildren):
1977         (FormattingContext.prototype._computeInFlowWidth):
1978         (FormattingContext.prototype._layoutOutOfFlowDescendants):
1979         (FormattingContext.prototype._computeOutOfFlowWidth):
1980         (FormattingContext.prototype._computeOutOfFlowHeight):
1981         (FormattingContext.prototype._computeOutOfFlowPosition):
1982         (FormattingContext.prototype._shrinkToFitWidth):
1983         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1984         (InlineFormattingContext.prototype.layout):
1985         (InlineFormattingContext.prototype._handleInlineContainer):
1986         (InlineFormattingContext.prototype._handleInlineBlockContainer):
1987         (InlineFormattingContext.prototype._placeOutOfFlowDescendants): Deleted.
1988         * LayoutReloaded/test/index.html:
1989         * LayoutReloaded/test/inline-with-out-of-flow-descendant.html: Added.
1990
1991 2018-04-09  Zan Dobersek  <zdobersek@igalia.com>
1992
1993         WKTR: Enable DOM cache, SW registration directory cleanup on non-Cocoa platforms
1994         https://bugs.webkit.org/show_bug.cgi?id=184414
1995
1996         Reviewed by Michael Catanzaro.
1997
1998         Enable clearServiceWorkerRegistrations(), clearDOMCache() and
1999         clearDOMCaches() implementations in WebKitTestRunner's TestController
2000         class for non-Cocoa platforms. Implementations depend on the generic
2001         WK2 C API that other ports can leverage as well.
2002
2003         The clearDOMCache() and clearDOMCaches() calls are now operational for
2004         tests that invoke them. clearServiceWorkerRegistrations() and
2005         clearDOMCaches() are also called between each test, cleaning up relevant
2006         resources.
2007
2008         The TestController::getAllStorageAccessEntries() stub for non-Cocoa
2009         platforms is moved into the main !PLATFORM(COCOA) block.
2010
2011         * WebKitTestRunner/TestController.cpp:
2012         (WTR::TestController::getAllStorageAccessEntries):
2013         (WTR::clearServiceWorkerRegistrationsCallback):
2014         (WTR::TestController::clearServiceWorkerRegistrations):
2015         (WTR::clearDOMCacheCallback):
2016         (WTR::TestController::clearDOMCache):
2017         (WTR::TestController::clearDOMCaches):
2018
2019 2018-04-09  Zalan Bujtas  <zalan@apple.com>
2020
2021         [LayoutReloaded] Add support for relatively positioned containers in inline formatting context.
2022         https://bugs.webkit.org/show_bug.cgi?id=184439
2023
2024         Reviewed by Antti Koivisto.
2025
2026         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2027         (BlockFormattingContext.prototype._placeInFlowPositionedChildren): Deleted.
2028         (BlockFormattingContext.prototype._computeInFlowPositionedPosition): Deleted.
2029         * LayoutReloaded/FormattingContext/FormattingContext.js:
2030         (FormattingContext.prototype._computeInFlowPositionedPosition):
2031         (FormattingContext.prototype._placeInFlowPositionedChildren):
2032         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2033         (InlineFormattingContext.prototype._placeInFlowPositionedChildren): Deleted.
2034         * LayoutReloaded/Utils.js:
2035         (Utils._dumpBox):
2036         (Utils._dumpLines.):
2037         (Utils._dumpLines):
2038         (Utils.precisionRoundWithDecimals):
2039         (Utils.precisionRound):
2040         (Utils):
2041         * LayoutReloaded/test/index.html:
2042         * LayoutReloaded/test/inline-with-relative-positioning.html: Added.
2043
2044 2018-04-09  Zalan Bujtas  <zalan@apple.com>
2045
2046         [LayoutReloaded] Remove Layout.InitialContainingBlock class
2047         https://bugs.webkit.org/show_bug.cgi?id=184436
2048
2049         Reviewed by Antti Koivisto.
2050
2051         * LayoutReloaded/LayoutTree/Box.js:
2052         (Layout.Box.prototype.establishesBlockFormattingContext):
2053         * LayoutReloaded/LayoutTree/InitialBlockContainer.js: Removed.
2054         * LayoutReloaded/TreeBuilder.js:
2055         (TreeBuilder.prototype.createTree):
2056         * LayoutReloaded/test/index.html:
2057
2058 2018-04-09  Zalan Bujtas  <zalan@apple.com>
2059
2060         [LayoutReloaded] Add support for inline-block.
2061         https://bugs.webkit.org/show_bug.cgi?id=184434
2062
2063         Reviewed by Antti Koivisto.
2064
2065         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2066         (InlineFormattingContext):
2067         (InlineFormattingContext.prototype.layout):
2068         (InlineFormattingContext.prototype._handleInlineContainer):
2069         (InlineFormattingContext.prototype._handleInlineBlockContainer):
2070         (InlineFormattingContext.prototype._handleInlineContent):
2071         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
2072         (Line.prototype.addInlineContainerBox):
2073         (Line.prototype.addTextLineBox):
2074         (Line):
2075         * LayoutReloaded/LayoutTree/Box.js:
2076         (Layout.Box.prototype.isInlineBlockBox):
2077         * LayoutReloaded/Utils.js:
2078         (LayoutRect.prototype.growHorizontally):
2079         (Utils.isBlockContainerElement):
2080         (Utils.isInlineBlockElement):
2081         (Utils._dumpLines.):
2082         (Utils._dumpLines):
2083         * LayoutReloaded/test/index.html:
2084         * LayoutReloaded/test/inline-block-with-fixed-width-height.html: Added.
2085
2086 2018-04-09  Timothy Hatcher  <timothy@apple.com>
2087
2088         Add support for setting a background color on WKWebView and WKView
2089         https://bugs.webkit.org/show_bug.cgi?id=184426
2090
2091         Reviewed by Wenson Hsieh.
2092
2093         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2094         * TestWebKitAPI/Tests/mac/BackgroundColor.mm: Added.
2095
2096 2018-04-09  Charlie Turner  <cturner@igalia.com>
2097
2098         [WPE] Add some missing install dependencies
2099         https://bugs.webkit.org/show_bug.cgi?id=184383
2100
2101         Reviewed by Michael Catanzaro.
2102
2103         * wpe/install-dependencies:
2104
2105 2018-04-09  Sihui Liu  <sihui_liu@apple.com>
2106
2107         REGRESSION(r229929): localStorage is broken for WebInspector
2108         https://bugs.webkit.org/show_bug.cgi?id=184382
2109         <rdar://problem/39257355>
2110
2111         Reviewed by Chris Dumez.
2112
2113         * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
2114         (TEST):
2115         * TestWebKitAPI/Tests/WebKitCocoa/localstorage-empty-string-value.html:
2116
2117 2018-04-09  Zan Dobersek  <zdobersek@igalia.com>
2118
2119         Unreviewed follow-up to r230389.
2120
2121         * WebKitTestRunner/TestController.cpp:
2122         (WTR::TestController::platformAdjustContext): Use the 'ServiceWorkers'
2123         subdirectory for the temporary testing-purpose SW registration directory
2124         like it's used in Cocoa's TestController, addressing the review comment
2125         that I forgot about.
2126
2127 2018-04-08  Zan Dobersek  <zdobersek@igalia.com>
2128
2129         Non-Cocoa ports use default directory for ServiceWorker data during testing
2130         https://bugs.webkit.org/show_bug.cgi?id=183784
2131
2132         Reviewed by Youenn Fablet.
2133
2134         * WebKitTestRunner/TestController.cpp:
2135         (WTR::TestController::platformAdjustContext): Set the service worker registration
2136         directory through the new WKWebsiteDataStore API for non-Cocoa ports.
2137
2138 2018-04-08  Zalan Bujtas  <zalan@apple.com>
2139
2140         [LayoutReloaded] Adjust line with inline container's margin border and padding
2141         https://bugs.webkit.org/show_bug.cgi?id=184409
2142
2143         Reviewed by Antti Koivisto.
2144
2145         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2146         (InlineFormattingContext.prototype.layout):
2147         (InlineFormattingContext.prototype._handleFloatingBox):
2148         (InlineFormattingContext.prototype._adjustLineForInlineContainerStart):
2149         (InlineFormattingContext.prototype._adjustLineForInlineContainerEnd):
2150         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
2151         (Line.prototype.shrink):
2152         (Line.prototype.adjustWithOffset):
2153         (Line.prototype.moveContentHorizontally):
2154         (Line.prototype.addTextLineBox):
2155         (Line):
2156         (Line.prototype.addFloatingBox): Deleted.
2157         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
2158         * LayoutReloaded/test/index.html:
2159         * LayoutReloaded/test/inline-with-padding-border-margin-offsets.html: Added.
2160
2161 2018-04-07  Zalan Bujtas  <zalan@apple.com>
2162
2163         [LayoutReloaded] Add support for InlineContainer
2164         https://bugs.webkit.org/show_bug.cgi?id=184394
2165
2166         Reviewed by Antti Koivisto.
2167
2168         * LayoutReloaded/FormattingContext/FormattingContext.js:
2169         (FormattingContext.prototype._addToLayoutQueue):
2170         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2171         (InlineFormattingContext.prototype.layout):
2172         (InlineFormattingContext.prototype._handleInlineContent):
2173         (InlineFormattingContext.prototype._handleFloatingBox):
2174         (InlineFormattingContext.prototype._adjustLineForInlineContainerStart):
2175         (InlineFormattingContext.prototype._adjustLineForInlineContainerEnd):
2176         (InlineFormattingContext.prototype._placeInFlowPositionedChildren):
2177         (InlineFormattingContext.prototype._placeOutOfFlowDescendants):
2178         (InlineFormattingContext.prototype._createNewLine):
2179         (InlineFormattingContext.prototype._handleContent): Deleted.
2180         * LayoutReloaded/LayoutState.js:
2181         (LayoutState.prototype._createFormattingState):
2182         * LayoutReloaded/LayoutTree/Box.js:
2183         (Layout.Box.prototype.isContainer):
2184         (Layout.Box.prototype.isInlineContainer):
2185         (Layout.Box.prototype.isInlineBox):
2186         * LayoutReloaded/LayoutTree/Container.js:
2187         (Layout.Container.prototype.isContainer): Deleted.
2188         * LayoutReloaded/LayoutTree/InlineContainer.js: Added.
2189         (Layout.InlineContainer):
2190         * LayoutReloaded/TreeBuilder.js:
2191         (TreeBuilder.prototype._createAndAttachBox):
2192         * LayoutReloaded/Utils.js:
2193         (Utils._dumpBox):
2194         (Utils.precisionRound):
2195         (Utils):
2196         * LayoutReloaded/test/index.html:
2197         * LayoutReloaded/test/inline-content-simple2.html: Added.
2198         * LayoutReloaded/test/inline-floating1.html: Added.
2199         * LayoutReloaded/test/inline-formatting-context-floats1.html: Added.
2200         * LayoutReloaded/test/inline-formatting-context-floats2.html: Added.
2201
2202 2018-04-07  Timothy Hatcher  <timothy@apple.com>
2203
2204         Use the system's link color when system appearance is desired for a WebView.
2205
2206         https://bugs.webkit.org/show_bug.cgi?id=184353
2207         rdar://problem/9420053
2208
2209         Reviewed by Wenson Hsieh.
2210
2211         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2212         * TestWebKitAPI/Tests/WebKitCocoa/SystemColors.mm: Added.
2213         (TestWebKitAPI::WebKit::LinkColor):
2214         (TestWebKitAPI::WebKit::LinkColorWithSystemAppearance):
2215
2216 2018-04-06  Zalan Bujtas  <zalan@apple.com>
2217
2218         Rebaseline LayoutReloaded patch file.
2219
2220         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
2221
2222 2018-04-06  Fujii Hironori  <Hironori.Fujii@sony.com>
2223
2224         [Win][WebCore] Expose a constant for scrollbar pixels per line (cScrollbarPixelsPerLine)
2225         https://bugs.webkit.org/show_bug.cgi?id=184296
2226
2227         Reviewed by Alex Christensen.
2228
2229         * DumpRenderTree/win/EventSender.cpp:
2230         (mouseScrollBy): Removed the duplicated cScrollbarPixelsPerLine
2231         definition. Use WebCore::cScrollbarPixelsPerLine.
2232
2233 2018-04-06  Zalan Bujtas  <zalan@apple.com>
2234
2235         Rebaseline LayoutReloaded patch file.
2236
2237         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
2238
2239 2018-04-05  Youenn Fablet  <youenn@apple.com>
2240
2241         Test expectation updater should handle Win bot results
2242         https://bugs.webkit.org/show_bug.cgi?id=184274
2243
2244         Reviewed by Ryosuke Niwa.
2245
2246         Add processing of win bot results.
2247         They will update platform/win results.
2248
2249         Updated the script so that if there is no mac-wk2 results, it will still process specific results.
2250
2251         * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater.py:
2252         (TestExpectationUpdater.__init__):
2253         (TestExpectationUpdater._bot_type):
2254         (TestExpectationUpdater.do_update):
2255         * Scripts/webkitpy/common/net/bugzilla/test_expectation_updater_unittest.py:
2256         (MockAttachment):
2257         (MockAttachment.__init__):
2258         (MockAttachment.contents):
2259         (MockBugzilla):
2260         (MockBugzilla.__init__):
2261         (MockBugzilla.fetch_bug):
2262         (MockBugzilla.attachments):
2263         (MockZip):
2264         (MockZip.__init__):
2265         (MockZip.unzip):
2266         (MockZip.read):
2267         (TestExpectationUpdaterTest.test_update_test_expectations):
2268         (TestExpectationUpdaterTest):
2269         (TestExpectationUpdaterTest.test_update_win_future_test_expectations):
2270
2271 2018-04-05  Zalan Bujtas  <zalan@apple.com>
2272
2273         [LayoutReloaded] Fix static position for floating boxes when they don't fit the current line
2274         https://bugs.webkit.org/show_bug.cgi?id=184354
2275
2276         Reviewed by Antti Koivisto.
2277
2278         Do not shrink the current line with the floating box unless it is on the current line.
2279
2280         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2281         (InlineFormattingContext.prototype._handleFloatingBox):
2282         (InlineFormattingContext.prototype._mapFloatingVerticalPosition):
2283         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
2284         (Line.prototype.addFloatingBox):
2285         (Line):
2286         * LayoutReloaded/test/index.html:
2287         * LayoutReloaded/test/inline-with-right-floats3.html: Added.
2288
2289 2018-04-05  Zalan Bujtas  <zalan@apple.com>
2290
2291         [LayoutReloaded] Add support for right floating boxes in inline formatting context
2292         https://bugs.webkit.org/show_bug.cgi?id=184351
2293
2294         Reviewed by Antti Koivisto.
2295
2296         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2297         (InlineFormattingContext.prototype._handleFloatingBox):
2298         (InlineFormattingContext.prototype._mapFloatingVerticalPosition):
2299         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
2300         (Line.prototype.addFloatingBox):
2301         (Line):
2302         * LayoutReloaded/test/index.html:
2303         * LayoutReloaded/test/inline-with-right-float-simple.html: Added.
2304         * LayoutReloaded/test/inline-with-right-floats2.html: Added.
2305
2306 2018-04-05  Zalan Bujtas  <zalan@apple.com>
2307
2308         [LayoutReloaded] Move floating box to the next line when needed
2309         https://bugs.webkit.org/show_bug.cgi?id=184349
2310
2311         Reviewed by Antti Koivisto.
2312
2313         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2314         (InlineFormattingContext.prototype.layout):
2315         (InlineFormattingContext.prototype._handleContent):
2316         (InlineFormattingContext.prototype._handleText):
2317         (InlineFormattingContext.prototype._handleFloatingBox):
2318         (InlineFormattingContext.prototype._mapFloatingHorizontalPosition):
2319         (InlineFormattingContext):
2320         (InlineFormattingContext.prototype._handleFloatingBoxes): Deleted.
2321         (InlineFormattingContext.prototype._floatingBoxes): Deleted.
2322         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
2323         (Line.prototype.addTextLineBox):
2324         (Line.prototype.addFloatingBox):
2325         (Line):
2326         * LayoutReloaded/Utils.js:
2327         (LayoutRect.prototype.moveHorizontally):
2328         (LayoutRect.prototype.moveVertically):
2329         * LayoutReloaded/test/index.html:
2330         * LayoutReloaded/test/inline-with-floats-when-they-dont-fit.html: Added.
2331
2332 2018-04-05  Brady Eidson  <beidson@apple.com>
2333
2334         Process Swap on Navigation causes many webpages to hang due to attempted process swap for iframe navigations.
2335         <rdar://problem/39162236> and https://bugs.webkit.org/show_bug.cgi?id=184318
2336
2337         Reviewed by Andy Estes.
2338
2339         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2340         (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
2341         (-[PSONScheme addMappingFromURLString:toData:]):
2342         (-[PSONScheme webView:startURLSchemeTask:]):
2343
2344 2018-04-05  Yusuke Suzuki  <utatane.tea@gmail.com>
2345
2346         [WTF] Remove StaticLock
2347         https://bugs.webkit.org/show_bug.cgi?id=184332
2348
2349         Reviewed by Mark Lam.
2350
2351         * DumpRenderTree/JavaScriptThreading.cpp:
2352
2353 2018-04-05  Zalan Bujtas  <zalan@apple.com>
2354
2355         [LayoutReloaded] Find the correct left edge for a line when floating boxes are in parent formatting context.
2356         https://bugs.webkit.org/show_bug.cgi?id=184330
2357
2358         Reviewed by Antti Koivisto.
2359
2360         In inline formatting context, the floating boxes can come from the parent (block) formatting context. Let's
2361         take them into account when computing the line edges.
2362
2363         * LayoutReloaded/FormattingContext/FloatingContext.js:
2364         (FloatingContext.prototype.left):
2365         (FloatingContext.prototype.right):
2366         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2367         (InlineFormattingContext.prototype._createNewLine):
2368         (InlineFormattingContext.prototype._mapFloatingVerticalPosition):
2369         (InlineFormattingContext.prototype._mapFloatingHorizontalPosition):
2370         (InlineFormattingContext.prototype._mapFloatingPosition): Deleted.
2371         * LayoutReloaded/test/index.html:
2372         * LayoutReloaded/test/multiple-left-floats-on-line-from-parent-formatting-context.html: Added.
2373
2374 2018-04-05  Zalan Bujtas  <zalan@apple.com>
2375
2376         [LayoutReloaded] Collect floating boxes in inline formatting context and layout them first.
2377         https://bugs.webkit.org/show_bug.cgi?id=184329
2378
2379         Reviewed by Antti Koivisto.
2380
2381         Let's do this for now. There might be some cases where this violates layout.
2382
2383         * LayoutReloaded/FormattingContext/FormattingContext.js:
2384         (FormattingContext.prototype._outOfFlowDescendants):
2385         (FormattingContext):
2386         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2387         (InlineFormattingContext.prototype.layout):
2388         (InlineFormattingContext.prototype._handleFloatingBoxes):
2389         (InlineFormattingContext.prototype._handleFloatingBox):
2390         (InlineFormattingContext.prototype._floatingBoxes):
2391         (InlineFormattingContext):
2392         * LayoutReloaded/test/index.html:
2393         * LayoutReloaded/test/multiple-left-floats-on-line-simple.html: Added.
2394
2395 2018-04-04  Youenn Fablet  <youenn@apple.com>
2396
2397         WebRTC data channel only applications require capture permissions for direct connections
2398         https://bugs.webkit.org/show_bug.cgi?id=174500
2399         <rdar://problem/34134281>
2400
2401         Reviewed by Eric Carlson.
2402
2403         Adding options to enable MDNS ICE candidates.
2404
2405         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2406         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2407         (WTR::TestRunner::setMediaDevicesEnabled):
2408         (WTR::TestRunner::setMDNSICECandidatesEnabled):
2409         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2410         * WebKitTestRunner/TestController.cpp:
2411         (WTR::TestController::resetPreferencesToConsistentValues):
2412
2413 2018-04-04  Ryan Haddad  <ryanhaddad@apple.com>
2414
2415         Disable failing WKWebViewAutofillTests
2416         https://bugs.webkit.org/show_bug.cgi?id=184196
2417
2418         Unreviewed test gardening.
2419
2420         * TestWebKitAPI/Tests/ios/WKWebViewAutofillTests.mm:
2421         (TestWebKitAPI::TEST):
2422
2423 2018-04-04  Youenn Fablet  <youenn@apple.com>
2424
2425         Introduce a ThreadSafeRefCounted parameter to ensure being destroyed on the main thread
2426         https://bugs.webkit.org/show_bug.cgi?id=183988
2427
2428         Reviewed by Darin Adler.
2429
2430         * TestWebKitAPI/Tests/WTF/RefPtr.cpp:
2431         (TestWebKitAPI::ThreadSafeRefCountedObject::create):
2432         (TestWebKitAPI::ThreadSafeRefCountedObject::~ThreadSafeRefCountedObject):
2433         (TestWebKitAPI::MainThreadSafeRefCountedObject::create):
2434         (TestWebKitAPI::MainThreadSafeRefCountedObject::~MainThreadSafeRefCountedObject):
2435         (TestWebKitAPI::TEST):
2436
2437 2018-04-04  Ms2ger  <Ms2ger@igalia.com>
2438
2439         Test gardening for GTK.
2440         https://bugs.webkit.org/show_bug.cgi?id=184298
2441
2442         Unreviewed test gardening.
2443
2444         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Add pointer to
2445         https://bugs.webkit.org/show_bug.cgi?id=184295.
2446
2447 2018-04-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2448
2449         ASSERTION FAILED: !m_mainFrame->coreFrame()->loader().frameHasLoaded() || !m_pendingNavigationID when reloading page while a page is loading
2450         https://bugs.webkit.org/show_bug.cgi?id=153210
2451
2452         Reviewed by Alex Christensen.
2453
2454         Add unit tests to WebKit C API and WebKitGLib.
2455
2456         * TestWebKitAPI/Tests/WebKit/PageLoadBasic.cpp:
2457         (TestWebKitAPI::TEST):
2458         * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
2459         (LoadTwiceAndReloadTest::reloadOnFinishLoad):
2460         (LoadTwiceAndReloadTest::LoadTwiceAndReloadTest):
2461         (LoadTwiceAndReloadTest::~LoadTwiceAndReloadTest):
2462         (LoadTwiceAndReloadTest::waitUntilFinished):
2463         (testWebViewLoadTwiceAndReload):
2464         (beforeAll):
2465
2466 2018-04-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2467
2468         [GTK] Test /webkit/WebKitWebPage/context-menu is failing since r229831
2469         https://bugs.webkit.org/show_bug.cgi?id=184260
2470
2471         Reviewed by Michael Catanzaro.
2472
2473         This is not a regression introduced in r229831, though, it's a bug in the test itself revealed by r229831. We
2474         should wait for the load to complete before trying to show the context menu.
2475
2476         * TestWebKitAPI/Tests/WebKitGtk/TestContextMenu.cpp:
2477         (testContextMenuWebExtensionMenu):
2478
2479 2018-04-03  Zalan Bujtas  <zalan@apple.com>
2480
2481         [LayoutReloaded] Introduce floating to InlineFormattingContext
2482         https://bugs.webkit.org/show_bug.cgi?id=184288
2483
2484         Reviewed by Antti Koivisto.
2485
2486         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2487         (BlockFormattingContext.prototype._computeFloatingWidth): Deleted.
2488         (BlockFormattingContext.prototype._computeFloatingHeight): Deleted.
2489         * LayoutReloaded/FormattingContext/FormattingContext.js:
2490         (FormattingContext.prototype._computeFloatingWidth):
2491         (FormattingContext.prototype._computeFloatingHeight):
2492         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2493         (InlineFormattingContext.prototype.layout):
2494         (InlineFormattingContext.prototype._handleFloatingBox):
2495         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
2496         (Line.prototype.addFloatingBox):
2497         (Line):
2498         * LayoutReloaded/test/float-is-inside-inline-formatting-context-simple.html: Added.
2499         * LayoutReloaded/test/index.html:
2500
2501 2018-04-03  Youenn Fablet  <youenn@apple.com>
2502
2503         NetworkResourceLoader does not need to expose all redirect response headers
2504         https://bugs.webkit.org/show_bug.cgi?id=184114
2505         <rdar://problem/39010557>
2506
2507         Reviewed by Ryosuke Niwa.
2508
2509         Add an option to dump the number of headers in a response.
2510         This allows validating that filtering does happen or not.
2511
2512         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2513         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2514         (WTR::dumpResponseDescriptionSuitableForTestResult):
2515         (WTR::InjectedBundlePage::responseHeaderCount):
2516         (WTR::InjectedBundlePage::willSendRequestForFrame):
2517         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
2518         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2519         (WTR::TestRunner::dumpAllHTTPRedirectedResponseHeaders):
2520         (WTR::TestRunner::shouldDumpAllHTTPRedirectedResponseHeaders const):
2521         * WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:
2522         (WTR::InjectedBundlePage::responseHeaderCount):
2523         * WebKitTestRunner/TestController.cpp:
2524         (WTR::TestController::resetPreferencesToConsistentValues):
2525
2526 2018-04-03  Andy Estes  <aestes@apple.com>
2527
2528         [Mac] Prioritize file promises over filenames during drag and drop
2529         https://bugs.webkit.org/show_bug.cgi?id=184237
2530         <rdar://problem/38278076>
2531
2532         Reviewed by Wenson Hsieh.
2533
2534         * DumpRenderTree/mac/EventSendingController.mm:
2535         (-[EventSendingController beginDragWithFilePromises:]):
2536
2537 2018-04-03  Brady Eidson  <beidson@apple.com>
2538
2539         Make SessionStorage work with process swapping.
2540         https://bugs.webkit.org/show_bug.cgi?id=184270
2541
2542         Reviewed by Andy Estes.
2543
2544         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2545         (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
2546
2547 2018-04-03  Chris Dumez  <cdumez@apple.com>
2548
2549         Drop MainFrame class
2550         https://bugs.webkit.org/show_bug.cgi?id=184191
2551
2552         Reviewed by Darin Adler.
2553
2554         * TestWebKitAPI/Tests/WebCore/cocoa/WebCoreNSURLSession.mm:
2555
2556 2018-04-03  Charlie Turner  <cturner@igalia.com>
2557
2558         [WPE] Add WPE port to garden-o-matic
2559         https://bugs.webkit.org/show_bug.cgi?id=182998
2560
2561         Reviewed by Michael Catanzaro.
2562
2563         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
2564         Add WPE as a port to check.
2565         (config.kPlatforms.string_appeared_here._builderApplies): Use less
2566         surprising equality operator.
2567         (config.kPlatforms.string_appeared_here.resultsDirectoryNameFromBuilderName):
2568         Ditto.
2569         (config.kPlatforms.string_appeared_here.resultsDirectoryForBuildNumber):
2570         Ditto.
2571
2572 2018-04-03  Adrian Perez de Castro  <aperez@igalia.com>
2573
2574         [GTK][JHBuild] Tools/gtk/install-dependencies: Replace libxfont with libxfont2 in Arch Linux
2575         https://bugs.webkit.org/show_bug.cgi?id=184258
2576
2577         Reviewed by Carlos Alberto Lopez Perez.
2578
2579         * gtk/install-dependencies: Use libxfont2 on Arch Linux as well.
2580
2581 2018-04-02  Brady Eidson  <beidson@apple.com>
2582
2583         Process swapping on navigation needs to handle server redirects.
2584         <rdar://problem/38690465> and https://bugs.webkit.org/show_bug.cgi?id=184142
2585
2586         Reviewed by Alex Christensen.
2587
2588         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2589         (-[PSONNavigationDelegate webView:didFinishNavigation:]):
2590         (-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
2591         (-[PSONNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]):
2592         (-[PSONScheme addRedirectFromURLString:toURLString:]):
2593         (-[PSONScheme webView:startURLSchemeTask:]):
2594
2595 2018-04-02  Daniel Bates  <dabates@apple.com>
2596
2597         Add infrastructure to relax SSL for allowed hosts in DumpRenderTree and WebKitTestRunner
2598         https://bugs.webkit.org/show_bug.cgi?id=184239
2599
2600         Reviewed by Alexey Proskuryakov.
2601
2602         Adds a new optional command line option --allow-any-certificate-for-allowed-hosts (defaults to disabled)
2603         to allow the allowed hosts to accept any HTTPS certificate. You can specify an allowed host
2604         by using the existing command line option --allowed-host.
2605
2606         Currently both DumpRenderTree and WebKitTestRunner relax SSL certificate validation
2607         for 127.0.0.1 and localhost so that we can run HTTPS tests from these hosts using
2608         a self-signed certificate. They do not relax these restrictions for any allowed host,
2609         specified using the optional command line option --allowed-host. For testing purposes
2610         it is useful to be able to run a local HTTPS server with a self-signed certificate and
2611         mimic a non-localhost hostname (by adding an alias(es) for 127.0.0.1 to /etc/hosts).
2612         We should support relaxing SSL restrictions for such testing purposes.
2613
2614         For example, to allow host example.test to present any HTTPS certificate when running
2615         tests you would invoke:
2616
2617             run-webkit-tests --allowed-host example.test --additional-drt-flag '--allow-any-certificate-for-allowed-hosts'
2618
2619         * DumpRenderTree/mac/DumpRenderTree.mm:
2620         (initializeGlobalsFromCommandLineOptions): Parse the command line option --allow-any-certificate-for-allowed-hosts.
2621         (dumpRenderTree): Allow any HTTPS certificate from each allowed host.
2622         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
2623         (WTR::InjectedBundle::didReceiveMessageToPage): Clear out the existing list of allowed hosts
2624         before appending entries to it to avoid growing the list of allowed hosts without bound. Call
2625         platformAllowAnyHTTPSCertificateForAllowedHosts() to apply SSL relaxation for each allowed host.
2626         * WebKitTestRunner/Options.cpp:
2627         (WTR::handleOptionAllowAnyHTTPSCertificateForAllowedHosts): Added.
2628         (WTR::handleOptionAllowedHost): Update code as needed now that Options::allowedHosts is a std::set.
2629         (WTR::OptionsHandler::OptionsHandler):
2630         * WebKitTestRunner/Options.h: Change the data type of allowedHosts from a std::vector to a std::set
2631         so that we can make use of the convenience functon std::set::find() in TestController::canAuthenticateAgainstProtectionSpace().
2632         * WebKitTestRunner/TestController.cpp:
2633         (WTR::TestController::initialize):
2634         (WTR::TestController::canAuthenticateAgainstProtectionSpace): Allow any HTTPS certificate from each allowed host.
2635         * WebKitTestRunner/TestController.h:
2636
2637 2018-04-02  Ryan Haddad  <ryanhaddad@apple.com>
2638
2639         Unreviewed, rolling out r230174.
2640
2641         Caused LayoutTests to exit early with assertion failures.
2642
2643         Reverted changeset:
2644
2645         "Process swapping on navigation needs to handle server
2646         redirects."
2647         https://bugs.webkit.org/show_bug.cgi?id=184142
2648         https://trac.webkit.org/changeset/230174
2649
2650 2018-04-02  Daniel Bates  <dabates@apple.com>
2651
2652         Remove pre-Network Session code path for allowing any HTTPS certificate on Mac and iOS
2653         https://bugs.webkit.org/show_bug.cgi?id=184242
2654
2655         Reviewed by Alexey Proskuryakov.
2656
2657         Following r227364 we use the Network Session (NSURLSession) code path by default in
2658         modern WebKit on Mac and iOS. That is, we no longer use {CF, NS}URLConnection in modern
2659         WebKit on these platforms. So, we can remove code that used NSURLRequest SPI to allow
2660         any HTTPS certificate from localhost and 127.0.0.1 when using {CF, NS}URLConnection.
2661         The equivalent functionality is implemented in TestController::canAuthenticateAgainstProtectionSpace().
2662
2663         * WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:
2664         (WTR::InjectedBundle::platformInitialize):
2665         * WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
2666         (WTR::InjectedBundle::platformInitialize):
2667
2668 2018-04-02  Brady Eidson  <beidson@apple.com>
2669
2670         Process swapping on navigation needs to handle server redirects.
2671         <rdar://problem/38690465> and https://bugs.webkit.org/show_bug.cgi?id=184142
2672
2673         Reviewed by Alex Christensen.
2674
2675         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2676         (-[PSONNavigationDelegate webView:didFinishNavigation:]):
2677         (-[PSONNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
2678         (-[PSONNavigationDelegate webView:didReceiveServerRedirectForProvisionalNavigation:]):
2679         (-[PSONScheme addRedirectFromURLString:toURLString:]):
2680         (-[PSONScheme webView:startURLSchemeTask:]):
2681
2682 2018-04-02  Thibault Saunier  <tsaunier@igalia.com>
2683
2684         webkitpy: Use current environment value for GST_DEBUG(_FILE) and DOT_DIR env vars
2685         https://bugs.webkit.org/show_bug.cgi?id=184036
2686
2687         Reviewed by Philippe Normand.
2688
2689         Those variables are for debug purpose and should not change the behaviour
2690         itself, and developers expect them to have effect.
2691
2692         * Scripts/webkitpy/port/gtk.py:
2693         (GtkPort.setup_environ_for_server):
2694
2695 2018-04-02  Daniel Bates  <dabates@apple.com>
2696
2697         Remove Options constructor and use internal linkage for option handlers
2698         https://bugs.webkit.org/show_bug.cgi?id=184229
2699
2700         Reviewed by Andy Estes.
2701
2702         Use C++11 default initializer syntax to remove the need to explicitly have a constructor
2703         for the struct Options. Use internal linkage for option handler functions as these
2704         are never invoked outside the translation unit they are defined in.
2705
2706         * WebKitTestRunner/Options.cpp:
2707         (WTR::handleOptionNoTimeout):
2708         (WTR::handleOptionVerbose):
2709         (WTR::handleOptionGcBetweenTests):
2710         (WTR::handleOptionPixelTests):
2711         (WTR::handleOptionPrintSupportedFeatures):
2712         (WTR::handleOptionComplexText):
2713         (WTR::handleOptionAcceleratedDrawing):
2714         (WTR::handleOptionRemoteLayerTree):
2715         (WTR::handleOptionShowWebView):
2716         (WTR::handleOptionShowTouches):
2717         (WTR::handleOptionAllowedHost):
2718         (WTR::handleOptionUnmatched):
2719         (WTR::Options::Options): Deleted.
2720         * WebKitTestRunner/Options.h:
2721
2722 2018-04-02  Alejandro G. Castro  <alex@igalia.com>
2723
2724         Unreviewed GTK port dependencies fix after r230152.
2725
2726         Add alsa library dependency for gtk.
2727
2728         * gtk/install-dependencies:
2729
2730 2018-04-02  Alejandro G. Castro  <alex@igalia.com>
2731
2732         [GTK] Make libwebrtc backend buildable for GTK  port
2733         https://bugs.webkit.org/show_bug.cgi?id=178860
2734
2735         Reviewed by Youenn Fablet.
2736
2737         * gstreamer/jhbuild.modules: Modified the libvpx module for the
2738         libwebrtc compilation.
2739         * gtk/install-dependencies: Add libevent as a system requirement.
2740         * Scripts/webkitpy/style/checker.py: Added libwebrtc to the list of third
2741         party libraries with reduced style checks.
2742
2743 2018-04-01  Zalan Bujtas  <zalan@apple.com>
2744
2745         [LayoutReloaded] Use containing block's contentBox left edge when the float is to the right.
2746         https://bugs.webkit.org/show_bug.cgi?id=184230
2747
2748         Reviewed by Antti Koivisto.
2749
2750         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2751         (InlineFormattingContext.prototype._mapFloatingPosition):
2752         (InlineFormattingContext):
2753         * LayoutReloaded/test/index.html:
2754         * LayoutReloaded/test/inline-formatting-context-with-floats2.html: Added.
2755
2756 2018-04-01  Zalan Bujtas  <zalan@apple.com>
2757
2758         [LayoutReloaded] Right floating box reduces available line width.
2759         https://bugs.webkit.org/show_bug.cgi?id=184226
2760
2761         Reviewed by Antti Koivisto.
2762
2763         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2764         (InlineFormattingContext.prototype._createNewLine):
2765         * LayoutReloaded/test/index.html:
2766         * LayoutReloaded/test/inline-with-floats-right-left-simple.html: Added.
2767
2768 2018-03-31  Zalan Bujtas  <zalan@apple.com>
2769
2770         [LayoutReloaded] Floating box reduces line with in inline formatting context
2771         https://bugs.webkit.org/show_bug.cgi?id=184223
2772
2773         Reviewed by Antti Koivisto.
2774
2775         * LayoutReloaded/FormattingContext/FloatingContext.js:
2776         (FloatingContext.prototype.left):
2777         (FloatingContext.prototype.right):
2778         (FloatingContext.prototype._mapDisplayMarginBoxToFormattingRoot):
2779         (FloatingContext.prototype._mapBorderBoxToFormattingRoot):
2780         (FloatingContext.prototype._mapContentBoxToFormattingRoot):
2781         (FloatingContext.prototype.formattingRoot):
2782         (FloatingContext.prototype._floatingState):
2783         (FloatingContext.prototype._formattingRoot): Deleted.
2784         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2785         (InlineFormattingContext.prototype._createNewLine):
2786         (InlineFormattingContext.prototype._mapFloatingPosition):
2787         (InlineFormattingContext):
2788         * LayoutReloaded/FormattingState/FormattingState.js:
2789         (FormattingState.prototype.displayBox):
2790         (FormattingState):
2791         * LayoutReloaded/test/index.html:
2792         * LayoutReloaded/test/inline-formatting-context-with-floats.html: Added.
2793
2794 2018-03-31  Zalan Bujtas  <zalan@apple.com>
2795
2796         [LayoutReloaded] InlineFormattingState should inherit the floating state from its parent formatting state
2797         https://bugs.webkit.org/show_bug.cgi?id=184220
2798
2799         Reviewed by Antti Koivisto.
2800
2801         If the block container box that initiates an inline formatting context also establishes a block context,
2802         create a new float state, otherwise use the existing one.
2803
2804         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2805         (BlockFormattingContext.prototype._contentHeight):
2806         * LayoutReloaded/FormattingState/InlineFormattingState.js:
2807         (InlineFormattingState):
2808         * LayoutReloaded/LayoutState.js:
2809         (LayoutState.prototype.establishedFormattingState):
2810         (LayoutState.prototype.formattingStateForBox):
2811         (LayoutState.prototype.formattingState): Deleted.
2812         * LayoutReloaded/Utils.js:
2813
2814 2018-03-31  Zalan Bujtas  <zalan@apple.com>
2815
2816         [LayoutReloaded] FloatingContext does not need a parent formatting context.
2817         https://bugs.webkit.org/show_bug.cgi?id=184219
2818
2819         Reviewed by Antti Koivisto.
2820
2821         We don't need the formatting context in the FloatingContext now that margins are moved over to Display.Box.
2822         This is in preparation for being able to create a FloatingContext for an inline formatting context,
2823         when the inline context actually inherits the floating state from its formatting root.
2824
2825         * LayoutReloaded/FormattingContext/FloatingContext.js:
2826         (FloatingContext):
2827         (FloatingContext.prototype._availableSpace):
2828         (FloatingContext.prototype._adjustedFloatingPosition):
2829         (FloatingContext.prototype._addFloatingBox):
2830         (FloatingContext.prototype._formattingContext): Deleted.
2831         * LayoutReloaded/FormattingContext/FormattingContext.js:
2832         (FormattingContext):
2833
2834 2018-03-31  Zalan Bujtas  <zalan@apple.com>
2835
2836         [LayoutReloaded] Do not clone Display.Box for FloatingState stacks.
2837         https://bugs.webkit.org/show_bug.cgi?id=184218
2838
2839         Reviewed by Antti Koivisto.
2840
2841         Now that Display.Box is in a tree context, we can't just clone it for the purpose of caching its absolute position.
2842
2843         * LayoutReloaded/DisplayTree/Box.js:
2844         (Display.Box.prototype.clone): Deleted.
2845         * LayoutReloaded/FormattingContext/FloatingContext.js:
2846         (FloatingContext.prototype._positionForFloating):
2847         (FloatingContext.prototype._moveToNextVerticalPosition):
2848         (FloatingContext.prototype._availableSpace):
2849         (FloatingContext.prototype._findFloatingAtVerticalPosition):
2850         (FloatingContext.prototype._adjustedFloatingPosition):
2851         (FloatingContext.prototype._bottom):
2852         (FloatingContext.prototype._addFloatingBox):
2853         (FloatingContext.prototype._mapMarginBoxToFormattingRoot):
2854         (FloatingContext.prototype._mapDisplayMarginBoxToFormattingRoot):
2855         * LayoutReloaded/FormattingState/FloatingState.js:
2856         (FloatingState.prototype.addFloating):
2857
2858 2018-03-31  Zalan Bujtas  <zalan@apple.com>
2859
2860         [LayoutReloaded] Remove all FormattingContext::absolute*Box functions.
2861         https://bugs.webkit.org/show_bug.cgi?id=184215
2862
2863         Reviewed by Antti Koivisto.
2864
2865         Use Display.Box instead.
2866
2867         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2868         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
2869         * LayoutReloaded/FormattingContext/FloatingContext.js:
2870         (FloatingContext.prototype._availableSpace):
2871         (FloatingContext.prototype._adjustedFloatingPosition):
2872         (FloatingContext.prototype._mapBorderBoxToFormattingRoot):
2873         (FloatingContext.prototype._mapContentBoxToFormattingRoot):
2874         * LayoutReloaded/FormattingContext/FormattingContext.js:
2875         (FormattingContext.prototype.absoluteBorderBox): Deleted.
2876         (FormattingContext.prototype.absolutePaddingBox): Deleted.
2877         (FormattingContext.prototype.absoluteContentBox): Deleted.
2878         (FormattingContext.prototype._toAbsolutePosition): Deleted.
2879         (FormattingContext.prototype._toRootAbsolutePosition): Deleted.
2880         * LayoutReloaded/Utils.js:
2881         (Utils.mapPosition):
2882         (Utils.marginBox):
2883         (Utils.borderBox):
2884         (Utils.contentBox):
2885
2886 2018-03-31  Zalan Bujtas  <zalan@apple.com>
2887
2888         [LayoutReloaded] Remove FormattingContext::absoluteMarginBox
2889         https://bugs.webkit.org/show_bug.cgi?id=184213
2890
2891         Reviewed by Antti Koivisto.
2892
2893         Display.Box already has the margin values.
2894
2895         * LayoutReloaded/FormattingContext/FloatingContext.js:
2896         (FloatingContext.prototype._positionForFloating):
2897         (FloatingContext.prototype._addFloatingBox):
2898         (FloatingContext.prototype._mapMarginBoxToFormattingRoot):
2899         (FloatingContext.prototype._formattingRoot):
2900         * LayoutReloaded/FormattingContext/FormattingContext.js:
2901         (FormattingContext.prototype.absoluteMarginBox): Deleted.
2902         * LayoutReloaded/Utils.js:
2903         (Utils.marginBox):
2904
2905 2018-03-31  Zalan Bujtas  <zalan@apple.com>
2906
2907         [layoutReloaded] Introduce margin to Display.Box
2908         https://bugs.webkit.org/show_bug.cgi?id=184212
2909
2910         Reviewed by Antti Koivisto.
2911
2912         This is in preparation for moving margin box out of formatting context to Display.Box.
2913
2914         * LayoutReloaded/DisplayTree/Box.js:
2915         (Display.Box):
2916         (Display.Box.prototype.setRect):
2917         (Display.Box.prototype.setTopLeft):
2918         (Display.Box.prototype.setTop):
2919         (Display.Box.prototype.setLeft):
2920         (Display.Box.prototype.setSize):
2921         (Display.Box.prototype.setWidth):
2922         (Display.Box.prototype.setHeight):
2923         (Display.Box.prototype.width):
2924         (Display.Box.prototype.setMarginTop):
2925         (Display.Box.prototype.setMarginLeft):
2926         (Display.Box.prototype.setMarginBottom):
2927         (Display.Box.prototype.setMarginRight):
2928         (Display.Box.prototype.marginTop):
2929         (Display.Box.prototype.marginLeft):
2930         (Display.Box.prototype.marginBottom):
2931         (Display.Box.prototype.marginRight):
2932         (Display.Box.prototype.marginBox):
2933         * LayoutReloaded/FormattingContext/FormattingContext.js:
2934         (FormattingContext.prototype.absoluteMarginBox):
2935         (FormattingContext.prototype._addToLayoutQueue):
2936         * LayoutReloaded/FormattingState/FormattingState.js:
2937         (FormattingState.prototype.createDisplayBox):
2938
2939 2018-03-31  Zalan Bujtas  <zalan@apple.com>
2940
2941         [LayoutReloaded] Add tree context to Display.Box
2942         https://bugs.webkit.org/show_bug.cgi?id=184211
2943
2944         Reviewed by Antti Koivisto.
2945
2946         This is preparation for using the Display.Box tree to resolve absolute coordinates.
2947
2948         * LayoutReloaded/DisplayTree/Box.js:
2949         (Display.Box):
2950         (Display.Box.prototype.setParent):
2951         (Display.Box.prototype.setNextSibling):
2952         (Display.Box.prototype.setPreviousSibling):
2953         (Display.Box.prototype.setFirstChild):
2954         (Display.Box.prototype.setLastChild):
2955         (Display.Box.prototype.parent):
2956         (Display.Box.prototype.nextSibling):
2957         (Display.Box.prototype.previousSibling):
2958         (Display.Box.prototype.firstChild):
2959         (Display.Box.prototype.lastChild):
2960         * LayoutReloaded/FormattingState/FormattingState.js:
2961         (FormattingState.prototype.createDisplayBox):
2962
2963 2018-03-30  Ryosuke Niwa  <rniwa@webkit.org>
2964
2965         Copying a list from Microsoft Word to TinyMCE fails when mso-list is the first property
2966         https://bugs.webkit.org/show_bug.cgi?id=182938
2967         <rdar://problem/37683007>
2968
2969         Reviewed by Wenson Hsieh.
2970
2971         Added more assertions to PasteHTML.PreservesMSOList for preserving an inline style which starts with mso-list
2972         or the one which line-breaks right before it.
2973
2974         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
2975         * TestWebKitAPI/Tests/WebKitCocoa/mso-list.html:
2976
2977 2018-03-29  Ryosuke Niwa  <rniwa@webkit.org>
2978
2979         Copying a list from Microsoft Word to TinyMCE fails when mso-list is on tags other than P
2980         https://bugs.webkit.org/show_bug.cgi?id=182954
2981         <rdar://problem/37713141>
2982
2983         Reviewed by Wenson Hsieh.
2984
2985         Added a test case for a HTML generated by Microsoft Word which sets mso-list on h4.
2986
2987         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2988         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
2989         * TestWebKitAPI/Tests/WebKitCocoa/mso-list-compat-mode.html: Fixed the file path.
2990         * TestWebKitAPI/Tests/WebKitCocoa/mso-list-on-h4.html: Added.
2991
2992 2018-03-29  Ross Kirsling  <ross.kirsling@sony.com>
2993
2994         run-jsc-benchmarks should recognize Windows-style build directory structure.
2995         https://bugs.webkit.org/show_bug.cgi?id=184117
2996
2997         Reviewed by Yusuke Suzuki.
2998
2999         * Scripts/run-jsc-benchmarks:
3000         Allow not only bin/jsc but also bin64/jsc.exe.
3001
3002 2018-03-29  Zalan Bujtas  <zalan@apple.com>
3003
3004         [LayoutReloaded] Decouple formatting state and context lifetime.
3005         https://bugs.webkit.org/show_bug.cgi?id=184136
3006
3007         Reviewed by Antti Koivisto.
3008
3009         FormattingContext is about the layout logic. We don't need to hold on to it.
3010
3011         * LayoutReloaded/FormattingContext/FloatingContext.js:
3012         (FloatingContext):
3013         (FloatingContext.prototype.computePosition):
3014         (FloatingContext.prototype._positionForClear):
3015         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
3016         (FloatingContext.prototype._addFloatingBox):
3017         (FloatingContext.prototype._formattingContext):
3018         (FloatingContext.prototype._formattingState):
3019         * LayoutReloaded/FormattingContext/FormattingContext.js:
3020         (FormattingContext):
3021         * LayoutReloaded/FormattingState/BlockFormattingState.js:
3022         (BlockFormattingState):
3023         * LayoutReloaded/FormattingState/FloatingState.js:
3024         (FloatingState):
3025         (FloatingState.prototype.addFloating):
3026         (FloatingState.prototype.formattingState):
3027         (FloatingState.prototype.formattingContext): Deleted.
3028         * LayoutReloaded/FormattingState/FormattingState.js:
3029         (FormattingState):
3030         (FormattingState.prototype.formattingContext): Deleted.
3031         * LayoutReloaded/FormattingState/InlineFormattingState.js:
3032         (InlineFormattingState):
3033         * LayoutReloaded/LayoutState.js:
3034         (LayoutState.prototype.layout):
3035         (LayoutState.prototype.formattingContext):
3036
3037 2018-03-28  Zalan Bujtas  <zalan@apple.com>
3038
3039         [LayoutReloaded] Introduce FloatingState.
3040         https://bugs.webkit.org/show_bug.cgi?id=184126
3041
3042         Reviewed by Antti Koivisto.
3043
3044         It holds the floating state (left/right floating stack) for a given formatting state (Block or Inline).
3045         (FormattingState -> FloatingState/FormattingContext -> FloatingContext)
3046
3047         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
3048         (BlockFormattingContext):
3049         * LayoutReloaded/FormattingContext/FloatingContext.js:
3050         (FloatingContext):
3051         (FloatingContext.prototype.computePosition):
3052         (FloatingContext.prototype.bottom):
3053         (FloatingContext.prototype._positionForFloating):
3054         (FloatingContext.prototype._positionForClear):
3055         (FloatingContext.prototype._findInnerMostLeftAndRight):
3056         (FloatingContext.prototype._isEmpty):
3057         (FloatingContext.prototype._floatingState):
3058         (FloatingContext.prototype._formattingContext):
3059         (FloatingContext.prototype._lastFloating):
3060         (FloatingContext.prototype._leftFloatingStack):
3061         (FloatingContext.prototype._rightFloatingStack):
3062         (FloatingContext.prototype._addFloating): Deleted.
3063         * LayoutReloaded/FormattingContext/FormattingContext.js:
3064         (FormattingContext):
3065         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
3066         (InlineFormattingContext):
3067         * LayoutReloaded/FormattingState/BlockFormattingState.js:
3068         (BlockFormattingState):
3069         * LayoutReloaded/FormattingState/FloatingState.js: Copied from Tools/LayoutReloaded/FormattingState/InlineFormattingState.js.
3070         (FloatingState):
3071         (FloatingState.prototype.addFloating):
3072         (FloatingState.prototype.leftFloatingStack):
3073         (FloatingState.prototype.rightFloatingStack):
3074         (FloatingState.prototype.lastFloating):
3075         (FloatingState.prototype.formattingContext):
3076         * LayoutReloaded/FormattingState/FormattingState.js:
3077         (FormattingState):
3078         (FormattingState.prototype.floatingState):
3079         * LayoutReloaded/FormattingState/InlineFormattingState.js:
3080         (InlineFormattingState):
3081         * LayoutReloaded/test/index.html:
3082
3083 2018-03-28  Zalan Bujtas  <zalan@apple.com>
3084
3085         [LayoutReloaded] Convert floating left/right stack display boxes absolute to the formatting context's root.
3086         https://bugs.webkit.org/show_bug.cgi?id=184123
3087
3088         Reviewed by Antti Koivisto.
3089
3090         1. The left/right floating array should hold the Display.Box (and not the Layout.Box)
3091         2. Clone the Display.Box and convert its rect absolute to the formatting context's root so that we
3092         don't have to keep converting the coordinates while computing the positions. 
3093
3094         * LayoutReloaded/DisplayTree/Box.js:
3095         (Display.Box.prototype.clone):
3096         (Display.Box.prototype.setRect):
3097         * LayoutReloaded/FormattingContext/FloatingContext.js:
3098         (FloatingContext.prototype.computePosition):
3099         (FloatingContext.prototype._positionForFloating):
3100         (FloatingContext.prototype._addFloating):
3101         (FloatingContext.prototype._moveToNextVerticalPosition):
3102         (FloatingContext.prototype._availableSpace):
3103         (FloatingContext.prototype._findFloatingAtVerticalPosition):
3104         (FloatingContext.prototype._adjustedFloatingPosition):
3105         (FloatingContext.prototype._bottom):
3106
3107 2018-03-28  Chris Dumez  <cdumez@apple.com>
3108
3109         Unreviewed iOS build fix after r230060.
3110
3111         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3112
3113 2018-03-28  Chris Dumez  <cdumez@apple.com>
3114
3115         Unreviewed, disable new window.open() API tests introduced in r230051 on iOS.
3116
3117         I will investigate if this is testable on iOS.
3118
3119         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3120
3121 2018-03-28  Chris Dumez  <cdumez@apple.com>
3122
3123         Do process swap when opening a cross-origin URL via window.open(url, '_blank', 'noopener')
3124         https://bugs.webkit.org/show_bug.cgi?id=183962
3125         <rdar://problem/38817833>
3126
3127         Reviewed by Brady Eidson.
3128
3129         Add API test coverage.
3130
3131         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3132         (-[PSONUIDelegate initWithNavigationDelegate:]):
3133         (-[PSONUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
3134
3135 2018-03-28  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
3136
3137         Add Carlos Eduardo Ramalho as contributor
3138         https://bugs.webkit.org/show_bug.cgi?id=184082
3139
3140         Reviewed by Carlos Alberto Lopez Perez.
3141
3142         * Scripts/webkitpy/common/config/contributors.json:
3143
3144 2018-03-28  Wenson Hsieh  <wenson_hsieh@apple.com>
3145
3146         [Extra zoom mode] Make boosted text autosizing values switchable at runtime
3147         https://bugs.webkit.org/show_bug.cgi?id=184092
3148         <rdar://problem/38939917>
3149
3150         Reviewed by Tim Horton.
3151
3152         Add an API test to check that toggling the boosted text autosizing preference causes text to lay out larger than
3153         it would with normal text autosizing.
3154
3155         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3156         * TestWebKitAPI/Tests/ios/TextAutosizingBoost.mm: Added.
3157         (TEST):
3158
3159 2018-03-28  Zalan Bujtas  <zalan@apple.com>
3160
3161         [LayoutReloaded] InlineFormattingContext::_handleText should support runs on multiple lines
3162         https://bugs.webkit.org/show_bug.cgi?id=184101
3163
3164         Reviewed by Antti Koivisto.
3165
3166         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
3167         (InlineFormattingContext):
3168         (InlineFormattingContext.prototype.layout):
3169         (InlineFormattingContext.prototype._handleText):
3170         (InlineFormattingContext.prototype._createNewLine):
3171         * LayoutReloaded/test/index.html:
3172         * LayoutReloaded/test/simple-multiline-text.html: Added.
3173
3174 2018-03-28  Zalan Bujtas  <zalan@apple.com>
3175
3176         [LayoutReloaded] Add InlineTextBreaker::skipLeadingWhitespaceIfNeeded
3177         https://bugs.webkit.org/show_bug.cgi?id=184099
3178
3179         Reviewed by Antti Koivisto.
3180
3181         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
3182
3183 2018-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
3184
3185         [GLIB] Add JSCWeakValue to JavaScriptCore GLib API
3186         https://bugs.webkit.org/show_bug.cgi?id=184041
3187
3188         Reviewed by Michael Catanzaro.
3189
3190         Add test case for JSCWeakValue.
3191
3192         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
3193         (weakValueClearedCallback):
3194         (testJSCWeakValue):
3195         (main):
3196
3197 2018-03-27  Zalan Bujtas  <zalan@apple.com>
3198
3199         [LayoutReloaded] Start using window.collectTextRuns() to layout text lines in inline formatting context
3200         https://bugs.webkit.org/show_bug.cgi?id=184070
3201
3202         Reviewed by Antti Koivisto.
3203
3204         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
3205         (InlineFormattingContext.prototype._handleText):
3206         (InlineFormattingContext.prototype._commitLine):
3207         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
3208         (Line.prototype.addTextLineBox):
3209         (Line):
3210         (Line.prototype.addLineBox): Deleted.
3211         * LayoutReloaded/FormattingState/BlockFormattingState.js:
3212         (BlockFormattingState):
3213         * LayoutReloaded/FormattingState/FormattingState.js:
3214         (FormattingState.prototype.displayBox):
3215         (FormattingState):
3216         (FormattingState.prototype._setFormattingContext): Deleted.
3217         * LayoutReloaded/FormattingState/InlineFormattingState.js:
3218         (InlineFormattingState):
3219         * LayoutReloaded/LayoutTree/Text.js:
3220         (Text.prototype.content):
3221         * LayoutReloaded/Utils.js:
3222         (Utils.textRuns):
3223         (Utils.textRunsForLine):
3224         (Utils._dumpLines.):
3225         (Utils._dumpLines):
3226         * LayoutReloaded/test/simple-inline-text.html:
3227
3228 2018-03-27  Eric Carlson  <eric.carlson@apple.com>
3229
3230         https://bugs.webkit.org/show_bug.cgi?id=183876
3231         <rdar://problem/38726459>
3232         
3233         Unreviewed, fix for the test added in r229995 in the iOS simulator.
3234
3235         * TestWebKitAPI/Tests/WebKitCocoa/AVFoundationPreference.mm:
3236         (TestWebKitAPI::AVFoundationPref::testWithPreference):
3237
3238 2018-03-27  Jiewen Tan  <jiewen_tan@apple.com>
3239
3240         [WebAuthN] Implement authenticatorGetAssertion
3241         https://bugs.webkit.org/show_bug.cgi?id=183881
3242         <rdar://problem/37258628>
3243
3244         Reviewed by Brent Fulgham.
3245
3246         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
3247         (TestWebKitAPI::getTestKey):
3248         (TestWebKitAPI::addTestKeyToKeychain):
3249         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::evaluatePolicyFailed):
3250         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::evaluatePolicyPassed):
3251         (TestWebKitAPI::LAEvaluateAccessControlFailedSwizzler::LAEvaluateAccessControlFailedSwizzler):
3252         (TestWebKitAPI::LAEvaluateAccessControlFailedSwizzler::evaluateAccessControlFailed):
3253         (TestWebKitAPI::LAEvaluateAccessControlPassedSwizzler::LAEvaluateAccessControlPassedSwizzler):
3254         (TestWebKitAPI::LAEvaluateAccessControlPassedSwizzler::evaluateAccessControlPassed):
3255         (TestWebKitAPI::TEST):
3256
3257 2018-03-27  Brian Burg  <bburg@apple.com>
3258
3259         REGRESSION(r229937): WebDriver tests no longer run, test runner hangs when launching wpt web server
3260         https://bugs.webkit.org/show_bug.cgi?id=184056
3261         <rdar://problem/38925058>
3262
3263         Reviewed by Timothy Hatcher and Youenn Fablet.
3264
3265         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
3266         (WebDriverW3CWebServer.start):
3267         The config key used in upstream WPT has changed from 'host' to 'browser_host'.
3268
3269 2018-03-27  Timothy Hatcher  <timothy@hatcher.name>
3270
3271         Update my email address in contributors.json and scripts
3272         https://bugs.webkit.org/show_bug.cgi?id=184054
3273
3274         * Scripts/validate-committer-lists:
3275         (CommitterListFromGit):
3276         * Scripts/webkitpy/common/config/contributors.json:
3277
3278 2018-03-27  Eric Carlson  <eric.carlson@apple.com>
3279
3280         Make AVFoundationEnabled preference available on iOS
3281         https://bugs.webkit.org/show_bug.cgi?id=183876
3282         <rdar://problem/38726459>
3283
3284         Reviewed by Youenn Fablet.
3285
3286         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3287         * TestWebKitAPI/Tests/WebKit/video.html: Added.
3288         * TestWebKitAPI/Tests/WebKitCocoa/AVFoundationPreference.mm: Added.
3289         (-[PreferenceTestMessageHandler userContentController:didReceiveScriptMessage:]):
3290         (TestWebKitAPI::AVFoundationPref::SetUp):
3291         (TestWebKitAPI::AVFoundationPref::testWithPreference):
3292         (TestWebKitAPI::TEST_F):
3293
3294 2018-03-26  Brent Fulgham  <bfulgham@apple.com>
3295
3296         Warn against cookie access in the WebContent process using ProcessPrivilege assertions
3297         https://bugs.webkit.org/show_bug.cgi?id=183911
3298         <rdar://problem/38762306>
3299
3300         Reviewed by Youenn Fablet.
3301
3302         Add a set of ProcessPrivilege assertions to enforce the rule that the WebContent process
3303         should never call Cookie API directly. That should only happen in the Networking or
3304         UIProcess. 
3305
3306         * DumpRenderTree/mac/DumpRenderTree.mm:
3307         (DumpRenderTreeMain):
3308         * TestWebKitAPI/TestsController.cpp:
3309         (TestWebKitAPI::TestsController::TestsController):
3310         * WebKitTestRunner/TestController.cpp:
3311         (WTR::TestController::initialize):
3312
3313 2018-03-26  Zalan Bujtas  <zalan@apple.com>
3314
3315         [LayoutReloaded] Add InlineText DOM interface and dependencies
3316         https://bugs.webkit.org/show_bug.cgi?id=184010
3317
3318         Reviewed by Antti Koivisto.
3319
3320         to help inline text layout.
3321
3322         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
3323
3324 2018-03-25  Carlos Garcia Campos  <cgarcia@igalia.com>
3325
3326         [GTK][WPE] Add API to convert between DOM and JSCValue
3327         https://bugs.webkit.org/show_bug.cgi?id=183448
3328
3329         Reviewed by Michael Catanzaro.
3330
3331         Add unit tests for non-deprecated DOM API and switch existing tests to use non-deprecated API except for the
3332         ones that test the deprecated API.
3333
3334         * TestWebKitAPI/Tests/WebKitGLib/DOMElementTest.cpp: Added.
3335         (DOMElementTest::create):
3336         (DOMElementTest::testAutoFill):
3337         (registerTests):
3338         * TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp: Added.
3339         (WebKitWebEditorTest::create):
3340         (WebKitWebEditorTest::selectionChangedCallback):
3341         (WebKitWebEditorTest::testSelectionchanged):
3342         (registerTests):
3343         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
3344         (WebKitFrameTest::testJavaScriptValues):
3345         (registerTests):
3346         * TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMObjectPrivate.h.
3347         (testWebKitDOMElementAutoFill):
3348         (beforeAll):
3349         (afterAll):
3350         * TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKitGtk/TestEditor.cpp.
3351         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
3352         (testWebKitFrameJavaScriptValues):
3353         (beforeAll):
3354         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
3355         (inputElementIsUserEdited):
3356         (testWebExtensionInputElementIsUserEdited):
3357         (testWebExtensionFormSubmissionSteps):
3358         (beforeAll):
3359         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
3360         (documentLoadedCallback):
3361         (serializeNode):
3362         (contextMenuCallback):
3363         (consoleMessageSentCallback):
3364         (formControlsAssociatedCallback):
3365         (willSubmitFormCallback):
3366         (pageCreatedCallback):
3367         (methodCallCallback):
3368         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
3369         (checkLeaks):
3370         (webProcessTestRunnerFinalize):
3371         (checkLeaksAtExit):
3372         * TestWebKitAPI/Tests/WebKitGtk/AutocleanupsTest.cpp:
3373         (AutocleanupsTest::testWebProcessAutocleanups):
3374         * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
3375         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeFilterTest.cpp:
3376         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeTest.cpp:
3377         * TestWebKitAPI/Tests/WebKitGtk/DOMXPathNSResolverTest.cpp:
3378         * TestWebKitAPI/Tests/WebKitGtk/EditorTest.cpp: Removed.
3379         * TestWebKitAPI/glib/CMakeLists.txt:
3380         * TestWebKitAPI/glib/PlatformGTK.cmake:
3381         * TestWebKitAPI/glib/PlatformWPE.cmake:
3382
3383 2018-03-24  Jonathan Bedard  <jbedard@apple.com>
3384
3385         webkitpy: Unrecognized mac versions always use WebKitTestRunner
3386         https://bugs.webkit.org/show_bug.cgi?id=183681
3387         <rdar://problem/38509162>
3388
3389         Reviewed by Daniel Bates.
3390
3391         When an unrecognized version is used, we were unconditionally adding '-wk2'
3392         to the mac version name. This would mean that the port object would always
3393         use WebKitTestRunner as the driver, even if DumpRenderTree was explicitly
3394         requested.
3395
3396         * Scripts/webkitpy/port/apple.py:
3397         (ApplePort.determine_full_port_name): Only add wk2 to port names if
3398         WebKitTestRunner is specified.
3399         * Scripts/webkitpy/port/mac.py:
3400         (MacPort.__init__): Compare length of split string, and do not treat wk2 as a
3401         version name.
3402         * Scripts/webkitpy/port/mac_unittest.py:
3403         (MacTest):
3404         (MacTest.test_factory_with_future_version): Confirm that future versions correctly
3405         assign the driver and have undefined version names.
3406         (MacTest.test_factory_with_portname_version): Confirm that general versions correctly assign
3407         the driver and have defined versions.
3408         (MacTest.test_factory_with_portname_wk2): Ensure that mac ports ending in 'wk2' set
3409         the driver to be WebKitTestRunner even if webkit_test_runner=False.
3410
3411 2018-03-23  Zan Dobersek  <zdobersek@igalia.com>
3412
3413         Fix the run-benchmark script, properly specifying the plan directory
3414         where the Skipped file is located.
3415
3416         Rubber-stamped by Carlos Alberto Lopez Perez.
3417
3418         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
3419         (start):
3420
3421 2018-03-23  Tim Horton  <timothy_horton@apple.com>
3422
3423         Fix the build with no pasteboard
3424         https://bugs.webkit.org/show_bug.cgi?id=183973
3425
3426         Reviewed by Dan Bernstein.
3427
3428         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3429
3430 2018-03-23  Youenn Fablet  <youenn@apple.com>
3431
3432         Update WPT tools to a1ec330
3433         https://bugs.webkit.org/show_bug.cgi?id=183934
3434
3435         Reviewed by Chris Dumez.
3436
3437         Update script to run WPT server  according updated WPT tools.
3438
3439         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
3440         (main):
3441         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
3442         (base_http_url):
3443         (base_https_url):
3444
3445 2018-03-23  Sihui Liu  <sihui_liu@apple.com>
3446
3447         Local storage getItem() for an empty string returned UNDEFINED value.
3448         https://bugs.webkit.org/show_bug.cgi?id=69138
3449         <rdar://problem/13410974>
3450
3451         Reviewed by Brady Eidson.
3452
3453         Add API test coverage.
3454
3455         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3456         * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: Added.
3457         (-[LocalStorageMessageHandler userContentController:didReceiveScriptMessage:]):
3458         (TEST):
3459         * TestWebKitAPI/Tests/WebKitCocoa/localstorage-empty-string-value.html: Added.
3460
3461 2018-03-23  Chris Dumez  <cdumez@apple.com>
3462
3463         Promptly terminate service worker processes when they are no longer needed
3464         https://bugs.webkit.org/show_bug.cgi?id=183873
3465         <rdar://problem/38676995>
3466
3467         Reviewed by Youenn Fablet.
3468
3469         Add API test coverage.
3470
3471         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
3472
3473 2018-03-23  Brady Eidson  <beidson@apple.com>
3474
3475         Go to back/forward list items after a process-swapped navigation.
3476         <rdar://problem/38690544> and https://bugs.webkit.org/show_bug.cgi?id=183920
3477
3478         Reviewed by Andy Estes.
3479
3480         Add a new API test that does some process-swapping navigations (including a back navigation)
3481         and verifies the state of the engine afterwards.
3482
3483         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
3484         (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
3485         (-[PSONScheme initWithBytes:]):
3486         (-[PSONScheme webView:startURLSchemeTask:]):
3487         (log):
3488         (function):
3489         (TEST): Deleted.
3490
3491 2018-03-23  Brendan McLoughlin  <brendan@bocoup.com>
3492
3493         Lint web-platform-tests changes with the wpt linter before exporting
3494         https://bugs.webkit.org/show_bug.cgi?id=183796
3495
3496         Reviewed by Youenn Fablet.
3497
3498         * Scripts/webkitpy/w3c/test_exporter.py:
3499         (TestExporter.__init__):
3500         (TestExporter.do_export):
3501         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
3502         (TestExporterTest.MockWPTLinter):
3503         (TestExporterTest.MockWPTLinter.__init__):
3504         (TestExporterTest.MockWPTLinter.lint):
3505         (TestExporterTest.test_export):
3506         (TestExporterTest.test_export_with_specific_branch):
3507         * Scripts/webkitpy/w3c/wpt_linter.py: Added.
3508         (WPTLinter):
3509         (WPTLinter.__init__):
3510         (WPTLinter.lint):
3511
3512 2018-03-23  David Kilzer  <ddkilzer@apple.com>
3513
3514         Stop using dispatch_set_target_queue()
3515         <https://webkit.org/b/183908>
3516         <rdar://problem/33553533>
3517
3518         Reviewed by Daniel Bates.
3519
3520         * Scripts/webkitpy/style/checkers/cpp.py:
3521         (check_language): Add check for use of
3522         dispatch_set_target_queue().
3523         (CppChecker): Add 'runtime/dispatch_set_target_queue' category.
3524         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
3525         (CppStyleTest): Add test.
3526
3527 2018-03-23  Youenn Fablet  <youenn@apple.com>
3528
3529         Allow fully whitelisted plug-ins to match non HTTP URLs
3530         https://bugs.webkit.org/show_bug.cgi?id=183938
3531         rdar://problem/38534312
3532
3533         Reviewed by Chris Dumez.
3534
3535         * TestWebKitAPI/Tests/WebCore/URL.cpp:
3536         (TestWebKitAPI::TEST_F):
3537
3538 2018-03-23  JF Bastien  <jfbastien@apple.com>
3539
3540         dump-class-layout is just wrong
3541         https://bugs.webkit.org/show_bug.cgi?id=183939
3542
3543         Reviewed by Yusuke Suzuki.
3544
3545         Looks like r229291 contained a half-renamed variable in it, so it
3546         just doesn't work.
3547
3548         * Scripts/dump-class-layout:
3549         (verify_type):
3550         (verify_type_recursive):
3551
3552 2018-03-23  Carlos Garcia Campos  <cgarcia@igalia.com>
3553
3554         Unreviewed. Run JSC GLib API tests in GTK+ and WPE bots.
3555
3556         The test runners were still considering the JSC tests as google tests, but they are now GLib tests.
3557
3558         * Scripts/run-gtk-tests:
3559         (GtkTestRunner.is_glib_test):
3560         (GtkTestRunner.is_google_test):
3561         * Scripts/run-wpe-tests:
3562         (WPETestRunner.is_glib_test):
3563         (WPETestRunner.is_google_test):
3564
3565 2018-03-22  Daniel Bates  <dabates@apple.com>
3566
3567         Expose SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest() as WebKit SPI
3568         https://bugs.webkit.org/show_bug.cgi?id=183907
3569         <rdar://problem/38759127>
3570
3571         Reviewed by Alex Christensen.
3572
3573         Adds unit tests for the modern Objective-C and C SPI to ensure we do not regress it.
3574
3575         We use the deprecated -[WKBrowsingContextController registerSchemeForCustomProtocol:]
3576         in both the modern Objective-C API and C API tests to share code. Once we no longer
3577         need to support the C API we should remove the tests and transition the modern Objective-
3578         C tests to use -[WKWebViewConfiguration setURLSchemeHandler:forURLScheme:].
3579
3580         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3581         * TestWebKitAPI/Tests/WebKitCocoa/SchemeRegistry.mm: Added.
3582         (+[EchoURLProtocol canInitWithRequest:]):
3583         (+[EchoURLProtocol canonicalRequestForRequest:]):
3584         (+[EchoURLProtocol requestIsCacheEquivalent:toRequest:]):
3585         (-[EchoURLProtocol startLoading]):
3586         (-[EchoURLProtocol stopLoading]):
3587         (-[WKContextRegisterURLSchemeAsCanDisplayOnlyIfCanRequestLoadDelegate browsingContextController:didFailProvisionalLoadWithError:]):
3588         (-[WKContextRegisterURLSchemeAsCanDisplayOnlyIfCanRequestLoadDelegate browsingContextControllerDidFinishLoad:]):
3589         (TestWebKitAPI::TEST):
3590
3591 2018-03-22  Adrian Perez de Castro  <aperez@igalia.com>
3592
3593         [WPE] Enable WOFF2 support
3594         https://bugs.webkit.org/show_bug.cgi?id=178158
3595
3596         Reviewed by Frédéric Wang.
3597
3598         * wpe/jhbuild.modules: Add "brotli" and "woff2" to the JHBuild moduleset.
3599
3600 2018-03-22  Brendan McLoughlin  <brendan@bocoup.com>
3601
3602         Do not export web-platform-test files generated by the wpt importer to assist the webkit test runner
3603         https://bugs.webkit.org/show_bug.cgi?id=183916
3604
3605         Reviewed by Youenn Fablet.
3606
3607         * Scripts/webkitpy/w3c/test_exporter.py:
3608         (TestExporter.create_branch_with_patch):
3609         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
3610         (TestExporterTest.test_export):
3611         (TestExporterTest.test_export_with_specific_branch):
3612
3613 2018-03-22  Tim Horton  <timothy_horton@apple.com>
3614
3615         Improve readability of WebCore's OTHER_LDFLAGS
3616         https://bugs.webkit.org/show_bug.cgi?id=183909
3617         <rdar://problem/38760992>
3618
3619         Reviewed by Dan Bernstein.
3620
3621         * TestWebKitAPI/Configurations/Base.xcconfig:
3622         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3623
3624 2018-03-21  Fujii Hironori  <Hironori.Fujii@sony.com>
3625
3626         Unreviewed. Marked myself as a committer.
3627
3628         * Scripts/webkitpy/common/config/contributors.json:
3629
3630 2018-03-21  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
3631
3632         Unreviewed, make the email address of Yoshiaki Jitsukawa all lower case.
3633
3634         * Scripts/webkitpy/common/config/contributors.json:
3635
3636 2018-03-21  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
3637
3638         Unreviewed, add myself as a WebKit committer.
3639
3640         * Scripts/webkitpy/common/config/contributors.json:
3641
3642 2018-03-21  Chris Dumez  <cdumez@apple.com>
3643
3644         ScrollViewInsetTests.RestoreInitialContentOffsetAfterCrash API test is failing with async delegates
3645         https://bugs.webkit.org/show_bug.cgi?id=183787
3646
3647         Reviewed by Wenson Hsieh.
3648
3649         Add API test coverage.
3650
3651         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
3652         (-[AsyncPolicyDelegateForInsetTest webView:didFinishNavigation:]):
3653         (-[AsyncPolicyDelegateForInsetTest webView:decidePolicyForNavigationAction:decisionHandler:]):
3654         (-[AsyncPolicyDelegateForInsetTest webView:decidePolicyForNavigationResponse:decisionHandler:]):
3655         (-[AsyncPolicyDelegateForInsetTest webViewWebContentProcessDidTerminate:]):
3656         (TestWebKitAPI::TEST):
3657
3658 2018-03-21  Chris Dumez  <cdumez@apple.com>
3659
3660         Fix DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop to use synchronouslyLoadTestPageNamed
3661         https://bugs.webkit.org/show_bug.cgi?id=183858
3662
3663         Reviewed by Wenson Hsieh.
3664
3665         Fix DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop to use synchronouslyLoadTestPageNamed
3666         instead of loadTestPageNamed because injecting script.
3667
3668         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3669         (TestWebKitAPI::TEST):
3670
3671 2018-03-21  Zalan Bujtas  <zalan@apple.com>
3672
3673         [LayoutReloaded] Enable formatting state for InlineFormattingContext
3674         https://bugs.webkit.org/show_bug.cgi?id=183853
3675
3676         Reviewed by Antti Koivisto.
3677
3678         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
3679         (BlockFormattingContext.prototype._contentHeight):
3680         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
3681         (InlineFormattingContext):
3682         (InlineFormattingContext.prototype.layout):
3683         (InlineFormattingContext.prototype._createNewLine):
3684         * LayoutReloaded/LayoutState.js:
3685         (LayoutState.prototype.formattingState):
3686         * LayoutReloaded/README.md:
3687         * LayoutReloaded/Utils.js:
3688         (Utils._dumpTree):
3689         * LayoutReloaded/test/index.html:
3690         * LayoutReloaded/test/simple-inline-text.html: Added.
3691
3692 2018-03-21  Zalan Bujtas  <zalan@apple.com>
3693
3694         [LayoutReloaded] Move inline lines to InlineFormattingState.
3695         https://bugs.webkit.org/show_bug.cgi?id=183814
3696
3697         Reviewed by Antti Koivisto.
3698
3699         InlineFormattingContext is not supposed to hold state.
3700
3701         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
3702         (InlineFormattingContext):
3703         (InlineFormattingContext.prototype._commitLine):
3704         (InlineFormattingContext.prototype._createNewLine):
3705         (InlineFormattingContext.prototype.lines): Deleted.
3706         (InlineFormattingContext.prototype._initializeLine): Deleted.
3707         * LayoutReloaded/FormattingState/InlineFormattingState.js:
3708         (InlineFormattingState):
3709         (InlineFormattingState.prototype.lines):
3710         (InlineFormattingState.prototype.appendLine):
3711
3712 2018-03-21  Ms2ger  <Ms2ger@igalia.com>
3713
3714         [WPE] Disable most of TestWebKitFaviconDatabase.
3715         https://bugs.webkit.org/show_bug.cgi?id=183813
3716
3717         Unreviewed test gardening.
3718
3719         The relevant APIs were mostly removed in r223953, making this test
3720         time out consistently.
3721
3722         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
3723
3724 2018-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
3725
3726         [GTK][WPE] JSC bindings not introspectable
3727         https://bugs.webkit.org/show_bug.cgi?id=136989
3728
3729         Reviewed by Michael Catanzaro.
3730
3731         Use the new API instead of the deprecated one.
3732
3733         * MiniBrowser/gtk/main.c:
3734         (aboutDataScriptMessageReceivedCallback):
3735         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
3736         (WebKitFrameTest::testJavaScriptContext):
3737         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
3738         (testWebViewRunJavaScript):
3739         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
3740         (consoleMessageSentCallback):
3741         (echoCallback):
3742         (windowObjectCleared):
3743         (methodCallCallback):
3744         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
3745         (runTest):
3746         (webProcessTestRunnerFinalize):
3747         (windowObjectClearedCallback):
3748         * TestWebKitAPI/glib/PlatformGTK.cmake:
3749         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
3750         (WebViewTest::javascriptResultToCString):
3751         (WebViewTest::javascriptResultToNumber):
3752         (WebViewTest::javascriptResultToBoolean):
3753         (WebViewTest::javascriptResultIsNull):
3754         (WebViewTest::javascriptResultIsUndefined):
3755
3756 2018-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
3757
3758         [GTK][WPE] Initial implementation of JavaScriptCore glib bindings
3759         https://bugs.webkit.org/show_bug.cgi?id=164061
3760
3761         Reviewed by Michael Catanzaro.
3762
3763         Add unit tests for the new API and generate the API documentation with generate-gtkdoc.
3764
3765         * Scripts/webkitpy/style/checker.py: Ignore some style errors in public GLib API headers.
3766         * TestWebKitAPI/PlatformGTK.cmake:
3767         * TestWebKitAPI/PlatformWPE.cmake:
3768         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: Added.
3769         (LeakChecker::~LeakChecker):
3770         (LeakChecker::watch):
3771         (ExceptionHandler::ExceptionHandler):
3772         (ExceptionHandler::~ExceptionHandler):
3773         (ExceptionHandler::push):
3774         (ExceptionHandler::pop):
3775         (jscContextGarbageCollect):
3776         (testJSCBasic):
3777         (testJSCTypes):
3778         (foo):
3779         (callback):
3780         (doubleAndSetInResult):
3781         (sumFunction):
3782         (testJSCFunction):
3783         (testJSCObject):
3784         (fooCreate):
3785         (fooCreateWithFoo):
3786         (fooFree):
3787         (setFoo):
3788         (getFoo):
3789         (setSibling):
3790         (getSibling):
3791         (multiplyFoo):
3792         (getMultiplyFoo):
3793         (getMultiplyFooAsync):
3794         (bazCreate):
3795         (testJSCClass):
3796         (barCreate):
3797         (barFree):
3798         (setBar):
3799         (getBar):
3800         (testJSCPrototypes):
3801         (createError):
3802         (testJSCExceptions):
3803         (testJSCPromises):
3804         (fooFreeAndLog):
3805         (testJSCGarbageCollector):
3806         (testsJSCVirtualMachine):
3807         (testsJSCAutocleanups):
3808         (main):
3809         * gtk/generate-gtkdoc:
3810         (get_generator_for_config):
3811
3812 2018-03-20  Tim Horton  <timothy_horton@apple.com>
3813
3814         Enable the minimal simulator feature flag when appropriate
3815         https://bugs.webkit.org/show_bug.cgi?id=183807
3816
3817         Reviewed by Dan Bernstein.
3818
3819         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3820
3821 2018-03-20  Zalan Bujtas  <zalan@apple.com>
3822
3823         [LayoutReloaded] Disconnect Display.Box from Layout.Box
3824         https://bugs.webkit.org/show_bug.cgi?id=183805
3825
3826         Reviewed by Antti Koivisto.
3827
3828         Display.Box is only accessed through the FormattingState.
3829
3830         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
3831         (BlockFormattingContext):
3832         (BlockFormattingContext.prototype.layout):
3833         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
3834         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
3835         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
3836         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
3837         * LayoutReloaded/FormattingContext/FormattingContext.js:
3838         (FormattingContext):
3839         (FormattingContext.prototype.formattingRoot):
3840         (FormattingContext.prototype.formattingState):
3841         (FormattingContext.prototype.layoutState):
3842         (FormattingContext.prototype._toAbsolutePosition):
3843         (FormattingContext.prototype._toRootAbsolutePosition):
3844         (FormattingContext.prototype._addToLayoutQueue):
3845         (FormattingContext.prototype.displayBox):
3846         (FormattingContext.prototype._outOfFlowDescendants):
3847         (FormattingContext.prototype.rootContainer): Deleted.
3848         (FormattingContext.prototype.layoutContext): Deleted.
3849         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
3850         (InlineFormattingContext):
3851         (InlineFormattingContext.prototype.layout):
3852         (InlineFormattingContext.prototype._initializeLine):
3853         * LayoutReloaded/FormattingState/BlockFormattingState.js:
3854         (BlockFormattingState):
3855         * LayoutReloaded/FormattingState/FormattingState.js:
3856         (FormattingState):
3857         (FormattingState.prototype.formattingRoot):
3858         (FormattingState.prototype.layoutState):
3859         (FormattingState.prototype.createDisplayBox):
3860         (FormattingState.prototype.displayBoxMap):
3861         (FormattingState.prototype.displayBox):
3862         (FormattingState.prototype.layoutContext): Deleted.
3863         * LayoutReloaded/FormattingState/InlineFormattingState.js:
3864         (InlineFormattingState):
3865         * LayoutReloaded/Layout.js:
3866         (layout):
3867         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
3868         * LayoutReloaded/LayoutState.js: Renamed from Tools/LayoutReloaded/LayoutContext.js.
3869         (LayoutState):
3870         (LayoutState.prototype.layout):
3871         (LayoutState.prototype._createFormattingState):
3872         (LayoutState.prototype.formattingStates):
3873         (LayoutState.prototype.initialDisplayBox):
3874         * LayoutReloaded/LayoutTree/Box.js:
3875         (Layout.Box.prototype.isOutOfFlowPositioned):
3876         (Layout.Box.prototype.containingBlock):
3877         (Layout.Box.prototype.setDisplayBox): Deleted.
3878         (Layout.Box.prototype.displayBox): Deleted.
3879         * LayoutReloaded/Utils.js:
3880         (Utils.layoutTreeDump):
3881         (Utils._findDisplayBox):
3882         (Utils._dumpBox):
3883         (Utils._dumpTree):
3884         * LayoutReloaded/misc/headers/BlockFormattingContext.h:
3885         * LayoutReloaded/misc/headers/FormattingContext.h:
3886         * LayoutReloaded/misc/headers/LayoutContext.h:
3887         * LayoutReloaded/test/index.html:
3888
3889 2018-03-19  Ryosuke Niwa  <rniwa@webkit.org>
3890
3891         Expose content attributes on _WKLinkIconParameters
3892         https://bugs.webkit.org/show_bug.cgi?id=183768
3893
3894         Reviewed by Alex Christensen.
3895
3896         Expanded the basic test case for _WKLinkIconParameters's properties including newly added "attributes".
3897
3898         * TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm:
3899         (IconLoading.DefaultFavicon):
3900
3901 2018-03-20  Wenson Hsieh  <wenson_hsieh@apple.com>
3902
3903         Add AssistedNodeInformation plumbing for form control placeholder text and label text
3904         https://bugs.webkit.org/show_bug.cgi?id=183802
3905         <rdar://problem/38686273>
3906
3907         Reviewed by Tim Horton.
3908
3909         Adds a new API test to exercise new placeholder and label SPI on _WKFocusedFormElement.
3910
3911         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
3912         (-[InputDelegate _webView:focusShouldStartInputSession:]):
3913         (-[InputDelegate shouldStartInputSessionHandler]):
3914         (-[InputDelegate setShouldStartInputSessionHandler:]):
3915         (TEST):
3916         (-[FormSubmissionDelegate webView:startURLSchemeTask:]): Deleted.
3917         (-[FormSubmissionDelegate webView:stopURLSchemeTask:]): Deleted.
3918         (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]): Deleted.
3919
3920 2018-03-20  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3921
3922         [WinCairo] Fix to run-webkit-httpd from native Windows.
3923         https://bugs.webkit.org/show_bug.cgi?id=183605
3924
3925         Reviewed by Daniel Bates.
3926
3927         This fix is to run Apache HTTP server from native Windows. The environment is different
3928         from cygwin, which is used for AppleWin, in following points:
3929         - A temporary file behaves differently. It cannot reopen by anybody when indicated as 
3930           delete on close. To solve this situation, filesystem.mkdtemp() is used instead.
3931         - It's not unix so that `tail` command is not available. Replaced with python equivalent
3932           function.
3933
3934         * Scripts/webkitpy/common/system/filesystem.py:
3935         (FileSystem.mkdtemp.TemporaryDirectory.__init__):
3936         (FileSystem.mkdtemp.TemporaryDirectory.__exit__): The existing contents would be deleted.
3937         (FileSystem.mkdtemp):
3938         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
3939         (parse_args):
3940         (run_server):
3941         (run_server_with_log_file):
3942         (follow_file):
3943
3944 2018-03-20  Brady Eidson  <beidson@apple.com>
3945
3946         First piece of process swapping on navigation.
3947         https://bugs.webkit.org/show_bug.cgi?id=183665
3948
3949         Reviewed by Andy Estes.
3950
3951         Expose the "swaps processes on navigation" setting in MiniBrowser UI for testing:
3952
3953         * MiniBrowser/mac/AppDelegate.m:
3954         (defaultConfiguration):
3955         * MiniBrowser/mac/SettingsController.h:
3956         * MiniBrowser/mac/SettingsController.m:
3957         (-[SettingsController _populateMenu]):
3958         (-[SettingsController validateMenuItem:]):
3959         (-[SettingsController processSwapOnNavigationEnabled]):
3960         (-[SettingsController toggleProcessSwapOnNavigation:]):
3961
3962         Makes sure the current behavior is tested:
3963         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3964         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Added.
3965         (-[PSONNavigationDelegate webView:didFinishNavigation:]):
3966         (-[PSONScheme webView:startURLSchemeTask:]):
3967         (-[PSONScheme webView:stopURLSchemeTask:]):
3968         (TEST):
3969
3970 2018-03-20  Chris Dumez  <cdumez@apple.com>
3971
3972         QuickLook.NavigationDelegate API test is failing on iOS with async policy delegates
3973         https://bugs.webkit.org/show_bug.cgi?id=183791
3974
3975         Reviewed by Alex Christensen.
3976
3977         Add API test coverage.
3978
3979         * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
3980         (-[QuickLookAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
3981         (-[QuickLookAsyncNavigationDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]):
3982         (-[QuickLookAsyncNavigationDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
3983         (-[QuickLookAsyncNavigationDelegate webView:didFinishNavigation:]):
3984         (TEST):
3985
3986 2018-03-20  Tim Horton  <timothy_horton@apple.com>
3987
3988         Add and adopt WK_PLATFORM_NAME and adjust default feature defines
3989         https://bugs.webkit.org/show_bug.cgi?id=183758
3990         <rdar://problem/38017644>
3991
3992         Reviewed by Dan Bernstein.
3993
3994         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3995
3996 2018-03-20  Chris Dumez  <cdumez@apple.com>
3997
3998         Unreviewed, rolling out r229726 and r229763.
3999
4000         Caused some API test failures on iOS
4001
4002         Reverted changesets:
4003
4004         "Make policy decisions asynchronous"
4005         https://bugs.webkit.org/show_bug.cgi?id=180568
4006         https://trac.webkit.org/changeset/229726
4007
4008         "Rebaseline three webarchive tests for WK2 after r229726."
4009         https://bugs.webkit.org/show_bug.cgi?id=180568
4010         https://trac.webkit.org/changeset/229763
4011
4012 2018-03-20  Zalan Bujtas  <zalan@apple.com>
4013
4014         [LayoutReloaded] Move Display.Box handling from FormattingContext to FormattingState
4015         https://bugs.webkit.org/show_bug.cgi?id=183779
4016
4017         Reviewed by Antti Koivisto.
4018
4019         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
4020         (BlockFormattingContext.prototype._computeStaticPosition):
4021         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
4022         (BlockFormattingContext.prototype._computeFloatingWidth):
4023         (BlockFormattingContext.prototype._computeInFlowWidth):
4024         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
4025         (BlockFormattingContext.prototype._computeFloatingHeight):
4026         (BlockFormattingContext.prototype._computeInFlowHeight):
4027         (BlockFormattingContext.prototype._horizontalConstraint):
4028         (BlockFormattingContext.prototype._contentHeight):
4029         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
4030         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
4031         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
4032         * LayoutReloaded/FormattingContext/FloatingContext.js:
4033         (FloatingContext.prototype.computePosition):
4034         (FloatingContext.prototype._positionForClear):
4035         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
4036         (FloatingContext.prototype._availableSpace):
4037         (FloatingContext.prototype._adjustedFloatingPosition):
4038         * LayoutReloaded/FormattingContext/FormattingContext.js:
4039         (FormattingContext):
4040         (FormattingContext.prototype.absoluteMarginBox):
4041         (FormattingContext.prototype.absoluteBorderBox):
4042         (FormattingContext.prototype.absolutePaddingBox):
4043         (FormattingContext.prototype.absoluteContentBox):
4044         (FormattingContext.prototype._toAbsolutePosition):
4045         (FormattingContext.prototype._toRootAbsolutePosition):
4046         (FormattingContext.prototype._addToLayoutQueue):
4047         (FormattingContext.prototype.displayBox):
4048         (FormattingContext.prototype._createDisplayBox): Deleted.
4049         (FormattingContext.prototype.toDisplayBox): Deleted.
4050         (FormattingContext.prototype.toLayoutBox): Deleted.
4051         * LayoutReloaded/FormattingState/FormattingState.js:
4052         (FormattingState):
4053         (FormattingState.prototype.createDisplayBox):
4054         (FormattingState.prototype.displayBox):
4055
4056 2018-03-20  Zalan Bujtas  <zalan@apple.com>
4057
4058         [LayoutReloaded] Introduce FormattingState (Block/Inline/etc)
4059         https://bugs.webkit.org/show_bug.cgi?id=183777
4060
4061         Reviewed by Antti Koivisto.
4062
4063         This is in preparation for moving out states from the formatting contexts.
4064
4065         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
4066         (BlockFormattingContext):
4067         * LayoutReloaded/FormattingContext/FormattingContext.js:
4068         (FormattingContext):
4069         (FormattingContext.prototype.layoutState):
4070         (FormattingContext.prototype.layoutContext):
4071         (FormattingContext.prototype.layout):
4072         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
4073         (InlineFormattingContext):
4074         * LayoutReloaded/FormattingState/BlockFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
4075         (BlockFormattingState):
4076         * LayoutReloaded/FormattingState/FormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
4077         (FormattingState):
4078         (FormattingState.prototype.formattingContext):
4079         (FormattingState.prototype.layoutContext):
4080         (FormattingState.prototype._setFormattingContext):
4081         * LayoutReloaded/FormattingState/InlineFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
4082         (InlineFormattingState):
4083         * LayoutReloaded/LayoutContext.js:
4084         (LayoutContext):
4085         (LayoutContext.prototype.layout):
4086         (LayoutContext.prototype._createFormattingState):
4087         (LayoutContext.prototype._createFormattingContext): Deleted.
4088         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
4089         * LayoutReloaded/test/index.html:
4090
4091 2018-03-19  Zalan Bujtas  <zalan@apple.com>
4092
4093         [LayoutReloaded] Layout.Box should not create the formatting context.
4094         https://bugs.webkit.org/show_bug.cgi?id=183766
4095
4096         Reviewed by Antti Koivisto.
4097
4098         Since the formattingContext's lifetime is tied to the layout, the LayoutContext
4099         should construct it instead.
4100
4101         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
4102         (BlockFormattingContext):
4103         (BlockFormattingContext.prototype.layout):
4104         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
4105         (BlockFormattingContext.prototype._contentHeight):
4106         * LayoutReloaded/FormattingContext/FormattingContext.js:
4107         (FormattingContext):
4108         (FormattingContext.prototype.layoutContext):
4109         (FormattingContext.prototype.toDisplayBox):
4110         (FormattingContext.prototype._outOfFlowDescendants):
4111         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
4112         (InlineFormattingContext):
4113         (InlineFormattingContext.prototype.layout):
4114         * LayoutReloaded/Layout.js:
4115         (layout):
4116         * LayoutReloaded/LayoutContext.js:
4117         (LayoutContext.prototype.layout):
4118         (LayoutContext.prototype._createFormattingContext):
4119         (LayoutContext):
4120         (LayoutContext.prototype.layoutFormattingContext): Deleted.
4121         * LayoutReloaded/LayoutTree/Box.js:
4122         (Layout.Box):
4123         (Layout.Box.prototype.establishedFormattingContext): Deleted.
4124         * LayoutReloaded/misc/headers/Box.h:
4125
4126 2018-03-19  Chris Dumez  <cdumez@apple.com>
4127
4128         Have one service worker process per security origin
4129         https://bugs.webkit.org/show_bug.cgi?id=183600
4130         <rdar://problem/35280128>
4131
4132         Reviewed by Brady Eidson.
4133
4134         Add API test coverage.
4135
4136         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
4137
4138 2018-03-19  Zalan Bujtas  <zalan@apple.com>
4139
4140         [LayoutReloaded] Remove border/padding/contentBox() functions from Layout.Box
4141         https://bugs.webkit.org/show_bug.cgi?id=183761
4142
4143         Reviewed by Antti Koivisto.
4144
4145         Display.Box has them.
4146
4147         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
4148         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
4149         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
4150         (BlockFormattingContext.prototype._horizontalConstraint):
4151         (BlockFormattingContext.prototype._contentHeight):
4152         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
4153         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
4154         * LayoutReloaded/FormattingContext/FloatingContext.js:
4155         (FloatingContext.prototype._availableSpace):
4156         * LayoutReloaded/FormattingContext/FormattingContext.js:
4157         (FormattingContext.prototype.absoluteBorderBox):
4158         (FormattingContext.prototype.absolutePaddingBox):
4159         (FormattingContext.prototype.absoluteContentBox):
4160         * LayoutReloaded/LayoutTree/Box.js:
4161         (Layout.Box.prototype.isDescendantOf):
4162         (Layout.Box):
4163         (Layout.Box.prototype.borderBox): Deleted.
4164         (Layout.Box.prototype.paddingBox): Deleted.
4165         (Layout.Box.prototype.contentBox): Deleted.
4166
4167 2018-03-19  Jiewen Tan  <jiewen_tan@apple.com>
4168
4169         Unreviewed, another quick fix for r229699
4170
4171         Restricts ENABLE_WEB_AUTHN to only macOS and iOS.
4172
4173         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
4174         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
4175
4176 2018-03-19  Zalan Bujtas  <zalan@apple.com>
4177
4178         [LayoutReloaded] Move statically positioned absolute box positioning to _computeOutOfFlowPosition
4179         https://bugs.webkit.org/show_bug.cgi?id=183750
4180
4181         Reviewed by Antti Koivisto.
4182
4183         * LayoutReloaded/DisplayTree/Box.js:
4184         (Display.Box.prototype.setTop):
4185         (Display.Box.prototype.paddingBox):
4186         (Display.Box.prototype.contentBox):
4187         (Display.Box):
4188         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
4189         (BlockFormattingContext.prototype._computeStaticPosition):
4190         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
4191         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
4192         * LayoutReloaded/FormattingContext/FormattingContext.js:
4193         (FormattingContext.prototype.absoluteMarginBox):
4194         (FormattingContext.prototype.absoluteBorderBox):
4195         (FormattingContext.prototype.absolutePaddingBox):
4196         (FormattingContext.prototype.absoluteContentBox):
4197         (FormattingContext.prototype._toAbsolutePosition):
4198         (FormattingContext.prototype._toRootAbsolutePosition):
4199         (FormattingContext.prototype.toDisplayBox):
4200         * LayoutReloaded/LayoutTree/InitialBlockContainer.js:
4201         (Layout.InitialBlockContainer.prototype.establishesBlockFormattingContext):
4202         (Layout.InitialBlockContainer):
4203         (Layout.InitialBlockContainer.prototype.paddingBox): Deleted.
4204         (Layout.InitialBlockContainer.prototype.contentBox): Deleted.
4205         * LayoutReloaded/Utils.js:
4206         (Utils.isStaticallyPositioned):
4207
4208 2018-03-19  Chris Dumez  <cdumez@apple.com>
4209
4210         WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
4211         https://bugs.webkit.org/show_bug.cgi?id=183702
4212         <rdar://problem/38566060>
4213
4214         Reviewed by Alex Christensen.
4215
4216         Add API test coverage.
4217
4218         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
4219         (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
4220         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
4221         (-[AsyncAutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
4222         (TEST):
4223
4224 2018-03-19  Daniel Bates  <dabates@apple.com>
4225
4226         test-webkitpy no longer runs WebKit2 tests
4227         https://bugs.webkit.org/show_bug.cgi?id=183724
4228
4229         Reviewed by Alexey Proskuryakov.
4230
4231         The WebKit2 tests have seen been moved from Source/WebKit2/Scripts/webkit2 to Source/WebKit/Scripts/webkit.
4232
4233         * Scripts/webkitpy/test/main.py:
4234         (main):
4235
4236 2018-03-19  Daniel Bates  <dabates@apple.com>
4237
4238         Make run-webkit-app work for non-GUI apps
4239         https://bugs.webkit.org/show_bug.cgi?id=183701
4240
4241         Reviewed by Lucas Forschler.
4242
4243         Launch the app directly if it is an executable file. Otherwise, assume it is an app bundle
4244         and launch it using open(1) as we currently do.
4245
4246         Note that open(1) is meant for launching GUI apps. Standard output and standard error are
4247         not sent to the tty when using open(1) to launch a non-GUI app.
4248
4249         * Scripts/run-webkit-app: We make the assumption that 
4250         * Scripts/webkitdirs.pm:
4251             - Define and export constant DO_NOT_USE_OPEN_COMMAND.
4252
4253 2018-03-19  Daniel Bates  <dabates@apple.com>
4254
4255         run-webkit-app -g does not work
4256         https://bugs.webkit.org/show_bug.cgi?id=183699
4257
4258         Reviewed by Lucas Forschler.
4259
4260         Check for the optional command line argument -g/--guard-malloc before taking the
4261         first argument passed to be the path to the app to run.
4262
4263         * Scripts/run-webkit-app:
4264
4265 2018-03-18  Commit Queue  <commit-queue@webkit.org>
4266
4267         Unreviewed, rolling out r229689.
4268         https://bugs.webkit.org/show_bug.cgi?id=183735
4269
4270         Causes fast/loader/inner-iframe-loads-data-url-into-parent-on-
4271         unload-crash.html to fail with async delegates (Requested by
4272         cdumez_ on #webkit).
4273
4274         Reverted changeset:
4275
4276         "WebKit.WebsitePoliciesAutoplayQuirks API test times out with
4277         async policy delegates"
4278         https://bugs.webkit.org/show_bug.cgi?id=183702
4279         https://trac.webkit.org/changeset/229689
4280
4281 2018-03-18  Zalan Bujtas  <zalan@apple.com>
4282
4283         [LayoutReloaded] Remove left/right width/height getters from Layout.Box
4284         https://bugs.webkit.org/show_bug.cgi?id=183734
4285
4286         Reviewed by Antti Koivisto.
4287
4288         ...and use Display.Box instead.
4289
4290         * LayoutReloaded/DisplayTree/Box.js:
4291         (Display.Box.prototype.bottomRight):
4292         (Display.Box.prototype.size):
4293         (Display.Box.prototype.height):
4294         (Display.Box.prototype.width):
4295         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
4296         (BlockFormattingContext.prototype._computeStaticPosition):
4297         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
4298         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
4299         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
4300         * LayoutReloaded/FormattingContext/FloatingContext.js:
4301         (FloatingContext.prototype._positionForClear):
4302         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
4303         (FloatingContext.prototype._adjustedFloatingPosition):
4304         * LayoutReloaded/FormattingContext/FormattingContext.js:
4305         (FormattingContext.prototype.absoluteMarginBox):
4306         (FormattingContext.prototype.absoluteBorderBox):
4307         (FormattingContext.prototype.absolutePaddingBox):
4308         (FormattingContext.prototype.absoluteContentBox):
4309         (FormattingContext.prototype._toAbsolutePosition):
4310         (FormattingContext.prototype._toRootAbsolutePosition):
4311         * LayoutReloaded/LayoutTree/Box.js:
4312         (Layout.Box.prototype.rect): Deleted.
4313         (Layout.Box.prototype.topLeft): Deleted.
4314         (Layout.Box.prototype.bottomRight): Deleted.
4315         * LayoutReloaded/Utils.js:
4316         (Utils._dumpBox):
4317         (Utils.mapToContainer): Deleted.
4318
4319 2018-03-18  Zalan Bujtas  <zalan@apple.com>
4320
4321         [LayoutReloaded] Remove left/right width/height setters from Layout.Box
4322         https://bugs.webkit.org/show_bug.cgi?id=183731
4323
4324         Reviewed by Antti Koivisto.
4325
4326         ...and use Display.Box instead.
4327
4328         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
4329         (BlockFormattingContext.prototype._computeStaticPosition):
4330         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
4331         (BlockFormattingContext.prototype._computeFloatingWidth):
4332         (BlockFormattingContext.prototype._computeInFlowWidth):
4333         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
4334         (BlockForm