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