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