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