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