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