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