webkitpy: Use current environment value for GST_DEBUG(_FILE) and DOT_DIR env vars
[WebKit-https.git] / Tools / ChangeLog
1 2018-04-02  Thibault Saunier  <tsaunier@igalia.com>
2
3         webkitpy: Use current environment value for GST_DEBUG(_FILE) and DOT_DIR env vars
4         https://bugs.webkit.org/show_bug.cgi?id=184036
5
6         Reviewed by Philippe Normand.
7
8         Those variables are for debug purpose and should not change the behaviour
9         itself, and developers expect them to have effect.
10
11         * Scripts/webkitpy/port/gtk.py:
12         (GtkPort.setup_environ_for_server):
13
14 2018-04-02  Daniel Bates  <dabates@apple.com>
15
16         Remove Options constructor and use internal linkage for option handlers
17         https://bugs.webkit.org/show_bug.cgi?id=184229
18
19         Reviewed by Andy Estes.
20
21         Use C++11 default initializer syntax to remove the need to explicitly have a constructor
22         for the struct Options. Use internal linkage for option handler functions as these
23         are never invoked outside the translation unit they are defined in.
24
25         * WebKitTestRunner/Options.cpp:
26         (WTR::handleOptionNoTimeout):
27         (WTR::handleOptionVerbose):
28         (WTR::handleOptionGcBetweenTests):
29         (WTR::handleOptionPixelTests):
30         (WTR::handleOptionPrintSupportedFeatures):
31         (WTR::handleOptionComplexText):
32         (WTR::handleOptionAcceleratedDrawing):
33         (WTR::handleOptionRemoteLayerTree):
34         (WTR::handleOptionShowWebView):
35         (WTR::handleOptionShowTouches):
36         (WTR::handleOptionAllowedHost):
37         (WTR::handleOptionUnmatched):
38         (WTR::Options::Options): Deleted.
39         * WebKitTestRunner/Options.h:
40
41 2018-04-02  Alejandro G. Castro  <alex@igalia.com>
42
43         Unreviewed GTK port dependencies fix after r230152.
44
45         Add alsa library dependency for gtk.
46
47         * gtk/install-dependencies:
48
49 2018-04-02  Alejandro G. Castro  <alex@igalia.com>
50
51         [GTK] Make libwebrtc backend buildable for GTK  port
52         https://bugs.webkit.org/show_bug.cgi?id=178860
53
54         Reviewed by Youenn Fablet.
55
56         * gstreamer/jhbuild.modules: Modified the libvpx module for the
57         libwebrtc compilation.
58         * gtk/install-dependencies: Add libevent as a system requirement.
59         * Scripts/webkitpy/style/checker.py: Added libwebrtc to the list of third
60         party libraries with reduced style checks.
61
62 2018-04-01  Zalan Bujtas  <zalan@apple.com>
63
64         [LayoutReloaded] Use containing block's contentBox left edge when the float is to the right.
65         https://bugs.webkit.org/show_bug.cgi?id=184230
66
67         Reviewed by Antti Koivisto.
68
69         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
70         (InlineFormattingContext.prototype._mapFloatingPosition):
71         (InlineFormattingContext):
72         * LayoutReloaded/test/index.html:
73         * LayoutReloaded/test/inline-formatting-context-with-floats2.html: Added.
74
75 2018-04-01  Zalan Bujtas  <zalan@apple.com>
76
77         [LayoutReloaded] Right floating box reduces available line width.
78         https://bugs.webkit.org/show_bug.cgi?id=184226
79
80         Reviewed by Antti Koivisto.
81
82         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
83         (InlineFormattingContext.prototype._createNewLine):
84         * LayoutReloaded/test/index.html:
85         * LayoutReloaded/test/inline-with-floats-right-left-simple.html: Added.
86
87 2018-03-31  Zalan Bujtas  <zalan@apple.com>
88
89         [LayoutReloaded] Floating box reduces line with in inline formatting context
90         https://bugs.webkit.org/show_bug.cgi?id=184223
91
92         Reviewed by Antti Koivisto.
93
94         * LayoutReloaded/FormattingContext/FloatingContext.js:
95         (FloatingContext.prototype.left):
96         (FloatingContext.prototype.right):
97         (FloatingContext.prototype._mapDisplayMarginBoxToFormattingRoot):
98         (FloatingContext.prototype._mapBorderBoxToFormattingRoot):
99         (FloatingContext.prototype._mapContentBoxToFormattingRoot):
100         (FloatingContext.prototype.formattingRoot):
101         (FloatingContext.prototype._floatingState):
102         (FloatingContext.prototype._formattingRoot): Deleted.
103         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
104         (InlineFormattingContext.prototype._createNewLine):
105         (InlineFormattingContext.prototype._mapFloatingPosition):
106         (InlineFormattingContext):
107         * LayoutReloaded/FormattingState/FormattingState.js:
108         (FormattingState.prototype.displayBox):
109         (FormattingState):
110         * LayoutReloaded/test/index.html:
111         * LayoutReloaded/test/inline-formatting-context-with-floats.html: Added.
112
113 2018-03-31  Zalan Bujtas  <zalan@apple.com>
114
115         [LayoutReloaded] InlineFormattingState should inherit the floating state from its parent formatting state
116         https://bugs.webkit.org/show_bug.cgi?id=184220
117
118         Reviewed by Antti Koivisto.
119
120         If the block container box that initiates an inline formatting context also establishes a block context,
121         create a new float state, otherwise use the existing one.
122
123         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
124         (BlockFormattingContext.prototype._contentHeight):
125         * LayoutReloaded/FormattingState/InlineFormattingState.js:
126         (InlineFormattingState):
127         * LayoutReloaded/LayoutState.js:
128         (LayoutState.prototype.establishedFormattingState):
129         (LayoutState.prototype.formattingStateForBox):
130         (LayoutState.prototype.formattingState): Deleted.
131         * LayoutReloaded/Utils.js:
132
133 2018-03-31  Zalan Bujtas  <zalan@apple.com>
134
135         [LayoutReloaded] FloatingContext does not need a parent formatting context.
136         https://bugs.webkit.org/show_bug.cgi?id=184219
137
138         Reviewed by Antti Koivisto.
139
140         We don't need the formatting context in the FloatingContext now that margins are moved over to Display.Box.
141         This is in preparation for being able to create a FloatingContext for an inline formatting context,
142         when the inline context actually inherits the floating state from its formatting root.
143
144         * LayoutReloaded/FormattingContext/FloatingContext.js:
145         (FloatingContext):
146         (FloatingContext.prototype._availableSpace):
147         (FloatingContext.prototype._adjustedFloatingPosition):
148         (FloatingContext.prototype._addFloatingBox):
149         (FloatingContext.prototype._formattingContext): Deleted.
150         * LayoutReloaded/FormattingContext/FormattingContext.js:
151         (FormattingContext):
152
153 2018-03-31  Zalan Bujtas  <zalan@apple.com>
154
155         [LayoutReloaded] Do not clone Display.Box for FloatingState stacks.
156         https://bugs.webkit.org/show_bug.cgi?id=184218
157
158         Reviewed by Antti Koivisto.
159
160         Now that Display.Box is in a tree context, we can't just clone it for the purpose of caching its absolute position.
161
162         * LayoutReloaded/DisplayTree/Box.js:
163         (Display.Box.prototype.clone): Deleted.
164         * LayoutReloaded/FormattingContext/FloatingContext.js:
165         (FloatingContext.prototype._positionForFloating):
166         (FloatingContext.prototype._moveToNextVerticalPosition):
167         (FloatingContext.prototype._availableSpace):
168         (FloatingContext.prototype._findFloatingAtVerticalPosition):
169         (FloatingContext.prototype._adjustedFloatingPosition):
170         (FloatingContext.prototype._bottom):
171         (FloatingContext.prototype._addFloatingBox):
172         (FloatingContext.prototype._mapMarginBoxToFormattingRoot):
173         (FloatingContext.prototype._mapDisplayMarginBoxToFormattingRoot):
174         * LayoutReloaded/FormattingState/FloatingState.js:
175         (FloatingState.prototype.addFloating):
176
177 2018-03-31  Zalan Bujtas  <zalan@apple.com>
178
179         [LayoutReloaded] Remove all FormattingContext::absolute*Box functions.
180         https://bugs.webkit.org/show_bug.cgi?id=184215
181
182         Reviewed by Antti Koivisto.
183
184         Use Display.Box instead.
185
186         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
187         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
188         * LayoutReloaded/FormattingContext/FloatingContext.js:
189         (FloatingContext.prototype._availableSpace):
190         (FloatingContext.prototype._adjustedFloatingPosition):
191         (FloatingContext.prototype._mapBorderBoxToFormattingRoot):
192         (FloatingContext.prototype._mapContentBoxToFormattingRoot):
193         * LayoutReloaded/FormattingContext/FormattingContext.js:
194         (FormattingContext.prototype.absoluteBorderBox): Deleted.
195         (FormattingContext.prototype.absolutePaddingBox): Deleted.
196         (FormattingContext.prototype.absoluteContentBox): Deleted.
197         (FormattingContext.prototype._toAbsolutePosition): Deleted.
198         (FormattingContext.prototype._toRootAbsolutePosition): Deleted.
199         * LayoutReloaded/Utils.js:
200         (Utils.mapPosition):
201         (Utils.marginBox):
202         (Utils.borderBox):
203         (Utils.contentBox):
204
205 2018-03-31  Zalan Bujtas  <zalan@apple.com>
206
207         [LayoutReloaded] Remove FormattingContext::absoluteMarginBox
208         https://bugs.webkit.org/show_bug.cgi?id=184213
209
210         Reviewed by Antti Koivisto.
211
212         Display.Box already has the margin values.
213
214         * LayoutReloaded/FormattingContext/FloatingContext.js:
215         (FloatingContext.prototype._positionForFloating):
216         (FloatingContext.prototype._addFloatingBox):
217         (FloatingContext.prototype._mapMarginBoxToFormattingRoot):
218         (FloatingContext.prototype._formattingRoot):
219         * LayoutReloaded/FormattingContext/FormattingContext.js:
220         (FormattingContext.prototype.absoluteMarginBox): Deleted.
221         * LayoutReloaded/Utils.js:
222         (Utils.marginBox):
223
224 2018-03-31  Zalan Bujtas  <zalan@apple.com>
225
226         [layoutReloaded] Introduce margin to Display.Box
227         https://bugs.webkit.org/show_bug.cgi?id=184212
228
229         Reviewed by Antti Koivisto.
230
231         This is in preparation for moving margin box out of formatting context to Display.Box.
232
233         * LayoutReloaded/DisplayTree/Box.js:
234         (Display.Box):
235         (Display.Box.prototype.setRect):
236         (Display.Box.prototype.setTopLeft):
237         (Display.Box.prototype.setTop):
238         (Display.Box.prototype.setLeft):
239         (Display.Box.prototype.setSize):
240         (Display.Box.prototype.setWidth):
241         (Display.Box.prototype.setHeight):
242         (Display.Box.prototype.width):
243         (Display.Box.prototype.setMarginTop):
244         (Display.Box.prototype.setMarginLeft):
245         (Display.Box.prototype.setMarginBottom):
246         (Display.Box.prototype.setMarginRight):
247         (Display.Box.prototype.marginTop):
248         (Display.Box.prototype.marginLeft):
249         (Display.Box.prototype.marginBottom):
250         (Display.Box.prototype.marginRight):
251         (Display.Box.prototype.marginBox):
252         * LayoutReloaded/FormattingContext/FormattingContext.js:
253         (FormattingContext.prototype.absoluteMarginBox):
254         (FormattingContext.prototype._addToLayoutQueue):
255         * LayoutReloaded/FormattingState/FormattingState.js:
256         (FormattingState.prototype.createDisplayBox):
257
258 2018-03-31  Zalan Bujtas  <zalan@apple.com>
259
260         [LayoutReloaded] Add tree context to Display.Box
261         https://bugs.webkit.org/show_bug.cgi?id=184211
262
263         Reviewed by Antti Koivisto.
264
265         This is preparation for using the Display.Box tree to resolve absolute coordinates.
266
267         * LayoutReloaded/DisplayTree/Box.js:
268         (Display.Box):
269         (Display.Box.prototype.setParent):
270         (Display.Box.prototype.setNextSibling):
271         (Display.Box.prototype.setPreviousSibling):
272         (Display.Box.prototype.setFirstChild):
273         (Display.Box.prototype.setLastChild):
274         (Display.Box.prototype.parent):
275         (Display.Box.prototype.nextSibling):
276         (Display.Box.prototype.previousSibling):
277         (Display.Box.prototype.firstChild):
278         (Display.Box.prototype.lastChild):
279         * LayoutReloaded/FormattingState/FormattingState.js:
280         (FormattingState.prototype.createDisplayBox):
281
282 2018-03-30  Ryosuke Niwa  <rniwa@webkit.org>
283
284         Copying a list from Microsoft Word to TinyMCE fails when mso-list is the first property
285         https://bugs.webkit.org/show_bug.cgi?id=182938
286         <rdar://problem/37683007>
287
288         Reviewed by Wenson Hsieh.
289
290         Added more assertions to PasteHTML.PreservesMSOList for preserving an inline style which starts with mso-list
291         or the one which line-breaks right before it.
292
293         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
294         * TestWebKitAPI/Tests/WebKitCocoa/mso-list.html:
295
296 2018-03-29  Ryosuke Niwa  <rniwa@webkit.org>
297
298         Copying a list from Microsoft Word to TinyMCE fails when mso-list is on tags other than P
299         https://bugs.webkit.org/show_bug.cgi?id=182954
300         <rdar://problem/37713141>
301
302         Reviewed by Wenson Hsieh.
303
304         Added a test case for a HTML generated by Microsoft Word which sets mso-list on h4.
305
306         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
307         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
308         * TestWebKitAPI/Tests/WebKitCocoa/mso-list-compat-mode.html: Fixed the file path.
309         * TestWebKitAPI/Tests/WebKitCocoa/mso-list-on-h4.html: Added.
310
311 2018-03-29  Ross Kirsling  <ross.kirsling@sony.com>
312
313         run-jsc-benchmarks should recognize Windows-style build directory structure.
314         https://bugs.webkit.org/show_bug.cgi?id=184117
315
316         Reviewed by Yusuke Suzuki.
317
318         * Scripts/run-jsc-benchmarks:
319         Allow not only bin/jsc but also bin64/jsc.exe.
320
321 2018-03-29  Zalan Bujtas  <zalan@apple.com>
322
323         [LayoutReloaded] Decouple formatting state and context lifetime.
324         https://bugs.webkit.org/show_bug.cgi?id=184136
325
326         Reviewed by Antti Koivisto.
327
328         FormattingContext is about the layout logic. We don't need to hold on to it.
329
330         * LayoutReloaded/FormattingContext/FloatingContext.js:
331         (FloatingContext):
332         (FloatingContext.prototype.computePosition):
333         (FloatingContext.prototype._positionForClear):
334         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
335         (FloatingContext.prototype._addFloatingBox):
336         (FloatingContext.prototype._formattingContext):
337         (FloatingContext.prototype._formattingState):
338         * LayoutReloaded/FormattingContext/FormattingContext.js:
339         (FormattingContext):
340         * LayoutReloaded/FormattingState/BlockFormattingState.js:
341         (BlockFormattingState):
342         * LayoutReloaded/FormattingState/FloatingState.js:
343         (FloatingState):
344         (FloatingState.prototype.addFloating):
345         (FloatingState.prototype.formattingState):
346         (FloatingState.prototype.formattingContext): Deleted.
347         * LayoutReloaded/FormattingState/FormattingState.js:
348         (FormattingState):
349         (FormattingState.prototype.formattingContext): Deleted.
350         * LayoutReloaded/FormattingState/InlineFormattingState.js:
351         (InlineFormattingState):
352         * LayoutReloaded/LayoutState.js:
353         (LayoutState.prototype.layout):
354         (LayoutState.prototype.formattingContext):
355
356 2018-03-28  Zalan Bujtas  <zalan@apple.com>
357
358         [LayoutReloaded] Introduce FloatingState.
359         https://bugs.webkit.org/show_bug.cgi?id=184126
360
361         Reviewed by Antti Koivisto.
362
363         It holds the floating state (left/right floating stack) for a given formatting state (Block or Inline).
364         (FormattingState -> FloatingState/FormattingContext -> FloatingContext)
365
366         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
367         (BlockFormattingContext):
368         * LayoutReloaded/FormattingContext/FloatingContext.js:
369         (FloatingContext):
370         (FloatingContext.prototype.computePosition):
371         (FloatingContext.prototype.bottom):
372         (FloatingContext.prototype._positionForFloating):
373         (FloatingContext.prototype._positionForClear):
374         (FloatingContext.prototype._findInnerMostLeftAndRight):
375         (FloatingContext.prototype._isEmpty):
376         (FloatingContext.prototype._floatingState):
377         (FloatingContext.prototype._formattingContext):
378         (FloatingContext.prototype._lastFloating):
379         (FloatingContext.prototype._leftFloatingStack):
380         (FloatingContext.prototype._rightFloatingStack):
381         (FloatingContext.prototype._addFloating): Deleted.
382         * LayoutReloaded/FormattingContext/FormattingContext.js:
383         (FormattingContext):
384         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
385         (InlineFormattingContext):
386         * LayoutReloaded/FormattingState/BlockFormattingState.js:
387         (BlockFormattingState):
388         * LayoutReloaded/FormattingState/FloatingState.js: Copied from Tools/LayoutReloaded/FormattingState/InlineFormattingState.js.
389         (FloatingState):
390         (FloatingState.prototype.addFloating):
391         (FloatingState.prototype.leftFloatingStack):
392         (FloatingState.prototype.rightFloatingStack):
393         (FloatingState.prototype.lastFloating):
394         (FloatingState.prototype.formattingContext):
395         * LayoutReloaded/FormattingState/FormattingState.js:
396         (FormattingState):
397         (FormattingState.prototype.floatingState):
398         * LayoutReloaded/FormattingState/InlineFormattingState.js:
399         (InlineFormattingState):
400         * LayoutReloaded/test/index.html:
401
402 2018-03-28  Zalan Bujtas  <zalan@apple.com>
403
404         [LayoutReloaded] Convert floating left/right stack display boxes absolute to the formatting context's root.
405         https://bugs.webkit.org/show_bug.cgi?id=184123
406
407         Reviewed by Antti Koivisto.
408
409         1. The left/right floating array should hold the Display.Box (and not the Layout.Box)
410         2. Clone the Display.Box and convert its rect absolute to the formatting context's root so that we
411         don't have to keep converting the coordinates while computing the positions. 
412
413         * LayoutReloaded/DisplayTree/Box.js:
414         (Display.Box.prototype.clone):
415         (Display.Box.prototype.setRect):
416         * LayoutReloaded/FormattingContext/FloatingContext.js:
417         (FloatingContext.prototype.computePosition):
418         (FloatingContext.prototype._positionForFloating):
419         (FloatingContext.prototype._addFloating):
420         (FloatingContext.prototype._moveToNextVerticalPosition):
421         (FloatingContext.prototype._availableSpace):
422         (FloatingContext.prototype._findFloatingAtVerticalPosition):
423         (FloatingContext.prototype._adjustedFloatingPosition):
424         (FloatingContext.prototype._bottom):
425
426 2018-03-28  Chris Dumez  <cdumez@apple.com>
427
428         Unreviewed iOS build fix after r230060.
429
430         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
431
432 2018-03-28  Chris Dumez  <cdumez@apple.com>
433
434         Unreviewed, disable new window.open() API tests introduced in r230051 on iOS.
435
436         I will investigate if this is testable on iOS.
437
438         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
439
440 2018-03-28  Chris Dumez  <cdumez@apple.com>
441
442         Do process swap when opening a cross-origin URL via window.open(url, '_blank', 'noopener')
443         https://bugs.webkit.org/show_bug.cgi?id=183962
444         <rdar://problem/38817833>
445
446         Reviewed by Brady Eidson.
447
448         Add API test coverage.
449
450         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
451         (-[PSONUIDelegate initWithNavigationDelegate:]):
452         (-[PSONUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
453
454 2018-03-28  Carlos Eduardo Ramalho  <cadubentzen@gmail.com>
455
456         Add Carlos Eduardo Ramalho as contributor
457         https://bugs.webkit.org/show_bug.cgi?id=184082
458
459         Reviewed by Carlos Alberto Lopez Perez.
460
461         * Scripts/webkitpy/common/config/contributors.json:
462
463 2018-03-28  Wenson Hsieh  <wenson_hsieh@apple.com>
464
465         [Extra zoom mode] Make boosted text autosizing values switchable at runtime
466         https://bugs.webkit.org/show_bug.cgi?id=184092
467         <rdar://problem/38939917>
468
469         Reviewed by Tim Horton.
470
471         Add an API test to check that toggling the boosted text autosizing preference causes text to lay out larger than
472         it would with normal text autosizing.
473
474         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
475         * TestWebKitAPI/Tests/ios/TextAutosizingBoost.mm: Added.
476         (TEST):
477
478 2018-03-28  Zalan Bujtas  <zalan@apple.com>
479
480         [LayoutReloaded] InlineFormattingContext::_handleText should support runs on multiple lines
481         https://bugs.webkit.org/show_bug.cgi?id=184101
482
483         Reviewed by Antti Koivisto.
484
485         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
486         (InlineFormattingContext):
487         (InlineFormattingContext.prototype.layout):
488         (InlineFormattingContext.prototype._handleText):
489         (InlineFormattingContext.prototype._createNewLine):
490         * LayoutReloaded/test/index.html:
491         * LayoutReloaded/test/simple-multiline-text.html: Added.
492
493 2018-03-28  Zalan Bujtas  <zalan@apple.com>
494
495         [LayoutReloaded] Add InlineTextBreaker::skipLeadingWhitespaceIfNeeded
496         https://bugs.webkit.org/show_bug.cgi?id=184099
497
498         Reviewed by Antti Koivisto.
499
500         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
501
502 2018-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
503
504         [GLIB] Add JSCWeakValue to JavaScriptCore GLib API
505         https://bugs.webkit.org/show_bug.cgi?id=184041
506
507         Reviewed by Michael Catanzaro.
508
509         Add test case for JSCWeakValue.
510
511         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp:
512         (weakValueClearedCallback):
513         (testJSCWeakValue):
514         (main):
515
516 2018-03-27  Zalan Bujtas  <zalan@apple.com>
517
518         [LayoutReloaded] Start using window.collectTextRuns() to layout text lines in inline formatting context
519         https://bugs.webkit.org/show_bug.cgi?id=184070
520
521         Reviewed by Antti Koivisto.
522
523         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
524         (InlineFormattingContext.prototype._handleText):
525         (InlineFormattingContext.prototype._commitLine):
526         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
527         (Line.prototype.addTextLineBox):
528         (Line):
529         (Line.prototype.addLineBox): Deleted.
530         * LayoutReloaded/FormattingState/BlockFormattingState.js:
531         (BlockFormattingState):
532         * LayoutReloaded/FormattingState/FormattingState.js:
533         (FormattingState.prototype.displayBox):
534         (FormattingState):
535         (FormattingState.prototype._setFormattingContext): Deleted.
536         * LayoutReloaded/FormattingState/InlineFormattingState.js:
537         (InlineFormattingState):
538         * LayoutReloaded/LayoutTree/Text.js:
539         (Text.prototype.content):
540         * LayoutReloaded/Utils.js:
541         (Utils.textRuns):
542         (Utils.textRunsForLine):
543         (Utils._dumpLines.):
544         (Utils._dumpLines):
545         * LayoutReloaded/test/simple-inline-text.html:
546
547 2018-03-27  Eric Carlson  <eric.carlson@apple.com>
548
549         https://bugs.webkit.org/show_bug.cgi?id=183876
550         <rdar://problem/38726459>
551         
552         Unreviewed, fix for the test added in r229995 in the iOS simulator.
553
554         * TestWebKitAPI/Tests/WebKitCocoa/AVFoundationPreference.mm:
555         (TestWebKitAPI::AVFoundationPref::testWithPreference):
556
557 2018-03-27  Jiewen Tan  <jiewen_tan@apple.com>
558
559         [WebAuthN] Implement authenticatorGetAssertion
560         https://bugs.webkit.org/show_bug.cgi?id=183881
561         <rdar://problem/37258628>
562
563         Reviewed by Brent Fulgham.
564
565         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
566         (TestWebKitAPI::getTestKey):
567         (TestWebKitAPI::addTestKeyToKeychain):
568         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::evaluatePolicyFailed):
569         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::evaluatePolicyPassed):
570         (TestWebKitAPI::LAEvaluateAccessControlFailedSwizzler::LAEvaluateAccessControlFailedSwizzler):
571         (TestWebKitAPI::LAEvaluateAccessControlFailedSwizzler::evaluateAccessControlFailed):
572         (TestWebKitAPI::LAEvaluateAccessControlPassedSwizzler::LAEvaluateAccessControlPassedSwizzler):
573         (TestWebKitAPI::LAEvaluateAccessControlPassedSwizzler::evaluateAccessControlPassed):
574         (TestWebKitAPI::TEST):
575
576 2018-03-27  Brian Burg  <bburg@apple.com>
577
578         REGRESSION(r229937): WebDriver tests no longer run, test runner hangs when launching wpt web server
579         https://bugs.webkit.org/show_bug.cgi?id=184056
580         <rdar://problem/38925058>
581
582         Reviewed by Timothy Hatcher and Youenn Fablet.
583
584         * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
585         (WebDriverW3CWebServer.start):
586         The config key used in upstream WPT has changed from 'host' to 'browser_host'.
587
588 2018-03-27  Timothy Hatcher  <timothy@hatcher.name>
589
590         Update my email address in contributors.json and scripts
591         https://bugs.webkit.org/show_bug.cgi?id=184054
592
593         * Scripts/validate-committer-lists:
594         (CommitterListFromGit):
595         * Scripts/webkitpy/common/config/contributors.json:
596
597 2018-03-27  Eric Carlson  <eric.carlson@apple.com>
598
599         Make AVFoundationEnabled preference available on iOS
600         https://bugs.webkit.org/show_bug.cgi?id=183876
601         <rdar://problem/38726459>
602
603         Reviewed by Youenn Fablet.
604
605         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
606         * TestWebKitAPI/Tests/WebKit/video.html: Added.
607         * TestWebKitAPI/Tests/WebKitCocoa/AVFoundationPreference.mm: Added.
608         (-[PreferenceTestMessageHandler userContentController:didReceiveScriptMessage:]):
609         (TestWebKitAPI::AVFoundationPref::SetUp):
610         (TestWebKitAPI::AVFoundationPref::testWithPreference):
611         (TestWebKitAPI::TEST_F):
612
613 2018-03-26  Brent Fulgham  <bfulgham@apple.com>
614
615         Warn against cookie access in the WebContent process using ProcessPrivilege assertions
616         https://bugs.webkit.org/show_bug.cgi?id=183911
617         <rdar://problem/38762306>
618
619         Reviewed by Youenn Fablet.
620
621         Add a set of ProcessPrivilege assertions to enforce the rule that the WebContent process
622         should never call Cookie API directly. That should only happen in the Networking or
623         UIProcess. 
624
625         * DumpRenderTree/mac/DumpRenderTree.mm:
626         (DumpRenderTreeMain):
627         * TestWebKitAPI/TestsController.cpp:
628         (TestWebKitAPI::TestsController::TestsController):
629         * WebKitTestRunner/TestController.cpp:
630         (WTR::TestController::initialize):
631
632 2018-03-26  Zalan Bujtas  <zalan@apple.com>
633
634         [LayoutReloaded] Add InlineText DOM interface and dependencies
635         https://bugs.webkit.org/show_bug.cgi?id=184010
636
637         Reviewed by Antti Koivisto.
638
639         to help inline text layout.
640
641         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
642
643 2018-03-25  Carlos Garcia Campos  <cgarcia@igalia.com>
644
645         [GTK][WPE] Add API to convert between DOM and JSCValue
646         https://bugs.webkit.org/show_bug.cgi?id=183448
647
648         Reviewed by Michael Catanzaro.
649
650         Add unit tests for non-deprecated DOM API and switch existing tests to use non-deprecated API except for the
651         ones that test the deprecated API.
652
653         * TestWebKitAPI/Tests/WebKitGLib/DOMElementTest.cpp: Added.
654         (DOMElementTest::create):
655         (DOMElementTest::testAutoFill):
656         (registerTests):
657         * TestWebKitAPI/Tests/WebKitGLib/EditorTest.cpp: Added.
658         (WebKitWebEditorTest::create):
659         (WebKitWebEditorTest::selectionChangedCallback):
660         (WebKitWebEditorTest::testSelectionchanged):
661         (registerTests):
662         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
663         (WebKitFrameTest::testJavaScriptValues):
664         (registerTests):
665         * TestWebKitAPI/Tests/WebKitGLib/TestDOMElement.cpp: Renamed from Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMObjectPrivate.h.
666         (testWebKitDOMElementAutoFill):
667         (beforeAll):
668         (afterAll):
669         * TestWebKitAPI/Tests/WebKitGLib/TestEditor.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKitGtk/TestEditor.cpp.
670         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
671         (testWebKitFrameJavaScriptValues):
672         (beforeAll):
673         * TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
674         (inputElementIsUserEdited):
675         (testWebExtensionInputElementIsUserEdited):
676         (testWebExtensionFormSubmissionSteps):
677         (beforeAll):
678         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
679         (documentLoadedCallback):
680         (serializeNode):
681         (contextMenuCallback):
682         (consoleMessageSentCallback):
683         (formControlsAssociatedCallback):
684         (willSubmitFormCallback):
685         (pageCreatedCallback):
686         (methodCallCallback):
687         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
688         (checkLeaks):
689         (webProcessTestRunnerFinalize):
690         (checkLeaksAtExit):
691         * TestWebKitAPI/Tests/WebKitGtk/AutocleanupsTest.cpp:
692         (AutocleanupsTest::testWebProcessAutocleanups):
693         * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
694         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeFilterTest.cpp:
695         * TestWebKitAPI/Tests/WebKitGtk/DOMNodeTest.cpp:
696         * TestWebKitAPI/Tests/WebKitGtk/DOMXPathNSResolverTest.cpp:
697         * TestWebKitAPI/Tests/WebKitGtk/EditorTest.cpp: Removed.
698         * TestWebKitAPI/glib/CMakeLists.txt:
699         * TestWebKitAPI/glib/PlatformGTK.cmake:
700         * TestWebKitAPI/glib/PlatformWPE.cmake:
701
702 2018-03-24  Jonathan Bedard  <jbedard@apple.com>
703
704         webkitpy: Unrecognized mac versions always use WebKitTestRunner
705         https://bugs.webkit.org/show_bug.cgi?id=183681
706         <rdar://problem/38509162>
707
708         Reviewed by Daniel Bates.
709
710         When an unrecognized version is used, we were unconditionally adding '-wk2'
711         to the mac version name. This would mean that the port object would always
712         use WebKitTestRunner as the driver, even if DumpRenderTree was explicitly
713         requested.
714
715         * Scripts/webkitpy/port/apple.py:
716         (ApplePort.determine_full_port_name): Only add wk2 to port names if
717         WebKitTestRunner is specified.
718         * Scripts/webkitpy/port/mac.py:
719         (MacPort.__init__): Compare length of split string, and do not treat wk2 as a
720         version name.
721         * Scripts/webkitpy/port/mac_unittest.py:
722         (MacTest):
723         (MacTest.test_factory_with_future_version): Confirm that future versions correctly
724         assign the driver and have undefined version names.
725         (MacTest.test_factory_with_portname_version): Confirm that general versions correctly assign
726         the driver and have defined versions.
727         (MacTest.test_factory_with_portname_wk2): Ensure that mac ports ending in 'wk2' set
728         the driver to be WebKitTestRunner even if webkit_test_runner=False.
729
730 2018-03-23  Zan Dobersek  <zdobersek@igalia.com>
731
732         Fix the run-benchmark script, properly specifying the plan directory
733         where the Skipped file is located.
734
735         Rubber-stamped by Carlos Alberto Lopez Perez.
736
737         * Scripts/webkitpy/benchmark_runner/run_benchmark.py:
738         (start):
739
740 2018-03-23  Tim Horton  <timothy_horton@apple.com>
741
742         Fix the build with no pasteboard
743         https://bugs.webkit.org/show_bug.cgi?id=183973
744
745         Reviewed by Dan Bernstein.
746
747         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
748
749 2018-03-23  Youenn Fablet  <youenn@apple.com>
750
751         Update WPT tools to a1ec330
752         https://bugs.webkit.org/show_bug.cgi?id=183934
753
754         Reviewed by Chris Dumez.
755
756         Update script to run WPT server  according updated WPT tools.
757
758         * Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
759         (main):
760         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
761         (base_http_url):
762         (base_https_url):
763
764 2018-03-23  Sihui Liu  <sihui_liu@apple.com>
765
766         Local storage getItem() for an empty string returned UNDEFINED value.
767         https://bugs.webkit.org/show_bug.cgi?id=69138
768         <rdar://problem/13410974>
769
770         Reviewed by Brady Eidson.
771
772         Add API test coverage.
773
774         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
775         * TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm: Added.
776         (-[LocalStorageMessageHandler userContentController:didReceiveScriptMessage:]):
777         (TEST):
778         * TestWebKitAPI/Tests/WebKitCocoa/localstorage-empty-string-value.html: Added.
779
780 2018-03-23  Chris Dumez  <cdumez@apple.com>
781
782         Promptly terminate service worker processes when they are no longer needed
783         https://bugs.webkit.org/show_bug.cgi?id=183873
784         <rdar://problem/38676995>
785
786         Reviewed by Youenn Fablet.
787
788         Add API test coverage.
789
790         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
791
792 2018-03-23  Brady Eidson  <beidson@apple.com>
793
794         Go to back/forward list items after a process-swapped navigation.
795         <rdar://problem/38690544> and https://bugs.webkit.org/show_bug.cgi?id=183920
796
797         Reviewed by Andy Estes.
798
799         Add a new API test that does some process-swapping navigations (including a back navigation)
800         and verifies the state of the engine afterwards.
801
802         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
803         (-[PSONMessageHandler userContentController:didReceiveScriptMessage:]):
804         (-[PSONScheme initWithBytes:]):
805         (-[PSONScheme webView:startURLSchemeTask:]):
806         (log):
807         (function):
808         (TEST): Deleted.
809
810 2018-03-23  Brendan McLoughlin  <brendan@bocoup.com>
811
812         Lint web-platform-tests changes with the wpt linter before exporting
813         https://bugs.webkit.org/show_bug.cgi?id=183796
814
815         Reviewed by Youenn Fablet.
816
817         * Scripts/webkitpy/w3c/test_exporter.py:
818         (TestExporter.__init__):
819         (TestExporter.do_export):
820         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
821         (TestExporterTest.MockWPTLinter):
822         (TestExporterTest.MockWPTLinter.__init__):
823         (TestExporterTest.MockWPTLinter.lint):
824         (TestExporterTest.test_export):
825         (TestExporterTest.test_export_with_specific_branch):
826         * Scripts/webkitpy/w3c/wpt_linter.py: Added.
827         (WPTLinter):
828         (WPTLinter.__init__):
829         (WPTLinter.lint):
830
831 2018-03-23  David Kilzer  <ddkilzer@apple.com>
832
833         Stop using dispatch_set_target_queue()
834         <https://webkit.org/b/183908>
835         <rdar://problem/33553533>
836
837         Reviewed by Daniel Bates.
838
839         * Scripts/webkitpy/style/checkers/cpp.py:
840         (check_language): Add check for use of
841         dispatch_set_target_queue().
842         (CppChecker): Add 'runtime/dispatch_set_target_queue' category.
843         * Scripts/webkitpy/style/checkers/cpp_unittest.py:
844         (CppStyleTest): Add test.
845
846 2018-03-23  Youenn Fablet  <youenn@apple.com>
847
848         Allow fully whitelisted plug-ins to match non HTTP URLs
849         https://bugs.webkit.org/show_bug.cgi?id=183938
850         rdar://problem/38534312
851
852         Reviewed by Chris Dumez.
853
854         * TestWebKitAPI/Tests/WebCore/URL.cpp:
855         (TestWebKitAPI::TEST_F):
856
857 2018-03-23  JF Bastien  <jfbastien@apple.com>
858
859         dump-class-layout is just wrong
860         https://bugs.webkit.org/show_bug.cgi?id=183939
861
862         Reviewed by Yusuke Suzuki.
863
864         Looks like r229291 contained a half-renamed variable in it, so it
865         just doesn't work.
866
867         * Scripts/dump-class-layout:
868         (verify_type):
869         (verify_type_recursive):
870
871 2018-03-23  Carlos Garcia Campos  <cgarcia@igalia.com>
872
873         Unreviewed. Run JSC GLib API tests in GTK+ and WPE bots.
874
875         The test runners were still considering the JSC tests as google tests, but they are now GLib tests.
876
877         * Scripts/run-gtk-tests:
878         (GtkTestRunner.is_glib_test):
879         (GtkTestRunner.is_google_test):
880         * Scripts/run-wpe-tests:
881         (WPETestRunner.is_glib_test):
882         (WPETestRunner.is_google_test):
883
884 2018-03-22  Daniel Bates  <dabates@apple.com>
885
886         Expose SchemeRegistry::registerAsCanDisplayOnlyIfCanRequest() as WebKit SPI
887         https://bugs.webkit.org/show_bug.cgi?id=183907
888         <rdar://problem/38759127>
889
890         Reviewed by Alex Christensen.
891
892         Adds unit tests for the modern Objective-C and C SPI to ensure we do not regress it.
893
894         We use the deprecated -[WKBrowsingContextController registerSchemeForCustomProtocol:]
895         in both the modern Objective-C API and C API tests to share code. Once we no longer
896         need to support the C API we should remove the tests and transition the modern Objective-
897         C tests to use -[WKWebViewConfiguration setURLSchemeHandler:forURLScheme:].
898
899         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
900         * TestWebKitAPI/Tests/WebKitCocoa/SchemeRegistry.mm: Added.
901         (+[EchoURLProtocol canInitWithRequest:]):
902         (+[EchoURLProtocol canonicalRequestForRequest:]):
903         (+[EchoURLProtocol requestIsCacheEquivalent:toRequest:]):
904         (-[EchoURLProtocol startLoading]):
905         (-[EchoURLProtocol stopLoading]):
906         (-[WKContextRegisterURLSchemeAsCanDisplayOnlyIfCanRequestLoadDelegate browsingContextController:didFailProvisionalLoadWithError:]):
907         (-[WKContextRegisterURLSchemeAsCanDisplayOnlyIfCanRequestLoadDelegate browsingContextControllerDidFinishLoad:]):
908         (TestWebKitAPI::TEST):
909
910 2018-03-22  Adrian Perez de Castro  <aperez@igalia.com>
911
912         [WPE] Enable WOFF2 support
913         https://bugs.webkit.org/show_bug.cgi?id=178158
914
915         Reviewed by Frédéric Wang.
916
917         * wpe/jhbuild.modules: Add "brotli" and "woff2" to the JHBuild moduleset.
918
919 2018-03-22  Brendan McLoughlin  <brendan@bocoup.com>
920
921         Do not export web-platform-test files generated by the wpt importer to assist the webkit test runner
922         https://bugs.webkit.org/show_bug.cgi?id=183916
923
924         Reviewed by Youenn Fablet.
925
926         * Scripts/webkitpy/w3c/test_exporter.py:
927         (TestExporter.create_branch_with_patch):
928         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
929         (TestExporterTest.test_export):
930         (TestExporterTest.test_export_with_specific_branch):
931
932 2018-03-22  Tim Horton  <timothy_horton@apple.com>
933
934         Improve readability of WebCore's OTHER_LDFLAGS
935         https://bugs.webkit.org/show_bug.cgi?id=183909
936         <rdar://problem/38760992>
937
938         Reviewed by Dan Bernstein.
939
940         * TestWebKitAPI/Configurations/Base.xcconfig:
941         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
942
943 2018-03-21  Fujii Hironori  <Hironori.Fujii@sony.com>
944
945         Unreviewed. Marked myself as a committer.
946
947         * Scripts/webkitpy/common/config/contributors.json:
948
949 2018-03-21  Yoshiaki Jitsukawa  <yoshiaki.jitsukawa@sony.com>
950
951         Unreviewed, make the email address of Yoshiaki Jitsukawa all lower case.
952
953         * Scripts/webkitpy/common/config/contributors.json:
954
955 2018-03-21  Yoshiaki Jitsukawa  <Yoshiaki.Jitsukawa@sony.com>
956
957         Unreviewed, add myself as a WebKit committer.
958
959         * Scripts/webkitpy/common/config/contributors.json:
960
961 2018-03-21  Chris Dumez  <cdumez@apple.com>
962
963         ScrollViewInsetTests.RestoreInitialContentOffsetAfterCrash API test is failing with async delegates
964         https://bugs.webkit.org/show_bug.cgi?id=183787
965
966         Reviewed by Wenson Hsieh.
967
968         Add API test coverage.
969
970         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:
971         (-[AsyncPolicyDelegateForInsetTest webView:didFinishNavigation:]):
972         (-[AsyncPolicyDelegateForInsetTest webView:decidePolicyForNavigationAction:decisionHandler:]):
973         (-[AsyncPolicyDelegateForInsetTest webView:decidePolicyForNavigationResponse:decisionHandler:]):
974         (-[AsyncPolicyDelegateForInsetTest webViewWebContentProcessDidTerminate:]):
975         (TestWebKitAPI::TEST):
976
977 2018-03-21  Chris Dumez  <cdumez@apple.com>
978
979         Fix DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop to use synchronouslyLoadTestPageNamed
980         https://bugs.webkit.org/show_bug.cgi?id=183858
981
982         Reviewed by Wenson Hsieh.
983
984         Fix DataInteractionTests.InjectedBundleAllowPerformTwoStepDrop to use synchronouslyLoadTestPageNamed
985         instead of loadTestPageNamed because injecting script.
986
987         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
988         (TestWebKitAPI::TEST):
989
990 2018-03-21  Zalan Bujtas  <zalan@apple.com>
991
992         [LayoutReloaded] Enable formatting state for InlineFormattingContext
993         https://bugs.webkit.org/show_bug.cgi?id=183853
994
995         Reviewed by Antti Koivisto.
996
997         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
998         (BlockFormattingContext.prototype._contentHeight):
999         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1000         (InlineFormattingContext):
1001         (InlineFormattingContext.prototype.layout):
1002         (InlineFormattingContext.prototype._createNewLine):
1003         * LayoutReloaded/LayoutState.js:
1004         (LayoutState.prototype.formattingState):
1005         * LayoutReloaded/README.md:
1006         * LayoutReloaded/Utils.js:
1007         (Utils._dumpTree):
1008         * LayoutReloaded/test/index.html:
1009         * LayoutReloaded/test/simple-inline-text.html: Added.
1010
1011 2018-03-21  Zalan Bujtas  <zalan@apple.com>
1012
1013         [LayoutReloaded] Move inline lines to InlineFormattingState.
1014         https://bugs.webkit.org/show_bug.cgi?id=183814
1015
1016         Reviewed by Antti Koivisto.
1017
1018         InlineFormattingContext is not supposed to hold state.
1019
1020         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1021         (InlineFormattingContext):
1022         (InlineFormattingContext.prototype._commitLine):
1023         (InlineFormattingContext.prototype._createNewLine):
1024         (InlineFormattingContext.prototype.lines): Deleted.
1025         (InlineFormattingContext.prototype._initializeLine): Deleted.
1026         * LayoutReloaded/FormattingState/InlineFormattingState.js:
1027         (InlineFormattingState):
1028         (InlineFormattingState.prototype.lines):
1029         (InlineFormattingState.prototype.appendLine):
1030
1031 2018-03-21  Ms2ger  <Ms2ger@igalia.com>
1032
1033         [WPE] Disable most of TestWebKitFaviconDatabase.
1034         https://bugs.webkit.org/show_bug.cgi?id=183813
1035
1036         Unreviewed test gardening.
1037
1038         The relevant APIs were mostly removed in r223953, making this test
1039         time out consistently.
1040
1041         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
1042
1043 2018-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1044
1045         [GTK][WPE] JSC bindings not introspectable
1046         https://bugs.webkit.org/show_bug.cgi?id=136989
1047
1048         Reviewed by Michael Catanzaro.
1049
1050         Use the new API instead of the deprecated one.
1051
1052         * MiniBrowser/gtk/main.c:
1053         (aboutDataScriptMessageReceivedCallback):
1054         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
1055         (WebKitFrameTest::testJavaScriptContext):
1056         * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
1057         (testWebViewRunJavaScript):
1058         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
1059         (consoleMessageSentCallback):
1060         (echoCallback):
1061         (windowObjectCleared):
1062         (methodCallCallback):
1063         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
1064         (runTest):
1065         (webProcessTestRunnerFinalize):
1066         (windowObjectClearedCallback):
1067         * TestWebKitAPI/glib/PlatformGTK.cmake:
1068         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
1069         (WebViewTest::javascriptResultToCString):
1070         (WebViewTest::javascriptResultToNumber):
1071         (WebViewTest::javascriptResultToBoolean):
1072         (WebViewTest::javascriptResultIsNull):
1073         (WebViewTest::javascriptResultIsUndefined):
1074
1075 2018-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1076
1077         [GTK][WPE] Initial implementation of JavaScriptCore glib bindings
1078         https://bugs.webkit.org/show_bug.cgi?id=164061
1079
1080         Reviewed by Michael Catanzaro.
1081
1082         Add unit tests for the new API and generate the API documentation with generate-gtkdoc.
1083
1084         * Scripts/webkitpy/style/checker.py: Ignore some style errors in public GLib API headers.
1085         * TestWebKitAPI/PlatformGTK.cmake:
1086         * TestWebKitAPI/PlatformWPE.cmake:
1087         * TestWebKitAPI/Tests/JavaScriptCore/glib/TestJSC.cpp: Added.
1088         (LeakChecker::~LeakChecker):
1089         (LeakChecker::watch):
1090         (ExceptionHandler::ExceptionHandler):
1091         (ExceptionHandler::~ExceptionHandler):
1092         (ExceptionHandler::push):
1093         (ExceptionHandler::pop):
1094         (jscContextGarbageCollect):
1095         (testJSCBasic):
1096         (testJSCTypes):
1097         (foo):
1098         (callback):
1099         (doubleAndSetInResult):
1100         (sumFunction):
1101         (testJSCFunction):
1102         (testJSCObject):
1103         (fooCreate):
1104         (fooCreateWithFoo):
1105         (fooFree):
1106         (setFoo):
1107         (getFoo):
1108         (setSibling):
1109         (getSibling):
1110         (multiplyFoo):
1111         (getMultiplyFoo):
1112         (getMultiplyFooAsync):
1113         (bazCreate):
1114         (testJSCClass):
1115         (barCreate):
1116         (barFree):
1117         (setBar):
1118         (getBar):
1119         (testJSCPrototypes):
1120         (createError):
1121         (testJSCExceptions):
1122         (testJSCPromises):
1123         (fooFreeAndLog):
1124         (testJSCGarbageCollector):
1125         (testsJSCVirtualMachine):
1126         (testsJSCAutocleanups):
1127         (main):
1128         * gtk/generate-gtkdoc:
1129         (get_generator_for_config):
1130
1131 2018-03-20  Tim Horton  <timothy_horton@apple.com>
1132
1133         Enable the minimal simulator feature flag when appropriate
1134         https://bugs.webkit.org/show_bug.cgi?id=183807
1135
1136         Reviewed by Dan Bernstein.
1137
1138         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1139
1140 2018-03-20  Zalan Bujtas  <zalan@apple.com>
1141
1142         [LayoutReloaded] Disconnect Display.Box from Layout.Box
1143         https://bugs.webkit.org/show_bug.cgi?id=183805
1144
1145         Reviewed by Antti Koivisto.
1146
1147         Display.Box is only accessed through the FormattingState.
1148
1149         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1150         (BlockFormattingContext):
1151         (BlockFormattingContext.prototype.layout):
1152         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1153         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
1154         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1155         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1156         * LayoutReloaded/FormattingContext/FormattingContext.js:
1157         (FormattingContext):
1158         (FormattingContext.prototype.formattingRoot):
1159         (FormattingContext.prototype.formattingState):
1160         (FormattingContext.prototype.layoutState):
1161         (FormattingContext.prototype._toAbsolutePosition):
1162         (FormattingContext.prototype._toRootAbsolutePosition):
1163         (FormattingContext.prototype._addToLayoutQueue):
1164         (FormattingContext.prototype.displayBox):
1165         (FormattingContext.prototype._outOfFlowDescendants):
1166         (FormattingContext.prototype.rootContainer): Deleted.
1167         (FormattingContext.prototype.layoutContext): Deleted.
1168         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1169         (InlineFormattingContext):
1170         (InlineFormattingContext.prototype.layout):
1171         (InlineFormattingContext.prototype._initializeLine):
1172         * LayoutReloaded/FormattingState/BlockFormattingState.js:
1173         (BlockFormattingState):
1174         * LayoutReloaded/FormattingState/FormattingState.js:
1175         (FormattingState):
1176         (FormattingState.prototype.formattingRoot):
1177         (FormattingState.prototype.layoutState):
1178         (FormattingState.prototype.createDisplayBox):
1179         (FormattingState.prototype.displayBoxMap):
1180         (FormattingState.prototype.displayBox):
1181         (FormattingState.prototype.layoutContext): Deleted.
1182         * LayoutReloaded/FormattingState/InlineFormattingState.js:
1183         (InlineFormattingState):
1184         * LayoutReloaded/Layout.js:
1185         (layout):
1186         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
1187         * LayoutReloaded/LayoutState.js: Renamed from Tools/LayoutReloaded/LayoutContext.js.
1188         (LayoutState):
1189         (LayoutState.prototype.layout):
1190         (LayoutState.prototype._createFormattingState):
1191         (LayoutState.prototype.formattingStates):
1192         (LayoutState.prototype.initialDisplayBox):
1193         * LayoutReloaded/LayoutTree/Box.js:
1194         (Layout.Box.prototype.isOutOfFlowPositioned):
1195         (Layout.Box.prototype.containingBlock):
1196         (Layout.Box.prototype.setDisplayBox): Deleted.
1197         (Layout.Box.prototype.displayBox): Deleted.
1198         * LayoutReloaded/Utils.js:
1199         (Utils.layoutTreeDump):
1200         (Utils._findDisplayBox):
1201         (Utils._dumpBox):
1202         (Utils._dumpTree):
1203         * LayoutReloaded/misc/headers/BlockFormattingContext.h:
1204         * LayoutReloaded/misc/headers/FormattingContext.h:
1205         * LayoutReloaded/misc/headers/LayoutContext.h:
1206         * LayoutReloaded/test/index.html:
1207
1208 2018-03-19  Ryosuke Niwa  <rniwa@webkit.org>
1209
1210         Expose content attributes on _WKLinkIconParameters
1211         https://bugs.webkit.org/show_bug.cgi?id=183768
1212
1213         Reviewed by Alex Christensen.
1214
1215         Expanded the basic test case for _WKLinkIconParameters's properties including newly added "attributes".
1216
1217         * TestWebKitAPI/Tests/WebKitCocoa/IconLoadingDelegate.mm:
1218         (IconLoading.DefaultFavicon):
1219
1220 2018-03-20  Wenson Hsieh  <wenson_hsieh@apple.com>
1221
1222         Add AssistedNodeInformation plumbing for form control placeholder text and label text
1223         https://bugs.webkit.org/show_bug.cgi?id=183802
1224         <rdar://problem/38686273>
1225
1226         Reviewed by Tim Horton.
1227
1228         Adds a new API test to exercise new placeholder and label SPI on _WKFocusedFormElement.
1229
1230         * TestWebKitAPI/Tests/WebKitCocoa/_WKInputDelegate.mm:
1231         (-[InputDelegate _webView:focusShouldStartInputSession:]):
1232         (-[InputDelegate shouldStartInputSessionHandler]):
1233         (-[InputDelegate setShouldStartInputSessionHandler:]):
1234         (TEST):
1235         (-[FormSubmissionDelegate webView:startURLSchemeTask:]): Deleted.
1236         (-[FormSubmissionDelegate webView:stopURLSchemeTask:]): Deleted.
1237         (-[FormSubmissionDelegate _webView:willSubmitFormValues:userObject:submissionHandler:]): Deleted.
1238
1239 2018-03-20  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1240
1241         [WinCairo] Fix to run-webkit-httpd from native Windows.
1242         https://bugs.webkit.org/show_bug.cgi?id=183605
1243
1244         Reviewed by Daniel Bates.
1245
1246         This fix is to run Apache HTTP server from native Windows. The environment is different
1247         from cygwin, which is used for AppleWin, in following points:
1248         - A temporary file behaves differently. It cannot reopen by anybody when indicated as 
1249           delete on close. To solve this situation, filesystem.mkdtemp() is used instead.
1250         - It's not unix so that `tail` command is not available. Replaced with python equivalent
1251           function.
1252
1253         * Scripts/webkitpy/common/system/filesystem.py:
1254         (FileSystem.mkdtemp.TemporaryDirectory.__init__):
1255         (FileSystem.mkdtemp.TemporaryDirectory.__exit__): The existing contents would be deleted.
1256         (FileSystem.mkdtemp):
1257         * Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py:
1258         (parse_args):
1259         (run_server):
1260         (run_server_with_log_file):
1261         (follow_file):
1262
1263 2018-03-20  Brady Eidson  <beidson@apple.com>
1264
1265         First piece of process swapping on navigation.
1266         https://bugs.webkit.org/show_bug.cgi?id=183665
1267
1268         Reviewed by Andy Estes.
1269
1270         Expose the "swaps processes on navigation" setting in MiniBrowser UI for testing:
1271
1272         * MiniBrowser/mac/AppDelegate.m:
1273         (defaultConfiguration):
1274         * MiniBrowser/mac/SettingsController.h:
1275         * MiniBrowser/mac/SettingsController.m:
1276         (-[SettingsController _populateMenu]):
1277         (-[SettingsController validateMenuItem:]):
1278         (-[SettingsController processSwapOnNavigationEnabled]):
1279         (-[SettingsController toggleProcessSwapOnNavigation:]):
1280
1281         Makes sure the current behavior is tested:
1282         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1283         * TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm: Added.
1284         (-[PSONNavigationDelegate webView:didFinishNavigation:]):
1285         (-[PSONScheme webView:startURLSchemeTask:]):
1286         (-[PSONScheme webView:stopURLSchemeTask:]):
1287         (TEST):
1288
1289 2018-03-20  Chris Dumez  <cdumez@apple.com>
1290
1291         QuickLook.NavigationDelegate API test is failing on iOS with async policy delegates
1292         https://bugs.webkit.org/show_bug.cgi?id=183791
1293
1294         Reviewed by Alex Christensen.
1295
1296         Add API test coverage.
1297
1298         * TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
1299         (-[QuickLookAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
1300         (-[QuickLookAsyncNavigationDelegate _webView:didStartLoadForQuickLookDocumentInMainFrameWithFileName:uti:]):
1301         (-[QuickLookAsyncNavigationDelegate _webView:didFinishLoadForQuickLookDocumentInMainFrame:]):
1302         (-[QuickLookAsyncNavigationDelegate webView:didFinishNavigation:]):
1303         (TEST):
1304
1305 2018-03-20  Tim Horton  <timothy_horton@apple.com>
1306
1307         Add and adopt WK_PLATFORM_NAME and adjust default feature defines
1308         https://bugs.webkit.org/show_bug.cgi?id=183758
1309         <rdar://problem/38017644>
1310
1311         Reviewed by Dan Bernstein.
1312
1313         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1314
1315 2018-03-20  Chris Dumez  <cdumez@apple.com>
1316
1317         Unreviewed, rolling out r229726 and r229763.
1318
1319         Caused some API test failures on iOS
1320
1321         Reverted changesets:
1322
1323         "Make policy decisions asynchronous"
1324         https://bugs.webkit.org/show_bug.cgi?id=180568
1325         https://trac.webkit.org/changeset/229726
1326
1327         "Rebaseline three webarchive tests for WK2 after r229726."
1328         https://bugs.webkit.org/show_bug.cgi?id=180568
1329         https://trac.webkit.org/changeset/229763
1330
1331 2018-03-20  Zalan Bujtas  <zalan@apple.com>
1332
1333         [LayoutReloaded] Move Display.Box handling from FormattingContext to FormattingState
1334         https://bugs.webkit.org/show_bug.cgi?id=183779
1335
1336         Reviewed by Antti Koivisto.
1337
1338         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1339         (BlockFormattingContext.prototype._computeStaticPosition):
1340         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1341         (BlockFormattingContext.prototype._computeFloatingWidth):
1342         (BlockFormattingContext.prototype._computeInFlowWidth):
1343         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1344         (BlockFormattingContext.prototype._computeFloatingHeight):
1345         (BlockFormattingContext.prototype._computeInFlowHeight):
1346         (BlockFormattingContext.prototype._horizontalConstraint):
1347         (BlockFormattingContext.prototype._contentHeight):
1348         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1349         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1350         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1351         * LayoutReloaded/FormattingContext/FloatingContext.js:
1352         (FloatingContext.prototype.computePosition):
1353         (FloatingContext.prototype._positionForClear):
1354         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
1355         (FloatingContext.prototype._availableSpace):
1356         (FloatingContext.prototype._adjustedFloatingPosition):
1357         * LayoutReloaded/FormattingContext/FormattingContext.js:
1358         (FormattingContext):
1359         (FormattingContext.prototype.absoluteMarginBox):
1360         (FormattingContext.prototype.absoluteBorderBox):
1361         (FormattingContext.prototype.absolutePaddingBox):
1362         (FormattingContext.prototype.absoluteContentBox):
1363         (FormattingContext.prototype._toAbsolutePosition):
1364         (FormattingContext.prototype._toRootAbsolutePosition):
1365         (FormattingContext.prototype._addToLayoutQueue):
1366         (FormattingContext.prototype.displayBox):
1367         (FormattingContext.prototype._createDisplayBox): Deleted.
1368         (FormattingContext.prototype.toDisplayBox): Deleted.
1369         (FormattingContext.prototype.toLayoutBox): Deleted.
1370         * LayoutReloaded/FormattingState/FormattingState.js:
1371         (FormattingState):
1372         (FormattingState.prototype.createDisplayBox):
1373         (FormattingState.prototype.displayBox):
1374
1375 2018-03-20  Zalan Bujtas  <zalan@apple.com>
1376
1377         [LayoutReloaded] Introduce FormattingState (Block/Inline/etc)
1378         https://bugs.webkit.org/show_bug.cgi?id=183777
1379
1380         Reviewed by Antti Koivisto.
1381
1382         This is in preparation for moving out states from the formatting contexts.
1383
1384         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1385         (BlockFormattingContext):
1386         * LayoutReloaded/FormattingContext/FormattingContext.js:
1387         (FormattingContext):
1388         (FormattingContext.prototype.layoutState):
1389         (FormattingContext.prototype.layoutContext):
1390         (FormattingContext.prototype.layout):
1391         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1392         (InlineFormattingContext):
1393         * LayoutReloaded/FormattingState/BlockFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
1394         (BlockFormattingState):
1395         * LayoutReloaded/FormattingState/FormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
1396         (FormattingState):
1397         (FormattingState.prototype.formattingContext):
1398         (FormattingState.prototype.layoutContext):
1399         (FormattingState.prototype._setFormattingContext):
1400         * LayoutReloaded/FormattingState/InlineFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
1401         (InlineFormattingState):
1402         * LayoutReloaded/LayoutContext.js:
1403         (LayoutContext):
1404         (LayoutContext.prototype.layout):
1405         (LayoutContext.prototype._createFormattingState):
1406         (LayoutContext.prototype._createFormattingContext): Deleted.
1407         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
1408         * LayoutReloaded/test/index.html:
1409
1410 2018-03-19  Zalan Bujtas  <zalan@apple.com>
1411
1412         [LayoutReloaded] Layout.Box should not create the formatting context.
1413         https://bugs.webkit.org/show_bug.cgi?id=183766
1414
1415         Reviewed by Antti Koivisto.
1416
1417         Since the formattingContext's lifetime is tied to the layout, the LayoutContext
1418         should construct it instead.
1419
1420         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1421         (BlockFormattingContext):
1422         (BlockFormattingContext.prototype.layout):
1423         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
1424         (BlockFormattingContext.prototype._contentHeight):
1425         * LayoutReloaded/FormattingContext/FormattingContext.js:
1426         (FormattingContext):
1427         (FormattingContext.prototype.layoutContext):
1428         (FormattingContext.prototype.toDisplayBox):
1429         (FormattingContext.prototype._outOfFlowDescendants):
1430         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1431         (InlineFormattingContext):
1432         (InlineFormattingContext.prototype.layout):
1433         * LayoutReloaded/Layout.js:
1434         (layout):
1435         * LayoutReloaded/LayoutContext.js:
1436         (LayoutContext.prototype.layout):
1437         (LayoutContext.prototype._createFormattingContext):
1438         (LayoutContext):
1439         (LayoutContext.prototype.layoutFormattingContext): Deleted.
1440         * LayoutReloaded/LayoutTree/Box.js:
1441         (Layout.Box):
1442         (Layout.Box.prototype.establishedFormattingContext): Deleted.
1443         * LayoutReloaded/misc/headers/Box.h:
1444
1445 2018-03-19  Chris Dumez  <cdumez@apple.com>
1446
1447         Have one service worker process per security origin
1448         https://bugs.webkit.org/show_bug.cgi?id=183600
1449         <rdar://problem/35280128>
1450
1451         Reviewed by Brady Eidson.
1452
1453         Add API test coverage.
1454
1455         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
1456
1457 2018-03-19  Zalan Bujtas  <zalan@apple.com>
1458
1459         [LayoutReloaded] Remove border/padding/contentBox() functions from Layout.Box
1460         https://bugs.webkit.org/show_bug.cgi?id=183761
1461
1462         Reviewed by Antti Koivisto.
1463
1464         Display.Box has them.
1465
1466         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1467         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1468         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1469         (BlockFormattingContext.prototype._horizontalConstraint):
1470         (BlockFormattingContext.prototype._contentHeight):
1471         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1472         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1473         * LayoutReloaded/FormattingContext/FloatingContext.js:
1474         (FloatingContext.prototype._availableSpace):
1475         * LayoutReloaded/FormattingContext/FormattingContext.js:
1476         (FormattingContext.prototype.absoluteBorderBox):
1477         (FormattingContext.prototype.absolutePaddingBox):
1478         (FormattingContext.prototype.absoluteContentBox):
1479         * LayoutReloaded/LayoutTree/Box.js:
1480         (Layout.Box.prototype.isDescendantOf):
1481         (Layout.Box):
1482         (Layout.Box.prototype.borderBox): Deleted.
1483         (Layout.Box.prototype.paddingBox): Deleted.
1484         (Layout.Box.prototype.contentBox): Deleted.
1485
1486 2018-03-19  Jiewen Tan  <jiewen_tan@apple.com>
1487
1488         Unreviewed, another quick fix for r229699
1489
1490         Restricts ENABLE_WEB_AUTHN to only macOS and iOS.
1491
1492         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1493         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
1494
1495 2018-03-19  Zalan Bujtas  <zalan@apple.com>
1496
1497         [LayoutReloaded] Move statically positioned absolute box positioning to _computeOutOfFlowPosition
1498         https://bugs.webkit.org/show_bug.cgi?id=183750
1499
1500         Reviewed by Antti Koivisto.
1501
1502         * LayoutReloaded/DisplayTree/Box.js:
1503         (Display.Box.prototype.setTop):
1504         (Display.Box.prototype.paddingBox):
1505         (Display.Box.prototype.contentBox):
1506         (Display.Box):
1507         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1508         (BlockFormattingContext.prototype._computeStaticPosition):
1509         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
1510         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1511         * LayoutReloaded/FormattingContext/FormattingContext.js:
1512         (FormattingContext.prototype.absoluteMarginBox):
1513         (FormattingContext.prototype.absoluteBorderBox):
1514         (FormattingContext.prototype.absolutePaddingBox):
1515         (FormattingContext.prototype.absoluteContentBox):
1516         (FormattingContext.prototype._toAbsolutePosition):
1517         (FormattingContext.prototype._toRootAbsolutePosition):
1518         (FormattingContext.prototype.toDisplayBox):
1519         * LayoutReloaded/LayoutTree/InitialBlockContainer.js:
1520         (Layout.InitialBlockContainer.prototype.establishesBlockFormattingContext):
1521         (Layout.InitialBlockContainer):
1522         (Layout.InitialBlockContainer.prototype.paddingBox): Deleted.
1523         (Layout.InitialBlockContainer.prototype.contentBox): Deleted.
1524         * LayoutReloaded/Utils.js:
1525         (Utils.isStaticallyPositioned):
1526
1527 2018-03-19  Chris Dumez  <cdumez@apple.com>
1528
1529         WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
1530         https://bugs.webkit.org/show_bug.cgi?id=183702
1531         <rdar://problem/38566060>
1532
1533         Reviewed by Alex Christensen.
1534
1535         Add API test coverage.
1536
1537         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1538         (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
1539         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
1540         (-[AsyncAutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
1541         (TEST):
1542
1543 2018-03-19  Daniel Bates  <dabates@apple.com>
1544
1545         test-webkitpy no longer runs WebKit2 tests
1546         https://bugs.webkit.org/show_bug.cgi?id=183724
1547
1548         Reviewed by Alexey Proskuryakov.
1549
1550         The WebKit2 tests have seen been moved from Source/WebKit2/Scripts/webkit2 to Source/WebKit/Scripts/webkit.
1551
1552         * Scripts/webkitpy/test/main.py:
1553         (main):
1554
1555 2018-03-19  Daniel Bates  <dabates@apple.com>
1556
1557         Make run-webkit-app work for non-GUI apps
1558         https://bugs.webkit.org/show_bug.cgi?id=183701
1559
1560         Reviewed by Lucas Forschler.
1561
1562         Launch the app directly if it is an executable file. Otherwise, assume it is an app bundle
1563         and launch it using open(1) as we currently do.
1564
1565         Note that open(1) is meant for launching GUI apps. Standard output and standard error are
1566         not sent to the tty when using open(1) to launch a non-GUI app.
1567
1568         * Scripts/run-webkit-app: We make the assumption that 
1569         * Scripts/webkitdirs.pm:
1570             - Define and export constant DO_NOT_USE_OPEN_COMMAND.
1571
1572 2018-03-19  Daniel Bates  <dabates@apple.com>
1573
1574         run-webkit-app -g does not work
1575         https://bugs.webkit.org/show_bug.cgi?id=183699
1576
1577         Reviewed by Lucas Forschler.
1578
1579         Check for the optional command line argument -g/--guard-malloc before taking the
1580         first argument passed to be the path to the app to run.
1581
1582         * Scripts/run-webkit-app:
1583
1584 2018-03-18  Commit Queue  <commit-queue@webkit.org>
1585
1586         Unreviewed, rolling out r229689.
1587         https://bugs.webkit.org/show_bug.cgi?id=183735
1588
1589         Causes fast/loader/inner-iframe-loads-data-url-into-parent-on-
1590         unload-crash.html to fail with async delegates (Requested by
1591         cdumez_ on #webkit).
1592
1593         Reverted changeset:
1594
1595         "WebKit.WebsitePoliciesAutoplayQuirks API test times out with
1596         async policy delegates"
1597         https://bugs.webkit.org/show_bug.cgi?id=183702
1598         https://trac.webkit.org/changeset/229689
1599
1600 2018-03-18  Zalan Bujtas  <zalan@apple.com>
1601
1602         [LayoutReloaded] Remove left/right width/height getters from Layout.Box
1603         https://bugs.webkit.org/show_bug.cgi?id=183734
1604
1605         Reviewed by Antti Koivisto.
1606
1607         ...and use Display.Box instead.
1608
1609         * LayoutReloaded/DisplayTree/Box.js:
1610         (Display.Box.prototype.bottomRight):
1611         (Display.Box.prototype.size):
1612         (Display.Box.prototype.height):
1613         (Display.Box.prototype.width):
1614         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1615         (BlockFormattingContext.prototype._computeStaticPosition):
1616         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
1617         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1618         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1619         * LayoutReloaded/FormattingContext/FloatingContext.js:
1620         (FloatingContext.prototype._positionForClear):
1621         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
1622         (FloatingContext.prototype._adjustedFloatingPosition):
1623         * LayoutReloaded/FormattingContext/FormattingContext.js:
1624         (FormattingContext.prototype.absoluteMarginBox):
1625         (FormattingContext.prototype.absoluteBorderBox):
1626         (FormattingContext.prototype.absolutePaddingBox):
1627         (FormattingContext.prototype.absoluteContentBox):
1628         (FormattingContext.prototype._toAbsolutePosition):
1629         (FormattingContext.prototype._toRootAbsolutePosition):
1630         * LayoutReloaded/LayoutTree/Box.js:
1631         (Layout.Box.prototype.rect): Deleted.
1632         (Layout.Box.prototype.topLeft): Deleted.
1633         (Layout.Box.prototype.bottomRight): Deleted.
1634         * LayoutReloaded/Utils.js:
1635         (Utils._dumpBox):
1636         (Utils.mapToContainer): Deleted.
1637
1638 2018-03-18  Zalan Bujtas  <zalan@apple.com>
1639
1640         [LayoutReloaded] Remove left/right width/height setters from Layout.Box
1641         https://bugs.webkit.org/show_bug.cgi?id=183731
1642
1643         Reviewed by Antti Koivisto.
1644
1645         ...and use Display.Box instead.
1646
1647         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1648         (BlockFormattingContext.prototype._computeStaticPosition):
1649         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1650         (BlockFormattingContext.prototype._computeFloatingWidth):
1651         (BlockFormattingContext.prototype._computeInFlowWidth):
1652         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1653         (BlockFormattingContext.prototype._computeFloatingHeight):
1654         (BlockFormattingContext.prototype._computeInFlowHeight):
1655         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1656         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1657         * LayoutReloaded/FormattingContext/FloatingContext.js:
1658         (FloatingContext.prototype.computePosition):
1659         * LayoutReloaded/FormattingContext/FormattingContext.js:
1660         (FormattingContext.prototype._toDisplayBox):
1661         (FormattingContext.prototype._toLayoutBox):
1662         * LayoutReloaded/Layout.js:
1663         (layout):
1664         * LayoutReloaded/LayoutTree/Box.js:
1665         (Layout.Box.prototype.setTopLeft): Deleted.
1666         (Layout.Box.prototype.setSize): Deleted.
1667         (Layout.Box.prototype.setWidth): Deleted.
1668         (Layout.Box.prototype.setHeight): Deleted.
1669
1670 2018-03-18  Zalan Bujtas  <zalan@apple.com>
1671
1672         [LayoutReloaded] Collect out-of-flow positioned boxes for a given formatting context.
1673         https://bugs.webkit.org/show_bug.cgi?id=183730
1674
1675         Reviewed by Antti Koivisto.
1676
1677         Collect and layout out-of-flow positioned boxes as the final step of the formatting context layout.
1678
1679         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1680         (BlockFormattingContext.prototype.layout):
1681         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1682         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
1683         (BlockFormattingContext.prototype._placePositionedDescendants): Deleted.
1684         (BlockFormattingContext.prototype._placeOutOfFlowDescendants): Deleted.
1685         * LayoutReloaded/FormattingContext/FormattingContext.js:
1686         (FormattingContext.prototype._toAbsolutePosition):
1687         (FormattingContext.prototype._outOfFlowDescendants):
1688         (FormattingContext):
1689         * LayoutReloaded/LayoutTree/Box.js:
1690         (Layout.Box.prototype.nextInFlowOrFloatSibling):
1691         (Layout.Box.prototype.isDescendantOf):
1692         * LayoutReloaded/LayoutTree/Container.js:
1693         (Layout.Container.prototype.firstInFlowOrFloatChild):
1694         (Layout.Container.prototype.hasInFlowOrFloatChild):
1695         (Layout.Container.prototype.outOfFlowDescendants):
1696         (Layout.Container):
1697         * LayoutReloaded/Utils.js:
1698         (Utils.isDescendantOf): Deleted.
1699         (Utils.collectOutOfFlowDescendants): Deleted.
1700
1701 2018-03-17  Jiewen Tan  <jiewen_tan@apple.com>
1702
1703         [WebAuthN] Implement authenticatorMakeCredential
1704         https://bugs.webkit.org/show_bug.cgi?id=183527
1705         <rdar://problem/35275886>
1706
1707         Reviewed by Brent Fulgham.
1708
1709         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1710         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm: Added.
1711         (TestWebKitAPI::getTestKey):
1712         (TestWebKitAPI::cleanUpKeychain):
1713         (TestWebKitAPI::LACantEvaluatePolicySwizzler::LACantEvaluatePolicySwizzler):
1714         (TestWebKitAPI::LACantEvaluatePolicySwizzler::cantEvaluatePolicy):
1715         (TestWebKitAPI::LACanEvaluatePolicySwizzler::LACanEvaluatePolicySwizzler):
1716         (TestWebKitAPI::LACanEvaluatePolicySwizzler::canEvaluatePolicy):
1717         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::LAEvaluatePolicyFailedSwizzler):
1718         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::evaluatePolicyFailed):
1719         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::LAEvaluatePolicyPassedSwizzler):
1720         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::evaluatePolicyPassed):
1721         (TestWebKitAPI::TestLocalAuthenticator::setFailureFlag):
1722         (TestWebKitAPI::TEST):
1723
1724 2018-03-17  Zalan Bujtas  <zalan@apple.com>
1725
1726         [LayoutReloaded] BlockFormattingContext::placePositionedDescendants takes care of both in- and out-of-flow placement
1727         https://bugs.webkit.org/show_bug.cgi?id=183727
1728
1729         Reviewed by Antti Koivisto.
1730
1731         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1732         (BlockFormattingContext.prototype.layout):
1733         (BlockFormattingContext.prototype._placePositionedDescendants):
1734         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1735         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
1736         * LayoutReloaded/test/absolute-position-when-containing-block-is-not-in-the-formatting-context.html: Added.
1737         * LayoutReloaded/test/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html: Added.
1738         * LayoutReloaded/test/index.html:
1739         * LayoutReloaded/test/relative-position-when-containing-block-is-not-in-the-formatting-context.html: Added.
1740
1741 2018-03-17  Zalan Bujtas  <zalan@apple.com>
1742
1743         [LayoutReloaded] Ensure that positioning happens within the formatting context
1744         https://bugs.webkit.org/show_bug.cgi?id=183722
1745
1746         Reviewed by Antti Koivisto.
1747
1748         All sizing and positioning need to happen in the formatting context that the box lives in
1749         including the final position of in- and out-of-flow descendants.
1750
1751         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1752         (BlockFormattingContext.prototype.layout):
1753         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1754         * LayoutReloaded/LayoutTree/Box.js:
1755         (Layout.Box.prototype.establishesBlockFormattingContext):
1756         (Layout.Box.prototype.isPositioned):
1757         (Layout.Box.prototype.isRelativelyPositioned):
1758         (Layout.Box.prototype.isAbsolutelyPositioned):
1759         (Layout.Box.prototype.isOutOfFlowPositioned):
1760         (Layout.Box.prototype.containingBlock):
1761         (Layout.Box.prototype.isRelativePositioned): Deleted.
1762         (Layout.Box.prototype.isAbsolutePositioned): Deleted.
1763         * LayoutReloaded/Utils.js:
1764         (Utils.isRelativelyPositioned):
1765         (Utils.isAbsolutelyPositioned):
1766         (Utils.isRelativePositioned): Deleted.
1767         (Utils.isAbsolutePositioned): Deleted.
1768         * LayoutReloaded/misc/headers/Box.h:
1769
1770 2018-03-16  Wenson Hsieh  <wenson_hsieh@apple.com>
1771
1772         Unreviewed, rolling out r229688.
1773
1774         There's a solution that doesn't require this SPI.
1775
1776         Reverted changeset:
1777
1778         "Add SPI to expose width and height anchors for WKWebView's
1779         content view"
1780         https://bugs.webkit.org/show_bug.cgi?id=183711
1781         https://trac.webkit.org/changeset/229688
1782
1783 2018-03-16  Zalan Bujtas  <zalan@apple.com>
1784
1785         [LayoutReloaded] Move move functions to the base class from BlockFormattingContext
1786         https://bugs.webkit.org/show_bug.cgi?id=183719
1787
1788         Reviewed by Antti Koivisto.
1789
1790         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1791         (BlockFormattingContext):
1792         (BlockFormattingContext.prototype.layout):
1793         (BlockFormattingContext.prototype._shrinkToFitWidth):
1794         (BlockFormattingContext.prototype._toAbsolutePosition): Deleted.
1795         (BlockFormattingContext.prototype._needsLayout): Deleted.
1796         (BlockFormattingContext.prototype._addToLayoutQueue): Deleted.
1797         (BlockFormattingContext.prototype._nextInLayoutQueue): Deleted.
1798         (BlockFormattingContext.prototype._removeFromLayoutQueue): Deleted.
1799         (BlockFormattingContext.prototype._createDisplayBox): Deleted.
1800         (BlockFormattingContext.prototype._toDisplayBox): Deleted.
1801         (BlockFormattingContext.prototype._toLayoutBox): Deleted.
1802         * LayoutReloaded/FormattingContext/FormattingContext.js:
1803         (FormattingContext):
1804         (FormattingContext.prototype._toAbsolutePosition):
1805         (FormattingContext.prototype._descendantNeedsLayout):
1806         (FormattingContext.prototype._addToLayoutQueue):
1807         (FormattingContext.prototype._nextInLayoutQueue):
1808         (FormattingContext.prototype._removeFromLayoutQueue):
1809         (FormattingContext.prototype._createDisplayBox):
1810         (FormattingContext.prototype._toDisplayBox):
1811         (FormattingContext.prototype._toLayoutBox):
1812         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
1813         (InlineFormattingContext.prototype.layout):
1814
1815 2018-03-16  Chris Dumez  <cdumez@apple.com>
1816
1817         WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
1818         https://bugs.webkit.org/show_bug.cgi?id=183702
1819
1820         Reviewed by Alex Christensen.
1821
1822         Add API test coverage.
1823
1824         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
1825         (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
1826         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
1827         (-[AsyncAutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
1828         (TEST):
1829
1830 2018-03-16  Wenson Hsieh  <wenson_hsieh@apple.com>
1831
1832         Add SPI to expose width and height anchors for WKWebView's content view
1833         https://bugs.webkit.org/show_bug.cgi?id=183711
1834         <rdar://problem/38562899>
1835
1836         Reviewed by Tim Horton.
1837
1838         Adds an API test exercising the new SPI.
1839
1840         * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
1841         (checkCGRect):
1842         (TEST):
1843
1844 2018-03-16  Chris Dumez  <cdumez@apple.com>
1845
1846         WebKit.RestoreSessionStateContainingScrollRestorationDefault API test is failing with async policy delegates
1847         https://bugs.webkit.org/show_bug.cgi?id=183679
1848
1849         Reviewed by Alex Christensen.
1850
1851         Add API test coverage.
1852
1853         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
1854         (TestWebKitAPI::decidePolicyForNavigationAction):
1855         (TestWebKitAPI::decidePolicyForResponse):
1856         (TestWebKitAPI::TEST):
1857
1858 2018-03-16  Zalan Bujtas  <zalan@apple.com>
1859
1860         [LayoutReloaded] Introduce Display.Box
1861         https://bugs.webkit.org/show_bug.cgi?id=183700
1862
1863         Reviewed by Antti Koivisto.
1864
1865         Display.Box objects will end up in the display(box) tree. Currently
1866         they are just hanging off of the Layout.Box objects.
1867
1868         * LayoutReloaded/DisplayTree/Box.js: Added.
1869         (Display.Box):
1870         (Display.Box.prototype.rect):
1871         (Display.Box.prototype.top):
1872         (Display.Box.prototype.left):
1873         (Display.Box.prototype.bottom):
1874         (Display.Box.prototype.right):
1875         (Display.Box.prototype.topLeft):
1876         (Display.Box.prototype.bottomRight):
1877         (Display.Box.prototype.setTopLeft):
1878         (Display.Box.prototype.setSize):
1879         (Display.Box.prototype.setWidth):
1880         (Display.Box.prototype.setHeight):
1881         (Display.Box.prototype.borderBox):
1882         (Display.Box.prototype.paddingBox):
1883         (Display.Box.prototype.contentBox):
1884         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1885         (BlockFormattingContext):
1886         (BlockFormattingContext.prototype.layout):
1887         (BlockFormattingContext.prototype._toAbsolutePosition):
1888         (BlockFormattingContext.prototype._needsLayout):
1889         (BlockFormattingContext.prototype._addToLayoutQueue):
1890         (BlockFormattingContext.prototype._nextInLayoutQueue):
1891         (BlockFormattingContext.prototype._removeFromLayoutQueue):
1892         (BlockFormattingContext.prototype._createDisplayBox):
1893         (BlockFormattingContext.prototype._toDisplayBox):
1894         (BlockFormattingContext.prototype._toLayoutBox):
1895         * LayoutReloaded/Layout.js:
1896         (layout):
1897         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
1898         * LayoutReloaded/LayoutTree/Box.js:
1899         (Layout.Box):
1900         (Layout.Box.prototype.setDisplayBox):
1901         (Layout.Box.prototype.displayBox):
1902         (Layout.Box.prototype.rect):
1903         (Layout.Box.prototype.setTopLeft):
1904         (Layout.Box.prototype.setSize):
1905         (Layout.Box.prototype.setWidth):
1906         (Layout.Box.prototype.setHeight):
1907         (Layout.Box.prototype.borderBox):
1908         (Layout.Box.prototype.paddingBox):
1909         (Layout.Box.prototype.contentBox):
1910         * LayoutReloaded/test/index.html:
1911
1912 2018-03-16  Chris Dumez  <cdumez@apple.com>
1913
1914         URLSchemeHandler.Basic API test fails with async policy delegates
1915         https://bugs.webkit.org/show_bug.cgi?id=183678
1916
1917         Reviewed by Alex Christensen.
1918
1919         Add API test coverage.
1920
1921         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
1922         (-[URLSchemeHandlerAsyncNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
1923         (-[URLSchemeHandlerAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
1924         (TEST):
1925
1926 2018-03-16  Zalan Bujtas  <zalan@apple.com>
1927
1928         [LayoutReloaded] Utils.computed* functions should just take node instead of box.
1929         https://bugs.webkit.org/show_bug.cgi?id=183697
1930
1931         Reviewed by Antti Koivisto.
1932
1933         This is in preparation for introducing the display tree.
1934
1935         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1936         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1937         (BlockFormattingContext.prototype._computeFloatingWidth):
1938         (BlockFormattingContext.prototype._computeInFlowWidth):
1939         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1940         (BlockFormattingContext.prototype._computeFloatingHeight):
1941         (BlockFormattingContext.prototype._computeInFlowHeight):
1942         (BlockFormattingContext.prototype._shrinkToFitWidth):
1943         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
1944         (BlockMarginCollapse._nonCollapsedMarginTop):
1945         (BlockMarginCollapse._nonCollapsedMarginBottom):
1946         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
1947         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
1948         * LayoutReloaded/FormattingContext/FormattingContext.js:
1949         (FormattingContext.prototype.marginTop):
1950         (FormattingContext.prototype.marginLeft):
1951         (FormattingContext.prototype.marginBottom):
1952         (FormattingContext.prototype.marginRight):
1953         * LayoutReloaded/LayoutTree/Box.js:
1954         (Layout.Box.prototype.paddingBox):
1955         (Layout.Box.prototype.contentBox):
1956         (Layout.Box):
1957         * LayoutReloaded/Utils.js:
1958         (Utils.computedMarginTop):
1959         (Utils.computedMarginLeft):
1960         (Utils.computedMarginBottom):
1961         (Utils.computedMarginRight):
1962         (Utils.computedBorderTopLeft):
1963         (Utils.computedBorderBottomRight):
1964         (Utils.computedPaddingTopLeft):
1965         (Utils.computedPaddingBottomRight):
1966         (Utils.computedBorderAndPaddingTop):
1967         (Utils.computedBorderAndPaddingLeft):
1968         (Utils.computedBorderAndPaddingBottom):
1969         (Utils.computedBorderAndPaddingRight):
1970         (Utils.computedHorizontalBorderAndPadding):
1971         (Utils.computedVerticalBorderAndPadding):
1972         (Utils.computedLineHeight):
1973         (Utils.hasClearLeft):
1974         (Utils.hasClearRight):
1975         (Utils.hasClearBoth):
1976
1977 2018-03-15  Zalan Bujtas  <zalan@apple.com>
1978
1979         [LayoutReloaded] Should never need to go beyond the root container when asking for the containing block.
1980         https://bugs.webkit.org/show_bug.cgi?id=183691
1981
1982         Reviewed by Antti Koivisto.
1983
1984         While laying out the boxes in a block formatting context, if we happen to need
1985         to get to the containing block of a box to compute geometry, it should always be a
1986         descendant of the root container (or the root container itself).
1987         Nothing outside of the formatting context should be able to impact the boxes inside.
1988
1989         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
1990         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1991         (BlockFormattingContext.prototype._toAbsolutePosition):
1992         (BlockFormattingContext):
1993         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
1994         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
1995         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
1996         * LayoutReloaded/LayoutTree/Box.js:
1997         (Layout.Box.prototype.isRootBox):
1998         (Layout.Box.prototype.isRootElement): Deleted.
1999         * LayoutReloaded/Utils.js:
2000         (Utils.isDescendantOf):
2001         (Utils.mapStaticToAbsolute): Deleted.
2002         * LayoutReloaded/misc/headers/Box.h:
2003
2004 2018-03-15  Wenson Hsieh  <wenson_hsieh@apple.com>
2005
2006         [iOS WK2] Hit-testing fails when specifying a large top content inset
2007         https://bugs.webkit.org/show_bug.cgi?id=183648
2008         <rdar://problem/38421894>
2009
2010         Reviewed by Tim Horton.
2011
2012         Adds four new API tests to verify that adding top or bottom content insets to the WKWebView's scroll view does
2013         not cause the DOMWindow's innerHeight to shrink. Currently, doing so would cause the innerHeight to be reported
2014         as (viewHeight - inset.top) or (viewHeight - inset.bottom).
2015
2016         See WebKit ChangeLog for more details.
2017
2018         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2019         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm: Added.
2020         (TestWebKitAPI::TEST):
2021
2022 2018-03-15  Aakash Jain  <aakash_jain@apple.com>
2023
2024         Add unit-test for NetworkTransaction URLError handling
2025         https://bugs.webkit.org/show_bug.cgi?id=183664
2026
2027         Reviewed by Alexey Proskuryakov.
2028
2029         * Scripts/webkitpy/common/net/networktransaction_unittest.py:
2030         (NetworkTransactionTest._raise_URLError): Method to raise URLError.
2031         (NetworkTransactionTest.test_retry_on_HTTPError): Renamed from test_retry.
2032         (NetworkTransactionTest.test_retry_on_URLError): unit-test for testing URLError handling.
2033
2034 2018-03-15  Aakash Jain  <aakash_jain@apple.com>
2035
2036         EWS should print the URL in logs on URLError
2037         https://bugs.webkit.org/show_bug.cgi?id=183651
2038
2039         Reviewed by Alexey Proskuryakov.
2040
2041         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
2042         (Bugzilla.open_url): Pass the url.
2043         * Scripts/webkitpy/common/net/networktransaction.py:
2044         (NetworkTransaction.run): Accept optional url parameter and print it on URLError.
2045
2046 2018-03-15  Zalan Bujtas  <zalan@apple.com>
2047
2048         [LayoutReloaded] Introduce Layout namespace
2049         https://bugs.webkit.org/show_bug.cgi?id=183659
2050
2051         Reviewed by Antti Koivisto.
2052
2053         This is in preparation for introducing the display tree.
2054         Box -> Layout.Box
2055
2056         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2057         (BlockFormattingContext.prototype.layout):
2058         (BlockFormattingContext.prototype.computeWidth):
2059         (BlockFormattingContext.prototype.computeHeight):
2060         (BlockFormattingContext.prototype.marginTop):
2061         (BlockFormattingContext.prototype.marginBottom):
2062         (BlockFormattingContext.prototype._computeStaticPosition):
2063         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
2064         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
2065         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
2066         (BlockFormattingContext.prototype._computeFloatingWidth):
2067         (BlockFormattingContext.prototype._computeInFlowWidth):
2068         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
2069         (BlockFormattingContext.prototype._computeFloatingHeight):
2070         (BlockFormattingContext.prototype._computeInFlowHeight):
2071         (BlockFormattingContext.prototype._horizontalConstraint):
2072         (BlockFormattingContext.prototype._contentHeight):
2073         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
2074         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
2075         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
2076         (BlockFormattingContext.prototype._shrinkToFitWidth):
2077         (BlockFormattingContext):
2078         (BlockFormattingContext.prototype._computeHorizontalConstraint): Deleted.
2079         (BlockFormattingContext.prototype._computeContentHeight): Deleted.
2080         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
2081         (BlockMarginCollapse.marginTop):
2082         (BlockMarginCollapse.marginBottom):
2083         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
2084         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
2085         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
2086         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
2087         (BlockMarginCollapse._nonCollapsedMarginTop):
2088         (BlockMarginCollapse._nonCollapsedMarginBottom):
2089         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
2090         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
2091         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
2092         (BlockMarginCollapse):
2093         * LayoutReloaded/FormattingContext/FloatingContext.js:
2094         (FloatingContext.prototype.computePosition):
2095         (FloatingContext.prototype._positionForClear):
2096         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
2097         * LayoutReloaded/FormattingContext/FormattingContext.js:
2098         (FormattingContext.prototype.computeWidth):
2099         (FormattingContext.prototype.computeHeight):
2100         (FormattingContext.prototype.marginTop):
2101         (FormattingContext.prototype.marginLeft):
2102         (FormattingContext.prototype.marginBottom):
2103         (FormattingContext.prototype.marginRight):
2104         (FormattingContext.prototype.absoluteMarginBox):
2105         (FormattingContext.prototype.absoluteBorderBox):
2106         (FormattingContext.prototype.absolutePaddingBox):
2107         (FormattingContext.prototype.absoluteContentBox):
2108         (FormattingContext):
2109         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2110         (InlineFormattingContext.prototype.layout):
2111         * LayoutReloaded/LayoutTree/BlockContainer.js:
2112         (BlockContainer): Deleted.
2113         (BlockContainer.prototype.establishesInlineFormattingContext): Deleted.
2114         * LayoutReloaded/LayoutTree/Box.js:
2115         (Box): Deleted.
2116         (Box.prototype.id): Deleted.
2117         (Box.prototype.setRendererName): Deleted.
2118         (Box.prototype.name): Deleted.
2119         (Box.prototype.node): Deleted.
2120         (Box.prototype.parent): Deleted.
2121         (Box.prototype.nextSibling): Deleted.
2122         (Box.prototype.nextInFlowSibling): Deleted.
2123         (Box.prototype.previousSibling): Deleted.
2124         (Box.prototype.previousInFlowSibling): Deleted.
2125         (Box.prototype.setParent): Deleted.
2126         (Box.prototype.setNextSibling): Deleted.
2127         (Box.prototype.setPreviousSibling): Deleted.
2128         (Box.prototype.rect): Deleted.
2129         (Box.prototype.topLeft): Deleted.
2130         (Box.prototype.bottomRight): Deleted.
2131         (Box.prototype.setTopLeft): Deleted.
2132         (Box.prototype.setSize): Deleted.
2133         (Box.prototype.setWidth): Deleted.
2134         (Box.prototype.setHeight): Deleted.
2135         (Box.prototype.isContainer): Deleted.
2136         (Box.prototype.isBlockLevelBox): Deleted.
2137         (Box.prototype.isBlockContainerBox): Deleted.
2138         (Box.prototype.isInlineLevelBox): Deleted.
2139         (Box.prototype.setIsAnonymous): Deleted.
2140         (Box.prototype.isAnonymous): Deleted.
2141         (Box.prototype.establishesFormattingContext): Deleted.
2142         (Box.prototype.establishedFormattingContext): Deleted.
2143         (Box.prototype.establishesBlockFormattingContext): Deleted.
2144         (Box.prototype.establishesInlineFormattingContext): Deleted.
2145         (Box.prototype.isPositioned): Deleted.
2146         (Box.prototype.isRelativePositioned): Deleted.
2147         (Box.prototype.isAbsolutePositioned): Deleted.
2148         (Box.prototype.isFixedPositioned): Deleted.
2149         (Box.prototype.isInFlow): Deleted.
2150         (Box.prototype.isOutOfFlowPositioned): Deleted.
2151         (Box.prototype.isInFlowPositioned): Deleted.
2152         (Box.prototype.isFloatingPositioned): Deleted.
2153         (Box.prototype.isFloatingOrOutOfFlowPositioned): Deleted.
2154         (Box.prototype.isRootElement): Deleted.
2155         (Box.prototype.containingBlock): Deleted.
2156         (Box.prototype.borderBox): Deleted.
2157         (Box.prototype.paddingBox): Deleted.
2158         (Box.prototype.contentBox): Deleted.
2159         * LayoutReloaded/LayoutTree/Container.js:
2160         (Container): Deleted.
2161         (Container.prototype.isContainer): Deleted.
2162         (Container.prototype.setFirstChild): Deleted.
2163         (Container.prototype.setLastChild): Deleted.
2164         (Container.prototype.firstChild): Deleted.
2165         (Container.prototype.firstInFlowChild): Deleted.
2166         (Container.prototype.lastChild): Deleted.
2167         (Container.prototype.lastInFlowChild): Deleted.
2168         (Container.prototype.hasChild): Deleted.
2169         (Container.prototype.hasInFlowChild): Deleted.
2170         * LayoutReloaded/LayoutTree/InitialBlockContainer.js:
2171         (InitialBlockContainer): Deleted.
2172         (InitialBlockContainer.prototype.establishesBlockFormattingContext): Deleted.
2173         (InitialBlockContainer.prototype.paddingBox): Deleted.
2174         (InitialBlockContainer.prototype.contentBox): Deleted.
2175         * LayoutReloaded/LayoutTree/InlineBox.js:
2176         (InlineBox): Deleted.
2177         (InlineBox.prototype.setText): Deleted.
2178         (InlineBox.prototype.text): Deleted.
2179         * LayoutReloaded/TreeBuilder.js:
2180         (TreeBuilder.prototype.createTree):
2181         (TreeBuilder.prototype._createAndAttachBox):
2182         * LayoutReloaded/Utils.js:
2183         (Utils._dumpBox):
2184
2185 2018-03-14  Chris Fleizach  <cfleizach@apple.com>
2186
2187         AX: Implement accessible dismiss action on iOS
2188         https://bugs.webkit.org/show_bug.cgi?id=183352
2189         <rdar://problem/38161500>
2190
2191         Reviewed by Zalan Bujtas.
2192
2193         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
2194         (WTR::AccessibilityUIElement::dismiss const):
2195         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
2196         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
2197         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
2198         (WTR::AccessibilityUIElement::dismiss):
2199
2200 2018-03-14  Youenn Fablet  <youenn@apple.com>
2201
2202         Update libwebrtc up to 36af4e9614f707f733eb2340fae66d6325aaac5b
2203         https://bugs.webkit.org/show_bug.cgi?id=183481
2204
2205         Reviewed by Eric Carlson.
2206
2207         * Scripts/webkitpy/style/checker.py: Do not check style.
2208
2209 2018-03-14  Brendan McLoughlin  <brendan@bocoup.com>
2210
2211         Add label on github when exporting wpt tests to w3c/web-platform-test repo
2212         https://bugs.webkit.org/show_bug.cgi?id=183575
2213
2214         Reviewed by Youenn Fablet.
2215
2216         * Scripts/webkitpy/w3c/test_exporter.py:
2217         (TestExporter.make_pull_request):
2218         (parse_args):
2219         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
2220         (TestExporterTest.test_export):
2221
2222 2018-03-14  Zalan Bujtas  <zalan@apple.com>
2223
2224         [LayoutReloaded] Add InlineBox dump
2225         https://bugs.webkit.org/show_bug.cgi?id=183625
2226
2227         Reviewed by Antti Koivisto.
2228
2229         Right now line boxes live off of the inline formatting context but that's temporary and
2230         they will be moved over to the BoxTree.
2231
2232         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
2233         (BlockFormattingContext.prototype._computeContentHeight):
2234         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
2235         (InlineFormattingContext):
2236         (InlineFormattingContext.prototype.lines):
2237         (InlineFormattingContext.prototype.layout):
2238         (InlineFormattingContext.prototype._handleText):
2239         (InlineFormattingContext.prototype._commitLine):
2240         (InlineFormattingContext.prototype._initializeLine):
2241         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
2242         (Line):
2243         (Line.prototype.isEmpty):
2244         (Line.prototype.rect):
2245         (Line.prototype.lineBoxes):
2246         (Line.prototype.addLineBox):
2247         (Line.prototype.appendFragment): Deleted.
2248         * LayoutReloaded/README.md:
2249         * LayoutReloaded/Utils.js:
2250         (Utils.computedLineHeight):
2251         (Utils.isBlockContainerElement):
2252         (Utils.textHeight):
2253         (Utils._dumpBox):
2254         (Utils._dumpLines.):
2255         (Utils._dumpLines):
2256         (Utils._dumpTree):
2257         (Utils.precisionRound):
2258         (Utils):
2259         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
2260         * LayoutReloaded/test/index.html:
2261
2262 2018-03-14  Tim Horton  <timothy_horton@apple.com>
2263
2264         Fix the build after r229567
2265
2266         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2267
2268 2018-03-13  Jer Noble  <jer.noble@apple.com>
2269
2270         [iOS] Muted media playback can interrupt out-of-process audio
2271         https://bugs.webkit.org/show_bug.cgi?id=183606
2272         <rdar://problem/37466253>
2273
2274         Reviewed by Eric Carlson.
2275
2276         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2277         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
2278         (TestWebKitAPI::TEST):
2279         * TestWebKitAPI/Tests/WebKitLegacy/ios/video-with-paused-audio-and-playing-muted.html: Added.
2280
2281 2018-03-13  Ross Kirsling  <ross.kirsling@sony.com>
2282
2283         [Win] Layout Test fast/html/menuitem-element.html is failing.
2284         https://bugs.webkit.org/show_bug.cgi?id=179299
2285
2286         Reviewed by Per Arne Vollan.
2287
2288         * DumpRenderTree/win/DumpRenderTree.cpp:
2289         (setWebPreferencesForTestOptions):
2290         Recognize test option "enableMenuItemElement".
2291
2292 2018-03-12  Tim Horton  <timothy_horton@apple.com>
2293
2294         Stop using SDK conditionals to control feature definitions
2295         https://bugs.webkit.org/show_bug.cgi?id=183430
2296         <rdar://problem/38251619>
2297
2298         Reviewed by Dan Bernstein.
2299
2300         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2301         * TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig: Renamed.
2302
2303 2018-03-12  Ross Kirsling  <ross.kirsling@sony.com>
2304
2305         [DRT] TestOptions should not be ObjC.
2306         https://bugs.webkit.org/show_bug.cgi?id=183487
2307
2308         Reviewed by Per Arne Vollan.
2309
2310         * DumpRenderTree/CMakeLists.txt:
2311         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
2312         * DumpRenderTree/PlatformMac.cmake:
2313         Move TestOptions to platform-agnostic sources.
2314
2315         * DumpRenderTree/TestOptions.h:
2316         * DumpRenderTree/TestOptions.cpp: Renamed from Tools/DumpRenderTree/TestOptions.mm.
2317         * DumpRenderTree/mac/DumpRenderTree.mm:
2318         Remove NSURL dependency and align with WTR as much as possible.
2319
2320         * DumpRenderTree/win/DumpRenderTree.cpp:
2321         Consume TestOptions (recognizing just the ones that have WebPreferences defined for now).
2322
2323 2018-03-12  Yoav Weiss  <yoav@yoav.ws>
2324
2325         Runtime flag for link prefetch and remove link subresource.
2326         https://bugs.webkit.org/show_bug.cgi?id=183540
2327
2328         Reviewed by Chris Dumez.
2329
2330         Remove the LINK_PREFETCH build time flag.
2331
2332         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2333
2334 2018-03-12  Wenson Hsieh  <wenson_hsieh@apple.com>
2335
2336         REGRESSION(r211643): Dismissing WKActionSheet should not also dismiss its presenting view controller
2337         https://bugs.webkit.org/show_bug.cgi?id=183549
2338         <rdar://problem/34960698>
2339
2340         Reviewed by Andy Estes.
2341
2342         Add TestWebKitAPI support for testing WKWebViews embedded within presented view controllers, and use this to
2343         check that dismissing an action sheet does not additionally cause the view controller being used to present the
2344         web view to also dismiss.
2345
2346         * TestWebKitAPI/ClassMethodSwizzler.h: Added.
2347         * TestWebKitAPI/ClassMethodSwizzler.mm: Added.
2348         (TestWebKitAPI::ClassMethodSwizzler::ClassMethodSwizzler):
2349         (TestWebKitAPI::ClassMethodSwizzler::~ClassMethodSwizzler):
2350
2351         Add ClassMethodSwizzler, an RAII which swizzles an Objective-C class method over its lifetime.
2352
2353         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2354         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
2355
2356         Add a new API test that loads a view controller which embeds a WKWebView, and verifies that presenting and then
2357         dismissing an action sheet from that web view does not cause the view controller to also dismiss.
2358
2359         (TestWebKitAPI::setOverrideViewControllerForFullscreenPresentation):
2360         (TestWebKitAPI::overrideViewControllerForFullscreenPresentation):
2361
2362         Mock +[UIViewController _viewControllerForFullScreenPresentationFromView:] to return the web view. This works
2363         around the fact that TestWebKitAPI is not a UI application, so certain pieces of UIKit API and SPI need to be
2364         stubbed or mocked to simulate being a UI application. We can remove these workarounds once
2365         https://webkit.org/b/175204 is addressed, and TestWebKitAPI becomes a UI application that can actually maintain
2366         a root view controller and key window.
2367
2368         (TestWebKitAPI::TEST):
2369         * TestWebKitAPI/cocoa/TestWKWebView.h:
2370         * TestWebKitAPI/cocoa/TestWKWebView.mm:
2371         (-[TestWKWebView initWithFrame:configuration:addToWindow:]):
2372
2373         Add a new initializer for TestWKWebView that doesn't force the view to be hosted within a UIWindow. This is used
2374         by TestWKWebViewController to create a TestWKWebView in -loadView.
2375
2376         * TestWebKitAPI/ios/TestWKWebViewController.h: Added.
2377         * TestWebKitAPI/ios/TestWKWebViewController.mm: Added.
2378         (-[TestWKWebViewControllerWindow _beginKeyWindowDeferral]):
2379         (-[TestWKWebViewControllerWindow _endKeyWindowDeferral]):
2380
2381         Stub out these methods to prevent UIKit from hitting assertions when making this UIWindow the key window. This
2382         can also be removed once TestWebKitAPI is a UI application.
2383
2384         (-[TestWKWebViewController initWithFrame:configuration:]):
2385         (-[TestWKWebViewController loadView]):
2386         (-[TestWKWebViewController webView]):
2387         (-[TestWKWebViewController dismissViewControllerAnimated:completion:]):
2388         (-[TestWKWebViewController dismissalHandler]):
2389         (-[TestWKWebViewController setDismissalHandler:]):
2390
2391         Add a UIViewController helper subclass whose -view is a WKWebView. The new API test presents this view
2392         controller. Tests may also provide a dismissalHandler, which is invoked when the view controller is being
2393         dismissed. The new API test uses this hook to verify that the view controller containing the web view isn't also
2394         dismissed after the action sheet goes away.
2395
2396         * TestWebKitAPI/ios/UIKitSPI.h:
2397
2398 2018-03-12  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2399
2400         [webkitpy] Remove openssl command dependency.
2401         https://bugs.webkit.org/show_bug.cgi?id=183494
2402
2403         Reviewed by Ryosuke Niwa.
2404
2405         Added Python implementation of PEM file perser and switched to use that
2406         from external `openssl` command.
2407
2408         * Scripts/webkitpy/common/system/pemfile.py: Added.
2409         (load):
2410         (BadFormatError):
2411         (Pem):
2412         (Pem.__init__):
2413         (Pem.get):
2414         (Pem.get_all):
2415         (Pem.certificate):
2416         (Pem.private_key):
2417         (Pem.csr):
2418         (Pem.certificate_request):
2419         (Pem.certificate_signing_request):
2420         (_parse_pem_format):
2421         (_parse_pem_format.find_begin):
2422         (_parse_pem_format.find_end):
2423         (_parse_pem_format.sections):
2424         * Scripts/webkitpy/common/system/pemfile_unittest.py: Added.
2425         (PemFileTest):
2426         (PemFileTest.test_parse):
2427         (PemFileTest.test_parse_bad_format):
2428         * Scripts/webkitpy/port/base.py:
2429         (Port.start_websocket_server):
2430         (Port._extract_certificate_from_pem): Deleted.
2431         (Port._extract_private_key_from_pem): Deleted.
2432
2433 2018-03-12  Javier Fernandez  <jfernandez@igalia.com>
2434
2435         Remove GridLayout runtime flag
2436         https://bugs.webkit.org/show_bug.cgi?id=183484
2437
2438         Reviewed by Myles C. Maxfield.
2439
2440         The Grid Layout feature has been enabled by default for almost a
2441         year, so I think it's time to remove the runtime flag and the
2442         codepath run when the feature is disabled.
2443
2444         * DumpRenderTree/mac/DumpRenderTree.mm:
2445         (enableExperimentalFeatures):
2446
2447 2018-03-12  Antoine Quint  <graouts@apple.com>
2448
2449         [Web Animations] Implement CSS Animations and CSS Transitions as Web Animations
2450         https://bugs.webkit.org/show_bug.cgi?id=183504
2451         <rdar://problem/38372965>
2452
2453         Reviewed by Jon Lee.
2454
2455         Add a new <!-- webkit-test-runner --> flag to enable the CSS Animations and CSS Transitions
2456         as Web Animations runtime flag in the new tests we've created for this feature.
2457
2458         * DumpRenderTree/TestOptions.h:
2459         * DumpRenderTree/TestOptions.mm:
2460         (TestOptions::TestOptions):
2461         * DumpRenderTree/mac/DumpRenderTree.mm:
2462         (setWebPreferencesForTestOptions):
2463         * WebKitTestRunner/TestController.cpp:
2464         (WTR::TestController::resetPreferencesToConsistentValues):
2465         (WTR::updateTestOptionsFromTestHeader):
2466         * WebKitTestRunner/TestOptions.h:
2467         (WTR::TestOptions::hasSameInitializationOptions const):
2468
2469 2018-03-11  Zalan Bujtas  <zalan@apple.com>
2470
2471         [LayoutReloaded] Add Line class for InlineFormattingContext -and move files around.
2472         https://bugs.webkit.org/show_bug.cgi?id=183551
2473
2474         Reviewed by Wenson Hsieh.
2475
2476         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js: Renamed from Tools/LayoutReloaded/BlockFormattingContext.js.
2477         (BlockFormattingContext):
2478         (BlockFormattingContext.prototype.layout):
2479         (BlockFormattingContext.prototype.computeWidth):
2480         (BlockFormattingContext.prototype.computeHeight):
2481         (BlockFormattingContext.prototype.marginTop):
2482         (BlockFormattingContext.prototype.marginBottom):
2483         (BlockFormattingContext.prototype._computeStaticPosition):
2484         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
2485         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
2486         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
2487         (BlockFormattingContext.prototype._computeFloatingWidth):
2488         (BlockFormattingContext.prototype._computeInFlowWidth):
2489         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
2490         (BlockFormattingContext.prototype._computeFloatingHeight):
2491         (BlockFormattingContext.prototype._computeInFlowHeight):
2492         (BlockFormattingContext.prototype._computeHorizontalConstraint):
2493         (BlockFormattingContext.prototype._computeContentHeight):
2494         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
2495         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
2496         (BlockFormattingContext.prototype._shrinkToFitWidth):
2497         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js: Renamed from Tools/LayoutReloaded/BlockMarginCollapse.js.
2498         (BlockMarginCollapse.marginTop):
2499         (BlockMarginCollapse.marginBottom):
2500         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
2501         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
2502         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
2503         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
2504         (BlockMarginCollapse._nonCollapsedMarginTop):
2505         (BlockMarginCollapse._nonCollapsedMarginBottom):
2506         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
2507         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
2508         (BlockMarginCollapse._marginValue):
2509         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
2510         (BlockMarginCollapse):
2511         * LayoutReloaded/FormattingContext/FloatingContext.js: Renamed from Tools/LayoutReloaded/FloatingContext.js.
2512         (FloatingContext):
2513         (FloatingContext.prototype.computePosition):
2514         (FloatingContext.prototype.bottom):
2515         (FloatingContext.prototype._positionForFloating):
2516         (FloatingContext.prototype._positionForClear):
2517         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
2518         (FloatingContext.prototype._addFloating):
2519         (FloatingContext.prototype._findInnerMostLeftAndRight):
2520         (FloatingContext.prototype._moveToNextVerticalPosition):
2521         (FloatingContext.prototype._availableSpace):
2522         (FloatingContext.prototype._findFloatingAtVerticalPosition):
2523         (FloatingContext.prototype._isEmpty):
2524         (FloatingContext.prototype._adjustedFloatingPosition):
2525         (FloatingContext.prototype._bottom):
2526         (FloatingContext.prototype._formattingContext):
2527         * LayoutReloaded/FormattingContext/FormattingContext.js: Renamed from Tools/LayoutReloaded/FormattingContext.js.
2528         (FormattingContext):
2529         (FormattingContext.prototype.rootContainer):
2530         (FormattingContext.prototype.floatingContext):
2531         (FormattingContext.prototype.layout):
2532         (FormattingContext.prototype.computeWidth):
2533         (FormattingContext.prototype.computeHeight):
2534         (FormattingContext.prototype.marginTop):
2535         (FormattingContext.prototype.marginLeft):
2536         (FormattingContext.prototype.marginBottom):
2537         (FormattingContext.prototype.marginRight):
2538         (FormattingContext.prototype.absoluteMarginBox):
2539         (FormattingContext.prototype.absoluteBorderBox):
2540         (FormattingContext.prototype.absolutePaddingBox):
2541         (FormattingContext.prototype.absoluteContentBox):
2542         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js: Renamed from Tools/LayoutReloaded/InlineFormattingContext.js.
2543         (InlineFormattingContext):
2544         (InlineFormattingContext.prototype.layout):
2545         (InlineFormattingContext.prototype._handleInlineBox):
2546         (InlineFormattingContext.prototype._handleText):
2547         (InlineFormattingContext.prototype._commitLine):
2548         (InlineFormattingContext.prototype._line):
2549         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js: Copied from Tools/LayoutReloaded/InitialBlockContainer.js.
2550         (Line):
2551         (Line.prototype.isEmpty):
2552         (Line.prototype.availableWidth):
2553         (Line.prototype.appendFragment):
2554         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
2555         * LayoutReloaded/LayoutTree/BlockContainer.js: Renamed from Tools/LayoutReloaded/BlockContainer.js.
2556         (BlockContainer):
2557         (BlockContainer.prototype.establishesInlineFormattingContext):
2558         * LayoutReloaded/LayoutTree/Box.js: Renamed from Tools/LayoutReloaded/Box.js.
2559         (Box):
2560         (Box.prototype.id):
2561         (Box.prototype.setRendererName):
2562         (Box.prototype.name):
2563         (Box.prototype.node):
2564         (Box.prototype.parent):
2565         (Box.prototype.nextSibling):
2566         (Box.prototype.nextInFlowSibling):
2567         (Box.prototype.previousSibling):
2568         (Box.prototype.previousInFlowSibling):
2569         (Box.prototype.setParent):
2570         (Box.prototype.setNextSibling):
2571         (Box.prototype.setPreviousSibling):
2572         (Box.prototype.rect):
2573         (Box.prototype.topLeft):
2574         (Box.prototype.bottomRight):
2575         (Box.prototype.setTopLeft):
2576         (Box.prototype.setSize):
2577         (Box.prototype.setWidth):
2578         (Box.prototype.setHeight):
2579         (Box.prototype.isContainer):
2580         (Box.prototype.isBlockLevelBox):
2581         (Box.prototype.isBlockContainerBox):
2582         (Box.prototype.isInlineLevelBox):
2583         (Box.prototype.setIsAnonymous):
2584         (Box.prototype.isAnonymous):
2585         (Box.prototype.establishesFormattingContext):
2586         (Box.prototype.establishedFormattingContext):
2587         (Box.prototype.establishesBlockFormattingContext):
2588         (Box.prototype.establishesInlineFormattingContext):
2589         (Box.prototype.isPositioned):
2590         (Box.prototype.isRelativePositioned):
2591         (Box.prototype.isAbsolutePositioned):
2592         (Box.prototype.isFixedPositioned):
2593         (Box.prototype.isInFlow):
2594         (Box.prototype.isOutOfFlowPositioned):
2595         (Box.prototype.isInFlowPositioned):
2596         (Box.prototype.isFloatingPositioned):
2597         (Box.prototype.isFloatingOrOutOfFlowPositioned):
2598         (Box.prototype.isRootElement):
2599         (Box.prototype.containingBlock):
2600         (Box.prototype.borderBox):
2601         (Box.prototype.paddingBox):
2602         (Box.prototype.contentBox):
2603         * LayoutReloaded/LayoutTree/Container.js: Renamed from Tools/LayoutReloaded/Container.js.
2604         (Container):
2605         (Container.prototype.isContainer):
2606         (Container.prototype.setFirstChild):
2607         (Container.prototype.setLastChild):
2608         (Container.prototype.firstChild):
2609         (Container.prototype.firstInFlowChild):
2610         (Container.prototype.lastChild):
2611         (Container.prototype.lastInFlowChild):
2612         (Container.prototype.hasChild):
2613         (Container.prototype.hasInFlowChild):
2614         * LayoutReloaded/LayoutTree/InitialBlockContainer.js: Renamed from Tools/LayoutReloaded/InitialBlockContainer.js.
2615         (InitialBlockContainer):
2616         (InitialBlockContainer.prototype.establishesBlockFormattingContext):
2617         (InitialBlockContainer.prototype.paddingBox):
2618         (InitialBlockContainer.prototype.contentBox):
2619         * LayoutReloaded/LayoutTree/InlineBox.js: Renamed from Tools/LayoutReloaded/InlineBox.js.
2620         (InlineBox):
2621         (InlineBox.prototype.setText):
2622         (InlineBox.prototype.text):
2623         * LayoutReloaded/LayoutTree/Text.js: Renamed from Tools/LayoutReloaded/Text.js.
2624         (Text):
2625         (Text.prototype.node):
2626         (Text.prototype.content):
2627         (Text.prototype.length):
2628         * LayoutReloaded/Utils.js:
2629         (Utils.nextBreakingOpportunity):
2630         (Utils.measureText):
2631         * LayoutReloaded/misc/headers/Line.h: Copied from Tools/LayoutReloaded/misc/headers/Text.h.
2632         * LayoutReloaded/misc/headers/Text.h:
2633         * LayoutReloaded/test/border-simple.html:
2634         * LayoutReloaded/test/index.html:
2635
2636 2018-03-10  Wenson Hsieh  <wenson_hsieh@apple.com>
2637
2638         [macOS] Copying a table from the Numbers app and pasting into iCloud Numbers fails
2639         https://bugs.webkit.org/show_bug.cgi?id=183485
2640         <rdar://problem/38041984>
2641
2642         Reviewed by Ryosuke Niwa.
2643
2644         Add new API tests to cover scenarios in which we paste image data alongside text data.
2645
2646         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
2647         (TestWebKitAPI::TEST):
2648         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
2649         (TestWebKitAPI::TEST):
2650
2651 2018-03-09  Zalan Bujtas  <zalan@apple.com>
2652
2653         [LayoutReloaded] Initial commit -block formatting context.
2654         https://bugs.webkit.org/show_bug.cgi?id=183462
2655
2656         Reviewed by Antti Koivisto.
2657
2658         See README.md
2659
2660         * LayoutReloaded/BlockContainer.js: Added.
2661         (BlockContainer):
2662         (BlockContainer.prototype.establishesInlineFormattingContext):
2663         * LayoutReloaded/BlockFormattingContext.js: Added.
2664         (BlockFormattingContext):
2665         (BlockFormattingContext.prototype.layout):
2666         (BlockFormattingContext.prototype.computeWidth):
2667         (BlockFormattingContext.prototype.computeHeight):
2668         (BlockFormattingContext.prototype.marginTop):
2669         (BlockFormattingContext.prototype.marginBottom):
2670         (BlockFormattingContext.prototype._computeStaticPosition):
2671         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
2672         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
2673         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
2674         (BlockFormattingContext.prototype._computeFloatingWidth):
2675         (BlockFormattingContext.prototype._computeInFlowWidth):
2676         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
2677         (BlockFormattingContext.prototype._computeFloatingHeight):
2678         (BlockFormattingContext.prototype._computeInFlowHeight):
2679         (BlockFormattingContext.prototype._computeHorizontalConstraint):
2680         (BlockFormattingContext.prototype._computeContentHeight):
2681         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
2682         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
2683         (BlockFormattingContext.prototype._shrinkToFitWidth):
2684         * LayoutReloaded/BlockMarginCollapse.js: Added.
2685         (BlockMarginCollapse.marginTop):
2686         (BlockMarginCollapse.marginBottom):
2687         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
2688         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
2689         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
2690         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
2691         (BlockMarginCollapse._nonCollapsedMarginTop):
2692         (BlockMarginCollapse._nonCollapsedMarginBottom):
2693         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
2694         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
2695         (BlockMarginCollapse._marginValue):
2696         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
2697         (BlockMarginCollapse):
2698         * LayoutReloaded/Box.js: Added.
2699         (Box):
2700         (Box.prototype.id):
2701         (Box.prototype.setRendererName):
2702         (Box.prototype.name):
2703         (Box.prototype.node):
2704         (Box.prototype.parent):
2705         (Box.prototype.nextSibling):
2706         (Box.prototype.nextInFlowSibling):
2707         (Box.prototype.previousSibling):
2708         (Box.prototype.previousInFlowSibling):
2709         (Box.prototype.setParent):
2710         (Box.prototype.setNextSibling):
2711         (Box.prototype.setPreviousSibling):
2712         (Box.prototype.rect):
2713         (Box.prototype.topLeft):
2714         (Box.prototype.bottomRight):
2715         (Box.prototype.setTopLeft):
2716         (Box.prototype.setSize):
2717         (Box.prototype.setWidth):
2718         (Box.prototype.setHeight):
2719         (Box.prototype.isContainer):
2720         (Box.prototype.isBlockLevelBox):
2721         (Box.prototype.isBlockContainerBox):
2722         (Box.prototype.isInlineLevelBox):
2723         (Box.prototype.setIsAnonymous):
2724         (Box.prototype.isAnonymous):
2725         (Box.prototype.establishesFormattingContext):
2726         (Box.prototype.establishedFormattingContext):
2727         (Box.prototype.establishesBlockFormattingContext):
2728         (Box.prototype.establishesInlineFormattingContext):
2729         (Box.prototype.isPositioned):
2730         (Box.prototype.isRelativePositioned):
2731         (Box.prototype.isAbsolutePositioned):
2732         (Box.prototype.isFixedPositioned):
2733         (Box.prototype.isInFlow):
2734         (Box.prototype.isOutOfFlowPositioned):
2735         (Box.prototype.isInFlowPositioned):
2736         (Box.prototype.isFloatingPositioned):
2737         (Box.prototype.isFloatingOrOutOfFlowPositioned):
2738         (Box.prototype.isRootElement):
2739         (Box.prototype.containingBlock):
2740         (Box.prototype.borderBox):
2741         (Box.prototype.paddingBox):
2742         (Box.prototype.contentBox):
2743         * LayoutReloaded/Container.js: Added.
2744         (Container):
2745         (Container.prototype.isContainer):
2746         (Container.prototype.setFirstChild):
2747         (Container.prototype.setLastChild):
2748         (Container.prototype.firstChild):
2749         (Container.prototype.firstInFlowChild):
2750         (Container.prototype.lastChild):
2751         (Container.prototype.lastInFlowChild):
2752         (Container.prototype.hasChild):
2753         (Container.prototype.hasInFlowChild):
2754         * LayoutReloaded/FloatingContext.js: Added.
2755         (FloatingContext):
2756         (FloatingContext.prototype.computePosition):
2757         (FloatingContext.prototype.bottom):
2758         (FloatingContext.prototype._positionForFloating):
2759         (FloatingContext.prototype._positionForClear):
2760         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
2761         (FloatingContext.prototype._addFloating):
2762         (FloatingContext.prototype._findInnerMostLeftAndRight):
2763         (FloatingContext.prototype._moveToNextVerticalPosition):
2764         (FloatingContext.prototype._availableSpace):
2765         (FloatingContext.prototype._findFloatingAtVerticalPosition):
2766         (FloatingContext.prototype._isEmpty):
2767         (FloatingContext.prototype._adjustedFloatingPosition):
2768         (FloatingContext.prototype._bottom):
2769         (FloatingContext.prototype._formattingContext):
2770         * LayoutReloaded/FormattingContext.js: Added.
2771         (FormattingContext):
2772         (FormattingContext.prototype.rootContainer):
2773         (FormattingContext.prototype.floatingContext):
2774         (FormattingContext.prototype.layout):
2775         (FormattingContext.prototype.computeWidth):
2776         (FormattingContext.prototype.computeHeight):
2777         (FormattingContext.prototype.marginTop):
2778         (FormattingContext.prototype.marginLeft):
2779         (FormattingContext.prototype.marginBottom):
2780         (FormattingContext.prototype.marginRight):
2781         (FormattingContext.prototype.absoluteMarginBox):
2782         (FormattingContext.prototype.absoluteBorderBox):
2783         (FormattingContext.prototype.absolutePaddingBox):
2784         (FormattingContext.prototype.absoluteContentBox):
2785         * LayoutReloaded/InitialBlockContainer.js: Added.
2786         (InitialBlockContainer):
2787         (InitialBlockContainer.prototype.establishesBlockFormattingContext):
2788         (InitialBlockContainer.prototype.paddingBox):
2789         (InitialBlockContainer.prototype.contentBox):
2790         * LayoutReloaded/InlineBox.js: Added.
2791         (InlineBox):
2792         (InlineBox.prototype.setText):
2793         (InlineBox.prototype.text):
2794         * LayoutReloaded/InlineFormattingContext.js: Added.
2795         (InlineFormattingContext):
2796         (InlineFormattingContext.prototype.layout):
2797         (InlineFormattingContext.prototype._handleInlineBox):
2798         (InlineFormattingContext.prototype._handleText):
2799         * LayoutReloaded/Layout.js: Added.
2800         (layout):
2801         * LayoutReloaded/LayoutContext.js: Added.
2802         (LayoutContext):
2803         (LayoutContext.prototype.layoutFormattingContext):
2804         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata: Added.
2805         * LayoutReloaded/LayoutReloaded.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: Added.
2806         * LayoutReloaded/README.md: Added.
2807         * LayoutReloaded/Text.js: Added.
2808         (Text):
2809         * LayoutReloaded/TreeBuilder.js: Added.
2810         (TreeBuilder.prototype.createTree):
2811         (TreeBuilder.prototype._createAndAttachBox):
2812         (TreeBuilder.prototype._appendChild):
2813         (TreeBuilder.prototype._findBox):
2814         (TreeBuilder.prototype._findNode):
2815         (TreeBuilder):
2816         * LayoutReloaded/Utils.js: Added.
2817         (LayoutPoint):
2818         (LayoutPoint.prototype.setLeft):
2819         (LayoutPoint.prototype.setTop):
2820         (LayoutPoint.prototype.left):
2821         (LayoutPoint.prototype.top):
2822         (LayoutPoint.prototype.shiftLeft):
2823         (LayoutPoint.prototype.shiftTop):
2824         (LayoutPoint.prototype.moveBy):
2825         (LayoutPoint.prototype.equal):
2826         (LayoutPoint.prototype.clone):
2827         (LayoutSize):
2828         (LayoutSize.prototype.setWidth):
2829         (LayoutSize.prototype.setHeight):
2830         (LayoutSize.prototype.width):
2831         (LayoutSize.prototype.height):
2832         (LayoutSize.prototype.growBy):
2833         (LayoutSize.prototype.shrinkBy):
2834         (LayoutSize.prototype.isEmpty):
2835         (LayoutSize.prototype.equal):
2836         (LayoutSize.prototype.clone):
2837         (LayoutRect):
2838         (LayoutRect.prototype.setTop):
2839         (LayoutRect.prototype.setLeft):
2840         (LayoutRect.prototype.setBottom):
2841         (LayoutRect.prototype.setRight):
2842         (LayoutRect.prototype.left):
2843         (LayoutRect.prototype.top):
2844         (LayoutRect.prototype.bottom):
2845         (LayoutRect.prototype.right):
2846         (LayoutRect.prototype.setTopLeft):
2847         (LayoutRect.prototype.topLeft):
2848         (LayoutRect.prototype.topRight):
2849         (LayoutRect.prototype.bottomRight):
2850         (LayoutRect.prototype.setWidth):
2851         (LayoutRect.prototype.setHeight):
2852         (LayoutRect.prototype.setSize):
2853         (LayoutRect.prototype.size):
2854         (LayoutRect.prototype.width):
2855         (LayoutRect.prototype.height):
2856         (LayoutRect.prototype.growBy):
2857         (LayoutRect.prototype.shrinkBy):
2858         (LayoutRect.prototype.moveBy):
2859         (LayoutRect.prototype.isEmpty):
2860         (LayoutRect.prototype.equal):
2861         (LayoutRect.prototype.intersects):
2862         (LayoutRect.prototype.contains):
2863         (LayoutRect.prototype.clone):
2864         (ASSERT_NOT_REACHED):
2865         (ASSERT):
2866         (Utils.computedValue):
2867         (Utils.propertyIsAuto):
2868         (Utils.isWidthAuto):
2869         (Utils.isHeightAuto):
2870         (Utils.isTopAuto):
2871         (Utils.isLeftAuto):
2872         (Utils.isBottomAuto):
2873         (Utils.isRightAuto):
2874         (Utils.width):
2875         (Utils.height):
2876         (Utils.top):
2877         (Utils.bottom):
2878         (Utils.left):
2879         (Utils.right):
2880         (Utils.hasBorderTop):
2881         (Utils.hasBorderBottom):
2882         (Utils.hasPaddingTop):
2883         (Utils.hasPaddingBottom):
2884         (Utils.computedMarginTop):
2885         (Utils.computedMarginLeft):
2886         (Utils.computedMarginBottom):
2887         (Utils.computedMarginRight):
2888         (Utils.computedBorderTopLeft):
2889         (Utils.computedBorderBottomRight):
2890         (Utils.computedPaddingTopLeft):
2891         (Utils.computedPaddingBottomRight):
2892         (Utils.computedBorderAndPaddingTop):
2893         (Utils.computedBorderAndPaddingLeft):
2894         (Utils.computedBorderAndPaddingBottom):
2895         (Utils.computedBorderAndPaddingRight):
2896         (Utils.computedHorizontalBorderAndPadding):
2897         (Utils.computedVerticalBorderAndPadding):
2898         (Utils.hasClear):
2899         (Utils.hasClearLeft):
2900         (Utils.hasClearRight):
2901         (Utils.hasClearBoth):
2902         (Utils.isBlockLevelElement):
2903         (Utils.isBlockContainerElement):
2904         (Utils.isInlineLevelElement):
2905         (Utils.isTableElement):
2906         (Utils.isRelativePositioned):
2907         (Utils.isAbsolutePositioned):
2908         (Utils.isFixedPositioned):
2909         (Utils.isOverflowVisible):
2910         (Utils.isFloatingPositioned):
2911         (Utils.isFloatingLeft):
2912         (Utils.mapToContainer):
2913         (Utils.mapStaticToAbsolute):
2914         (Utils.collectOutOfFlowDescendants):
2915         (Utils.nextBreakingOpportunity):
2916         (Utils.measureText):
2917         (Utils.layoutTreeDump):
2918         (Utils._dumpBox):
2919         (Utils._dumpTree):
2920         (Utils):
2921         * LayoutReloaded/misc/LayoutReloadedWebKit.patch: Added.
2922         * LayoutReloaded/misc/headers/BlockContainer.h: Added.
2923         * LayoutReloaded/misc/headers/BlockFormattingContext.h: Added.
2924         * LayoutReloaded/misc/headers/BlockMarginCollapse.h: Added.
2925         * LayoutReloaded/misc/headers/Box.h: Added.
2926         * LayoutReloaded/misc/headers/Container.h: Added.
2927         * LayoutReloaded/misc/headers/FloatingContext.h: Added.
2928         * LayoutReloaded/misc/headers/FormattingContext.h: Added.
2929         * LayoutReloaded/misc/headers/InitialBlockContainer.h: Added.
2930         * LayoutReloaded/misc/headers/InlineBox.h: Added.
2931         * LayoutReloaded/misc/headers/LayoutContext.h: Added.
2932         * LayoutReloaded/misc/headers/Text.h: Added.
2933         * LayoutReloaded/test/TestHarness.js: Added.
2934         (verifyLayoutTreeDump):
2935         (runLayout):
2936         * LayoutReloaded/test/absolute-auto-with-sibling-margin-bottom.html: Added.
2937         * LayoutReloaded/test/absolute-bottom.html: Added.
2938         * LayoutReloaded/test/absolute-height-stretch.html: Added.
2939         * LayoutReloaded/test/absolute-left-auto.html: Added.
2940         * LayoutReloaded/test/absolute-left-right-top-bottom-auto.html: Added.
2941         * LayoutReloaded/test/absolute-nested.html: Added.
2942         * LayoutReloaded/test/absolute-nested2.html: Added.
2943         * LayoutReloaded/test/absolute-simple.html: Added.
2944         * LayoutReloaded/test/absolute-width-shrink-to-fit.html: Added.
2945         * LayoutReloaded/test/absolute-width-stretch.html: Added.
2946         * LayoutReloaded/test/absolute-with-inline-preferred-width.html: Added.
2947         * LayoutReloaded/test/absolute-with-static-block-position-nested.html: Added.
2948         * LayoutReloaded/test/almost-intruding-left-float-simple.html: Added.
2949         * LayoutReloaded/test/border-simple.html: Added.
2950         * LayoutReloaded/test/fixed-nested.html: Added.
2951         * LayoutReloaded/test/float-left-when-container-has-padding-margin.html: Added.
2952         * LayoutReloaded/test/floating-box-clear-both-simple.html: Added.
2953         * LayoutReloaded/test/floating-box-clear-right-simple.html: Added.
2954         * LayoutReloaded/test/floating-box-left-and-right-multiple-with-top-offset.html: Added.
2955         * LayoutReloaded/test/floating-box-left-and-right-multiple.html: Added.
2956         * LayoutReloaded/test/floating-box-right-simple.html: Added.
2957         * LayoutReloaded/test/floating-box-with-clear-siblings.html: Added.
2958         * LayoutReloaded/test/floating-box-with-clear-simple.html: Added.
2959         * LayoutReloaded/test/floating-box-with-new-formatting-context.html: Added.
2960         * LayoutReloaded/test/floating-box-with-relative-positioned-sibling.html: Added.
2961         * LayoutReloaded/test/floating-left-right-simple.html: Added.
2962         * LayoutReloaded/test/floating-left-right-with-all-margins.html: Added.
2963         * LayoutReloaded/test/floating-lefts-and-rights-simple.html: Added.
2964         * LayoutReloaded/test/floating-multiple-lefts-in-body.html: Added.
2965         * LayoutReloaded/test/floating-multiple-lefts-multiple-lines.html: Added.
2966         * LayoutReloaded/test/floating-multiple-lefts.html: Added.
2967         * LayoutReloaded/test/floating-sizing.html: Added.
2968         * LayoutReloaded/test/floating-sizing2.html: Added.
2969         * LayoutReloaded/test/floating-sizing3.html: Added.
2970         * LayoutReloaded/test/floating-with-new-block-formatting-context.html: Added.
2971         * LayoutReloaded/test/index.html: Added.
2972         * LayoutReloaded/test/inline-content-simple.html: Added.
2973         * LayoutReloaded/test/intruding-left-float-simple.html: Added.
2974         * LayoutReloaded/test/margin-collapse-bottom-bottom.html: Added.
2975         * LayoutReloaded/test/margin-collapse-bottom-nested.html: Added.
2976         * LayoutReloaded/test/margin-collapse-first-last-are-floating.html: Added.
2977         * LayoutReloaded/test/margin-collapse-simple.html: Added.
2978         * LayoutReloaded/test/margin-collapse-top-nested.html: Added.
2979         * LayoutReloaded/test/margin-collapse-when-child-has-padding-border.html: Added.
2980         * LayoutReloaded/test/margin-collapse-with-block-formatting-context.html: Added.
2981         * LayoutReloaded/test/margin-collapse-with-block-formatting-context2.html: Added.
2982         * LayoutReloaded/test/margin-left-right-sizing-out-of-flow.html: Added.
2983         * LayoutReloaded/test/margin-left-right-sizing.html: Added.
2984         * LayoutReloaded/test/margin-propagation-simple-content-height.html: Added.
2985         * LayoutReloaded/test/margin-sibling-collapse-propagated.html: Added.
2986         * LayoutReloaded/test/margin-simple.html: Added.
2987         * LayoutReloaded/test/negative-margin-simple.html: Added.
2988         * LayoutReloaded/test/padding-nested.html: Added.
2989         * LayoutReloaded/test/padding-simple.html: Added.
2990         * LayoutReloaded/test/relative-auto-with-parent-offset.html: Added.
2991         * LayoutReloaded/test/relative-auto.html: Added.
2992         * LayoutReloaded/test/relative-bottom.html: Added.
2993         * LayoutReloaded/test/relative-right.html: Added.
2994         * LayoutReloaded/test/relative-siblings.html: Added.
2995         * LayoutReloaded/test/relative-simple.html: Added.
2996
2997 2018-03-09  Stephan Szabo  <stephan.szabo@sony.com>
2998
2999         WebKitTestRunner: Do not build accessibility files/idl when !HAVE(ACCESSIBILITY)
3000         https://bugs.webkit.org/show_bug.cgi?id=183516
3001
3002         Reviewed by Alex Christensen.
3003
3004         * WebKitTestRunner/CMakeLists.txt:
3005
3006 2018-03-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3007
3008         [webkitpy, WinCairo] Launch Apache HTTPD for HTTP Tests.
3009         https://bugs.webkit.org/show_bug.cgi?id=183265
3010
3011         Reviewed by Daniel Bates.
3012
3013         Launch apache httpd server from python script for WinCairo HTTP LayoutTests. By now, AppleWin uses
3014         Cygwin to launch httpd server. This patch enables native Windows to run HTTP LayoutTests by starting
3015         and stopping httpd server from the script.
3016
3017         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
3018         (LayoutTestApacheHttpd.__init__):
3019         (LayoutTestApacheHttpd._copy_apache_config_file):
3020         (LayoutTestApacheHttpd):
3021         (LayoutTestApacheHttpd.platform):
3022         (LayoutTestApacheHttpd._spawn_process):
3023         (LayoutTestApacheHttpd._stop_running_server):
3024         (LayoutTestApacheHttpd._run):
3025         (LayoutTestApacheHttpd._server_error):
3026         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
3027         (HttpServerBase.aliases):
3028         (HttpServerBase):
3029         (HttpServerBase._build_alias_path_pairs):
3030         (HttpServerBase._build_alias_path_pairs._make_path):
3031         * Scripts/webkitpy/layout_tests/servers/http_server_base_unittest.py:
3032         (TestHttpServerBase.test_corrupt_pid_file):
3033         (TestHttpServerBase):
3034         (TestHttpServerBase.test_build_alias_path_pairs):
3035         * Scripts/webkitpy/port/base.py:
3036         (Port._apache_config_file_name_for_platform):
3037         * Scripts/webkitpy/port/port_testcase.py:
3038         (test_apache_config_file_name_for_platform):
3039         * Scripts/webkitpy/port/win.py:
3040         (WinPort._path_to_apache):
3041         (WinCairoPort.default_baseline_search_path):
3042         (WinCairoPort):
3043         (WinCairoPort.check_httpd):
3044
3045 2018-03-09  Carlos Garcia Campos  <cgarcia@igalia.com>
3046
3047         [GTK] Do not use WebKitDOMHTMLFormElement as argument of signal WebKitWebPage::will-submit-form
3048         https://bugs.webkit.org/show_bug.cgi?id=183510
3049
3050         Reviewed by Michael Catanzaro.
3051
3052         Update the test to use WebKitDOMElement instead and fix a memory leak.
3053
3054         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
3055         (handleFormSubmissionCallback):
3056         (willSubmitFormCallback):
3057
3058 2018-03-08  Stephan Szabo  <stephan.szabo@sony.com>
3059
3060         WebKitTestRunner: Don't use accessibility controller when !HAVE(ACCESSIBILITY)
3061         https://bugs.webkit.org/show_bug.cgi?id=183475
3062
3063         Reviewed by Youenn Fablet.
3064
3065         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
3066         (WTR::InjectedBundle::done):
3067         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3068         (WTR::InjectedBundlePage::didClearWindowForFrame):
3069
3070 2018-03-08  Ms2ger  <Ms2ger@igalia.com>
3071
3072         [WPE] Update expectations for API tests
3073         https://bugs.webkit.org/show_bug.cgi?id=183434
3074
3075         Unreviewed test gardening.
3076
3077         * TestWebKitAPI/glib/TestExpectations.json:
3078
3079 2018-03-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3080
3081         [GTK][WPE] Leak checker is not working in WebKitGLib web process tests
3082         https://bugs.webkit.org/show_bug.cgi?id=183404
3083
3084         Reviewed by Michael Catanzaro.
3085
3086         This might have regressed when we started to use the JSC garbage collector timers. The thing is that we expect
3087         that the WebProcessTester object that we expose to JavaScript is released when the web frame is destroyed, but
3088         that's no longer the case. On window object cleared a GC is scheduled, but JSC timers do the actual garbage
3089         collection later. In the case of tests that never happens because the web process finishes quickly after the
3090         test. We need to force a garbage collection at some point when the web page is destroyed. We can't use the
3091         WebKitWebPage destroy signal, since we are also checking that WebKitWebPage isn't leaked. The
3092         API::InjectedBundle::Client::willDestroyPage() always happen when the page is closed, even if WebKitWebPage is
3093         still alive, so we can force the GC at that point. The only problem is that the frame is detached right after
3094         that point, so we can't check WebKitFrame leaks. The only frame in the tests is the main one, so we can assume
3095         that if WebKitWebPage is released, the frame is too.
3096
3097         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
3098         (WebKitFrameTest::testMainFrame): Stop checking we don't leak WebKitFrame.
3099         (WebKitFrameTest::testURI): Ditto.
3100         (WebKitFrameTest::testJavaScriptContext): Ditto.
3101         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
3102         (testWebKitFrameMainFrame): Use new WebViewTest::runWebProcessTest() API.
3103         (testWebKitFrameURI): Ditto.
3104         (testWebKitFrameJavaScriptContext): Ditto.
3105         (webkitFrameTestRun): Deleted.
3106         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
3107         (runTest): We no longer need the special case for dom-cache test.
3108         (windowObjectClearedCallback): Only expose test runner object to JavaScript when loading tests.
3109         (webkit_web_extension_initialize): Call webkitWebExtensionSetGarbageCollectOnPageDestroy() to ensure a garbage
3110         collection is performed when the page is closing.
3111         * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
3112         (WebKitDOMClientRectTest::testDivClientRectsPositionAndLength): Fix memory leak,
3113         webkit_dom_client_rect_list_item() returns a full reference.
3114         * TestWebKitAPI/Tests/WebKitGtk/TestAutocleanups.cpp:
3115         (testWebProcessAutocleanups):Use new WebViewTest::runWebProcessTest() API.
3116         * TestWebKitAPI/Tests/WebKitGtk/TestDOMClientRect.cpp:
3117         (testWebKitDOMClientRectDivBoundingClientRectPosition): Use new WebViewTest::runWebProcessTest() API.
3118         (testWebKitDOMClientRectDivClientRectsPositionAndLength): Use new WebViewTest::runWebProcessTest() API.
3119         (prepareDOMForClientRectPositionTests): Deleted.
3120         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNode.cpp:
3121         (testWebKitDOMNodeHierarchyNavigation): Use new WebViewTest::runWebProcessTest() API.
3122         (testWebKitDOMNodeInsertion): Ditto.
3123         (testWebKitDOMNodeTagNamesNodeList): Ditto.
3124         (testWebKitDOMNodeTagNamesHTMLCollection): Ditto.
3125         (testWebKitDOMObjectCache): We no longer need to run the test several times, since runWebProcessTest() loads
3126         about blank after every test.
3127         (prepareDOMForTagNamesTests): Deleted.
3128         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNodeFilter.cpp:
3129         (testWebKitDOMNodeFilterTreeWalker): Use new WebViewTest::runWebProcessTest() API.
3130         (testWebKitDOMNodeFilterNodeIterator): Ditto.
3131         (runTest): Deleted.
3132         * TestWebKitAPI/Tests/WebKitGtk/TestDOMXPathNSResolver.cpp:
3133         (testWebKitDOMXPathNSResolverNative): Use new WebViewTest::runWebProcessTest() API.
3134         (testWebKitDOMXPathNSResolverCustom): Ditto.
3135         * TestWebKitAPI/Tests/WebKitGtk/TestEditor.cpp:
3136         (testWebKitWebEditorSelectionChanged): Use new WebViewTest::runWebProcessTest() API.
3137         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
3138         (WebViewTest::runWebProcessTest): It now receives the contents, so it automatically loads the view using
3139         "webprocess://test" as base URI, used to detect tests in the web process. It also loads about:blank after every
3140         test to ensure that window object is cleared.
3141         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
3142
3143 2018-03-07  Youenn Fablet  <youenn@apple.com>
3144
3145         Match unsupported plugins based on domains and not origin
3146         https://bugs.webkit.org/show_bug.cgi?id=183384
3147
3148         Reviewed by Chris Dumez.
3149
3150         * TestWebKitAPI/Tests/WebCore/URL.cpp:
3151         (TestWebKitAPI::TEST_F):
3152         * WebKitTestRunner/TestController.cpp:
3153         (WTR::TestController::setPluginSupportedMode): Update to whitelist
3154         localhost and not http://localhost:8080
3155
3156 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
3157
3158         webkitpy: Allow apple_additions() to define additional ports
3159         https://bugs.webkit.org/show_bug.cgi?id=183412
3160         <rdar://problem/38232353>
3161
3162         Reviewed by Aakash Jain.
3163
3164         * Scripts/webkitpy/port/factory.py:
3165         (PortFactory.get): Allow apple_additions to define port classes to be used
3166         in run-webkit-tests.
3167
3168 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
3169
3170         webkitpy: Remove obsolete function from MockAppleAdditions
3171         https://bugs.webkit.org/show_bug.cgi?id=183415
3172         <rdar://problem/38236407>
3173
3174         Reviewed by Aakash Jain.
3175
3176         * Scripts/webkitpy/port/port_testcase.py:
3177         (bind_mock_apple_additions.MockAppleAdditions):
3178         (bind_mock_apple_additions.MockAppleAdditions.ios_os_name): Deleted.
3179         (bind_mock_apple_additions.MockAppleAdditions.mac_os_name): Deleted.
3180
3181 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
3182
3183         webkitpy: --dedicated-simulators does not boot the correct number of simulators
3184         https://bugs.webkit.org/show_bug.cgi?id=183409
3185         <rdar://problem/38224631>
3186
3187         Reviewed by Aakash Jain.
3188
3189         * Scripts/webkitpy/port/ios_simulator.py:
3190         (IOSSimulatorPort.default_child_processes): When not using dedicated simulators,
3191         we should use the number of booted simulators as our default child processes.
3192
3193 2018-03-07  Alejandro G. Castro  <alex@igalia.com>
3194
3195         Make NetworkRTCResolver port agnostic
3196         https://bugs.webkit.org/show_bug.cgi?id=178855
3197
3198         Reviewed by Youenn Fablet.
3199
3200         Added new unit tests for he resolve and stopResolve functions. We need to compile them for the
3201         other platforms when the APIs are supported.
3202
3203         * TestWebKitAPI/PlatformGTK.cmake:
3204         * TestWebKitAPI/Tests/WebCore/DNS.cpp:
3205
3206 2018-03-06  Youenn Fablet  <youenn@apple.com>
3207
3208         didReceiveServerRedirectForProvisionalNavigation is not called in case of document redirection with service worker registration change
3209         https://bugs.webkit.org/show_bug.cgi?id=183299
3210         <rdar://problem/37547029>
3211
3212         Reviewed by Alex Christensen.
3213
3214         Add support for checking whether this callback is called.
3215         Used in the added layout test.
3216
3217         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3218         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3219         (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
3220         (WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
3221         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3222         * WebKitTestRunner/TestController.cpp:
3223         (WTR::TestController::createOtherPage):
3224         (WTR::TestController::resetStateToConsistentValues):
3225         (WTR::TestController::didReceiveServerRedirectForProvisionalNavigation):
3226         * WebKitTestRunner/TestController.h:
3227         (WTR::TestController::didReceiveServerRedirectForProvisionalNavigation const):
3228         (WTR::TestController::clearDidReceiveServerRedirectForProvisionalNavigation):
3229         * WebKitTestRunner/TestInvocation.cpp:
3230         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3231
3232 2018-03-06  Chris Dumez  <cdumez@apple.com>
3233
3234         fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html fails with async policy delegates
3235         https://bugs.webkit.org/show_bug.cgi?id=183345
3236
3237         Reviewed by Alex Christensen.
3238
3239         Add layout test infrastructure so a test can know when didCancelClientRedirectForFrame has
3240         been called. The tests used to rely on a 0-timer but this does not work when the client
3241         responds to the navigation policy asynchronously.
3242
3243         * DumpRenderTree/TestRunner.cpp:
3244         (getDidCancelClientRedirect):
3245         (TestRunner::staticValues):
3246         * DumpRenderTree/TestRunner.h:
3247         (TestRunner::didCancelClientRedirect const):
3248         (TestRunner::setDidCancelClientRedirect):
3249         * DumpRenderTree/mac/FrameLoadDelegate.mm:
3250         (-[FrameLoadDelegate webView:didCancelClientRedirectForFrame:]):
3251         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3252         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3253         (WTR::InjectedBundlePage::didCancelClientRedirectForFrame):
3254         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3255         (WTR::TestRunner::didCancelClientRedirect const):
3256         (WTR::TestRunner::setDidCancelClientRedirect):
3257
3258 2018-03-06  Zan Dobersek  <zdobersek@igalia.com>
3259
3260         REGRESSION(r229309): s_exceptionInstructions allocation change causing crashes in LLInt on WPE
3261         https://bugs.webkit.org/show_bug.cgi?id=183366
3262
3263         Reviewed by Michael Catanzaro.
3264
3265         Have the TestRunnerInjectedBundle CMake library link against libraries
3266         in the WebKitTestRunnerInjectedBundle_LIBRARIES list, and not the
3267         WebKitTestRunner_LIBRARIES list, which is used for the WebKitTestRunner
3268         executable. This allows narrowing down the libraries to only those that
3269         are necessary for the injected bundle shared object.
3270
3271         The GTK+ port already has this list specified, adding one for the WPE
3272         port.
3273
3274         * WebKitTestRunner/CMakeLists.txt:
3275         Link the TestRunnerInjectedBundle library against the libraries in the
3276         WebKitTestRunnerInjectedBundle_LIBRARIES list.
3277         * WebKitTestRunner/PlatformWPE.cmake:
3278         Specify the WebKitTestRunnerInjectedBundle_LIBRARIES list, including the
3279         basic system dependencies, WebCoreTestSupport and WebKit. This follows
3280         the GTK+ port.
3281
3282 2018-03-06  Dominik Infuehr  <dinfuehr@igalia.com>
3283
3284         [ARM] Disable tests that run out of memory
3285         https://bugs.webkit.org/show_bug.cgi?id=182699
3286
3287         Reviewed by Žan Doberšek.
3288
3289         Add run mode to allow running modules.yaml-tests without
3290         disabling LLInt for specific tests.
3291
3292         * Scripts/run-jsc-stress-tests:
3293
3294 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
3295
3296         Fix std::make_unique / new[] using system malloc
3297         https://bugs.webkit.org/show_bug.cgi?id=182975
3298
3299         Reviewed by JF Bastien.
3300
3301         * TestWebKitAPI/CMakeLists.txt:
3302         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3303         * TestWebKitAPI/Tests/WTF/UniqueArray.cpp: Copied from Source/WebKit/Platform/win/LoggingWin.cpp.
3304         (TestWebKitAPI::NonTrivialDestructor::NonTrivialDestructor):
3305         (TestWebKitAPI::NonTrivialDestructor::~NonTrivialDestructor):
3306         (TestWebKitAPI::NonTrivialDestructor::setLog):
3307         (TestWebKitAPI::TEST):
3308
3309 2018-03-05  Myles C. Maxfield  <mmaxfield@apple.com>
3310
3311         DumpRenderTree build fix
3312
3313         Unreviewed.
3314
3315         * DumpRenderTree/mac/LayoutTestHelper.m:
3316
3317 2018-03-05  Andy Estes  <aestes@apple.com>
3318
3319         [Mac] Teach WebCore::Pasteboard about file promise drags
3320         https://bugs.webkit.org/show_bug.cgi?id=183314
3321         <rdar://problem/38105493>
3322
3323         Reviewed by Darin Adler.
3324
3325         * DumpRenderTree/DumpRenderTreeFileDraggingSource.h:
3326         * DumpRenderTree/DumpRenderTreeFileDraggingSource.m:
3327         (-[DumpRenderTreeFileDraggingSource initWithPromisedFileURLs:]):
3328         (-[DumpRenderTreeFileDraggingSource dealloc]):
3329
3330         Taught DumpRenderTreeFileDraggingSource to store the promised file URLs.
3331
3332         * DumpRenderTree/mac/DumpRenderTree.mm:
3333         (runTest):
3334
3335         Called +[DumpRenderTreeDraggingInfo clearAllFilePromiseReceivers] after running a test.
3336
3337         * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h:
3338         * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
3339         (-[DumpRenderTreeFilePromiseReceiver initWithPromisedUTIs:]):
3340         (-[DumpRenderTreeFilePromiseReceiver fileTypes]):
3341         (-[DumpRenderTreeFilePromiseReceiver fileNames]):
3342         (-[DumpRenderTreeFilePromiseReceiver dealloc]):
3343         (copyFile):
3344         (-[DumpRenderTreeFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
3345
3346         We can't instantiate real NSFilePromiseReceivers in DumpRenderTree. They rely on the
3347         pasteboard server to generate unique file URLs, which is incompatible with our swizzled
3348         NSPasteboard.
3349
3350         Instead, create a subclass of NSFilePromiseReceiver that implements its own promise resolution.
3351         -receivePromisedFilesAtDestination:... asks its DumpRenderTreeFileDraggingSource for the
3352         array of file URLs, then copies each to the destination directory on the specified operation
3353         queue. It emulates how NSPasteboard tries to find a unique destination name by appending
3354         numbers to the file name.
3355
3356         All receivers are collected in a global array that is cleared when each test finishes.
3357         DumpRenderTreeFilePromiseReceiver will delete the files it copied in -dealloc.
3358
3359         (+[DumpRenderTreeDraggingInfo clearAllFilePromiseReceivers]):
3360         (-[DumpRenderTreeDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
3361         
3362         If NSFilesPromisePboardType is on the pasteboard and classArray contains
3363         NSFilePromiseReceiver, construct a DumpRenderTreeFilePromiseReceiver, add it to the array of
3364         all file promise receivers, then wrap it in an NSDraggingItem and call block.
3365
3366         * DumpRenderTree/mac/EventSendingController.mm:
3367         (+[EventSendingController isSelectorExcludedFromWebScript:]):
3368         (+[EventSendingController webScriptNameForSelector:]):
3369         (-[EventSendingController beginDragWithFilePromises:]):
3370
3371         Implement eventSender.beginDragWithFilePromises() by placing file UTIs on the pasteboard
3372         with type NSFilesPromisePboardType, creating a DumpRenderTreeFileDraggingSource with the
3373         file URLs, and creating a new DumpRenderTreeDraggingInfo and passing it to
3374         -[WebView draggingEntered:].
3375
3376 2018-03-05  Aakash Jain  <aakash_jain@apple.com>
3377
3378         [webkitpy] Bugzilla class should use NetworkTransaction for network operations
3379         https://bugs.webkit.org/show_bug.cgi?id=183222
3380
3381         Reviewed by Alexey Proskuryakov.
3382
3383         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
3384         (Bugzilla.open_url): Method which uses NetworkTransaction for opening url.
3385         (Bugzilla.fetch_user): Used self.open_url instead of directly calling browser.open().
3386         (Bugzilla.add_user_to_groups): Ditto.
3387         (Bugzilla._fetch_bug_page): Ditto.
3388         (Bugzilla.fetch_attachment_contents): Ditto.
3389         (Bugzilla.get_bug_id_for_attachment_id): Ditto.
3390         (Bugzilla.authenticate): Ditto.
3391         (Bugzilla.add_attachment_to_bug): Ditto.
3392         (Bugzilla.add_patch_to_bug): Ditto.
3393         (Bugzilla.create_bug): Ditto.
3394         (Bugzilla.clear_attachment_flags): Ditto.
3395         (Bugzilla.set_flag_on_attachment): Ditto.
3396         (Bugzilla.obsolete_attachment): Ditto.
3397         (Bugzilla.add_cc_to_bug): Ditto.
3398         (Bugzilla.post_comment_to_bug): Ditto.
3399         (Bugzilla.close_bug_as_fixed): Ditto.
3400         (Bugzilla.reassign_bug): Ditto.
3401         (Bugzilla.reopen_bug): Ditto.
3402         (Bugzilla._fetch_bug_page_by_url): Deleted, not required anymore.
3403         * Scripts/webkitpy/common/net/networktransaction.py:
3404         (NetworkTransaction.run): Added a FIXME.
3405
3406 2018-03-05  Joseph Pecoraro  <pecoraro@apple.com>
3407
3408         dump-class-layout mishandles duplicates base classes and miscomputes padding
3409         https://bugs.webkit.org/show_bug.cgi?id=183311
3410
3411         Reviewed by Simon Fraser.
3412
3413         * Scripts/dump-class-layout:
3414         (verify_type):
3415         (verify_type_recursive):
3416         Keep a list of seen (offset, type) that we have output and don't re-output them.
3417         The Python types list the base classes as members multiple times as you iterate
3418         through the members, so just ignore them if we have seem them already at a
3419         specific offset.
3420
3421 2018-03-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>
3422
3423         [GTK][Wayland] The GTK Wayland bot exits early because of assertions related with libsecret since r221925
3424         https://bugs.webkit.org/show_bug.cgi?id=183330
3425
3426         Reviewed by Michael Catanzaro.
3427
3428         Add libsecret to the JHBuild and build it only when the system version is
3429         less than 0.18.6 (unreleased as of writing this) in order to cherry pick
3430         a fix for a bug that causes crashes with layout tests.
3431
3432         * gtk/jhbuild.modules:
3433         * gtk/patches/libsecret-secret-methods-Don-t-unref-NULL-when-search-fails.patch: Added.
3434
3435 2018-03-05  Claudio Saavedra  <csaavedra@igalia.com>
3436
3437         [GTK] Implement WTR's PlatformWebView::setWindowIsKey()
3438         https://bugs.webkit.org/show_bug.cgi?id=183143
3439
3440         Reviewed by Carlos Garcia Campos.
3441
3442         Implement ::setWindowIsKey() by keeping a second window to be
3443         presented when the webview's window is to lose its key status.
3444
3445         * WebKitTestRunner/PlatformWebView.h:
3446         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
3447         (WTR::PlatformWebView::PlatformWebView):
3448         (WTR::PlatformWebView::~PlatformWebView):
3449         (WTR::PlatformWebView::setWindowIsKey):
3450
3451 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
3452
3453         Unreviewed, attempt to fix Apple port build
3454
3455         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
3456
3457 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
3458
3459         Unreviewed, attempt to fix WPE build
3460
3461         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
3462         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
3463         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
3464         (WTR::PlatformWebView::windowSnapshotImage):
3465         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
3466         (WTR::TestController::platformRunUntil):
3467
3468 2018-03-04  Yusuke Suzuki  <utatane.tea@gmail.com>
3469
3470         [WTF] Move currentCPUTime and sleep(Seconds) to CPUTime.h and Seconds.h respectively
3471         https://bugs.webkit.org/show_bug.cgi?id=183312
3472
3473         Reviewed by Mark Lam.
3474
3475         Remove wtf/CurrentTime.h include pragma.
3476
3477         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
3478         * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
3479         * DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
3480         * DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
3481         * TestWebKitAPI/Tests/WTF/Condition.cpp:
3482         * TestWebKitAPI/Tests/WTF/Signals.cpp:
3483         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
3484         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
3485         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
3486         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3487         * TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
3488         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3489
3490 2018-03-04  Tim Horton  <timothy_horton@apple.com>
3491
3492         Make !ENABLE(DATA_DETECTION) iOS build actually succeed
3493         https://bugs.webkit.org/show_bug.cgi?id=183283
3494         <rdar://problem/38062148>
3495
3496         Reviewed by Sam Weinig.
3497
3498         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
3499
3500 2018-03-02  Chris Dumez  <cdumez@apple.com>
3501
3502         Converting a load to a download does not work with async policy delegates
3503         https://bugs.webkit.org/show_bug.cgi?id=183254
3504         <rdar://problem/38035334>
3505
3506         Reviewed by Youenn Fablet.
3507
3508         Add layout test infrastructure for responding to the decidePolicyForNavigationResponse
3509         delegate asynchronously.
3510
3511         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3512         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
3513         (WTR::InjectedBundlePage::decidePolicyForResponse):
3514         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3515         (WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay):
3516         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3517         (WTR::TestRunner::shouldDecideResponsePolicyAfterDelay const):
3518         * WebKitTestRunner/TestController.cpp:
3519         (WTR::TestController::resetStateToConsistentValues):
3520         (WTR::TestController::decidePolicyForNavigationResponse):
3521         * WebKitTestRunner/TestController.h:
3522         (WTR::TestController::setShouldDecideResponsePolicyAfterDelay):
3523         * WebKitTestRunner/TestInvocation.cpp:
3524         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
3525
3526 2018-03-01  Youenn Fablet  <youenn@apple.com>
3527
3528         Add API test to validate setting of service worker and cache storage directories
3529         https://bugs.webkit.org/show_bug.cgi?id=182543
3530
3531         Reviewed by Chris Dumez.
3532
3533         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
3534
3535 2018-03-01  Ross Kirsling  <ross.kirsling@sony.com>
3536
3537         [Win][DRT] Implement setSpatialNavigationEnabled.
3538         https://bugs.webkit.org/show_bug.cgi?id=183166
3539
3540         Reviewed by Per Arne Vollan.
3541
3542         * DumpRenderTree/TestRunner.cpp:
3543         (setSpatialNavigationEnabledCallback):
3544         * DumpRenderTree/win/DumpRenderTree.cpp:
3545         (resetWebPreferencesToConsistentValues):
3546         * DumpRenderTree/win/TestRunnerWin.cpp:
3547         (TestRunner::setSpatialNavigationEnabled):
3548
3549 2018-03-01  Basuke Suzuki  <Basuke.Suzuki@sony.com>
3550
3551         [webkitpy] Use shell=False to launch apache http server.
3552         https://bugs.webkit.org/show_bug.cgi?id=183191
3553
3554         Reviewed by Aakash Jain.
3555
3556         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
3557         (LayoutTestApacheHttpd.__init__):
3558         (LayoutTestApacheHttpd._run):
3559
3560 2018-03-01  Chris Dumez  <cdumez@apple.com>
3561
3562         Unreviewed, update WebKit.CustomHeaderFields API test after r229133.
3563
3564         We no longer do policy checks for 'about:blank'.
3565
3566         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
3567         (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
3568         (TEST):
3569
3570 2018-02-28  Jonathan Bedard  <jbedard@apple.com>
3571
3572         [webkitpy] Remove concept of 'future' versions (Follow-up fix 2)
3573         https://bugs.webkit.org/show_bug.cgi?id=183184
3574         <rdar://problem/37958594>
3575
3576         Reviewed by Aakash Jain.
3577
3578         Unlisted Apple versions can't run webkitpy tests because they don't
3579         have specified port names.
3580
3581         * Scripts/webkitpy/port/apple.py:
3582         (ApplePort.determine_full_port_name): Return valid port name for unnamed
3583         versions.
3584         * Scripts/webkitpy/port/base.py:
3585         (Port.version_name): Check both public and internal version mapping
3586         when returning a version name.
3587         * Scripts/webkitpy/port/mac.py:
3588         (MacPort.__init__): If no os version is defined, use the current version.
3589
3590 2018-02-28  John Wilander  <wilander@apple.com>
3591
3592         Add a second tier of prevalence to facilitate telemetry on very prevalent domains
3593         https://bugs.webkit.org/show_bug.cgi?id=183218
3594         <rdar://problem/37992388>
3595
3596         Reviewed by Brent Fulgham.
3597
3598         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3599             Added two new testRunner functions:
3600             - setStatisticsVeryPrevalentResource()
3601             - isStatisticsVeryPrevalentResource()
3602         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3603         (WTR::TestRunner::setStatisticsVeryPrevalentResource):
3604         (WTR::TestRunner::isStatisticsVeryPrevalentResource):
3605         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3606         * WebKitTestRunner/TestController.cpp:
3607         (WTR::TestController::setStatisticsVeryPrevalentResource):
3608         (WTR::TestController::isStatisticsVeryPrevalentResource):
3609         * WebKitTestRunner/TestController.h:
3610         * WebKitTestRunner/TestInvocation.cpp:
3611         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3612
3613 2018-02-28  Jonathan Bedard  <jbedard@apple.com>
3614