[LayoutReloaded] Move Display.Box handling from FormattingContext to FormattingState
[WebKit-https.git] / Tools / ChangeLog
1 2018-03-20  Zalan Bujtas  <zalan@apple.com>
2
3         [LayoutReloaded] Move Display.Box handling from FormattingContext to FormattingState
4         https://bugs.webkit.org/show_bug.cgi?id=183779
5
6         Reviewed by Antti Koivisto.
7
8         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
9         (BlockFormattingContext.prototype._computeStaticPosition):
10         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
11         (BlockFormattingContext.prototype._computeFloatingWidth):
12         (BlockFormattingContext.prototype._computeInFlowWidth):
13         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
14         (BlockFormattingContext.prototype._computeFloatingHeight):
15         (BlockFormattingContext.prototype._computeInFlowHeight):
16         (BlockFormattingContext.prototype._horizontalConstraint):
17         (BlockFormattingContext.prototype._contentHeight):
18         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
19         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
20         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
21         * LayoutReloaded/FormattingContext/FloatingContext.js:
22         (FloatingContext.prototype.computePosition):
23         (FloatingContext.prototype._positionForClear):
24         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
25         (FloatingContext.prototype._availableSpace):
26         (FloatingContext.prototype._adjustedFloatingPosition):
27         * LayoutReloaded/FormattingContext/FormattingContext.js:
28         (FormattingContext):
29         (FormattingContext.prototype.absoluteMarginBox):
30         (FormattingContext.prototype.absoluteBorderBox):
31         (FormattingContext.prototype.absolutePaddingBox):
32         (FormattingContext.prototype.absoluteContentBox):
33         (FormattingContext.prototype._toAbsolutePosition):
34         (FormattingContext.prototype._toRootAbsolutePosition):
35         (FormattingContext.prototype._addToLayoutQueue):
36         (FormattingContext.prototype.displayBox):
37         (FormattingContext.prototype._createDisplayBox): Deleted.
38         (FormattingContext.prototype.toDisplayBox): Deleted.
39         (FormattingContext.prototype.toLayoutBox): Deleted.
40         * LayoutReloaded/FormattingState/FormattingState.js:
41         (FormattingState):
42         (FormattingState.prototype.createDisplayBox):
43         (FormattingState.prototype.displayBox):
44
45 2018-03-20  Zalan Bujtas  <zalan@apple.com>
46
47         [LayoutReloaded] Introduce FormattingState (Block/Inline/etc)
48         https://bugs.webkit.org/show_bug.cgi?id=183777
49
50         Reviewed by Antti Koivisto.
51
52         This is in preparation for moving out states from the formatting contexts.
53
54         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
55         (BlockFormattingContext):
56         * LayoutReloaded/FormattingContext/FormattingContext.js:
57         (FormattingContext):
58         (FormattingContext.prototype.layoutState):
59         (FormattingContext.prototype.layoutContext):
60         (FormattingContext.prototype.layout):
61         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
62         (InlineFormattingContext):
63         * LayoutReloaded/FormattingState/BlockFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
64         (BlockFormattingState):
65         * LayoutReloaded/FormattingState/FormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
66         (FormattingState):
67         (FormattingState.prototype.formattingContext):
68         (FormattingState.prototype.layoutContext):
69         (FormattingState.prototype._setFormattingContext):
70         * LayoutReloaded/FormattingState/InlineFormattingState.js: Copied from Tools/LayoutReloaded/LayoutContext.js.
71         (InlineFormattingState):
72         * LayoutReloaded/LayoutContext.js:
73         (LayoutContext):
74         (LayoutContext.prototype.layout):
75         (LayoutContext.prototype._createFormattingState):
76         (LayoutContext.prototype._createFormattingContext): Deleted.
77         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
78         * LayoutReloaded/test/index.html:
79
80 2018-03-19  Zalan Bujtas  <zalan@apple.com>
81
82         [LayoutReloaded] Layout.Box should not create the formatting context.
83         https://bugs.webkit.org/show_bug.cgi?id=183766
84
85         Reviewed by Antti Koivisto.
86
87         Since the formattingContext's lifetime is tied to the layout, the LayoutContext
88         should construct it instead.
89
90         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
91         (BlockFormattingContext):
92         (BlockFormattingContext.prototype.layout):
93         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
94         (BlockFormattingContext.prototype._contentHeight):
95         * LayoutReloaded/FormattingContext/FormattingContext.js:
96         (FormattingContext):
97         (FormattingContext.prototype.layoutContext):
98         (FormattingContext.prototype.toDisplayBox):
99         (FormattingContext.prototype._outOfFlowDescendants):
100         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
101         (InlineFormattingContext):
102         (InlineFormattingContext.prototype.layout):
103         * LayoutReloaded/Layout.js:
104         (layout):
105         * LayoutReloaded/LayoutContext.js:
106         (LayoutContext.prototype.layout):
107         (LayoutContext.prototype._createFormattingContext):
108         (LayoutContext):
109         (LayoutContext.prototype.layoutFormattingContext): Deleted.
110         * LayoutReloaded/LayoutTree/Box.js:
111         (Layout.Box):
112         (Layout.Box.prototype.establishedFormattingContext): Deleted.
113         * LayoutReloaded/misc/headers/Box.h:
114
115 2018-03-19  Chris Dumez  <cdumez@apple.com>
116
117         Have one service worker process per security origin
118         https://bugs.webkit.org/show_bug.cgi?id=183600
119         <rdar://problem/35280128>
120
121         Reviewed by Brady Eidson.
122
123         Add API test coverage.
124
125         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
126
127 2018-03-19  Zalan Bujtas  <zalan@apple.com>
128
129         [LayoutReloaded] Remove border/padding/contentBox() functions from Layout.Box
130         https://bugs.webkit.org/show_bug.cgi?id=183761
131
132         Reviewed by Antti Koivisto.
133
134         Display.Box has them.
135
136         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
137         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
138         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
139         (BlockFormattingContext.prototype._horizontalConstraint):
140         (BlockFormattingContext.prototype._contentHeight):
141         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
142         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
143         * LayoutReloaded/FormattingContext/FloatingContext.js:
144         (FloatingContext.prototype._availableSpace):
145         * LayoutReloaded/FormattingContext/FormattingContext.js:
146         (FormattingContext.prototype.absoluteBorderBox):
147         (FormattingContext.prototype.absolutePaddingBox):
148         (FormattingContext.prototype.absoluteContentBox):
149         * LayoutReloaded/LayoutTree/Box.js:
150         (Layout.Box.prototype.isDescendantOf):
151         (Layout.Box):
152         (Layout.Box.prototype.borderBox): Deleted.
153         (Layout.Box.prototype.paddingBox): Deleted.
154         (Layout.Box.prototype.contentBox): Deleted.
155
156 2018-03-19  Jiewen Tan  <jiewen_tan@apple.com>
157
158         Unreviewed, another quick fix for r229699
159
160         Restricts ENABLE_WEB_AUTHN to only macOS and iOS.
161
162         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
163         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm:
164
165 2018-03-19  Zalan Bujtas  <zalan@apple.com>
166
167         [LayoutReloaded] Move statically positioned absolute box positioning to _computeOutOfFlowPosition
168         https://bugs.webkit.org/show_bug.cgi?id=183750
169
170         Reviewed by Antti Koivisto.
171
172         * LayoutReloaded/DisplayTree/Box.js:
173         (Display.Box.prototype.setTop):
174         (Display.Box.prototype.paddingBox):
175         (Display.Box.prototype.contentBox):
176         (Display.Box):
177         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
178         (BlockFormattingContext.prototype._computeStaticPosition):
179         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
180         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
181         * LayoutReloaded/FormattingContext/FormattingContext.js:
182         (FormattingContext.prototype.absoluteMarginBox):
183         (FormattingContext.prototype.absoluteBorderBox):
184         (FormattingContext.prototype.absolutePaddingBox):
185         (FormattingContext.prototype.absoluteContentBox):
186         (FormattingContext.prototype._toAbsolutePosition):
187         (FormattingContext.prototype._toRootAbsolutePosition):
188         (FormattingContext.prototype.toDisplayBox):
189         * LayoutReloaded/LayoutTree/InitialBlockContainer.js:
190         (Layout.InitialBlockContainer.prototype.establishesBlockFormattingContext):
191         (Layout.InitialBlockContainer):
192         (Layout.InitialBlockContainer.prototype.paddingBox): Deleted.
193         (Layout.InitialBlockContainer.prototype.contentBox): Deleted.
194         * LayoutReloaded/Utils.js:
195         (Utils.isStaticallyPositioned):
196
197 2018-03-19  Chris Dumez  <cdumez@apple.com>
198
199         WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
200         https://bugs.webkit.org/show_bug.cgi?id=183702
201         <rdar://problem/38566060>
202
203         Reviewed by Alex Christensen.
204
205         Add API test coverage.
206
207         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
208         (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
209         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
210         (-[AsyncAutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
211         (TEST):
212
213 2018-03-19  Daniel Bates  <dabates@apple.com>
214
215         test-webkitpy no longer runs WebKit2 tests
216         https://bugs.webkit.org/show_bug.cgi?id=183724
217
218         Reviewed by Alexey Proskuryakov.
219
220         The WebKit2 tests have seen been moved from Source/WebKit2/Scripts/webkit2 to Source/WebKit/Scripts/webkit.
221
222         * Scripts/webkitpy/test/main.py:
223         (main):
224
225 2018-03-19  Daniel Bates  <dabates@apple.com>
226
227         Make run-webkit-app work for non-GUI apps
228         https://bugs.webkit.org/show_bug.cgi?id=183701
229
230         Reviewed by Lucas Forschler.
231
232         Launch the app directly if it is an executable file. Otherwise, assume it is an app bundle
233         and launch it using open(1) as we currently do.
234
235         Note that open(1) is meant for launching GUI apps. Standard output and standard error are
236         not sent to the tty when using open(1) to launch a non-GUI app.
237
238         * Scripts/run-webkit-app: We make the assumption that 
239         * Scripts/webkitdirs.pm:
240             - Define and export constant DO_NOT_USE_OPEN_COMMAND.
241
242 2018-03-19  Daniel Bates  <dabates@apple.com>
243
244         run-webkit-app -g does not work
245         https://bugs.webkit.org/show_bug.cgi?id=183699
246
247         Reviewed by Lucas Forschler.
248
249         Check for the optional command line argument -g/--guard-malloc before taking the
250         first argument passed to be the path to the app to run.
251
252         * Scripts/run-webkit-app:
253
254 2018-03-18  Commit Queue  <commit-queue@webkit.org>
255
256         Unreviewed, rolling out r229689.
257         https://bugs.webkit.org/show_bug.cgi?id=183735
258
259         Causes fast/loader/inner-iframe-loads-data-url-into-parent-on-
260         unload-crash.html to fail with async delegates (Requested by
261         cdumez_ on #webkit).
262
263         Reverted changeset:
264
265         "WebKit.WebsitePoliciesAutoplayQuirks API test times out with
266         async policy delegates"
267         https://bugs.webkit.org/show_bug.cgi?id=183702
268         https://trac.webkit.org/changeset/229689
269
270 2018-03-18  Zalan Bujtas  <zalan@apple.com>
271
272         [LayoutReloaded] Remove left/right width/height getters from Layout.Box
273         https://bugs.webkit.org/show_bug.cgi?id=183734
274
275         Reviewed by Antti Koivisto.
276
277         ...and use Display.Box instead.
278
279         * LayoutReloaded/DisplayTree/Box.js:
280         (Display.Box.prototype.bottomRight):
281         (Display.Box.prototype.size):
282         (Display.Box.prototype.height):
283         (Display.Box.prototype.width):
284         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
285         (BlockFormattingContext.prototype._computeStaticPosition):
286         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
287         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
288         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
289         * LayoutReloaded/FormattingContext/FloatingContext.js:
290         (FloatingContext.prototype._positionForClear):
291         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
292         (FloatingContext.prototype._adjustedFloatingPosition):
293         * LayoutReloaded/FormattingContext/FormattingContext.js:
294         (FormattingContext.prototype.absoluteMarginBox):
295         (FormattingContext.prototype.absoluteBorderBox):
296         (FormattingContext.prototype.absolutePaddingBox):
297         (FormattingContext.prototype.absoluteContentBox):
298         (FormattingContext.prototype._toAbsolutePosition):
299         (FormattingContext.prototype._toRootAbsolutePosition):
300         * LayoutReloaded/LayoutTree/Box.js:
301         (Layout.Box.prototype.rect): Deleted.
302         (Layout.Box.prototype.topLeft): Deleted.
303         (Layout.Box.prototype.bottomRight): Deleted.
304         * LayoutReloaded/Utils.js:
305         (Utils._dumpBox):
306         (Utils.mapToContainer): Deleted.
307
308 2018-03-18  Zalan Bujtas  <zalan@apple.com>
309
310         [LayoutReloaded] Remove left/right width/height setters from Layout.Box
311         https://bugs.webkit.org/show_bug.cgi?id=183731
312
313         Reviewed by Antti Koivisto.
314
315         ...and use Display.Box instead.
316
317         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
318         (BlockFormattingContext.prototype._computeStaticPosition):
319         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
320         (BlockFormattingContext.prototype._computeFloatingWidth):
321         (BlockFormattingContext.prototype._computeInFlowWidth):
322         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
323         (BlockFormattingContext.prototype._computeFloatingHeight):
324         (BlockFormattingContext.prototype._computeInFlowHeight):
325         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
326         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
327         * LayoutReloaded/FormattingContext/FloatingContext.js:
328         (FloatingContext.prototype.computePosition):
329         * LayoutReloaded/FormattingContext/FormattingContext.js:
330         (FormattingContext.prototype._toDisplayBox):
331         (FormattingContext.prototype._toLayoutBox):
332         * LayoutReloaded/Layout.js:
333         (layout):
334         * LayoutReloaded/LayoutTree/Box.js:
335         (Layout.Box.prototype.setTopLeft): Deleted.
336         (Layout.Box.prototype.setSize): Deleted.
337         (Layout.Box.prototype.setWidth): Deleted.
338         (Layout.Box.prototype.setHeight): Deleted.
339
340 2018-03-18  Zalan Bujtas  <zalan@apple.com>
341
342         [LayoutReloaded] Collect out-of-flow positioned boxes for a given formatting context.
343         https://bugs.webkit.org/show_bug.cgi?id=183730
344
345         Reviewed by Antti Koivisto.
346
347         Collect and layout out-of-flow positioned boxes as the final step of the formatting context layout.
348
349         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
350         (BlockFormattingContext.prototype.layout):
351         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
352         (BlockFormattingContext.prototype._layoutOutOfFlowDescendants):
353         (BlockFormattingContext.prototype._placePositionedDescendants): Deleted.
354         (BlockFormattingContext.prototype._placeOutOfFlowDescendants): Deleted.
355         * LayoutReloaded/FormattingContext/FormattingContext.js:
356         (FormattingContext.prototype._toAbsolutePosition):
357         (FormattingContext.prototype._outOfFlowDescendants):
358         (FormattingContext):
359         * LayoutReloaded/LayoutTree/Box.js:
360         (Layout.Box.prototype.nextInFlowOrFloatSibling):
361         (Layout.Box.prototype.isDescendantOf):
362         * LayoutReloaded/LayoutTree/Container.js:
363         (Layout.Container.prototype.firstInFlowOrFloatChild):
364         (Layout.Container.prototype.hasInFlowOrFloatChild):
365         (Layout.Container.prototype.outOfFlowDescendants):
366         (Layout.Container):
367         * LayoutReloaded/Utils.js:
368         (Utils.isDescendantOf): Deleted.
369         (Utils.collectOutOfFlowDescendants): Deleted.
370
371 2018-03-17  Jiewen Tan  <jiewen_tan@apple.com>
372
373         [WebAuthN] Implement authenticatorMakeCredential
374         https://bugs.webkit.org/show_bug.cgi?id=183527
375         <rdar://problem/35275886>
376
377         Reviewed by Brent Fulgham.
378
379         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
380         * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm: Added.
381         (TestWebKitAPI::getTestKey):
382         (TestWebKitAPI::cleanUpKeychain):
383         (TestWebKitAPI::LACantEvaluatePolicySwizzler::LACantEvaluatePolicySwizzler):
384         (TestWebKitAPI::LACantEvaluatePolicySwizzler::cantEvaluatePolicy):
385         (TestWebKitAPI::LACanEvaluatePolicySwizzler::LACanEvaluatePolicySwizzler):
386         (TestWebKitAPI::LACanEvaluatePolicySwizzler::canEvaluatePolicy):
387         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::LAEvaluatePolicyFailedSwizzler):
388         (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::evaluatePolicyFailed):
389         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::LAEvaluatePolicyPassedSwizzler):
390         (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::evaluatePolicyPassed):
391         (TestWebKitAPI::TestLocalAuthenticator::setFailureFlag):
392         (TestWebKitAPI::TEST):
393
394 2018-03-17  Zalan Bujtas  <zalan@apple.com>
395
396         [LayoutReloaded] BlockFormattingContext::placePositionedDescendants takes care of both in- and out-of-flow placement
397         https://bugs.webkit.org/show_bug.cgi?id=183727
398
399         Reviewed by Antti Koivisto.
400
401         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
402         (BlockFormattingContext.prototype.layout):
403         (BlockFormattingContext.prototype._placePositionedDescendants):
404         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
405         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
406         * LayoutReloaded/test/absolute-position-when-containing-block-is-not-in-the-formatting-context.html: Added.
407         * LayoutReloaded/test/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html: Added.
408         * LayoutReloaded/test/index.html:
409         * LayoutReloaded/test/relative-position-when-containing-block-is-not-in-the-formatting-context.html: Added.
410
411 2018-03-17  Zalan Bujtas  <zalan@apple.com>
412
413         [LayoutReloaded] Ensure that positioning happens within the formatting context
414         https://bugs.webkit.org/show_bug.cgi?id=183722
415
416         Reviewed by Antti Koivisto.
417
418         All sizing and positioning need to happen in the formatting context that the box lives in
419         including the final position of in- and out-of-flow descendants.
420
421         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
422         (BlockFormattingContext.prototype.layout):
423         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
424         * LayoutReloaded/LayoutTree/Box.js:
425         (Layout.Box.prototype.establishesBlockFormattingContext):
426         (Layout.Box.prototype.isPositioned):
427         (Layout.Box.prototype.isRelativelyPositioned):
428         (Layout.Box.prototype.isAbsolutelyPositioned):
429         (Layout.Box.prototype.isOutOfFlowPositioned):
430         (Layout.Box.prototype.containingBlock):
431         (Layout.Box.prototype.isRelativePositioned): Deleted.
432         (Layout.Box.prototype.isAbsolutePositioned): Deleted.
433         * LayoutReloaded/Utils.js:
434         (Utils.isRelativelyPositioned):
435         (Utils.isAbsolutelyPositioned):
436         (Utils.isRelativePositioned): Deleted.
437         (Utils.isAbsolutePositioned): Deleted.
438         * LayoutReloaded/misc/headers/Box.h:
439
440 2018-03-16  Wenson Hsieh  <wenson_hsieh@apple.com>
441
442         Unreviewed, rolling out r229688.
443
444         There's a solution that doesn't require this SPI.
445
446         Reverted changeset:
447
448         "Add SPI to expose width and height anchors for WKWebView's
449         content view"
450         https://bugs.webkit.org/show_bug.cgi?id=183711
451         https://trac.webkit.org/changeset/229688
452
453 2018-03-16  Zalan Bujtas  <zalan@apple.com>
454
455         [LayoutReloaded] Move move functions to the base class from BlockFormattingContext
456         https://bugs.webkit.org/show_bug.cgi?id=183719
457
458         Reviewed by Antti Koivisto.
459
460         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
461         (BlockFormattingContext):
462         (BlockFormattingContext.prototype.layout):
463         (BlockFormattingContext.prototype._shrinkToFitWidth):
464         (BlockFormattingContext.prototype._toAbsolutePosition): Deleted.
465         (BlockFormattingContext.prototype._needsLayout): Deleted.
466         (BlockFormattingContext.prototype._addToLayoutQueue): Deleted.
467         (BlockFormattingContext.prototype._nextInLayoutQueue): Deleted.
468         (BlockFormattingContext.prototype._removeFromLayoutQueue): Deleted.
469         (BlockFormattingContext.prototype._createDisplayBox): Deleted.
470         (BlockFormattingContext.prototype._toDisplayBox): Deleted.
471         (BlockFormattingContext.prototype._toLayoutBox): Deleted.
472         * LayoutReloaded/FormattingContext/FormattingContext.js:
473         (FormattingContext):
474         (FormattingContext.prototype._toAbsolutePosition):
475         (FormattingContext.prototype._descendantNeedsLayout):
476         (FormattingContext.prototype._addToLayoutQueue):
477         (FormattingContext.prototype._nextInLayoutQueue):
478         (FormattingContext.prototype._removeFromLayoutQueue):
479         (FormattingContext.prototype._createDisplayBox):
480         (FormattingContext.prototype._toDisplayBox):
481         (FormattingContext.prototype._toLayoutBox):
482         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
483         (InlineFormattingContext.prototype.layout):
484
485 2018-03-16  Chris Dumez  <cdumez@apple.com>
486
487         WebKit.WebsitePoliciesAutoplayQuirks API test times out with async policy delegates
488         https://bugs.webkit.org/show_bug.cgi?id=183702
489
490         Reviewed by Alex Christensen.
491
492         Add API test coverage.
493
494         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
495         (-[AsyncAutoplayPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
496         (-[AsyncAutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
497         (-[AsyncAutoplayPoliciesDelegate _webView:handleAutoplayEvent:withFlags:]):
498         (TEST):
499
500 2018-03-16  Wenson Hsieh  <wenson_hsieh@apple.com>
501
502         Add SPI to expose width and height anchors for WKWebView's content view
503         https://bugs.webkit.org/show_bug.cgi?id=183711
504         <rdar://problem/38562899>
505
506         Reviewed by Tim Horton.
507
508         Adds an API test exercising the new SPI.
509
510         * TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
511         (checkCGRect):
512         (TEST):
513
514 2018-03-16  Chris Dumez  <cdumez@apple.com>
515
516         WebKit.RestoreSessionStateContainingScrollRestorationDefault API test is failing with async policy delegates
517         https://bugs.webkit.org/show_bug.cgi?id=183679
518
519         Reviewed by Alex Christensen.
520
521         Add API test coverage.
522
523         * TestWebKitAPI/Tests/WebKit/RestoreSessionState.cpp:
524         (TestWebKitAPI::decidePolicyForNavigationAction):
525         (TestWebKitAPI::decidePolicyForResponse):
526         (TestWebKitAPI::TEST):
527
528 2018-03-16  Zalan Bujtas  <zalan@apple.com>
529
530         [LayoutReloaded] Introduce Display.Box
531         https://bugs.webkit.org/show_bug.cgi?id=183700
532
533         Reviewed by Antti Koivisto.
534
535         Display.Box objects will end up in the display(box) tree. Currently
536         they are just hanging off of the Layout.Box objects.
537
538         * LayoutReloaded/DisplayTree/Box.js: Added.
539         (Display.Box):
540         (Display.Box.prototype.rect):
541         (Display.Box.prototype.top):
542         (Display.Box.prototype.left):
543         (Display.Box.prototype.bottom):
544         (Display.Box.prototype.right):
545         (Display.Box.prototype.topLeft):
546         (Display.Box.prototype.bottomRight):
547         (Display.Box.prototype.setTopLeft):
548         (Display.Box.prototype.setSize):
549         (Display.Box.prototype.setWidth):
550         (Display.Box.prototype.setHeight):
551         (Display.Box.prototype.borderBox):
552         (Display.Box.prototype.paddingBox):
553         (Display.Box.prototype.contentBox):
554         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
555         (BlockFormattingContext):
556         (BlockFormattingContext.prototype.layout):
557         (BlockFormattingContext.prototype._toAbsolutePosition):
558         (BlockFormattingContext.prototype._needsLayout):
559         (BlockFormattingContext.prototype._addToLayoutQueue):
560         (BlockFormattingContext.prototype._nextInLayoutQueue):
561         (BlockFormattingContext.prototype._removeFromLayoutQueue):
562         (BlockFormattingContext.prototype._createDisplayBox):
563         (BlockFormattingContext.prototype._toDisplayBox):
564         (BlockFormattingContext.prototype._toLayoutBox):
565         * LayoutReloaded/Layout.js:
566         (layout):
567         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
568         * LayoutReloaded/LayoutTree/Box.js:
569         (Layout.Box):
570         (Layout.Box.prototype.setDisplayBox):
571         (Layout.Box.prototype.displayBox):
572         (Layout.Box.prototype.rect):
573         (Layout.Box.prototype.setTopLeft):
574         (Layout.Box.prototype.setSize):
575         (Layout.Box.prototype.setWidth):
576         (Layout.Box.prototype.setHeight):
577         (Layout.Box.prototype.borderBox):
578         (Layout.Box.prototype.paddingBox):
579         (Layout.Box.prototype.contentBox):
580         * LayoutReloaded/test/index.html:
581
582 2018-03-16  Chris Dumez  <cdumez@apple.com>
583
584         URLSchemeHandler.Basic API test fails with async policy delegates
585         https://bugs.webkit.org/show_bug.cgi?id=183678
586
587         Reviewed by Alex Christensen.
588
589         Add API test coverage.
590
591         * TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
592         (-[URLSchemeHandlerAsyncNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
593         (-[URLSchemeHandlerAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
594         (TEST):
595
596 2018-03-16  Zalan Bujtas  <zalan@apple.com>
597
598         [LayoutReloaded] Utils.computed* functions should just take node instead of box.
599         https://bugs.webkit.org/show_bug.cgi?id=183697
600
601         Reviewed by Antti Koivisto.
602
603         This is in preparation for introducing the display tree.
604
605         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
606         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
607         (BlockFormattingContext.prototype._computeFloatingWidth):
608         (BlockFormattingContext.prototype._computeInFlowWidth):
609         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
610         (BlockFormattingContext.prototype._computeFloatingHeight):
611         (BlockFormattingContext.prototype._computeInFlowHeight):
612         (BlockFormattingContext.prototype._shrinkToFitWidth):
613         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
614         (BlockMarginCollapse._nonCollapsedMarginTop):
615         (BlockMarginCollapse._nonCollapsedMarginBottom):
616         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
617         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
618         * LayoutReloaded/FormattingContext/FormattingContext.js:
619         (FormattingContext.prototype.marginTop):
620         (FormattingContext.prototype.marginLeft):
621         (FormattingContext.prototype.marginBottom):
622         (FormattingContext.prototype.marginRight):
623         * LayoutReloaded/LayoutTree/Box.js:
624         (Layout.Box.prototype.paddingBox):
625         (Layout.Box.prototype.contentBox):
626         (Layout.Box):
627         * LayoutReloaded/Utils.js:
628         (Utils.computedMarginTop):
629         (Utils.computedMarginLeft):
630         (Utils.computedMarginBottom):
631         (Utils.computedMarginRight):
632         (Utils.computedBorderTopLeft):
633         (Utils.computedBorderBottomRight):
634         (Utils.computedPaddingTopLeft):
635         (Utils.computedPaddingBottomRight):
636         (Utils.computedBorderAndPaddingTop):
637         (Utils.computedBorderAndPaddingLeft):
638         (Utils.computedBorderAndPaddingBottom):
639         (Utils.computedBorderAndPaddingRight):
640         (Utils.computedHorizontalBorderAndPadding):
641         (Utils.computedVerticalBorderAndPadding):
642         (Utils.computedLineHeight):
643         (Utils.hasClearLeft):
644         (Utils.hasClearRight):
645         (Utils.hasClearBoth):
646
647 2018-03-15  Zalan Bujtas  <zalan@apple.com>
648
649         [LayoutReloaded] Should never need to go beyond the root container when asking for the containing block.
650         https://bugs.webkit.org/show_bug.cgi?id=183691
651
652         Reviewed by Antti Koivisto.
653
654         While laying out the boxes in a block formatting context, if we happen to need
655         to get to the containing block of a box to compute geometry, it should always be a
656         descendant of the root container (or the root container itself).
657         Nothing outside of the formatting context should be able to impact the boxes inside.
658
659         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
660         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
661         (BlockFormattingContext.prototype._toAbsolutePosition):
662         (BlockFormattingContext):
663         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
664         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
665         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
666         * LayoutReloaded/LayoutTree/Box.js:
667         (Layout.Box.prototype.isRootBox):
668         (Layout.Box.prototype.isRootElement): Deleted.
669         * LayoutReloaded/Utils.js:
670         (Utils.isDescendantOf):
671         (Utils.mapStaticToAbsolute): Deleted.
672         * LayoutReloaded/misc/headers/Box.h:
673
674 2018-03-15  Wenson Hsieh  <wenson_hsieh@apple.com>
675
676         [iOS WK2] Hit-testing fails when specifying a large top content inset
677         https://bugs.webkit.org/show_bug.cgi?id=183648
678         <rdar://problem/38421894>
679
680         Reviewed by Tim Horton.
681
682         Adds four new API tests to verify that adding top or bottom content insets to the WKWebView's scroll view does
683         not cause the DOMWindow's innerHeight to shrink. Currently, doing so would cause the innerHeight to be reported
684         as (viewHeight - inset.top) or (viewHeight - inset.bottom).
685
686         See WebKit ChangeLog for more details.
687
688         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
689         * TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm: Added.
690         (TestWebKitAPI::TEST):
691
692 2018-03-15  Aakash Jain  <aakash_jain@apple.com>
693
694         Add unit-test for NetworkTransaction URLError handling
695         https://bugs.webkit.org/show_bug.cgi?id=183664
696
697         Reviewed by Alexey Proskuryakov.
698
699         * Scripts/webkitpy/common/net/networktransaction_unittest.py:
700         (NetworkTransactionTest._raise_URLError): Method to raise URLError.
701         (NetworkTransactionTest.test_retry_on_HTTPError): Renamed from test_retry.
702         (NetworkTransactionTest.test_retry_on_URLError): unit-test for testing URLError handling.
703
704 2018-03-15  Aakash Jain  <aakash_jain@apple.com>
705
706         EWS should print the URL in logs on URLError
707         https://bugs.webkit.org/show_bug.cgi?id=183651
708
709         Reviewed by Alexey Proskuryakov.
710
711         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
712         (Bugzilla.open_url): Pass the url.
713         * Scripts/webkitpy/common/net/networktransaction.py:
714         (NetworkTransaction.run): Accept optional url parameter and print it on URLError.
715
716 2018-03-15  Zalan Bujtas  <zalan@apple.com>
717
718         [LayoutReloaded] Introduce Layout namespace
719         https://bugs.webkit.org/show_bug.cgi?id=183659
720
721         Reviewed by Antti Koivisto.
722
723         This is in preparation for introducing the display tree.
724         Box -> Layout.Box
725
726         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
727         (BlockFormattingContext.prototype.layout):
728         (BlockFormattingContext.prototype.computeWidth):
729         (BlockFormattingContext.prototype.computeHeight):
730         (BlockFormattingContext.prototype.marginTop):
731         (BlockFormattingContext.prototype.marginBottom):
732         (BlockFormattingContext.prototype._computeStaticPosition):
733         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
734         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
735         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
736         (BlockFormattingContext.prototype._computeFloatingWidth):
737         (BlockFormattingContext.prototype._computeInFlowWidth):
738         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
739         (BlockFormattingContext.prototype._computeFloatingHeight):
740         (BlockFormattingContext.prototype._computeInFlowHeight):
741         (BlockFormattingContext.prototype._horizontalConstraint):
742         (BlockFormattingContext.prototype._contentHeight):
743         (BlockFormattingContext.prototype._adjustBottomWithFIXME):
744         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
745         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
746         (BlockFormattingContext.prototype._shrinkToFitWidth):
747         (BlockFormattingContext):
748         (BlockFormattingContext.prototype._computeHorizontalConstraint): Deleted.
749         (BlockFormattingContext.prototype._computeContentHeight): Deleted.
750         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js:
751         (BlockMarginCollapse.marginTop):
752         (BlockMarginCollapse.marginBottom):
753         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
754         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
755         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
756         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
757         (BlockMarginCollapse._nonCollapsedMarginTop):
758         (BlockMarginCollapse._nonCollapsedMarginBottom):
759         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
760         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
761         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
762         (BlockMarginCollapse):
763         * LayoutReloaded/FormattingContext/FloatingContext.js:
764         (FloatingContext.prototype.computePosition):
765         (FloatingContext.prototype._positionForClear):
766         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
767         * LayoutReloaded/FormattingContext/FormattingContext.js:
768         (FormattingContext.prototype.computeWidth):
769         (FormattingContext.prototype.computeHeight):
770         (FormattingContext.prototype.marginTop):
771         (FormattingContext.prototype.marginLeft):
772         (FormattingContext.prototype.marginBottom):
773         (FormattingContext.prototype.marginRight):
774         (FormattingContext.prototype.absoluteMarginBox):
775         (FormattingContext.prototype.absoluteBorderBox):
776         (FormattingContext.prototype.absolutePaddingBox):
777         (FormattingContext.prototype.absoluteContentBox):
778         (FormattingContext):
779         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
780         (InlineFormattingContext.prototype.layout):
781         * LayoutReloaded/LayoutTree/BlockContainer.js:
782         (BlockContainer): Deleted.
783         (BlockContainer.prototype.establishesInlineFormattingContext): Deleted.
784         * LayoutReloaded/LayoutTree/Box.js:
785         (Box): Deleted.
786         (Box.prototype.id): Deleted.
787         (Box.prototype.setRendererName): Deleted.
788         (Box.prototype.name): Deleted.
789         (Box.prototype.node): Deleted.
790         (Box.prototype.parent): Deleted.
791         (Box.prototype.nextSibling): Deleted.
792         (Box.prototype.nextInFlowSibling): Deleted.
793         (Box.prototype.previousSibling): Deleted.
794         (Box.prototype.previousInFlowSibling): Deleted.
795         (Box.prototype.setParent): Deleted.
796         (Box.prototype.setNextSibling): Deleted.
797         (Box.prototype.setPreviousSibling): Deleted.
798         (Box.prototype.rect): Deleted.
799         (Box.prototype.topLeft): Deleted.
800         (Box.prototype.bottomRight): Deleted.
801         (Box.prototype.setTopLeft): Deleted.
802         (Box.prototype.setSize): Deleted.
803         (Box.prototype.setWidth): Deleted.
804         (Box.prototype.setHeight): Deleted.
805         (Box.prototype.isContainer): Deleted.
806         (Box.prototype.isBlockLevelBox): Deleted.
807         (Box.prototype.isBlockContainerBox): Deleted.
808         (Box.prototype.isInlineLevelBox): Deleted.
809         (Box.prototype.setIsAnonymous): Deleted.
810         (Box.prototype.isAnonymous): Deleted.
811         (Box.prototype.establishesFormattingContext): Deleted.
812         (Box.prototype.establishedFormattingContext): Deleted.
813         (Box.prototype.establishesBlockFormattingContext): Deleted.
814         (Box.prototype.establishesInlineFormattingContext): Deleted.
815         (Box.prototype.isPositioned): Deleted.
816         (Box.prototype.isRelativePositioned): Deleted.
817         (Box.prototype.isAbsolutePositioned): Deleted.
818         (Box.prototype.isFixedPositioned): Deleted.
819         (Box.prototype.isInFlow): Deleted.
820         (Box.prototype.isOutOfFlowPositioned): Deleted.
821         (Box.prototype.isInFlowPositioned): Deleted.
822         (Box.prototype.isFloatingPositioned): Deleted.
823         (Box.prototype.isFloatingOrOutOfFlowPositioned): Deleted.
824         (Box.prototype.isRootElement): Deleted.
825         (Box.prototype.containingBlock): Deleted.
826         (Box.prototype.borderBox): Deleted.
827         (Box.prototype.paddingBox): Deleted.
828         (Box.prototype.contentBox): Deleted.
829         * LayoutReloaded/LayoutTree/Container.js:
830         (Container): Deleted.
831         (Container.prototype.isContainer): Deleted.
832         (Container.prototype.setFirstChild): Deleted.
833         (Container.prototype.setLastChild): Deleted.
834         (Container.prototype.firstChild): Deleted.
835         (Container.prototype.firstInFlowChild): Deleted.
836         (Container.prototype.lastChild): Deleted.
837         (Container.prototype.lastInFlowChild): Deleted.
838         (Container.prototype.hasChild): Deleted.
839         (Container.prototype.hasInFlowChild): Deleted.
840         * LayoutReloaded/LayoutTree/InitialBlockContainer.js:
841         (InitialBlockContainer): Deleted.
842         (InitialBlockContainer.prototype.establishesBlockFormattingContext): Deleted.
843         (InitialBlockContainer.prototype.paddingBox): Deleted.
844         (InitialBlockContainer.prototype.contentBox): Deleted.
845         * LayoutReloaded/LayoutTree/InlineBox.js:
846         (InlineBox): Deleted.
847         (InlineBox.prototype.setText): Deleted.
848         (InlineBox.prototype.text): Deleted.
849         * LayoutReloaded/TreeBuilder.js:
850         (TreeBuilder.prototype.createTree):
851         (TreeBuilder.prototype._createAndAttachBox):
852         * LayoutReloaded/Utils.js:
853         (Utils._dumpBox):
854
855 2018-03-14  Chris Fleizach  <cfleizach@apple.com>
856
857         AX: Implement accessible dismiss action on iOS
858         https://bugs.webkit.org/show_bug.cgi?id=183352
859         <rdar://problem/38161500>
860
861         Reviewed by Zalan Bujtas.
862
863         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
864         (WTR::AccessibilityUIElement::dismiss const):
865         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
866         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
867         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
868         (WTR::AccessibilityUIElement::dismiss):
869
870 2018-03-14  Youenn Fablet  <youenn@apple.com>
871
872         Update libwebrtc up to 36af4e9614f707f733eb2340fae66d6325aaac5b
873         https://bugs.webkit.org/show_bug.cgi?id=183481
874
875         Reviewed by Eric Carlson.
876
877         * Scripts/webkitpy/style/checker.py: Do not check style.
878
879 2018-03-14  Brendan McLoughlin  <brendan@bocoup.com>
880
881         Add label on github when exporting wpt tests to w3c/web-platform-test repo
882         https://bugs.webkit.org/show_bug.cgi?id=183575
883
884         Reviewed by Youenn Fablet.
885
886         * Scripts/webkitpy/w3c/test_exporter.py:
887         (TestExporter.make_pull_request):
888         (parse_args):
889         * Scripts/webkitpy/w3c/test_exporter_unittest.py:
890         (TestExporterTest.test_export):
891
892 2018-03-14  Zalan Bujtas  <zalan@apple.com>
893
894         [LayoutReloaded] Add InlineBox dump
895         https://bugs.webkit.org/show_bug.cgi?id=183625
896
897         Reviewed by Antti Koivisto.
898
899         Right now line boxes live off of the inline formatting context but that's temporary and
900         they will be moved over to the BoxTree.
901
902         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js:
903         (BlockFormattingContext.prototype._computeContentHeight):
904         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
905         (InlineFormattingContext):
906         (InlineFormattingContext.prototype.lines):
907         (InlineFormattingContext.prototype.layout):
908         (InlineFormattingContext.prototype._handleText):
909         (InlineFormattingContext.prototype._commitLine):
910         (InlineFormattingContext.prototype._initializeLine):
911         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js:
912         (Line):
913         (Line.prototype.isEmpty):
914         (Line.prototype.rect):
915         (Line.prototype.lineBoxes):
916         (Line.prototype.addLineBox):
917         (Line.prototype.appendFragment): Deleted.
918         * LayoutReloaded/README.md:
919         * LayoutReloaded/Utils.js:
920         (Utils.computedLineHeight):
921         (Utils.isBlockContainerElement):
922         (Utils.textHeight):
923         (Utils._dumpBox):
924         (Utils._dumpLines.):
925         (Utils._dumpLines):
926         (Utils._dumpTree):
927         (Utils.precisionRound):
928         (Utils):
929         * LayoutReloaded/misc/LayoutReloadedWebKit.patch:
930         * LayoutReloaded/test/index.html:
931
932 2018-03-14  Tim Horton  <timothy_horton@apple.com>
933
934         Fix the build after r229567
935
936         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
937
938 2018-03-13  Jer Noble  <jer.noble@apple.com>
939
940         [iOS] Muted media playback can interrupt out-of-process audio
941         https://bugs.webkit.org/show_bug.cgi?id=183606
942         <rdar://problem/37466253>
943
944         Reviewed by Eric Carlson.
945
946         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
947         * TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
948         (TestWebKitAPI::TEST):
949         * TestWebKitAPI/Tests/WebKitLegacy/ios/video-with-paused-audio-and-playing-muted.html: Added.
950
951 2018-03-13  Ross Kirsling  <ross.kirsling@sony.com>
952
953         [Win] Layout Test fast/html/menuitem-element.html is failing.
954         https://bugs.webkit.org/show_bug.cgi?id=179299
955
956         Reviewed by Per Arne Vollan.
957
958         * DumpRenderTree/win/DumpRenderTree.cpp:
959         (setWebPreferencesForTestOptions):
960         Recognize test option "enableMenuItemElement".
961
962 2018-03-12  Tim Horton  <timothy_horton@apple.com>
963
964         Stop using SDK conditionals to control feature definitions
965         https://bugs.webkit.org/show_bug.cgi?id=183430
966         <rdar://problem/38251619>
967
968         Reviewed by Dan Bernstein.
969
970         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
971         * TestWebKitAPI/Configurations/WebKitTargetConditionals.xcconfig: Renamed.
972
973 2018-03-12  Ross Kirsling  <ross.kirsling@sony.com>
974
975         [DRT] TestOptions should not be ObjC.
976         https://bugs.webkit.org/show_bug.cgi?id=183487
977
978         Reviewed by Per Arne Vollan.
979
980         * DumpRenderTree/CMakeLists.txt:
981         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
982         * DumpRenderTree/PlatformMac.cmake:
983         Move TestOptions to platform-agnostic sources.
984
985         * DumpRenderTree/TestOptions.h:
986         * DumpRenderTree/TestOptions.cpp: Renamed from Tools/DumpRenderTree/TestOptions.mm.
987         * DumpRenderTree/mac/DumpRenderTree.mm:
988         Remove NSURL dependency and align with WTR as much as possible.
989
990         * DumpRenderTree/win/DumpRenderTree.cpp:
991         Consume TestOptions (recognizing just the ones that have WebPreferences defined for now).
992
993 2018-03-12  Yoav Weiss  <yoav@yoav.ws>
994
995         Runtime flag for link prefetch and remove link subresource.
996         https://bugs.webkit.org/show_bug.cgi?id=183540
997
998         Reviewed by Chris Dumez.
999
1000         Remove the LINK_PREFETCH build time flag.
1001
1002         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
1003
1004 2018-03-12  Wenson Hsieh  <wenson_hsieh@apple.com>
1005
1006         REGRESSION(r211643): Dismissing WKActionSheet should not also dismiss its presenting view controller
1007         https://bugs.webkit.org/show_bug.cgi?id=183549
1008         <rdar://problem/34960698>
1009
1010         Reviewed by Andy Estes.
1011
1012         Add TestWebKitAPI support for testing WKWebViews embedded within presented view controllers, and use this to
1013         check that dismissing an action sheet does not additionally cause the view controller being used to present the
1014         web view to also dismiss.
1015
1016         * TestWebKitAPI/ClassMethodSwizzler.h: Added.
1017         * TestWebKitAPI/ClassMethodSwizzler.mm: Added.
1018         (TestWebKitAPI::ClassMethodSwizzler::ClassMethodSwizzler):
1019         (TestWebKitAPI::ClassMethodSwizzler::~ClassMethodSwizzler):
1020
1021         Add ClassMethodSwizzler, an RAII which swizzles an Objective-C class method over its lifetime.
1022
1023         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1024         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
1025
1026         Add a new API test that loads a view controller which embeds a WKWebView, and verifies that presenting and then
1027         dismissing an action sheet from that web view does not cause the view controller to also dismiss.
1028
1029         (TestWebKitAPI::setOverrideViewControllerForFullscreenPresentation):
1030         (TestWebKitAPI::overrideViewControllerForFullscreenPresentation):
1031
1032         Mock +[UIViewController _viewControllerForFullScreenPresentationFromView:] to return the web view. This works
1033         around the fact that TestWebKitAPI is not a UI application, so certain pieces of UIKit API and SPI need to be
1034         stubbed or mocked to simulate being a UI application. We can remove these workarounds once
1035         https://webkit.org/b/175204 is addressed, and TestWebKitAPI becomes a UI application that can actually maintain
1036         a root view controller and key window.
1037
1038         (TestWebKitAPI::TEST):
1039         * TestWebKitAPI/cocoa/TestWKWebView.h:
1040         * TestWebKitAPI/cocoa/TestWKWebView.mm:
1041         (-[TestWKWebView initWithFrame:configuration:addToWindow:]):
1042
1043         Add a new initializer for TestWKWebView that doesn't force the view to be hosted within a UIWindow. This is used
1044         by TestWKWebViewController to create a TestWKWebView in -loadView.
1045
1046         * TestWebKitAPI/ios/TestWKWebViewController.h: Added.
1047         * TestWebKitAPI/ios/TestWKWebViewController.mm: Added.
1048         (-[TestWKWebViewControllerWindow _beginKeyWindowDeferral]):
1049         (-[TestWKWebViewControllerWindow _endKeyWindowDeferral]):
1050
1051         Stub out these methods to prevent UIKit from hitting assertions when making this UIWindow the key window. This
1052         can also be removed once TestWebKitAPI is a UI application.
1053
1054         (-[TestWKWebViewController initWithFrame:configuration:]):
1055         (-[TestWKWebViewController loadView]):
1056         (-[TestWKWebViewController webView]):
1057         (-[TestWKWebViewController dismissViewControllerAnimated:completion:]):
1058         (-[TestWKWebViewController dismissalHandler]):
1059         (-[TestWKWebViewController setDismissalHandler:]):
1060
1061         Add a UIViewController helper subclass whose -view is a WKWebView. The new API test presents this view
1062         controller. Tests may also provide a dismissalHandler, which is invoked when the view controller is being
1063         dismissed. The new API test uses this hook to verify that the view controller containing the web view isn't also
1064         dismissed after the action sheet goes away.
1065
1066         * TestWebKitAPI/ios/UIKitSPI.h:
1067
1068 2018-03-12  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1069
1070         [webkitpy] Remove openssl command dependency.
1071         https://bugs.webkit.org/show_bug.cgi?id=183494
1072
1073         Reviewed by Ryosuke Niwa.
1074
1075         Added Python implementation of PEM file perser and switched to use that
1076         from external `openssl` command.
1077
1078         * Scripts/webkitpy/common/system/pemfile.py: Added.
1079         (load):
1080         (BadFormatError):
1081         (Pem):
1082         (Pem.__init__):
1083         (Pem.get):
1084         (Pem.get_all):
1085         (Pem.certificate):
1086         (Pem.private_key):
1087         (Pem.csr):
1088         (Pem.certificate_request):
1089         (Pem.certificate_signing_request):
1090         (_parse_pem_format):
1091         (_parse_pem_format.find_begin):
1092         (_parse_pem_format.find_end):
1093         (_parse_pem_format.sections):
1094         * Scripts/webkitpy/common/system/pemfile_unittest.py: Added.
1095         (PemFileTest):
1096         (PemFileTest.test_parse):
1097         (PemFileTest.test_parse_bad_format):
1098         * Scripts/webkitpy/port/base.py:
1099         (Port.start_websocket_server):
1100         (Port._extract_certificate_from_pem): Deleted.
1101         (Port._extract_private_key_from_pem): Deleted.
1102
1103 2018-03-12  Javier Fernandez  <jfernandez@igalia.com>
1104
1105         Remove GridLayout runtime flag
1106         https://bugs.webkit.org/show_bug.cgi?id=183484
1107
1108         Reviewed by Myles C. Maxfield.
1109
1110         The Grid Layout feature has been enabled by default for almost a
1111         year, so I think it's time to remove the runtime flag and the
1112         codepath run when the feature is disabled.
1113
1114         * DumpRenderTree/mac/DumpRenderTree.mm:
1115         (enableExperimentalFeatures):
1116
1117 2018-03-12  Antoine Quint  <graouts@apple.com>
1118
1119         [Web Animations] Implement CSS Animations and CSS Transitions as Web Animations
1120         https://bugs.webkit.org/show_bug.cgi?id=183504
1121         <rdar://problem/38372965>
1122
1123         Reviewed by Jon Lee.
1124
1125         Add a new <!-- webkit-test-runner --> flag to enable the CSS Animations and CSS Transitions
1126         as Web Animations runtime flag in the new tests we've created for this feature.
1127
1128         * DumpRenderTree/TestOptions.h:
1129         * DumpRenderTree/TestOptions.mm:
1130         (TestOptions::TestOptions):
1131         * DumpRenderTree/mac/DumpRenderTree.mm:
1132         (setWebPreferencesForTestOptions):
1133         * WebKitTestRunner/TestController.cpp:
1134         (WTR::TestController::resetPreferencesToConsistentValues):
1135         (WTR::updateTestOptionsFromTestHeader):
1136         * WebKitTestRunner/TestOptions.h:
1137         (WTR::TestOptions::hasSameInitializationOptions const):
1138
1139 2018-03-11  Zalan Bujtas  <zalan@apple.com>
1140
1141         [LayoutReloaded] Add Line class for InlineFormattingContext -and move files around.
1142         https://bugs.webkit.org/show_bug.cgi?id=183551
1143
1144         Reviewed by Wenson Hsieh.
1145
1146         * LayoutReloaded/FormattingContext/BlockFormatting/BlockFormattingContext.js: Renamed from Tools/LayoutReloaded/BlockFormattingContext.js.
1147         (BlockFormattingContext):
1148         (BlockFormattingContext.prototype.layout):
1149         (BlockFormattingContext.prototype.computeWidth):
1150         (BlockFormattingContext.prototype.computeHeight):
1151         (BlockFormattingContext.prototype.marginTop):
1152         (BlockFormattingContext.prototype.marginBottom):
1153         (BlockFormattingContext.prototype._computeStaticPosition):
1154         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1155         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
1156         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1157         (BlockFormattingContext.prototype._computeFloatingWidth):
1158         (BlockFormattingContext.prototype._computeInFlowWidth):
1159         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1160         (BlockFormattingContext.prototype._computeFloatingHeight):
1161         (BlockFormattingContext.prototype._computeInFlowHeight):
1162         (BlockFormattingContext.prototype._computeHorizontalConstraint):
1163         (BlockFormattingContext.prototype._computeContentHeight):
1164         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1165         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1166         (BlockFormattingContext.prototype._shrinkToFitWidth):
1167         * LayoutReloaded/FormattingContext/BlockFormatting/BlockMarginCollapse.js: Renamed from Tools/LayoutReloaded/BlockMarginCollapse.js.
1168         (BlockMarginCollapse.marginTop):
1169         (BlockMarginCollapse.marginBottom):
1170         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
1171         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
1172         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
1173         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
1174         (BlockMarginCollapse._nonCollapsedMarginTop):
1175         (BlockMarginCollapse._nonCollapsedMarginBottom):
1176         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
1177         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
1178         (BlockMarginCollapse._marginValue):
1179         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
1180         (BlockMarginCollapse):
1181         * LayoutReloaded/FormattingContext/FloatingContext.js: Renamed from Tools/LayoutReloaded/FloatingContext.js.
1182         (FloatingContext):
1183         (FloatingContext.prototype.computePosition):
1184         (FloatingContext.prototype.bottom):
1185         (FloatingContext.prototype._positionForFloating):
1186         (FloatingContext.prototype._positionForClear):
1187         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
1188         (FloatingContext.prototype._addFloating):
1189         (FloatingContext.prototype._findInnerMostLeftAndRight):
1190         (FloatingContext.prototype._moveToNextVerticalPosition):
1191         (FloatingContext.prototype._availableSpace):
1192         (FloatingContext.prototype._findFloatingAtVerticalPosition):
1193         (FloatingContext.prototype._isEmpty):
1194         (FloatingContext.prototype._adjustedFloatingPosition):
1195         (FloatingContext.prototype._bottom):
1196         (FloatingContext.prototype._formattingContext):
1197         * LayoutReloaded/FormattingContext/FormattingContext.js: Renamed from Tools/LayoutReloaded/FormattingContext.js.
1198         (FormattingContext):
1199         (FormattingContext.prototype.rootContainer):
1200         (FormattingContext.prototype.floatingContext):
1201         (FormattingContext.prototype.layout):
1202         (FormattingContext.prototype.computeWidth):
1203         (FormattingContext.prototype.computeHeight):
1204         (FormattingContext.prototype.marginTop):
1205         (FormattingContext.prototype.marginLeft):
1206         (FormattingContext.prototype.marginBottom):
1207         (FormattingContext.prototype.marginRight):
1208         (FormattingContext.prototype.absoluteMarginBox):
1209         (FormattingContext.prototype.absoluteBorderBox):
1210         (FormattingContext.prototype.absolutePaddingBox):
1211         (FormattingContext.prototype.absoluteContentBox):
1212         * LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js: Renamed from Tools/LayoutReloaded/InlineFormattingContext.js.
1213         (InlineFormattingContext):
1214         (InlineFormattingContext.prototype.layout):
1215         (InlineFormattingContext.prototype._handleInlineBox):
1216         (InlineFormattingContext.prototype._handleText):
1217         (InlineFormattingContext.prototype._commitLine):
1218         (InlineFormattingContext.prototype._line):
1219         * LayoutReloaded/FormattingContext/InlineFormatting/Line.js: Copied from Tools/LayoutReloaded/InitialBlockContainer.js.
1220         (Line):
1221         (Line.prototype.isEmpty):
1222         (Line.prototype.availableWidth):
1223         (Line.prototype.appendFragment):
1224         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata:
1225         * LayoutReloaded/LayoutTree/BlockContainer.js: Renamed from Tools/LayoutReloaded/BlockContainer.js.
1226         (BlockContainer):
1227         (BlockContainer.prototype.establishesInlineFormattingContext):
1228         * LayoutReloaded/LayoutTree/Box.js: Renamed from Tools/LayoutReloaded/Box.js.
1229         (Box):
1230         (Box.prototype.id):
1231         (Box.prototype.setRendererName):
1232         (Box.prototype.name):
1233         (Box.prototype.node):
1234         (Box.prototype.parent):
1235         (Box.prototype.nextSibling):
1236         (Box.prototype.nextInFlowSibling):
1237         (Box.prototype.previousSibling):
1238         (Box.prototype.previousInFlowSibling):
1239         (Box.prototype.setParent):
1240         (Box.prototype.setNextSibling):
1241         (Box.prototype.setPreviousSibling):
1242         (Box.prototype.rect):
1243         (Box.prototype.topLeft):
1244         (Box.prototype.bottomRight):
1245         (Box.prototype.setTopLeft):
1246         (Box.prototype.setSize):
1247         (Box.prototype.setWidth):
1248         (Box.prototype.setHeight):
1249         (Box.prototype.isContainer):
1250         (Box.prototype.isBlockLevelBox):
1251         (Box.prototype.isBlockContainerBox):
1252         (Box.prototype.isInlineLevelBox):
1253         (Box.prototype.setIsAnonymous):
1254         (Box.prototype.isAnonymous):
1255         (Box.prototype.establishesFormattingContext):
1256         (Box.prototype.establishedFormattingContext):
1257         (Box.prototype.establishesBlockFormattingContext):
1258         (Box.prototype.establishesInlineFormattingContext):
1259         (Box.prototype.isPositioned):
1260         (Box.prototype.isRelativePositioned):
1261         (Box.prototype.isAbsolutePositioned):
1262         (Box.prototype.isFixedPositioned):
1263         (Box.prototype.isInFlow):
1264         (Box.prototype.isOutOfFlowPositioned):
1265         (Box.prototype.isInFlowPositioned):
1266         (Box.prototype.isFloatingPositioned):
1267         (Box.prototype.isFloatingOrOutOfFlowPositioned):
1268         (Box.prototype.isRootElement):
1269         (Box.prototype.containingBlock):
1270         (Box.prototype.borderBox):
1271         (Box.prototype.paddingBox):
1272         (Box.prototype.contentBox):
1273         * LayoutReloaded/LayoutTree/Container.js: Renamed from Tools/LayoutReloaded/Container.js.
1274         (Container):
1275         (Container.prototype.isContainer):
1276         (Container.prototype.setFirstChild):
1277         (Container.prototype.setLastChild):
1278         (Container.prototype.firstChild):
1279         (Container.prototype.firstInFlowChild):
1280         (Container.prototype.lastChild):
1281         (Container.prototype.lastInFlowChild):
1282         (Container.prototype.hasChild):
1283         (Container.prototype.hasInFlowChild):
1284         * LayoutReloaded/LayoutTree/InitialBlockContainer.js: Renamed from Tools/LayoutReloaded/InitialBlockContainer.js.
1285         (InitialBlockContainer):
1286         (InitialBlockContainer.prototype.establishesBlockFormattingContext):
1287         (InitialBlockContainer.prototype.paddingBox):
1288         (InitialBlockContainer.prototype.contentBox):
1289         * LayoutReloaded/LayoutTree/InlineBox.js: Renamed from Tools/LayoutReloaded/InlineBox.js.
1290         (InlineBox):
1291         (InlineBox.prototype.setText):
1292         (InlineBox.prototype.text):
1293         * LayoutReloaded/LayoutTree/Text.js: Renamed from Tools/LayoutReloaded/Text.js.
1294         (Text):
1295         (Text.prototype.node):
1296         (Text.prototype.content):
1297         (Text.prototype.length):
1298         * LayoutReloaded/Utils.js:
1299         (Utils.nextBreakingOpportunity):
1300         (Utils.measureText):
1301         * LayoutReloaded/misc/headers/Line.h: Copied from Tools/LayoutReloaded/misc/headers/Text.h.
1302         * LayoutReloaded/misc/headers/Text.h:
1303         * LayoutReloaded/test/border-simple.html:
1304         * LayoutReloaded/test/index.html:
1305
1306 2018-03-10  Wenson Hsieh  <wenson_hsieh@apple.com>
1307
1308         [macOS] Copying a table from the Numbers app and pasting into iCloud Numbers fails
1309         https://bugs.webkit.org/show_bug.cgi?id=183485
1310         <rdar://problem/38041984>
1311
1312         Reviewed by Ryosuke Niwa.
1313
1314         Add new API tests to cover scenarios in which we paste image data alongside text data.
1315
1316         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm:
1317         (TestWebKitAPI::TEST):
1318         * TestWebKitAPI/Tests/ios/UIPasteboardTests.mm:
1319         (TestWebKitAPI::TEST):
1320
1321 2018-03-09  Zalan Bujtas  <zalan@apple.com>
1322
1323         [LayoutReloaded] Initial commit -block formatting context.
1324         https://bugs.webkit.org/show_bug.cgi?id=183462
1325
1326         Reviewed by Antti Koivisto.
1327
1328         See README.md
1329
1330         * LayoutReloaded/BlockContainer.js: Added.
1331         (BlockContainer):
1332         (BlockContainer.prototype.establishesInlineFormattingContext):
1333         * LayoutReloaded/BlockFormattingContext.js: Added.
1334         (BlockFormattingContext):
1335         (BlockFormattingContext.prototype.layout):
1336         (BlockFormattingContext.prototype.computeWidth):
1337         (BlockFormattingContext.prototype.computeHeight):
1338         (BlockFormattingContext.prototype.marginTop):
1339         (BlockFormattingContext.prototype.marginBottom):
1340         (BlockFormattingContext.prototype._computeStaticPosition):
1341         (BlockFormattingContext.prototype._placeInFlowPositionedChildren):
1342         (BlockFormattingContext.prototype._placeOutOfFlowDescendants):
1343         (BlockFormattingContext.prototype._computeOutOfFlowWidth):
1344         (BlockFormattingContext.prototype._computeFloatingWidth):
1345         (BlockFormattingContext.prototype._computeInFlowWidth):
1346         (BlockFormattingContext.prototype._computeOutOfFlowHeight):
1347         (BlockFormattingContext.prototype._computeFloatingHeight):
1348         (BlockFormattingContext.prototype._computeInFlowHeight):
1349         (BlockFormattingContext.prototype._computeHorizontalConstraint):
1350         (BlockFormattingContext.prototype._computeContentHeight):
1351         (BlockFormattingContext.prototype._computeInFlowPositionedPosition):
1352         (BlockFormattingContext.prototype._computeOutOfFlowPosition):
1353         (BlockFormattingContext.prototype._shrinkToFitWidth):
1354         * LayoutReloaded/BlockMarginCollapse.js: Added.
1355         (BlockMarginCollapse.marginTop):
1356         (BlockMarginCollapse.marginBottom):
1357         (BlockMarginCollapse._isMarginTopCollapsedWithSibling):
1358         (BlockMarginCollapse._isMarginBottomCollapsedWithSibling):
1359         (BlockMarginCollapse._isMarginTopCollapsedWithParent):
1360         (BlockMarginCollapse._isMarginBottomCollapsedWithParent):
1361         (BlockMarginCollapse._nonCollapsedMarginTop):
1362         (BlockMarginCollapse._nonCollapsedMarginBottom):
1363         (BlockMarginCollapse._collapsedMarginTopFromFirstChild):
1364         (BlockMarginCollapse._collapsedMarginBottomFromLastChild):
1365         (BlockMarginCollapse._marginValue):
1366         (BlockMarginCollapse._hasAdjoiningMarginTopAndBottom):
1367         (BlockMarginCollapse):
1368         * LayoutReloaded/Box.js: Added.
1369         (Box):
1370         (Box.prototype.id):
1371         (Box.prototype.setRendererName):
1372         (Box.prototype.name):
1373         (Box.prototype.node):
1374         (Box.prototype.parent):
1375         (Box.prototype.nextSibling):
1376         (Box.prototype.nextInFlowSibling):
1377         (Box.prototype.previousSibling):
1378         (Box.prototype.previousInFlowSibling):
1379         (Box.prototype.setParent):
1380         (Box.prototype.setNextSibling):
1381         (Box.prototype.setPreviousSibling):
1382         (Box.prototype.rect):
1383         (Box.prototype.topLeft):
1384         (Box.prototype.bottomRight):
1385         (Box.prototype.setTopLeft):
1386         (Box.prototype.setSize):
1387         (Box.prototype.setWidth):
1388         (Box.prototype.setHeight):
1389         (Box.prototype.isContainer):
1390         (Box.prototype.isBlockLevelBox):
1391         (Box.prototype.isBlockContainerBox):
1392         (Box.prototype.isInlineLevelBox):
1393         (Box.prototype.setIsAnonymous):
1394         (Box.prototype.isAnonymous):
1395         (Box.prototype.establishesFormattingContext):
1396         (Box.prototype.establishedFormattingContext):
1397         (Box.prototype.establishesBlockFormattingContext):
1398         (Box.prototype.establishesInlineFormattingContext):
1399         (Box.prototype.isPositioned):
1400         (Box.prototype.isRelativePositioned):
1401         (Box.prototype.isAbsolutePositioned):
1402         (Box.prototype.isFixedPositioned):
1403         (Box.prototype.isInFlow):
1404         (Box.prototype.isOutOfFlowPositioned):
1405         (Box.prototype.isInFlowPositioned):
1406         (Box.prototype.isFloatingPositioned):
1407         (Box.prototype.isFloatingOrOutOfFlowPositioned):
1408         (Box.prototype.isRootElement):
1409         (Box.prototype.containingBlock):
1410         (Box.prototype.borderBox):
1411         (Box.prototype.paddingBox):
1412         (Box.prototype.contentBox):
1413         * LayoutReloaded/Container.js: Added.
1414         (Container):
1415         (Container.prototype.isContainer):
1416         (Container.prototype.setFirstChild):
1417         (Container.prototype.setLastChild):
1418         (Container.prototype.firstChild):
1419         (Container.prototype.firstInFlowChild):
1420         (Container.prototype.lastChild):
1421         (Container.prototype.lastInFlowChild):
1422         (Container.prototype.hasChild):
1423         (Container.prototype.hasInFlowChild):
1424         * LayoutReloaded/FloatingContext.js: Added.
1425         (FloatingContext):
1426         (FloatingContext.prototype.computePosition):
1427         (FloatingContext.prototype.bottom):
1428         (FloatingContext.prototype._positionForFloating):
1429         (FloatingContext.prototype._positionForClear):
1430         (FloatingContext.prototype._computePositionToAvoidIntrudingFloats):
1431         (FloatingContext.prototype._addFloating):
1432         (FloatingContext.prototype._findInnerMostLeftAndRight):
1433         (FloatingContext.prototype._moveToNextVerticalPosition):
1434         (FloatingContext.prototype._availableSpace):
1435         (FloatingContext.prototype._findFloatingAtVerticalPosition):
1436         (FloatingContext.prototype._isEmpty):
1437         (FloatingContext.prototype._adjustedFloatingPosition):
1438         (FloatingContext.prototype._bottom):
1439         (FloatingContext.prototype._formattingContext):
1440         * LayoutReloaded/FormattingContext.js: Added.
1441         (FormattingContext):
1442         (FormattingContext.prototype.rootContainer):
1443         (FormattingContext.prototype.floatingContext):
1444         (FormattingContext.prototype.layout):
1445         (FormattingContext.prototype.computeWidth):
1446         (FormattingContext.prototype.computeHeight):
1447         (FormattingContext.prototype.marginTop):
1448         (FormattingContext.prototype.marginLeft):
1449         (FormattingContext.prototype.marginBottom):
1450         (FormattingContext.prototype.marginRight):
1451         (FormattingContext.prototype.absoluteMarginBox):
1452         (FormattingContext.prototype.absoluteBorderBox):
1453         (FormattingContext.prototype.absolutePaddingBox):
1454         (FormattingContext.prototype.absoluteContentBox):
1455         * LayoutReloaded/InitialBlockContainer.js: Added.
1456         (InitialBlockContainer):
1457         (InitialBlockContainer.prototype.establishesBlockFormattingContext):
1458         (InitialBlockContainer.prototype.paddingBox):
1459         (InitialBlockContainer.prototype.contentBox):
1460         * LayoutReloaded/InlineBox.js: Added.
1461         (InlineBox):
1462         (InlineBox.prototype.setText):
1463         (InlineBox.prototype.text):
1464         * LayoutReloaded/InlineFormattingContext.js: Added.
1465         (InlineFormattingContext):
1466         (InlineFormattingContext.prototype.layout):
1467         (InlineFormattingContext.prototype._handleInlineBox):
1468         (InlineFormattingContext.prototype._handleText):
1469         * LayoutReloaded/Layout.js: Added.
1470         (layout):
1471         * LayoutReloaded/LayoutContext.js: Added.
1472         (LayoutContext):
1473         (LayoutContext.prototype.layoutFormattingContext):
1474         * LayoutReloaded/LayoutReloaded.xcworkspace/contents.xcworkspacedata: Added.
1475         * LayoutReloaded/LayoutReloaded.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: Added.
1476         * LayoutReloaded/README.md: Added.
1477         * LayoutReloaded/Text.js: Added.
1478         (Text):
1479         * LayoutReloaded/TreeBuilder.js: Added.
1480         (TreeBuilder.prototype.createTree):
1481         (TreeBuilder.prototype._createAndAttachBox):
1482         (TreeBuilder.prototype._appendChild):
1483         (TreeBuilder.prototype._findBox):
1484         (TreeBuilder.prototype._findNode):
1485         (TreeBuilder):
1486         * LayoutReloaded/Utils.js: Added.
1487         (LayoutPoint):
1488         (LayoutPoint.prototype.setLeft):
1489         (LayoutPoint.prototype.setTop):
1490         (LayoutPoint.prototype.left):
1491         (LayoutPoint.prototype.top):
1492         (LayoutPoint.prototype.shiftLeft):
1493         (LayoutPoint.prototype.shiftTop):
1494         (LayoutPoint.prototype.moveBy):
1495         (LayoutPoint.prototype.equal):
1496         (LayoutPoint.prototype.clone):
1497         (LayoutSize):
1498         (LayoutSize.prototype.setWidth):
1499         (LayoutSize.prototype.setHeight):
1500         (LayoutSize.prototype.width):
1501         (LayoutSize.prototype.height):
1502         (LayoutSize.prototype.growBy):
1503         (LayoutSize.prototype.shrinkBy):
1504         (LayoutSize.prototype.isEmpty):
1505         (LayoutSize.prototype.equal):
1506         (LayoutSize.prototype.clone):
1507         (LayoutRect):
1508         (LayoutRect.prototype.setTop):
1509         (LayoutRect.prototype.setLeft):
1510         (LayoutRect.prototype.setBottom):
1511         (LayoutRect.prototype.setRight):
1512         (LayoutRect.prototype.left):
1513         (LayoutRect.prototype.top):
1514         (LayoutRect.prototype.bottom):
1515         (LayoutRect.prototype.right):
1516         (LayoutRect.prototype.setTopLeft):
1517         (LayoutRect.prototype.topLeft):
1518         (LayoutRect.prototype.topRight):
1519         (LayoutRect.prototype.bottomRight):
1520         (LayoutRect.prototype.setWidth):
1521         (LayoutRect.prototype.setHeight):
1522         (LayoutRect.prototype.setSize):
1523         (LayoutRect.prototype.size):
1524         (LayoutRect.prototype.width):
1525         (LayoutRect.prototype.height):
1526         (LayoutRect.prototype.growBy):
1527         (LayoutRect.prototype.shrinkBy):
1528         (LayoutRect.prototype.moveBy):
1529         (LayoutRect.prototype.isEmpty):
1530         (LayoutRect.prototype.equal):
1531         (LayoutRect.prototype.intersects):
1532         (LayoutRect.prototype.contains):
1533         (LayoutRect.prototype.clone):
1534         (ASSERT_NOT_REACHED):
1535         (ASSERT):
1536         (Utils.computedValue):
1537         (Utils.propertyIsAuto):
1538         (Utils.isWidthAuto):
1539         (Utils.isHeightAuto):
1540         (Utils.isTopAuto):
1541         (Utils.isLeftAuto):
1542         (Utils.isBottomAuto):
1543         (Utils.isRightAuto):
1544         (Utils.width):
1545         (Utils.height):
1546         (Utils.top):
1547         (Utils.bottom):
1548         (Utils.left):
1549         (Utils.right):
1550         (Utils.hasBorderTop):
1551         (Utils.hasBorderBottom):
1552         (Utils.hasPaddingTop):
1553         (Utils.hasPaddingBottom):
1554         (Utils.computedMarginTop):
1555         (Utils.computedMarginLeft):
1556         (Utils.computedMarginBottom):
1557         (Utils.computedMarginRight):
1558         (Utils.computedBorderTopLeft):
1559         (Utils.computedBorderBottomRight):
1560         (Utils.computedPaddingTopLeft):
1561         (Utils.computedPaddingBottomRight):
1562         (Utils.computedBorderAndPaddingTop):
1563         (Utils.computedBorderAndPaddingLeft):
1564         (Utils.computedBorderAndPaddingBottom):
1565         (Utils.computedBorderAndPaddingRight):
1566         (Utils.computedHorizontalBorderAndPadding):
1567         (Utils.computedVerticalBorderAndPadding):
1568         (Utils.hasClear):
1569         (Utils.hasClearLeft):
1570         (Utils.hasClearRight):
1571         (Utils.hasClearBoth):
1572         (Utils.isBlockLevelElement):
1573         (Utils.isBlockContainerElement):
1574         (Utils.isInlineLevelElement):
1575         (Utils.isTableElement):
1576         (Utils.isRelativePositioned):
1577         (Utils.isAbsolutePositioned):
1578         (Utils.isFixedPositioned):
1579         (Utils.isOverflowVisible):
1580         (Utils.isFloatingPositioned):
1581         (Utils.isFloatingLeft):
1582         (Utils.mapToContainer):
1583         (Utils.mapStaticToAbsolute):
1584         (Utils.collectOutOfFlowDescendants):
1585         (Utils.nextBreakingOpportunity):
1586         (Utils.measureText):
1587         (Utils.layoutTreeDump):
1588         (Utils._dumpBox):
1589         (Utils._dumpTree):
1590         (Utils):
1591         * LayoutReloaded/misc/LayoutReloadedWebKit.patch: Added.
1592         * LayoutReloaded/misc/headers/BlockContainer.h: Added.
1593         * LayoutReloaded/misc/headers/BlockFormattingContext.h: Added.
1594         * LayoutReloaded/misc/headers/BlockMarginCollapse.h: Added.
1595         * LayoutReloaded/misc/headers/Box.h: Added.
1596         * LayoutReloaded/misc/headers/Container.h: Added.
1597         * LayoutReloaded/misc/headers/FloatingContext.h: Added.
1598         * LayoutReloaded/misc/headers/FormattingContext.h: Added.
1599         * LayoutReloaded/misc/headers/InitialBlockContainer.h: Added.
1600         * LayoutReloaded/misc/headers/InlineBox.h: Added.
1601         * LayoutReloaded/misc/headers/LayoutContext.h: Added.
1602         * LayoutReloaded/misc/headers/Text.h: Added.
1603         * LayoutReloaded/test/TestHarness.js: Added.
1604         (verifyLayoutTreeDump):
1605         (runLayout):
1606         * LayoutReloaded/test/absolute-auto-with-sibling-margin-bottom.html: Added.
1607         * LayoutReloaded/test/absolute-bottom.html: Added.
1608         * LayoutReloaded/test/absolute-height-stretch.html: Added.
1609         * LayoutReloaded/test/absolute-left-auto.html: Added.
1610         * LayoutReloaded/test/absolute-left-right-top-bottom-auto.html: Added.
1611         * LayoutReloaded/test/absolute-nested.html: Added.
1612         * LayoutReloaded/test/absolute-nested2.html: Added.
1613         * LayoutReloaded/test/absolute-simple.html: Added.
1614         * LayoutReloaded/test/absolute-width-shrink-to-fit.html: Added.
1615         * LayoutReloaded/test/absolute-width-stretch.html: Added.
1616         * LayoutReloaded/test/absolute-with-inline-preferred-width.html: Added.
1617         * LayoutReloaded/test/absolute-with-static-block-position-nested.html: Added.
1618         * LayoutReloaded/test/almost-intruding-left-float-simple.html: Added.
1619         * LayoutReloaded/test/border-simple.html: Added.
1620         * LayoutReloaded/test/fixed-nested.html: Added.
1621         * LayoutReloaded/test/float-left-when-container-has-padding-margin.html: Added.
1622         * LayoutReloaded/test/floating-box-clear-both-simple.html: Added.
1623         * LayoutReloaded/test/floating-box-clear-right-simple.html: Added.
1624         * LayoutReloaded/test/floating-box-left-and-right-multiple-with-top-offset.html: Added.
1625         * LayoutReloaded/test/floating-box-left-and-right-multiple.html: Added.
1626         * LayoutReloaded/test/floating-box-right-simple.html: Added.
1627         * LayoutReloaded/test/floating-box-with-clear-siblings.html: Added.
1628         * LayoutReloaded/test/floating-box-with-clear-simple.html: Added.
1629         * LayoutReloaded/test/floating-box-with-new-formatting-context.html: Added.
1630         * LayoutReloaded/test/floating-box-with-relative-positioned-sibling.html: Added.
1631         * LayoutReloaded/test/floating-left-right-simple.html: Added.
1632         * LayoutReloaded/test/floating-left-right-with-all-margins.html: Added.
1633         * LayoutReloaded/test/floating-lefts-and-rights-simple.html: Added.
1634         * LayoutReloaded/test/floating-multiple-lefts-in-body.html: Added.
1635         * LayoutReloaded/test/floating-multiple-lefts-multiple-lines.html: Added.
1636         * LayoutReloaded/test/floating-multiple-lefts.html: Added.
1637         * LayoutReloaded/test/floating-sizing.html: Added.
1638         * LayoutReloaded/test/floating-sizing2.html: Added.
1639         * LayoutReloaded/test/floating-sizing3.html: Added.
1640         * LayoutReloaded/test/floating-with-new-block-formatting-context.html: Added.
1641         * LayoutReloaded/test/index.html: Added.
1642         * LayoutReloaded/test/inline-content-simple.html: Added.
1643         * LayoutReloaded/test/intruding-left-float-simple.html: Added.
1644         * LayoutReloaded/test/margin-collapse-bottom-bottom.html: Added.
1645         * LayoutReloaded/test/margin-collapse-bottom-nested.html: Added.
1646         * LayoutReloaded/test/margin-collapse-first-last-are-floating.html: Added.
1647         * LayoutReloaded/test/margin-collapse-simple.html: Added.
1648         * LayoutReloaded/test/margin-collapse-top-nested.html: Added.
1649         * LayoutReloaded/test/margin-collapse-when-child-has-padding-border.html: Added.
1650         * LayoutReloaded/test/margin-collapse-with-block-formatting-context.html: Added.
1651         * LayoutReloaded/test/margin-collapse-with-block-formatting-context2.html: Added.
1652         * LayoutReloaded/test/margin-left-right-sizing-out-of-flow.html: Added.
1653         * LayoutReloaded/test/margin-left-right-sizing.html: Added.
1654         * LayoutReloaded/test/margin-propagation-simple-content-height.html: Added.
1655         * LayoutReloaded/test/margin-sibling-collapse-propagated.html: Added.
1656         * LayoutReloaded/test/margin-simple.html: Added.
1657         * LayoutReloaded/test/negative-margin-simple.html: Added.
1658         * LayoutReloaded/test/padding-nested.html: Added.
1659         * LayoutReloaded/test/padding-simple.html: Added.
1660         * LayoutReloaded/test/relative-auto-with-parent-offset.html: Added.
1661         * LayoutReloaded/test/relative-auto.html: Added.
1662         * LayoutReloaded/test/relative-bottom.html: Added.
1663         * LayoutReloaded/test/relative-right.html: Added.
1664         * LayoutReloaded/test/relative-siblings.html: Added.
1665         * LayoutReloaded/test/relative-simple.html: Added.
1666
1667 2018-03-09  Stephan Szabo  <stephan.szabo@sony.com>
1668
1669         WebKitTestRunner: Do not build accessibility files/idl when !HAVE(ACCESSIBILITY)
1670         https://bugs.webkit.org/show_bug.cgi?id=183516
1671
1672         Reviewed by Alex Christensen.
1673
1674         * WebKitTestRunner/CMakeLists.txt:
1675
1676 2018-03-09  Basuke Suzuki  <Basuke.Suzuki@sony.com>
1677
1678         [webkitpy, WinCairo] Launch Apache HTTPD for HTTP Tests.
1679         https://bugs.webkit.org/show_bug.cgi?id=183265
1680
1681         Reviewed by Daniel Bates.
1682
1683         Launch apache httpd server from python script for WinCairo HTTP LayoutTests. By now, AppleWin uses
1684         Cygwin to launch httpd server. This patch enables native Windows to run HTTP LayoutTests by starting
1685         and stopping httpd server from the script.
1686
1687         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
1688         (LayoutTestApacheHttpd.__init__):
1689         (LayoutTestApacheHttpd._copy_apache_config_file):
1690         (LayoutTestApacheHttpd):
1691         (LayoutTestApacheHttpd.platform):
1692         (LayoutTestApacheHttpd._spawn_process):
1693         (LayoutTestApacheHttpd._stop_running_server):
1694         (LayoutTestApacheHttpd._run):
1695         (LayoutTestApacheHttpd._server_error):
1696         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
1697         (HttpServerBase.aliases):
1698         (HttpServerBase):
1699         (HttpServerBase._build_alias_path_pairs):
1700         (HttpServerBase._build_alias_path_pairs._make_path):
1701         * Scripts/webkitpy/layout_tests/servers/http_server_base_unittest.py:
1702         (TestHttpServerBase.test_corrupt_pid_file):
1703         (TestHttpServerBase):
1704         (TestHttpServerBase.test_build_alias_path_pairs):
1705         * Scripts/webkitpy/port/base.py:
1706         (Port._apache_config_file_name_for_platform):
1707         * Scripts/webkitpy/port/port_testcase.py:
1708         (test_apache_config_file_name_for_platform):
1709         * Scripts/webkitpy/port/win.py:
1710         (WinPort._path_to_apache):
1711         (WinCairoPort.default_baseline_search_path):
1712         (WinCairoPort):
1713         (WinCairoPort.check_httpd):
1714
1715 2018-03-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1716
1717         [GTK] Do not use WebKitDOMHTMLFormElement as argument of signal WebKitWebPage::will-submit-form
1718         https://bugs.webkit.org/show_bug.cgi?id=183510
1719
1720         Reviewed by Michael Catanzaro.
1721
1722         Update the test to use WebKitDOMElement instead and fix a memory leak.
1723
1724         * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
1725         (handleFormSubmissionCallback):
1726         (willSubmitFormCallback):
1727
1728 2018-03-08  Stephan Szabo  <stephan.szabo@sony.com>
1729
1730         WebKitTestRunner: Don't use accessibility controller when !HAVE(ACCESSIBILITY)
1731         https://bugs.webkit.org/show_bug.cgi?id=183475
1732
1733         Reviewed by Youenn Fablet.
1734
1735         * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
1736         (WTR::InjectedBundle::done):
1737         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1738         (WTR::InjectedBundlePage::didClearWindowForFrame):
1739
1740 2018-03-08  Ms2ger  <Ms2ger@igalia.com>
1741
1742         [WPE] Update expectations for API tests
1743         https://bugs.webkit.org/show_bug.cgi?id=183434
1744
1745         Unreviewed test gardening.
1746
1747         * TestWebKitAPI/glib/TestExpectations.json:
1748
1749 2018-03-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1750
1751         [GTK][WPE] Leak checker is not working in WebKitGLib web process tests
1752         https://bugs.webkit.org/show_bug.cgi?id=183404
1753
1754         Reviewed by Michael Catanzaro.
1755
1756         This might have regressed when we started to use the JSC garbage collector timers. The thing is that we expect
1757         that the WebProcessTester object that we expose to JavaScript is released when the web frame is destroyed, but
1758         that's no longer the case. On window object cleared a GC is scheduled, but JSC timers do the actual garbage
1759         collection later. In the case of tests that never happens because the web process finishes quickly after the
1760         test. We need to force a garbage collection at some point when the web page is destroyed. We can't use the
1761         WebKitWebPage destroy signal, since we are also checking that WebKitWebPage isn't leaked. The
1762         API::InjectedBundle::Client::willDestroyPage() always happen when the page is closed, even if WebKitWebPage is
1763         still alive, so we can force the GC at that point. The only problem is that the frame is detached right after
1764         that point, so we can't check WebKitFrame leaks. The only frame in the tests is the main one, so we can assume
1765         that if WebKitWebPage is released, the frame is too.
1766
1767         * TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
1768         (WebKitFrameTest::testMainFrame): Stop checking we don't leak WebKitFrame.
1769         (WebKitFrameTest::testURI): Ditto.
1770         (WebKitFrameTest::testJavaScriptContext): Ditto.
1771         * TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
1772         (testWebKitFrameMainFrame): Use new WebViewTest::runWebProcessTest() API.
1773         (testWebKitFrameURI): Ditto.
1774         (testWebKitFrameJavaScriptContext): Ditto.
1775         (webkitFrameTestRun): Deleted.
1776         * TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp:
1777         (runTest): We no longer need the special case for dom-cache test.
1778         (windowObjectClearedCallback): Only expose test runner object to JavaScript when loading tests.
1779         (webkit_web_extension_initialize): Call webkitWebExtensionSetGarbageCollectOnPageDestroy() to ensure a garbage
1780         collection is performed when the page is closing.
1781         * TestWebKitAPI/Tests/WebKitGtk/DOMClientRectTest.cpp:
1782         (WebKitDOMClientRectTest::testDivClientRectsPositionAndLength): Fix memory leak,
1783         webkit_dom_client_rect_list_item() returns a full reference.
1784         * TestWebKitAPI/Tests/WebKitGtk/TestAutocleanups.cpp:
1785         (testWebProcessAutocleanups):Use new WebViewTest::runWebProcessTest() API.
1786         * TestWebKitAPI/Tests/WebKitGtk/TestDOMClientRect.cpp:
1787         (testWebKitDOMClientRectDivBoundingClientRectPosition): Use new WebViewTest::runWebProcessTest() API.
1788         (testWebKitDOMClientRectDivClientRectsPositionAndLength): Use new WebViewTest::runWebProcessTest() API.
1789         (prepareDOMForClientRectPositionTests): Deleted.
1790         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNode.cpp:
1791         (testWebKitDOMNodeHierarchyNavigation): Use new WebViewTest::runWebProcessTest() API.
1792         (testWebKitDOMNodeInsertion): Ditto.
1793         (testWebKitDOMNodeTagNamesNodeList): Ditto.
1794         (testWebKitDOMNodeTagNamesHTMLCollection): Ditto.
1795         (testWebKitDOMObjectCache): We no longer need to run the test several times, since runWebProcessTest() loads
1796         about blank after every test.
1797         (prepareDOMForTagNamesTests): Deleted.
1798         * TestWebKitAPI/Tests/WebKitGtk/TestDOMNodeFilter.cpp:
1799         (testWebKitDOMNodeFilterTreeWalker): Use new WebViewTest::runWebProcessTest() API.
1800         (testWebKitDOMNodeFilterNodeIterator): Ditto.
1801         (runTest): Deleted.
1802         * TestWebKitAPI/Tests/WebKitGtk/TestDOMXPathNSResolver.cpp:
1803         (testWebKitDOMXPathNSResolverNative): Use new WebViewTest::runWebProcessTest() API.
1804         (testWebKitDOMXPathNSResolverCustom): Ditto.
1805         * TestWebKitAPI/Tests/WebKitGtk/TestEditor.cpp:
1806         (testWebKitWebEditorSelectionChanged): Use new WebViewTest::runWebProcessTest() API.
1807         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
1808         (WebViewTest::runWebProcessTest): It now receives the contents, so it automatically loads the view using
1809         "webprocess://test" as base URI, used to detect tests in the web process. It also loads about:blank after every
1810         test to ensure that window object is cleared.
1811         * TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
1812
1813 2018-03-07  Youenn Fablet  <youenn@apple.com>
1814
1815         Match unsupported plugins based on domains and not origin
1816         https://bugs.webkit.org/show_bug.cgi?id=183384
1817
1818         Reviewed by Chris Dumez.
1819
1820         * TestWebKitAPI/Tests/WebCore/URL.cpp:
1821         (TestWebKitAPI::TEST_F):
1822         * WebKitTestRunner/TestController.cpp:
1823         (WTR::TestController::setPluginSupportedMode): Update to whitelist
1824         localhost and not http://localhost:8080
1825
1826 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
1827
1828         webkitpy: Allow apple_additions() to define additional ports
1829         https://bugs.webkit.org/show_bug.cgi?id=183412
1830         <rdar://problem/38232353>
1831
1832         Reviewed by Aakash Jain.
1833
1834         * Scripts/webkitpy/port/factory.py:
1835         (PortFactory.get): Allow apple_additions to define port classes to be used
1836         in run-webkit-tests.
1837
1838 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
1839
1840         webkitpy: Remove obsolete function from MockAppleAdditions
1841         https://bugs.webkit.org/show_bug.cgi?id=183415
1842         <rdar://problem/38236407>
1843
1844         Reviewed by Aakash Jain.
1845
1846         * Scripts/webkitpy/port/port_testcase.py:
1847         (bind_mock_apple_additions.MockAppleAdditions):
1848         (bind_mock_apple_additions.MockAppleAdditions.ios_os_name): Deleted.
1849         (bind_mock_apple_additions.MockAppleAdditions.mac_os_name): Deleted.
1850
1851 2018-03-07  Jonathan Bedard  <jbedard@apple.com>
1852
1853         webkitpy: --dedicated-simulators does not boot the correct number of simulators
1854         https://bugs.webkit.org/show_bug.cgi?id=183409
1855         <rdar://problem/38224631>
1856
1857         Reviewed by Aakash Jain.
1858
1859         * Scripts/webkitpy/port/ios_simulator.py:
1860         (IOSSimulatorPort.default_child_processes): When not using dedicated simulators,
1861         we should use the number of booted simulators as our default child processes.
1862
1863 2018-03-07  Alejandro G. Castro  <alex@igalia.com>
1864
1865         Make NetworkRTCResolver port agnostic
1866         https://bugs.webkit.org/show_bug.cgi?id=178855
1867
1868         Reviewed by Youenn Fablet.
1869
1870         Added new unit tests for he resolve and stopResolve functions. We need to compile them for the
1871         other platforms when the APIs are supported.
1872
1873         * TestWebKitAPI/PlatformGTK.cmake:
1874         * TestWebKitAPI/Tests/WebCore/DNS.cpp:
1875
1876 2018-03-06  Youenn Fablet  <youenn@apple.com>
1877
1878         didReceiveServerRedirectForProvisionalNavigation is not called in case of document redirection with service worker registration change
1879         https://bugs.webkit.org/show_bug.cgi?id=183299
1880         <rdar://problem/37547029>
1881
1882         Reviewed by Alex Christensen.
1883
1884         Add support for checking whether this callback is called.
1885         Used in the added layout test.
1886
1887         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1888         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
1889         (WTR::TestRunner::didReceiveServerRedirectForProvisionalNavigation const):
1890         (WTR::TestRunner::clearDidReceiveServerRedirectForProvisionalNavigation):
1891         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1892         * WebKitTestRunner/TestController.cpp:
1893         (WTR::TestController::createOtherPage):
1894         (WTR::TestController::resetStateToConsistentValues):
1895         (WTR::TestController::didReceiveServerRedirectForProvisionalNavigation):
1896         * WebKitTestRunner/TestController.h:
1897         (WTR::TestController::didReceiveServerRedirectForProvisionalNavigation const):
1898         (WTR::TestController::clearDidReceiveServerRedirectForProvisionalNavigation):
1899         * WebKitTestRunner/TestInvocation.cpp:
1900         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
1901
1902 2018-03-06  Chris Dumez  <cdumez@apple.com>
1903
1904         fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html fails with async policy delegates
1905         https://bugs.webkit.org/show_bug.cgi?id=183345
1906
1907         Reviewed by Alex Christensen.
1908
1909         Add layout test infrastructure so a test can know when didCancelClientRedirectForFrame has
1910         been called. The tests used to rely on a 0-timer but this does not work when the client
1911         responds to the navigation policy asynchronously.
1912
1913         * DumpRenderTree/TestRunner.cpp:
1914         (getDidCancelClientRedirect):
1915         (TestRunner::staticValues):
1916         * DumpRenderTree/TestRunner.h:
1917         (TestRunner::didCancelClientRedirect const):
1918         (TestRunner::setDidCancelClientRedirect):
1919         * DumpRenderTree/mac/FrameLoadDelegate.mm:
1920         (-[FrameLoadDelegate webView:didCancelClientRedirectForFrame:]):
1921         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
1922         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
1923         (WTR::InjectedBundlePage::didCancelClientRedirectForFrame):
1924         * WebKitTestRunner/InjectedBundle/TestRunner.h:
1925         (WTR::TestRunner::didCancelClientRedirect const):
1926         (WTR::TestRunner::setDidCancelClientRedirect):
1927
1928 2018-03-06  Zan Dobersek  <zdobersek@igalia.com>
1929
1930         REGRESSION(r229309): s_exceptionInstructions allocation change causing crashes in LLInt on WPE
1931         https://bugs.webkit.org/show_bug.cgi?id=183366
1932
1933         Reviewed by Michael Catanzaro.
1934
1935         Have the TestRunnerInjectedBundle CMake library link against libraries
1936         in the WebKitTestRunnerInjectedBundle_LIBRARIES list, and not the
1937         WebKitTestRunner_LIBRARIES list, which is used for the WebKitTestRunner
1938         executable. This allows narrowing down the libraries to only those that
1939         are necessary for the injected bundle shared object.
1940
1941         The GTK+ port already has this list specified, adding one for the WPE
1942         port.
1943
1944         * WebKitTestRunner/CMakeLists.txt:
1945         Link the TestRunnerInjectedBundle library against the libraries in the
1946         WebKitTestRunnerInjectedBundle_LIBRARIES list.
1947         * WebKitTestRunner/PlatformWPE.cmake:
1948         Specify the WebKitTestRunnerInjectedBundle_LIBRARIES list, including the
1949         basic system dependencies, WebCoreTestSupport and WebKit. This follows
1950         the GTK+ port.
1951
1952 2018-03-06  Dominik Infuehr  <dinfuehr@igalia.com>
1953
1954         [ARM] Disable tests that run out of memory
1955         https://bugs.webkit.org/show_bug.cgi?id=182699
1956
1957         Reviewed by Žan Doberšek.
1958
1959         Add run mode to allow running modules.yaml-tests without
1960         disabling LLInt for specific tests.
1961
1962         * Scripts/run-jsc-stress-tests:
1963
1964 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
1965
1966         Fix std::make_unique / new[] using system malloc
1967         https://bugs.webkit.org/show_bug.cgi?id=182975
1968
1969         Reviewed by JF Bastien.
1970
1971         * TestWebKitAPI/CMakeLists.txt:
1972         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
1973         * TestWebKitAPI/Tests/WTF/UniqueArray.cpp: Copied from Source/WebKit/Platform/win/LoggingWin.cpp.
1974         (TestWebKitAPI::NonTrivialDestructor::NonTrivialDestructor):
1975         (TestWebKitAPI::NonTrivialDestructor::~NonTrivialDestructor):
1976         (TestWebKitAPI::NonTrivialDestructor::setLog):
1977         (TestWebKitAPI::TEST):
1978
1979 2018-03-05  Myles C. Maxfield  <mmaxfield@apple.com>
1980
1981         DumpRenderTree build fix
1982
1983         Unreviewed.
1984
1985         * DumpRenderTree/mac/LayoutTestHelper.m:
1986
1987 2018-03-05  Andy Estes  <aestes@apple.com>
1988
1989         [Mac] Teach WebCore::Pasteboard about file promise drags
1990         https://bugs.webkit.org/show_bug.cgi?id=183314
1991         <rdar://problem/38105493>
1992
1993         Reviewed by Darin Adler.
1994
1995         * DumpRenderTree/DumpRenderTreeFileDraggingSource.h:
1996         * DumpRenderTree/DumpRenderTreeFileDraggingSource.m:
1997         (-[DumpRenderTreeFileDraggingSource initWithPromisedFileURLs:]):
1998         (-[DumpRenderTreeFileDraggingSource dealloc]):
1999
2000         Taught DumpRenderTreeFileDraggingSource to store the promised file URLs.
2001
2002         * DumpRenderTree/mac/DumpRenderTree.mm:
2003         (runTest):
2004
2005         Called +[DumpRenderTreeDraggingInfo clearAllFilePromiseReceivers] after running a test.
2006
2007         * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h:
2008         * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm:
2009         (-[DumpRenderTreeFilePromiseReceiver initWithPromisedUTIs:]):
2010         (-[DumpRenderTreeFilePromiseReceiver fileTypes]):
2011         (-[DumpRenderTreeFilePromiseReceiver fileNames]):
2012         (-[DumpRenderTreeFilePromiseReceiver dealloc]):
2013         (copyFile):
2014         (-[DumpRenderTreeFilePromiseReceiver receivePromisedFilesAtDestination:options:operationQueue:reader:]):
2015
2016         We can't instantiate real NSFilePromiseReceivers in DumpRenderTree. They rely on the
2017         pasteboard server to generate unique file URLs, which is incompatible with our swizzled
2018         NSPasteboard.
2019
2020         Instead, create a subclass of NSFilePromiseReceiver that implements its own promise resolution.
2021         -receivePromisedFilesAtDestination:... asks its DumpRenderTreeFileDraggingSource for the
2022         array of file URLs, then copies each to the destination directory on the specified operation
2023         queue. It emulates how NSPasteboard tries to find a unique destination name by appending
2024         numbers to the file name.
2025
2026         All receivers are collected in a global array that is cleared when each test finishes.
2027         DumpRenderTreeFilePromiseReceiver will delete the files it copied in -dealloc.
2028
2029         (+[DumpRenderTreeDraggingInfo clearAllFilePromiseReceivers]):
2030         (-[DumpRenderTreeDraggingInfo enumerateDraggingItemsWithOptions:forView:classes:searchOptions:usingBlock:]):
2031         
2032         If NSFilesPromisePboardType is on the pasteboard and classArray contains
2033         NSFilePromiseReceiver, construct a DumpRenderTreeFilePromiseReceiver, add it to the array of
2034         all file promise receivers, then wrap it in an NSDraggingItem and call block.
2035
2036         * DumpRenderTree/mac/EventSendingController.mm:
2037         (+[EventSendingController isSelectorExcludedFromWebScript:]):
2038         (+[EventSendingController webScriptNameForSelector:]):
2039         (-[EventSendingController beginDragWithFilePromises:]):
2040
2041         Implement eventSender.beginDragWithFilePromises() by placing file UTIs on the pasteboard
2042         with type NSFilesPromisePboardType, creating a DumpRenderTreeFileDraggingSource with the
2043         file URLs, and creating a new DumpRenderTreeDraggingInfo and passing it to
2044         -[WebView draggingEntered:].
2045
2046 2018-03-05  Aakash Jain  <aakash_jain@apple.com>
2047
2048         [webkitpy] Bugzilla class should use NetworkTransaction for network operations
2049         https://bugs.webkit.org/show_bug.cgi?id=183222
2050
2051         Reviewed by Alexey Proskuryakov.
2052
2053         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
2054         (Bugzilla.open_url): Method which uses NetworkTransaction for opening url.
2055         (Bugzilla.fetch_user): Used self.open_url instead of directly calling browser.open().
2056         (Bugzilla.add_user_to_groups): Ditto.
2057         (Bugzilla._fetch_bug_page): Ditto.
2058         (Bugzilla.fetch_attachment_contents): Ditto.
2059         (Bugzilla.get_bug_id_for_attachment_id): Ditto.
2060         (Bugzilla.authenticate): Ditto.
2061         (Bugzilla.add_attachment_to_bug): Ditto.
2062         (Bugzilla.add_patch_to_bug): Ditto.
2063         (Bugzilla.create_bug): Ditto.
2064         (Bugzilla.clear_attachment_flags): Ditto.
2065         (Bugzilla.set_flag_on_attachment): Ditto.
2066         (Bugzilla.obsolete_attachment): Ditto.
2067         (Bugzilla.add_cc_to_bug): Ditto.
2068         (Bugzilla.post_comment_to_bug): Ditto.
2069         (Bugzilla.close_bug_as_fixed): Ditto.
2070         (Bugzilla.reassign_bug): Ditto.
2071         (Bugzilla.reopen_bug): Ditto.
2072         (Bugzilla._fetch_bug_page_by_url): Deleted, not required anymore.
2073         * Scripts/webkitpy/common/net/networktransaction.py:
2074         (NetworkTransaction.run): Added a FIXME.
2075
2076 2018-03-05  Joseph Pecoraro  <pecoraro@apple.com>
2077
2078         dump-class-layout mishandles duplicates base classes and miscomputes padding
2079         https://bugs.webkit.org/show_bug.cgi?id=183311
2080
2081         Reviewed by Simon Fraser.
2082
2083         * Scripts/dump-class-layout:
2084         (verify_type):
2085         (verify_type_recursive):
2086         Keep a list of seen (offset, type) that we have output and don't re-output them.
2087         The Python types list the base classes as members multiple times as you iterate
2088         through the members, so just ignore them if we have seem them already at a
2089         specific offset.
2090
2091 2018-03-05  Carlos Alberto Lopez Perez  <clopez@igalia.com>
2092
2093         [GTK][Wayland] The GTK Wayland bot exits early because of assertions related with libsecret since r221925
2094         https://bugs.webkit.org/show_bug.cgi?id=183330
2095
2096         Reviewed by Michael Catanzaro.
2097
2098         Add libsecret to the JHBuild and build it only when the system version is
2099         less than 0.18.6 (unreleased as of writing this) in order to cherry pick
2100         a fix for a bug that causes crashes with layout tests.
2101
2102         * gtk/jhbuild.modules:
2103         * gtk/patches/libsecret-secret-methods-Don-t-unref-NULL-when-search-fails.patch: Added.
2104
2105 2018-03-05  Claudio Saavedra  <csaavedra@igalia.com>
2106
2107         [GTK] Implement WTR's PlatformWebView::setWindowIsKey()
2108         https://bugs.webkit.org/show_bug.cgi?id=183143
2109
2110         Reviewed by Carlos Garcia Campos.
2111
2112         Implement ::setWindowIsKey() by keeping a second window to be
2113         presented when the webview's window is to lose its key status.
2114
2115         * WebKitTestRunner/PlatformWebView.h:
2116         * WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
2117         (WTR::PlatformWebView::PlatformWebView):
2118         (WTR::PlatformWebView::~PlatformWebView):
2119         (WTR::PlatformWebView::setWindowIsKey):
2120
2121 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
2122
2123         Unreviewed, attempt to fix Apple port build
2124
2125         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
2126
2127 2018-03-05  Yusuke Suzuki  <utatane.tea@gmail.com>
2128
2129         Unreviewed, attempt to fix WPE build
2130
2131         * WebKitTestRunner/InjectedBundle/wpe/TestRunnerWPE.cpp:
2132         (WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
2133         * WebKitTestRunner/wpe/PlatformWebViewWPE.cpp:
2134         (WTR::PlatformWebView::windowSnapshotImage):
2135         * WebKitTestRunner/wpe/TestControllerWPE.cpp:
2136         (WTR::TestController::platformRunUntil):
2137
2138 2018-03-04  Yusuke Suzuki  <utatane.tea@gmail.com>
2139
2140         [WTF] Move currentCPUTime and sleep(Seconds) to CPUTime.h and Seconds.h respectively
2141         https://bugs.webkit.org/show_bug.cgi?id=183312
2142
2143         Reviewed by Mark Lam.
2144
2145         Remove wtf/CurrentTime.h include pragma.
2146
2147         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
2148         * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
2149         * DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
2150         * DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
2151         * TestWebKitAPI/Tests/WTF/Condition.cpp:
2152         * TestWebKitAPI/Tests/WTF/Signals.cpp:
2153         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
2154         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
2155         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
2156         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2157         * TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
2158         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2159
2160 2018-03-04  Tim Horton  <timothy_horton@apple.com>
2161
2162         Make !ENABLE(DATA_DETECTION) iOS build actually succeed
2163         https://bugs.webkit.org/show_bug.cgi?id=183283
2164         <rdar://problem/38062148>
2165
2166         Reviewed by Sam Weinig.
2167
2168         * TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
2169
2170 2018-03-02  Chris Dumez  <cdumez@apple.com>
2171
2172         Converting a load to a download does not work with async policy delegates
2173         https://bugs.webkit.org/show_bug.cgi?id=183254
2174         <rdar://problem/38035334>
2175
2176         Reviewed by Youenn Fablet.
2177
2178         Add layout test infrastructure for responding to the decidePolicyForNavigationResponse
2179         delegate asynchronously.
2180
2181         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2182         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2183         (WTR::InjectedBundlePage::decidePolicyForResponse):
2184         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2185         (WTR::TestRunner::setShouldDecideResponsePolicyAfterDelay):
2186         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2187         (WTR::TestRunner::shouldDecideResponsePolicyAfterDelay const):
2188         * WebKitTestRunner/TestController.cpp:
2189         (WTR::TestController::resetStateToConsistentValues):
2190         (WTR::TestController::decidePolicyForNavigationResponse):
2191         * WebKitTestRunner/TestController.h:
2192         (WTR::TestController::setShouldDecideResponsePolicyAfterDelay):
2193         * WebKitTestRunner/TestInvocation.cpp:
2194         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2195
2196 2018-03-01  Youenn Fablet  <youenn@apple.com>
2197
2198         Add API test to validate setting of service worker and cache storage directories
2199         https://bugs.webkit.org/show_bug.cgi?id=182543
2200
2201         Reviewed by Chris Dumez.
2202
2203         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2204
2205 2018-03-01  Ross Kirsling  <ross.kirsling@sony.com>
2206
2207         [Win][DRT] Implement setSpatialNavigationEnabled.
2208         https://bugs.webkit.org/show_bug.cgi?id=183166
2209
2210         Reviewed by Per Arne Vollan.
2211
2212         * DumpRenderTree/TestRunner.cpp:
2213         (setSpatialNavigationEnabledCallback):
2214         * DumpRenderTree/win/DumpRenderTree.cpp:
2215         (resetWebPreferencesToConsistentValues):
2216         * DumpRenderTree/win/TestRunnerWin.cpp:
2217         (TestRunner::setSpatialNavigationEnabled):
2218
2219 2018-03-01  Basuke Suzuki  <Basuke.Suzuki@sony.com>
2220
2221         [webkitpy] Use shell=False to launch apache http server.
2222         https://bugs.webkit.org/show_bug.cgi?id=183191
2223
2224         Reviewed by Aakash Jain.
2225
2226         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
2227         (LayoutTestApacheHttpd.__init__):
2228         (LayoutTestApacheHttpd._run):
2229
2230 2018-03-01  Chris Dumez  <cdumez@apple.com>
2231
2232         Unreviewed, update WebKit.CustomHeaderFields API test after r229133.
2233
2234         We no longer do policy checks for 'about:blank'.
2235
2236         * TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
2237         (-[CustomHeaderFieldsDelegate webView:startURLSchemeTask:]):
2238         (TEST):
2239
2240 2018-02-28  Jonathan Bedard  <jbedard@apple.com>
2241
2242         [webkitpy] Remove concept of 'future' versions (Follow-up fix 2)
2243         https://bugs.webkit.org/show_bug.cgi?id=183184
2244         <rdar://problem/37958594>
2245
2246         Reviewed by Aakash Jain.
2247
2248         Unlisted Apple versions can't run webkitpy tests because they don't
2249         have specified port names.
2250
2251         * Scripts/webkitpy/port/apple.py:
2252         (ApplePort.determine_full_port_name): Return valid port name for unnamed
2253         versions.
2254         * Scripts/webkitpy/port/base.py:
2255         (Port.version_name): Check both public and internal version mapping
2256         when returning a version name.
2257         * Scripts/webkitpy/port/mac.py:
2258         (MacPort.__init__): If no os version is defined, use the current version.
2259
2260 2018-02-28  John Wilander  <wilander@apple.com>
2261
2262         Add a second tier of prevalence to facilitate telemetry on very prevalent domains
2263         https://bugs.webkit.org/show_bug.cgi?id=183218
2264         <rdar://problem/37992388>
2265
2266         Reviewed by Brent Fulgham.
2267
2268         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2269             Added two new testRunner functions:
2270             - setStatisticsVeryPrevalentResource()
2271             - isStatisticsVeryPrevalentResource()
2272         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2273         (WTR::TestRunner::setStatisticsVeryPrevalentResource):
2274         (WTR::TestRunner::isStatisticsVeryPrevalentResource):
2275         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2276         * WebKitTestRunner/TestController.cpp:
2277         (WTR::TestController::setStatisticsVeryPrevalentResource):
2278         (WTR::TestController::isStatisticsVeryPrevalentResource):
2279         * WebKitTestRunner/TestController.h:
2280         * WebKitTestRunner/TestInvocation.cpp:
2281         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
2282
2283 2018-02-28  Jonathan Bedard  <jbedard@apple.com>
2284
2285         [webkitpy] Remove concept of 'future' versions (Follow-up fix)
2286         https://bugs.webkit.org/show_bug.cgi?id=183184
2287         <rdar://problem/37958594>
2288
2289         Reviewed by David Kilzer.
2290
2291         The factory also relies on future in a non-obvious way.
2292
2293         * Scripts/webkitpy/common/system/platforminfo.py:
2294         (PlatformInfo.os_version_name): Check both public and internal version mapping
2295         when returning a version name.
2296         * Scripts/webkitpy/common/system/platforminfo_mock.py:
2297         (MockPlatformInfo.os_version_name): Ditto.
2298
2299 2018-02-28  Zan Dobersek  <zdobersek@igalia.com>
2300
2301         Unreviewed WPE fixup after r229080.
2302
2303         Add empty definitions for two AccessibilityUIElement methods,
2304         avoiding undefined symbols in the WKTR injected bundle.
2305
2306         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
2307         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
2308         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
2309
2310 2018-02-27  Jonathan Bedard  <jbedard@apple.com>
2311
2312         Remove concept of 'future'
2313         https://bugs.webkit.org/show_bug.cgi?id=183184
2314         <rdar://problem/37958594>
2315
2316         Reviewed by Aakash Jain.
2317
2318         Remove concept of 'future' from expectations and instead
2319         use a system of inheritance centered around the current version
2320         of an OS for Mac and iOS.
2321
2322         Inheritance works like so:
2323
2324         | ....
2325         V Future
2326         > High Sierra (mac)
2327         ^ mac-sierra
2328         | mac-elcapitan
2329         | ....
2330
2331         This does not change expectation inheritance for any currently running
2332         configurations, it generalizes the logic already used.
2333
2334         * Scripts/webkitpy/common/version_name_map.py:
2335         (VersionNameMap.__init__): Remove all future versions.
2336         (VersionNameMap.mapping_for_platform): Return empty dicts instead of
2337         asserting.
2338         * Scripts/webkitpy/port/apple.py:
2339         (ApplePort):
2340         (ApplePort._allowed_versions): Return all available versions.
2341         (ApplePort._generate_all_test_configurations): Instead of picking from a set
2342         of allowed versions, assume that every specified version is allowed.
2343         (ApplePort._port_name_with_version): Deleted.
2344         * Scripts/webkitpy/port/darwin.py: Add CURRENT_VERSION overridden by subclasses.
2345         (DarwinPort):
2346         * Scripts/webkitpy/port/ios.py:
2347         (IOSPort):
2348         (IOSPort.default_baseline_search_path): Use system of inheritance centered around
2349         the current version.
2350         * Scripts/webkitpy/port/mac.py:
2351         (MacPort):
2352         (MacPort.__init__): Use current version by default.
2353         (MacPort.default_baseline_search_path): Use system of inheritance centered around
2354         the current version.
2355         (MacPort.configuration_specifier_macros): Use the same set of version names
2356         supported in default_baseline_search_path.
2357         * Scripts/webkitpy/port/mac_unittest.py:
2358         (MacTest.test_versions): Remove 'future' tests.
2359
2360 2018-02-27  Michael Catanzaro  <mcatanzaro@igalia.com>
2361
2362         Unreviewed GTK test gardening
2363
2364         * TestWebKitAPI/glib/TestExpectations.json:
2365
2366 2018-02-27  Doug Russell  <doug@getitdownonpaper.com>
2367
2368         AX: Spell check and style attributes should be optional when fetching attributed string
2369         https://bugs.webkit.org/show_bug.cgi?id=160744
2370
2371         Reviewed by Chris Fleizach.
2372
2373         The overhead of fetching a spell checked attributed string via AX API is substantial. 
2374         In some cases on the order of 7/8 of the total time spent fetching the string.
2375
2376         This change introduces the new attribute AXAttributedStringForTextMarkerRangeWithOptions which accepts an NSDictionary as it's parameter with keys "AXTextMarkerRange" (AXTextMarkerRangeRef) and "AXSpellCheck" (NSNumber(BOOL)).
2377
2378         AXAttributedStringForTextMarkerRange will remain unchanged.
2379
2380         * DumpRenderTree/AccessibilityUIElement.cpp:
2381         (attributedStringForTextMarkerRangeCallback):
2382         (attributedStringForTextMarkerRangeWithOptionsCallback):
2383         (AccessibilityUIElement::attributedStringForTextMarkerRange):
2384         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
2385         (AccessibilityUIElement::getJSClass):
2386         * DumpRenderTree/AccessibilityUIElement.h:
2387         * DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
2388         (AccessibilityUIElement::attributedStringForTextMarkerRange):
2389         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
2390         * DumpRenderTree/mac/AccessibilityUIElementMac.mm:
2391         (createJSStringRef):
2392         (AccessibilityUIElement::attributedStringForTextMarkerRange):
2393         (AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
2394         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
2395         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
2396         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2397         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
2398         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
2399         * WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
2400         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
2401         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
2402         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
2403         (WTR::createJSStringRef):
2404         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRange):
2405         (WTR::AccessibilityUIElement::attributedStringForTextMarkerRangeWithOptions):
2406
2407 2018-02-27  Daniel Bates  <dabates@apple.com>
2408
2409         Standardize terminology for marked text
2410         https://bugs.webkit.org/show_bug.cgi?id=180999
2411
2412         Reviewed by Zalan Bujtas.
2413
2414         The name MarkerSubrange is a misnomer for a data structure that associates a text subrange with a type
2415         and optional document marker. In particular, a MarkerSubrange may not always correspond to a document
2416         marker. For instance, selected text is represented using a MarkerSubrange that does not have a
2417         corresponding document marker. Let's standardize on the phrase "marked text" as the canonical way to
2418         describe these tagged text subranges.
2419
2420         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2421         * TestWebKitAPI/Tests/WebCore/MarkedText.cpp: Added.
2422         (WebCore::operator<<):
2423         (TestWebKitAPI::TEST):
2424         * TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp: Removed.
2425
2426 2018-02-27  Aakash Jain  <aakash_jain@apple.com>
2427
2428         webkitpy Bugzilla transactions should retry on URLError
2429         https://bugs.webkit.org/show_bug.cgi?id=183156
2430
2431         Reviewed by Alexey Proskuryakov.
2432
2433         * Scripts/webkitpy/common/net/bugzilla/bugzilla.py:
2434         (Bugzilla): Use NetworkTransaction.
2435         (Bugzilla._fetch_bug_page_by_url):
2436         (Bugzilla.bug_id_for_attachment_id):
2437         (Bugzilla.get_bug_id_for_attachment_id):
2438
2439 2018-02-27  Wenson Hsieh  <wenson_hsieh@apple.com>
2440
2441         [Extra zoom mode] Implement additional SPI for adjusting viewport shrink-to-fit behavior
2442         https://bugs.webkit.org/show_bug.cgi?id=183100
2443         <rdar://problem/37840987>
2444
2445         Reviewed by Tim Horton.
2446
2447         Add API tests that exercise -_setMinimumAllowedLayoutWidth: and -_setForceHorizontalViewportShrinkToFit:. See
2448         WebKit ChangeLog for more detail.
2449
2450         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2451         * TestWebKitAPI/Tests/ios/ViewportSizingTests.mm: Added.
2452         (TestWebKitAPI::while):
2453         (viewportTestPageMarkup):
2454         (TestWebKitAPI::TEST):
2455
2456 2018-02-27  Yusuke Suzuki  <utatane.tea@gmail.com>
2457
2458         Unreviewed, skip FTL tests if FTL is disabled
2459         https://bugs.webkit.org/show_bug.cgi?id=183071
2460
2461         * Scripts/run-jsc-stress-tests:
2462
2463 2018-02-26  Don Olmstead  <don.olmstead@sony.com>
2464
2465         Fix WebCore includes within WebKitLegacy
2466         https://bugs.webkit.org/show_bug.cgi?id=183147
2467
2468         Reviewed by Tim Horton.
2469
2470         * MiniBrowser/win/ResourceLoadDelegate.cpp:
2471
2472 2018-02-26  Yousuke Kimoto  <yousuke.kimoto@sony.com>
2473
2474         [WinCairo] WebKit2_C.h should be included for TestWebKit
2475         https://bugs.webkit.org/show_bug.cgi?id=182682
2476
2477         Reviewed by Yusuke Suzuki.
2478
2479         * TestWebKitAPI/config.h:
2480
2481 2018-02-25  Fujii Hironori  <Hironori.Fujii@sony.com>
2482
2483         [WK2] http/tests/navigation/new-window-redirect-history.html crashes
2484         https://bugs.webkit.org/show_bug.cgi?id=127683
2485
2486         Reviewed by Dan Bernstein.
2487
2488         m_previousTestBackForwardListItem was null for the new window.
2489         m_previousTestBackForwardListItem is initialized only for the main
2490         window in InjectedBundlePage::prepare.
2491
2492         * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
2493         (WTR::InjectedBundlePage::dumpBackForwardList):
2494         Do null-check of m_previousTestBackForwardListItem.
2495
2496 2018-02-25  Alexey Proskuryakov  <ap@apple.com>
2497
2498         Various crashes in WebKitTestRunner, especially when system is under heavy load
2499         https://bugs.webkit.org/show_bug.cgi?id=183109
2500
2501         Reviewed by Tim Horton.
2502
2503         WebKitTestRunner had many places where it sent messages to WebContent with a timeout,
2504         but it didn't handle the timeout when it did occur. Nearly all of those would result
2505         in logic errors and failing tests, and most would even result in stack corruption,
2506         as the response handler modified local variables.
2507
2508         There is only one timeout scenario that we actually mean to handle in WKTR. That's
2509         when a test freezes after it is done (e.g. an infinite loop in beforeunload) - we don't
2510         want to blame the next test for freezing, so we silently relaunch WebContent.
2511         Everything else is cargo cult code that never worked.
2512
2513         This patch addresses the crashes, and actually makes tests pass a lot more on an
2514         overloaded system.
2515
2516         * WebKitTestRunner/TestController.cpp:
2517         (WTR::TestController::resetStateToConsistentValues): Moved m_doneResetting assignment
2518         to where it's actually needed, for clarity.
2519         (WTR::TestController::reattachPageToWebProcess): This function used to always hit
2520         and ignore message timeout, as m_doneResetting is only updated by navigation callback
2521         when the state is Resetting. This change makes it faster.
2522         (WTR::TestController::platformResetStateToConsistentValues): Style fix.
2523         (WTR::TestController::clearServiceWorkerRegistrations): Timing out here wasn't
2524         handled in a meaningful manner, and would even corrupt the stack.
2525         (WTR::TestController::clearDOMCache): Ditto.
2526         (WTR::TestController::clearDOMCaches): Ditto.
2527         (WTR::TestController::hasDOMCache): Ditto.
2528         (WTR::TestController::domCacheSize): Ditto.
2529         (WTR::TestController::isStatisticsPrevalentResource): Ditto.
2530         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder): Ditto.
2531         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo): Ditto.
2532         (WTR::TestController::isStatisticsHasHadUserInteraction): Ditto.
2533         (WTR::TestController::isStatisticsGrandfathered): Ditto.
2534         (WTR::TestController::statisticsUpdateCookiePartitioning): Ditto.
2535         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Ditto.
2536         (WTR::TestController::statisticsClearInMemoryAndPersistentStore): Ditto.
2537         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Ditto.
2538         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval): Ditto.
2539
2540         * WebKitTestRunner/TestInvocation.cpp:
2541         (WTR::TestInvocation::shortTimeout const): Made shortTimeout shorter (on a hunch).
2542         (WTR::TestInvocation::invoke): Removed a timeout waiting for initial response. There
2543         is never a logical reason for such a timeout, as we always have a new or responsive
2544         WebContent process here.
2545         (WTR::TestInvocation::dumpResults): Removed another timeout that we don't know how to
2546         properly handle.
2547         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Removed assignment to
2548         m_errorMessage, which had no effect in this context.
2549
2550         * WebKitTestRunner/TestInvocation.h: Removed no longer used code.
2551
2552         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
2553         (WTR::TestController::cocoaResetStateToConsistentValues): Use a named constant for
2554         no timeout.
2555         
2556         * WebKitTestRunner/ios/TestControllerIOS.mm:
2557         (WTR::TestController::platformConfigureViewForTest): Removed a useless timeout.
2558         Not sure if timing out here would corrupt the stack or not, but there is no reason
2559         to impose arbitrary limits on individual steps of a test.
2560
2561         * WebKitTestRunner/mac/TestControllerMac.mm:
2562         (WTR::TestController::platformConfigureViewForTest): Use a named constant for
2563         no timeout.
2564
2565 2018-02-25  Ali Juma  <ajuma@chromium.org>
2566
2567         Unreviewed. Change my status to committer.
2568
2569         * Scripts/webkitpy/common/config/contributors.json:
2570
2571 2018-02-25  Chris Dumez  <cdumez@apple.com>
2572
2573         Service workers do not work well inside Web.app
2574         https://bugs.webkit.org/show_bug.cgi?id=183105
2575         <rdar://problem/37864140>
2576
2577         Reviewed by Youenn Fablet.
2578
2579         Add API test coverage.
2580
2581         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
2582
2583 2018-02-25  Aakash Jain  <aakash_jain@apple.com>
2584
2585         [build.webkit.org] unit-tests fail if buildbot 0.8.6p1 is not installed locally
2586         https://bugs.webkit.org/show_bug.cgi?id=183103
2587
2588         Reviewed by Alexey Proskuryakov.
2589
2590         * BuildSlaveSupport/build.webkit.org-config/steps_unittest.py: Removed extra imports.
2591
2592 2018-02-24  Wenson Hsieh  <wenson_hsieh@apple.com>
2593
2594         Unreviewed, fix the TestWebKitAPI build after r228825.
2595
2596         I removed a `>= iOS 11` check in r228825, but forgot that this was also neeed to guard against tvOS and watchOS
2597         builds. This fixes the build by restoring the compile-time guard and also makes it explicit for these platforms.
2598
2599         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
2600
2601 2018-02-22  Yusuke Suzuki  <utatane.tea@gmail.com>
2602
2603         Remove currentTime() / currentTimeMS()
2604         https://bugs.webkit.org/show_bug.cgi?id=183052
2605
2606         Reviewed by Mark Lam.
2607
2608         * DumpRenderTree/TestRunner.cpp:
2609         (preciseTimeCallback):
2610         * DumpRenderTree/mac/TestRunnerMac.mm:
2611         (TestRunner::setMockGeolocationPosition):
2612         * TestWebKitAPI/Tests/WTF/Condition.cpp:
2613         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
2614         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
2615         * WebKitTestRunner/GeolocationProviderMock.cpp:
2616         (WTR::GeolocationProviderMock::setPosition):
2617         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2618         (WTR::TestRunner::preciseTime):
2619
2620 2018-02-22  Yusuke Suzuki  <utatane.tea@gmail.com>
2621
2622         Remove sleep(double) and sleepMS(double) interfaces
2623         https://bugs.webkit.org/show_bug.cgi?id=183038
2624
2625         Reviewed by Mark Lam.
2626
2627         * DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp:
2628         (PluginTest::indicateTestFailure):
2629         * DumpRenderTree/TestNetscapePlugIn/Tests/EvaluateJSWithinNPP_New.cpp:
2630         (EvaluteJSWithinNPP_New::NPP_New):
2631         * DumpRenderTree/TestNetscapePlugIn/Tests/InvokeDestroysPluginWithinNPP_New.cpp:
2632         (InvokeDestroysPluginWithinNPP_New::NPP_New):
2633         * DumpRenderTree/TestNetscapePlugIn/Tests/SlowNPPNew.cpp:
2634         * TestWebKitAPI/Tests/WTF/Signals.cpp:
2635         (TEST):
2636         * TestWebKitAPI/Tests/WTF/ThreadGroup.cpp:
2637         (TestWebKitAPI::testThreadGroup):
2638         * TestWebKitAPI/Tests/WTF/WorkQueue.cpp:
2639         (TestWebKitAPI::TEST):
2640         * TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
2641         (TestWebKitAPI::TEST):
2642         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2643         (TestWebKitAPI::TEST):
2644         * TestWebKitAPI/jsconly/PlatformUtilitiesJSCOnly.cpp:
2645         (TestWebKitAPI::Util::sleep):
2646
2647 2018-02-21  Don Olmstead  <don.olmstead@sony.com>
2648
2649         [CMake][Win] Use cmakeconfig.h rather than config.h and Platform.h
2650         https://bugs.webkit.org/show_bug.cgi?id=182883
2651
2652         Reviewed by Per Arne Vollan.
2653
2654         * DumpRenderTree/config.h:
2655         * TestWebKitAPI/config.h:
2656
2657 2018-02-21  Michael Catanzaro  <mcatanzaro@igalia.com>
2658
2659         [GTK] Unsafe g_setenv use in MiniBrowser main
2660         https://bugs.webkit.org/show_bug.cgi?id=182978
2661
2662         Reviewed by Carlos Garcia Campos.
2663
2664         setenv (and g_setenv) will randomly crash if called too late.
2665
2666         * MiniBrowser/gtk/main.c:
2667         (main):
2668
2669 2018-02-21  Aakash Jain  <aakash_jain@apple.com>
2670
2671         webkitpy NetworkTransaction should retry on URLError
2672         https://bugs.webkit.org/show_bug.cgi?id=182987
2673
2674         Reviewed by Alexey Proskuryakov.
2675
2676         * Scripts/webkitpy/common/net/networktransaction.py:
2677         (NetworkTransaction.run): Retry on urllib2.URLError.
2678
2679 2018-02-21  Ms2ger  <Ms2ger@igalia.com>
2680
2681         [WTR][WPE] Correct the process names in TestController.
2682         https://bugs.webkit.org/show_bug.cgi?id=178700
2683
2684         Reviewed by Michael Catanzaro.
2685
2686         Similar to r228731 for GTK.
2687
2688         * Scripts/webkitpy/port/wpe.py:
2689         (WPEPort._get_crash_log): removed the code to convert WebProcess name.
2690         * WebKitTestRunner/TestController.cpp: return the correct process names for WPE.
2691         (WTR::TestController::webProcessName):
2692         (WTR::TestController::networkProcessName):
2693         (WTR::TestController::databaseProcessName):
2694
2695 2018-02-21  Ms2ger  <Ms2ger@igalia.com>
2696
2697         [ATK] Remove attributeSet variable from AccessibilityUIElement::attributedStringForRange().
2698         https://bugs.webkit.org/show_bug.cgi?id=183000
2699
2700         Reviewed by Joanmarie Diggs.
2701
2702         It is never initialized, but is passed to atk_attribute_set_free.
2703         This caused a crash in accessibility/content-editable-as-textarea.html on the debug bots.
2704
2705         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2706         (WTR::AccessibilityUIElement::attributedStringForRange):
2707
2708 2018-02-21  Myles C. Maxfield  <mmaxfield@apple.com>
2709
2710         [Cocoa] Make system-ui obey the user-installed-font policy
2711         https://bugs.webkit.org/show_bug.cgi?id=182860
2712         <rdar://problem/36158249>
2713
2714         Reviewed by Antti Koivisto.
2715
2716         Create a font, FakeHelvetica-ArmenianCharacter.ttf, which supports a particular Armenian
2717         character which isn't isn't supported by any other font on the system.
2718
2719         * WebKitTestRunner/FakeHelvetica-ArmenianCharacter.ttf:
2720         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2721
2722 2018-02-20  Timothy Horton  <timothy_horton@apple.com>
2723
2724         Try to fix the 32-bit build after r228857
2725
2726         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
2727         (WTR::UIScriptController::firstResponderSuppressionForWebView):
2728
2729 2018-02-20  Nan Wang  <n_wang@apple.com>
2730
2731         AX: Keyboard focus not following VoiceOver cursor into web content or within web content.
2732         https://bugs.webkit.org/show_bug.cgi?id=182752
2733         <rdar://problem/37518233>
2734
2735         Reviewed by Ryosuke Niwa.
2736
2737         * DumpRenderTree/mac/UIScriptControllerMac.mm:
2738         (WTR::UIScriptController::firstResponderSuppressionForWebView):
2739         (WTR::UIScriptController::makeWindowContentViewFirstResponder):
2740         (WTR::UIScriptController::isWindowContentViewFirstResponder const):
2741         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
2742         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
2743         (WTR::UIScriptController::firstResponderSuppressionForWebView):
2744         (WTR::UIScriptController::makeWindowContentViewFirstResponder):
2745         (WTR::UIScriptController::isWindowContentViewFirstResponder const):
2746         * TestRunnerShared/UIScriptContext/UIScriptController.h:
2747         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
2748         (WTR::UIScriptController::firstResponderSuppressionForWebView):
2749         (WTR::UIScriptController::makeWindowContentViewFirstResponder):
2750         (WTR::UIScriptController::isWindowContentViewFirstResponder const):
2751
2752 2018-02-20  Fujii Hironori  <Hironori.Fujii@sony.com>
2753
2754         [GTK] jhbuild: Remove gtk-doc
2755         https://bugs.webkit.org/show_bug.cgi?id=182956
2756
2757         Reviewed by Michael Catanzaro.
2758
2759         jhbuild doesn't need to build gtk-doc because major LTS Linux
2760         distributions have gtk-doc v1.25, and
2761         Tools/gtk/install-dependencies installs gtk-doc.
2762
2763         * gtk/jhbuild.modules: Removed gtk-doc.
2764
2765 2018-02-20  Tim Horton  <timothy_horton@apple.com>
2766
2767         Introduce HAVE(IOSURFACE_ACCELERATOR)
2768         https://bugs.webkit.org/show_bug.cgi?id=182955
2769         <rdar://problem/37699510>
2770
2771         Reviewed by Sam Weinig.
2772
2773         * DumpRenderTree/ios/PixelDumpSupportIOS.mm:
2774         (createBitmapContextFromWebView):
2775         * WebKitTestRunner/ios/PlatformWebViewIOS.mm:
2776         (WTR::PlatformWebView::windowSnapshotImage):
2777
2778 2018-02-20  Chris Dumez  <cdumez@apple.com>
2779
2780         Provisional load may get committed before receiving the decidePolicyForNavigationResponse response
2781         https://bugs.webkit.org/show_bug.cgi?id=182720
2782         <rdar://problem/37515204>
2783
2784         Reviewed by Alex Christensen.
2785
2786         Add API test coverage.
2787
2788         * TestWebKitAPI/Tests/WebKitCocoa/AsyncPolicyForNavigationResponse.mm:
2789         (-[TestAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
2790         (TestWebKitAPI::TEST):
2791
2792 2018-02-20  Nan Wang  <n_wang@apple.com>
2793
2794         AX: AOM: Dispatch accessibleclick event
2795         https://bugs.webkit.org/show_bug.cgi?id=180898
2796         <rdar://problem/36086710>
2797
2798         Reviewed by Ryosuke Niwa.
2799
2800         * WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
2801         (WTR::AccessibilityUIElement::syncPress):
2802         * WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
2803         * WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
2804         (WTR::AccessibilityUIElement::syncPress):
2805
2806 2018-02-20  Wenson Hsieh  <wenson_hsieh@apple.com>
2807
2808         [iOS 11.3 Beta] Can't copy a URL from Safari and paste it into the Gmail app
2809         https://bugs.webkit.org/show_bug.cgi?id=182952
2810         <rdar://problem/37636190>
2811
2812         Reviewed by Tim Horton.
2813
2814         Adds a new iOS copy/paste test that copies an anchor element via action sheet, and checks that upon pasting,
2815         both "text/plain" and "text/uri-list" are provided. Additionally tweaks an existing iOS drag and drop test to
2816         check for the same behavior.
2817
2818         * TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
2819         (TestWebKitAPI::TEST):
2820         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
2821         (TestWebKitAPI::TEST):
2822
2823 2018-02-20  Philippe Normand  <pnormand@igalia.com>
2824
2825         [GStreamer][MiniBrowser] Honor GStreamer command line parameters in MiniBrowser
2826         https://bugs.webkit.org/show_bug.cgi?id=173655
2827
2828         Reviewed by Xabier Rodriguez-Calvar.
2829
2830         The FIXME in GStreamerUtilities.cpp asks to pass the command line
2831         parameters to the GStreamer initialization function.
2832
2833         Based on initial patch by: Vanessa Chipirrás Navalón  <vchipirras@igalia.com>
2834
2835         * MiniBrowser/gtk/main.c:
2836         (main): Add the group containing the Gstreamer options that the console displays.
2837
2838 2018-02-19  Fujii Hironori  <Hironori.Fujii@sony.com>
2839
2840         [WTR][GTK] crash log backtrace doesn't show symbol names for DatabaseProcess and NetworkProcess
2841         https://bugs.webkit.org/show_bug.cgi?id=182953
2842
2843         Reviewed by Carlos Garcia Campos.
2844
2845         * Scripts/webkitpy/port/gtk.py:
2846         (GtkPort._get_crash_log): Removed the code to convert WebProcess name.
2847         * WebKitTestRunner/TestController.cpp:
2848         (WTR::TestController::webProcessName): Return the correct program name for GTK+ port.
2849         (WTR::TestController::networkProcessName): Ditto.
2850         (WTR::TestController::databaseProcessName): Ditto.
2851
2852 2018-02-19  Ryan Haddad  <ryanhaddad@apple.com>
2853
2854         Unreviewed, rolling out r228696.
2855
2856         The API test added with this change is timing out on macOS.
2857
2858         Reverted changeset:
2859
2860         "Null pointer dereference in
2861         WebPageProxy::urlSchemeHandlerForScheme()"
2862         https://bugs.webkit.org/show_bug.cgi?id=182905
2863         https://trac.webkit.org/changeset/228696
2864
2865 2018-02-16  Ryosuke Niwa  <rniwa@webkit.org>
2866
2867         Add an entitlement check for service worker on iOS
2868         https://bugs.webkit.org/show_bug.cgi?id=182865
2869         <rdar://problem/37505903>
2870
2871         Reviewed by Brady Eidson.
2872
2873         Added the service worker entitlements to WebKitTestRunner and TestWebKitAPI on iOS.
2874
2875         * TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
2876         * WebKitTestRunner/Configurations/WebKitTestRunnerApp-iOS.entitlements:
2877         * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig:
2878         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
2879
2880 2018-02-16  Youenn Fablet  <youenn@apple.com>
2881
2882         Allow specifying which plug-ins are supported
2883         https://bugs.webkit.org/show_bug.cgi?id=182748
2884
2885         Reviewed by Chris Dumez.
2886
2887         Add support for a test runner API to specificy supported plug-ins.
2888
2889         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
2890         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
2891         (WTR::TestRunner::setPluginsAsUnsupported):
2892         * WebKitTestRunner/InjectedBundle/TestRunner.h:
2893         * WebKitTestRunner/TestController.cpp:
2894         (WTR::TestController::resetStateToConsistentValues):
2895         (WTR::TestController::setPluginsAsUnsupported):
2896         * WebKitTestRunner/TestController.h:
2897         * WebKitTestRunner/TestInvocation.cpp:
2898         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
2899
2900 2018-02-16  Per Arne Vollan  <pvollan@apple.com>
2901
2902         Implement stopping of run loop in the WebContent process when using NSRunLoop.
2903         https://bugs.webkit.org/show_bug.cgi?id=182499
2904         <rdar://problem/37247424>
2905
2906         Reviewed by Brent Fulgham.
2907
2908         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2909         * TestWebKitAPI/Tests/WebKitCocoa/WebProcessTerminate.mm: Added.
2910         (TEST):
2911
2912 2018-02-15  Alexey Proskuryakov  <ap@apple.com>
2913
2914         Speed up dSYM generation on build.webkit.org with -gline-tables-only
2915         https://bugs.webkit.org/show_bug.cgi?id=182841
2916         rdar://problem/34579649
2917
2918         Reviewed by Aakash Jain.
2919
2920         Build speed and binary size improvements are so substantial that I'm willing to make
2921         CI builds less suitable for debugging, which is not a common scenario anyway.
2922         Crash logs will still have line numbers in them.
2923
2924         * BuildSlaveSupport/build.webkit.org-config/steps.py: (CompileWebKit.start):
2925
2926 2018-02-15  Don Olmstead  <don.olmstead@sony.com>
2927
2928         WebCore headers should not be included relatively within dependent projects
2929         https://bugs.webkit.org/show_bug.cgi?id=182805
2930
2931         Reviewed by Chris Dumez.
2932
2933         * TestWebKitAPI/win/TestWebCoreStubs.cpp:
2934         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
2935         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp:
2936         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
2937         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
2938         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
2939
2940 2018-02-15  Tomas Popela  <tpopela@redhat.com>
2941
2942         run-jsc-stress-tests - skip a test if any of the run commands evals to skip
2943         https://bugs.webkit.org/show_bug.cgi?id=182729
2944
2945         If multiple run commands are specified and one of them evals to skip,
2946         then the test is not skipped, because the run is scheduled while
2947         evaluating other commands.
2948
2949         Remember if the test is going to be skipped - if yes, just stop
2950         evaluating the other run commands.
2951
2952         Reviewed by Saam Barati.
2953
2954         * Scripts/run-jsc-stress-tests:
2955
2956 2018-02-14  Charlie Turner  <cturner@igalia.com>
2957
2958         Get Garden-O-Matic running again.
2959         https://bugs.webkit.org/show_bug.cgi?id=179089
2960
2961         Reviewed by Carlos Alberto Lopez Perez.
2962
2963         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Trac.js:
2964         (parseCommitData): Author field is not always spelled 'author' these days.
2965         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
2966         No longer have a 32-bit builder.
2967         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf.js:
2968         (ui.perf.View.base.init): createElement has a required parameter these days.
2969         * Scripts/webkitpy/tool/commands/gardenomatic.py:
2970         (GardenOMatic): Override use_globs so that platform lookup in config.js works.
2971
2972 2018-02-14  Don Olmstead  <don.olmstead@sony.com>
2973
2974         Remove unused ForwardingHeaders directories from Tools
2975         https://bugs.webkit.org/show_bug.cgi?id=182813
2976
2977         Reviewed by Konstantin Tokarev.
2978
2979         * DumpRenderTree/ForwardingHeaders/runtime/ArrayBufferView.h: Removed.
2980         * DumpRenderTree/ForwardingHeaders/runtime/JSArrayBufferView.h: Removed.
2981         * DumpRenderTree/ForwardingHeaders/runtime/JSExportMacros.h: Removed.
2982         * DumpRenderTree/ForwardingHeaders/runtime/TypedArrayInlines.h: Removed.
2983         * TestWebKitAPI/ForwardingHeaders/WebCore/LayoutUnit.h: Removed.
2984
2985 2018-02-14  Daniel Bates  <dabates@apple.com>
2986
2987         Disallow cross-origin subresources from asking for credentials
2988         https://bugs.webkit.org/show_bug.cgi?id=182579
2989         <rdar://problem/36162271>
2990
2991         Reviewed by Andy Estes.
2992
2993         Add test option allowCrossOriginSubresourcesToAskForCredential (defaults to false)
2994         so that tests can toggle between the old behavior and new behavior.
2995
2996         * DumpRenderTree/TestOptions.h:
2997         * DumpRenderTree/TestOptions.mm:
2998         (TestOptions::TestOptions):
2999         * DumpRenderTree/mac/DumpRenderTree.mm:
3000         (setWebPreferencesForTestOptions):
3001         * WebKitTestRunner/TestController.cpp:
3002         (WTR::TestController::resetPreferencesToConsistentValues):
3003         (WTR::updateTestOptionsFromTestHeader):
3004         * WebKitTestRunner/TestOptions.h:
3005         (WTR::TestOptions::hasSameInitializationOptions const):
3006
3007 2018-02-12  Ryosuke Niwa  <rniwa@webkit.org>
3008
3009         REGRESSION (r223440): Copying & pasting a list from Microsoft Word to TinyMCE fails
3010         https://bugs.webkit.org/show_bug.cgi?id=182564
3011
3012         Reviewed by Wenson Hsieh.
3013
3014         Updated assertions to make sure the trailing "}" of @list rules is includd in the style, the "style" element
3015         is wrapped by "head" element (not present in the pasted markup since the fragment parsing algorithm strips away),
3016         and the style content is enclosed in "<!--" and "-->".
3017
3018         Also use execCommand('insertHTML', ~) to insert the HTML obtained via dataTransfer.getData instead of innerHTML
3019         to make sure our pasting code preserves the special style element for MSO list quirks.
3020
3021         Finally, added two more test cases for pasting content from Microsoft Word's compatibility mode.
3022
3023         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm:
3024         (TEST):
3025         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm:
3026         (TEST):
3027
3028 2018-02-14  Ross Kirsling  <ross.kirsling@sony.com>
3029
3030         [Tools] --wincairo should imply --64-bit by default.
3031         https://bugs.webkit.org/show_bug.cgi?id=182753
3032
3033         Reviewed by Daniel Bates.
3034
3035         WinCairo does not currently support 32-bit and `--wincairo` itself should refer to a working platform.
3036         This patch ensures x64 is determined correctly for `build-webkit --no-ninja` and `run-webkit-tests`.
3037
3038         * Scripts/webkitdirs.pm:
3039         (determinePassedArchitecture):
3040         (shouldBuild32Bit):
3041         (determineShouldBuild32Bit):
3042         (determineIsWin64):
3043         * Scripts/webkitpy/common/config/ports.py:
3044         (WinCairoPort.build_webkit_command):
3045         * Scripts/webkitpy/common/config/ports_unittest.py:
3046         (DeprecatedPortTest.test_wincairo_port):
3047         * Scripts/webkitpy/port/win.py:
3048         (WinCairoPort):
3049
3050 2018-02-13  Commit Queue  <commit-queue@webkit.org>
3051
3052         Unreviewed, rolling out r228431.
3053         https://bugs.webkit.org/show_bug.cgi?id=182766
3054
3055         Regressed CMake build stability (Requested by dolmstead on
3056         #webkit).
3057
3058         Reverted changeset:
3059
3060         "[CMake] Make WebCore headers copies"
3061         https://bugs.webkit.org/show_bug.cgi?id=182512
3062         https://trac.webkit.org/changeset/228431
3063
3064 2018-02-13  Don Olmstead  <don.olmstead@sony.com>
3065
3066         [CMake] Make WebCore headers copies
3067         https://bugs.webkit.org/show_bug.cgi?id=182512
3068
3069         Reviewed by Keith Miller.
3070
3071         * DumpRenderTree/CMakeLists.txt:
3072         * DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
3073         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npapi.h:
3074         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npfunctions.h:
3075         * DumpRenderTree/TestNetscapePlugIn/ForwardingHeaders/WebKit/npruntime.h:
3076         * TestWebKitAPI/PlatformGTK.cmake:
3077         * TestWebKitAPI/PlatformWPE.cmake:
3078         * TestWebKitAPI/PlatformWin.cmake:
3079         * TestWebKitAPI/win/TestWebCoreStubs.cpp:
3080         (loadResourceIntoBuffer):
3081         * WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
3082         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityControllerWPE.cpp:
3083         * WebKitTestRunner/InjectedBundle/wpe/AccessibilityUIElementWPE.cpp:
3084         * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:
3085         * WebKitTestRunner/wpe/EventSenderProxyWPE.cpp:
3086
3087 2018-02-13  Chris Dumez  <cdumez@apple.com>
3088
3089         REGRESSION (r228299): Broke reader mode in Safari
3090         https://bugs.webkit.org/show_bug.cgi?id=182697
3091         <rdar://problem/37399012>
3092
3093         Reviewed by Ryosuke Niwa.
3094
3095         Add API test coverage for responding asynchronously to the decidePolicyForNavigationResponse
3096         delegate.
3097
3098         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3099         * TestWebKitAPI/Tests/WebKitCocoa/AsyncPolicyForNavigationResponse.mm: Added.
3100         (-[TestAsyncNavigationDelegate webView:didFinishNavigation:]):
3101         (-[TestAsyncNavigationDelegate webView:didFailNavigation:withError:]):
3102         (-[TestAsyncNavigationDelegate webView:didFailProvisionalNavigation:withError:]):
3103         (-[TestAsyncNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
3104         (-[TestAsyncNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
3105         (TestWebKitAPI::TEST):
3106
3107 2018-02-12  John Wilander  <wilander@apple.com>
3108
3109         Resource Load Statistics: Classify resources as prevalent based on redirects to other prevalent resources
3110         https://bugs.webkit.org/show_bug.cgi?id=182664
3111         <rdar://problem/37372572>
3112
3113         Reviewed by Brent Fulgham.
3114
3115         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
3116         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
3117         (WTR::TestRunner::setStatisticsSubresourceUniqueRedirectFrom):
3118         (WTR::TestRunner::setStatisticsTopFrameUniqueRedirectTo):
3119         (WTR::TestRunner::setStatisticsTopFrameUniqueRedirectFrom):
3120         * WebKitTestRunner/InjectedBundle/TestRunner.h:
3121         * WebKitTestRunner/TestController.cpp:
3122         (WTR::TestController::setStatisticsSubresourceUniqueRedirectFrom):
3123         (WTR::TestController::setStatisticsTopFrameUniqueRedirectTo):
3124         (WTR::TestController::setStatisticsTopFrameUniqueRedirectFrom):
3125         * WebKitTestRunner/TestController.h:
3126         * WebKitTestRunner/TestInvocation.cpp:
3127         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
3128
3129 2018-02-12  Ross Kirsling  <ross.kirsling@sony.com>
3130
3131         download-latest-github-release .py should not use "browser download URL".
3132         https://bugs.webkit.org/show_bug.cgi?id=182646
3133
3134         Reviewed by Per Arne Vollan.
3135
3136         * Scripts/download-latest-github-release.py:
3137         Download request should be a proper GitHub API call and should actually include the token when applicable.
3138         (Also clean up usage of args and print while we're in here.)
3139
3140 2018-02-12  Per Arne Vollan  <pvollan@apple.com>
3141
3142         EWS should run Windows tests.
3143         https://bugs.webkit.org/show_bug.cgi?id=177967
3144
3145         Reviewed by Lucas Forschler.
3146
3147         This will help catch regressions at an early stage.
3148
3149         * Scripts/webkitpy/common/config/ews.json:
3150
3151 2018-02-08  Ryosuke Niwa  <rniwa@webkit.org>
3152
3153         REGRESSION (r223440): Copying & pasting a list from Microsoft Word to TinyMCE fails
3154         https://bugs.webkit.org/show_bug.cgi?id=182564
3155
3156         Reviewed by Wenson Hsieh.
3157
3158         Added tests for pasting HTML with list items generated by Microsoft Word as well as HTML which looks like
3159         the one generated by Microsoft Word but missing a proper "html" element at the beginning.
3160
3161         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3162         * TestWebKitAPI/Tests/WebKitCocoa/PasteHTML.mm: Added test cases.
3163         * TestWebKitAPI/Tests/WebKitCocoa/PasteWebArchive.mm: Added test cases.
3164         (msoListMarkupWithoutProperHTMLElement): Added.
3165         * TestWebKitAPI/Tests/WebKitCocoa/mso-list.html: Added.
3166
3167 2018-02-09  Don Olmstead  <don.olmstead@sony.com>
3168
3169         [CMake] Make PAL headers copies
3170         https://bugs.webkit.org/show_bug.cgi?id=182645
3171
3172         Reviewed by Alex Christensen.
3173
3174         * TestWebKitAPI/CMakeLists.txt:
3175
3176 2018-02-08  Wenson Hsieh  <wenson_hsieh@apple.com>
3177
3178         Pasting from Excel no longer provides text/html data
3179         https://bugs.webkit.org/show_bug.cgi?id=182636
3180         <rdar://problem/37087060>
3181
3182         Reviewed by Ryosuke Niwa.
3183
3184         Add new API tests to exercise pasting images with various other content types on macOS, and when dropping images
3185         and HTML markup on iOS. See the WebCore ChangeLog for more detail.
3186
3187         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3188         * TestWebKitAPI/Tests/WebKitCocoa/DataTransfer.html: Added.
3189
3190         Add a new API test harness that dumps various bits of information about a DataTransfer upon paste and drop.
3191         While somewhat similar to some existing harnesses, this makes a distinction between the raw HTML data on the
3192         pasteboard and the actual result of inserting said HTML into the DOM. This allows us to check that the HTML has
3193         been sanitized, while making checks for the actual content of the HTML robust against inline style changes.
3194
3195         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
3196         * TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm: Added.
3197
3198         Add a new test suite to exercise pasting mixed content types. In these test cases, the pasteboard contains a
3199         file, with some combination of plain text, rich text, and URLs.
3200
3201         (imagePath):
3202         (writeTypesAndDataToPasteboard):
3203
3204         Add a helper to write a var-arg list of content types and data to the general NSPasteboard.
3205
3206         (setUpWebView):
3207         (markupString):
3208         (TestWebKitAPI::TEST):
3209         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
3210         (TestWebKitAPI::testIconImageData):
3211         (TestWebKitAPI::TEST):
3212         * TestWebKitAPI/cocoa/TestWKWebView.h:
3213
3214         Move a private declaration of -[WKWebView paste:] out to TestWKWebView.h, so that it can be shared across
3215         multiple tests. Currently, it only resides in PasteImage.mm, but I need it in PasteMixedContent.mm as well.
3216
3217 2018-02-09  Carlos Garcia Campos  <cgarcia@igalia.com>
3218
3219         Add a way to check if a host is an IP address
3220         https://bugs.webkit.org/show_bug.cgi?id=182427
3221
3222         Reviewed by Alex Christensen.
3223
3224         Add unit test for URL::hostIsIPAddress().
3225
3226         * TestWebKitAPI/Tests/WebCore/URL.cpp:
3227         (TestWebKitAPI::TEST_F):
3228
3229 2018-02-09  Philippe Normand  <pnormand@igalia.com>
3230
3231         [GStreamer] Layout test fast/replaced/border-radius-clip.html crashes with GStreamer-CRITICAL **: gst_segment_to_stream_time: assertion 'segment->format == format' failed in gst_segment_to_stream_time()
3232         https://bugs.webkit.org/show_bug.cgi?id=176802
3233
3234         Reviewed by Xabier Rodriguez-Calvar.
3235
3236         * gstreamer/jhbuild.modules:
3237         * gstreamer/patches/gst-plugins-good-0001-gstgdkpixbufdec-stop-pretending-to-decode-gifs.patch: Added.
3238
3239 2018-02-09  Philippe Normand  <pnormand@igalia.com>
3240
3241         [JHBuild] Update Mesa to version 17
3242         https://bugs.webkit.org/show_bug.cgi?id=182599
3243
3244         Reviewed by Carlos Alberto Lopez Perez.
3245
3246         * gtk/jhbuild.modules: Update Mesa (and its dependencies, hopefully) to version 17.3.3.
3247
3248 2018-02-08  Chris Dumez  <cdumez@apple.com>
3249
3250         There should be a way to disable [OverrideBuiltins] behavior in a given DOMWrapperWorld
3251         https://bugs.webkit.org/show_bug.cgi?id=182524
3252         <rdar://problem/9057327>
3253
3254         Reviewed by Ryosuke Niwa.
3255
3256         Add API test coverage.
3257
3258         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3259         * TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior.cpp: Added.
3260         (TestWebKitAPI::runJavaScriptAlert):
3261         (TestWebKitAPI::TEST):
3262         * TestWebKitAPI/Tests/WebKit/InjectedBundleDisableOverrideBuiltinsBehavior_Bundle.cpp: Added.
3263         (TestWebKitAPI::InjectedBundleDisableOverrideBuiltinsBehaviorTest::InjectedBundleDisableOverrideBuiltinsBehaviorTest):
3264         (TestWebKitAPI::InjectedBundleDisableOverrideBuiltinsBehaviorTest::initialize):
3265         * TestWebKitAPI/Tests/WebKit/override-builtins-test.html: Added.
3266
3267 2018-02-08  Michael Catanzaro  <mcatanzaro@igalia.com>
3268
3269         TestController should not exercise cocoa-specific resource load statistics APIs
3270         https://bugs.webkit.org/show_bug.cgi?id=182355
3271
3272         Reviewed by Alex Christensen.
3273
3274         Remove unnecessary use of platform-specific APIs in the TestController, since there are
3275         cross-platform APIs to do the same thing.
3276
3277         Also, ensure callbacks execute before returning from TestController's functions, since
3278         otherwise the tests are guaranteed to be flaky at best, and also since there's nothing to
3279         prevent the TestController from being destroyed before the callbacks execute.
3280
3281         * WebKitTestRunner/TestController.cpp:
3282         (WTR::resourceStatisticsVoidResultCallback):
3283         (WTR::resourceStatisticsBooleanResultCallback):
3284         (WTR::TestController::isStatisticsPrevalentResource):
3285         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):
3286         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo):
3287         (WTR::TestController::isStatisticsHasHadUserInteraction):
3288         (WTR::TestController::isStatisticsGrandfathered):
3289         (WTR::TestController::statisticsUpdateCookiePartitioning):
3290         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost):
3291         (WTR::TestController::statisticsClearInMemoryAndPersistentStore):
3292         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours):
3293         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval):
3294         (WTR::resourceStatisticsCallback): Deleted.
3295         (WTR::TestController::statisticsClearThroughWebsiteDataRemovalCallback): Deleted.
3296         * WebKitTestRunner/TestController.h:
3297         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
3298         (WTR::toNSString): Deleted.
3299         (WTR::TestController::setStatisticsLastSeen): Deleted.
3300         (WTR::TestController::setStatisticsPrevalentResource): Deleted.
3301         (WTR::TestController::isStatisticsPrevalentResource): Deleted.
3302         (WTR::TestController::isStatisticsRegisteredAsSubFrameUnder): Deleted.
3303         (WTR::TestController::isStatisticsRegisteredAsRedirectingTo): Deleted.
3304         (WTR::TestController::setStatisticsHasHadUserInteraction): Deleted.
3305         (WTR::TestController::setStatisticsHasHadNonRecentUserInteraction): Deleted.
3306         (WTR::TestController::isStatisticsHasHadUserInteraction): Deleted.
3307         (WTR::TestController::setStatisticsGrandfathered): Deleted.
3308         (WTR::TestController::isStatisticsGrandfathered): Deleted.
3309         (WTR::TestController::setStatisticsSubframeUnderTopFrameOrigin): Deleted.
3310         (WTR::TestController::setStatisticsSubresourceUnderTopFrameOrigin): Deleted.
3311         (WTR::TestController::setStatisticsSubresourceUniqueRedirectTo): Deleted.
3312         (WTR::TestController::setStatisticsTimeToLiveUserInteraction): Deleted.
3313         (WTR::TestController::setStatisticsTimeToLiveCookiePartitionFree): Deleted.
3314         (WTR::TestController::statisticsProcessStatisticsAndDataRecords): Deleted.
3315         (WTR::TestController::statisticsUpdateCookiePartitioning): Deleted.
3316         (WTR::TestController::statisticsSetShouldPartitionCookiesForHost): Deleted.
3317         (WTR::TestController::statisticsSubmitTelemetry): Deleted.
3318         (WTR::TestController::setStatisticsNotifyPagesWhenDataRecordsWereScanned): Deleted.
3319         (WTR::TestController::setStatisticsShouldClassifyResourcesBeforeDataRecordsRemoval): Deleted.
3320         (WTR::TestController::setStatisticsNotifyPagesWhenTelemetryWasCaptured): Deleted.
3321         (WTR::TestController::setStatisticsMinimumTimeBetweenDataRecordsRemoval): Deleted.
3322         (WTR::TestController::setStatisticsGrandfatheringTime): Deleted.
3323         (WTR::TestController::setStatisticsMaxStatisticsEntries): Deleted.
3324         (WTR::TestController::setStatisticsPruneEntriesDownTo): Deleted.
3325         (WTR::TestController::statisticsClearInMemoryAndPersistentStore): Deleted.
3326         (WTR::TestController::statisticsClearInMemoryAndPersistentStoreModifiedSinceHours): Deleted.
3327         (WTR::TestController::statisticsClearThroughWebsiteDataRemoval): Deleted.
3328         (WTR::TestController::statisticsResetToConsistentState): Deleted.
3329
3330 2018-02-08  Jonathan Bedard  <jbedard@apple.com>
3331
3332         webkit-patch suggest-reviewers dies with AttributeError: 'NoneType' object has no attribute 'revision'
3333         https://bugs.webkit.org/show_bug.cgi?id=182584
3334
3335         Reviewed by Daniel Bates.
3336
3337         It is possible that a specific revision has an empty ChangeLog. In this case, Checkout.commit_info_for_revision
3338         will return 'None'. Checkout.recent_commit_infos_for_files should never return a set with 'None' in it.
3339
3340         * Scripts/webkitpy/common/checkout/checkout.py:
3341         (Checkout.recent_commit_infos_for_files): Remove any empty commit information from the set.
3342         * Scripts/webkitpy/common/checkout/checkout_unittest.py: Add a file which references an empty ChangeLog.
3343
3344 2018-02-08  Matt Lewis  <jlewis3@apple.com>
3345
3346         Unreviewed, rolling out r228261.
3347
3348         This broke an internal build
3349
3350         Reverted changeset:
3351
3352         "Add a way to check if a host is an IP address"
3353         https://bugs.webkit.org/show_bug.cgi?id=182427
3354         https://trac.webkit.org/changeset/228261
3355
3356 2018-02-08  Commit Queue  <commit-queue@webkit.org>
3357
3358         Unreviewed, rolling out r228267, r228268, and r228269.
3359         https://bugs.webkit.org/show_bug.cgi?id=182601
3360
3361         jhbuild socks (Requested by philn on #webkit).
3362
3363         Reverted changesets:
3364
3365         "[JHBuild] Update Mesa to version 17"
3366         https://bugs.webkit.org/show_bug.cgi?id=182599
3367         https://trac.webkit.org/changeset/228267
3368
3369         "Unreviewed, GTK build fix attempt after r228267."
3370         https://trac.webkit.org/changeset/228268
3371
3372         "Unreviewed, final GTK build fix attempt after r228267."
3373         https://trac.webkit.org/changeset/228269
3374
3375 2018-02-08  Philippe Normand  <pnormand@igalia.com>
3376
3377         Unreviewed, final GTK build fix attempt after r228267.
3378
3379         * gtk/jhbuild.modules: sha256sum for libdrm was for the tar.gz archive. Oops.
3380
3381 2018-02-08  Philippe Normand  <pnormand@igalia.com>
3382
3383         Unreviewed, GTK build fix attempt after r228267.
3384
3385         * gtk/jhbuild.modules: Update to libdrm version 2.4.89, Mesa 17 requires at least version 2.4.75.
3386
3387 2018-02-08  Philippe Normand  <pnormand@igalia.com>
3388
3389         [JHBuild] Update Mesa to version 17
3390         https://bugs.webkit.org/show_bug.cgi?id=182599
3391
3392         Reviewed by Carlos Alberto Lopez Perez.
3393
3394         * gtk/jhbuild.modules: Update Mesa to version 17.3.3.
3395
3396 2018-02-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3397
3398         Add a way to check if a host is an IP address
3399         https://bugs.webkit.org/show_bug.cgi?id=182427
3400
3401         Reviewed by Alex Christensen.
3402
3403         Add unit test for URL::hostIsIPAddress().
3404
3405         * TestWebKitAPI/Tests/WebCore/URL.cpp:
3406         (TestWebKitAPI::TEST_F):
3407
3408 2018-02-07  Tim Horton  <timothy_horton@apple.com>
3409
3410         Evernote device management web view sometimes displays at the wrong scale
3411         https://bugs.webkit.org/show_bug.cgi?id=182590
3412         <rdar://problem/36633687>
3413
3414         Reviewed by Simon Fraser.
3415
3416         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
3417         * TestWebKitAPI/Tests/ios/WKScrollViewDelegate.mm: Renamed from Tools/TestWebKitAPI/Tests/ios/WKScrollViewDelegateCrash.mm.
3418         (-[TestDelegateForScrollView dealloc]):
3419         (TestWebKitAPI::TEST):
3420         (-[WKScrollViewDelegateWithViewForZoomingOverridden viewForZoomingInScrollView:]):
3421         Add a test that failed before the change that ensures that we don't
3422         consult the external delegate for viewForZoomingInScrollView:, and that
3423         we succesfully update the scale even if it matches that of the view
3424         the external delegate returns for viewForZoomingInScrollView:.
3425
3426 2018-02-07  Wenson Hsieh  <wenson_hsieh@apple.com>
3427
3428         REGRESSION(r226396): File paths are inserted when dropping image files
3429         https://bugs.webkit.org/show_bug.cgi?id=182557
3430         <rdar://problem/37294120>
3431
3432         Reviewed by Ryosuke Niwa.
3433
3434         Tweak some image pasting API tests to ensure that file paths are not inserted when pasting images backed by
3435         file paths on disk.
3436
3437         * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
3438         (TEST):
3439
3440 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
3441
3442         [GTK] Enable WebKit.GeolocationTransitionTo{High,Low}Accuracy tests
3443         https://bugs.webkit.org/show_bug.cgi?id=125068
3444
3445         Unreviewed test gardening.
3446
3447         They do not appear to have failed since we started running them again in r226944.
3448
3449         * TestWebKitAPI/glib/TestExpectations.json:
3450
3451 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
3452
3453         [GTK] Enable WebKit.InjectedBundleFrameHitTest test
3454         https://bugs.webkit.org/show_bug.cgi?id=120303
3455
3456         Unreviewed test gardening.
3457
3458         It does not appear to have failed since we started running it again in r226944.
3459
3460         * TestWebKitAPI/glib/TestExpectations.json:
3461
3462 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
3463
3464         [GTK] Enable WebKit.ForceRepaint test
3465         https://bugs.webkit.org/show_bug.cgi?id=105532
3466
3467         Unreviewed test gardening.
3468
3469         It does not appear to have failed since we started running it again in r226944.
3470
3471         * TestWebKitAPI/glib/TestExpectations.json:
3472
3473 2018-02-07  Philippe Normand  <pnormand@igalia.com>
3474
3475         [JHBuild] Add libva in moduleset
3476         https://bugs.webkit.org/show_bug.cgi?id=182384
3477
3478         Reviewed by Xabier Rodriguez-Calvar.
3479
3480         * gstreamer/jhbuild.modules: Add libva and disable spurious message output.
3481         * gtk/install-dependencies: Remove libva from dependencies.
3482         * wpe/install-dependencies: Ditto.
3483
3484 2018-02-07  Ms2ger  <Ms2ger@igalia.com>
3485
3486         [GTK] Enable WebKit.NewFirstVisuallyNonEmptyLayoutFrames test
3487         https://bugs.webkit.org/show_bug.cgi?id=85037
3488
3489         Unreviewed test gardening.
3490
3491         It does not appear to have failed since we started running it again in r226944.
3492
3493         * TestWebKitAPI/glib/TestExpectations.json:
3494
3495 2018-02-06  Leo Balter  <leonardo.balter@gmail.com>
3496
3497         Nit fix for ruby script called through Perl
3498         https://bugs.webkit.org/show_bug.cgi?id=182552
3499
3500         Reviewed by Yusuke Suzuki.
3501
3502         * BuildSlaveSupport/build.webkit.org-config/steps.py:
3503         (RunTest262Tests):
3504
3505 2018-02-06  Don Olmstead  <don.olmstead@sony.com>
3506
3507         Remove WebCore/ForwardingHeaders directory
3508         https://bugs.webkit.org/show_bug.cgi?id=182347
3509
3510         Reviewed by Keith Miller.
3511
3512         * WebKitTestRunner/TestController.cpp:
3513
3514 2018-02-06  Ross Kirsling  <ross.kirsling@sony.com>
3515
3516         webkit-patch upload should ask for confirmation before creating a new bug
3517         https://bugs.webkit.org/show_bug.cgi?id=182551
3518
3519         Reviewed by Daniel Bates.
3520
3521         It is quite easy to paste unintended text into the bug number prompt. This creates a junk bug with an uneditable
3522         first comment, which could result in embarrassment or potentially even a proprietary information leak.
3523
3524         * Scripts/webkitpy/tool/commands/upload_unittest.py:
3525         (test_prepare):
3526         * Scripts/webkitpy/tool/steps/promptforbugortitle.py:
3527         (PromptForBugOrTitle):
3528         (PromptForBugOrTitle.options):
3529         (PromptForBugOrTitle.run):
3530
3531 2018-02-06  Youenn Fablet  <youenn@apple.com>
3532
3533         HasServiceWorkerRegistration bit should be sent when creating a new page
3534         https://bugs.webkit.org/show_bug.cgi?id=182410
3535
3536         Reviewed by Chris Dumez.
3537
3538         * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
3539
3540 2018-02-06  Andres Gomez  <agomez@igalia.com>
3541
3542         [GTK][WPE] Add dependencies watching lists for WKGTK+ and WPE
3543         https://bugs.webkit.org/show_bug.cgi?id=182346
3544
3545         Reviewed by Michael Catanzaro.
3546
3547         Loren, Carlos and Andres are interested on the WKGTK+ dependencies
3548         watchlist since they are running WKGTK+ EWS.
3549
3550         Similarly, Adrian and Carlos are running a WPE EWS.
3551
3552         * Scripts/webkitpy/common/config/watchlist: Added WPEDependencies
3553           and WebKitGTKDependencies watchlists with the proper people.
3554
3555 2018-02-06  Andres Gomez  <agomez@igalia.com>
3556
3557         Unreviewed, canonicalize contributors.json
3558
3559         After Thibault's addition, automatic checks complain about
3560         contributors.json with:
3561
3562         "[...] Use "validate-committer-lists --canonicalize" to reformat
3563         it. [...]"
3564
3565         * Scripts/webkitpy/common/config/contributors.json: Canonicalize.
3566
3567 2018-02-06  Andres Gomez  <agomez@igalia.com>
3568
3569         Unreviewed, add Lorenzo Tilve to contributors.json
3570
3571         We need to add Loren to the contributors list in order to CC him
3572         in Bugzilla.
3573
3574         * Scripts/webkitpy/common/config/contributors.json: Added Lorenzo
3575           Tilve.
3576
3577 2018-02-05  Yousuke Kimoto  <yousuke.kimoto@sony.com>
3578
3579         [WinCairo] Refine WebKitLegacy and WebKit build for wincairo
3580         https://bugs.webkit.org/show_bug.cgi?id=182478
3581
3582         Reviewed by Alex Christensen.
3583
3584         For TestWebKitAPI, sources related to WebKitLegacy are built
3585         at WebKit build. Those files should be reffered for WebKitLegacy build.
3586
3587         * TestWebKitAPI/PlatformWin.cmake:
3588
3589 2018-02-05  Daniel Bates  <dabates@apple.com>
3590
3591         REGRESSION (r217572): run-webkit-tests exits without emitting newline character
3592         https://bugs.webkit.org/show_bug.cgi?id=182360
3593
3594         Rubber-stamped by Aakash Jain.
3595
3596         Fixes an annoyance where run-webkit-tests always exits without printing a newline character.
3597         In the terminal this looks like:
3598
3599             $ Tools/Scripts/run-webkit-tests
3600