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