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