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