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