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