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